Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add logic to sass rule conditional on sass-loader version #508

Merged
merged 2 commits into from
Aug 29, 2024

Conversation

Judahmeek
Copy link
Contributor

@Judahmeek Judahmeek commented Aug 26, 2024

Resolves #507

Pull Request checklist

  • Add/update test to cover these changes
  • Update documentation
  • Update CHANGELOG file

Summary by CodeRabbit

  • New Features

    • Introduced new package.json files for improved package management and module resolution.
    • Added a custom module resolver to enhance testing capabilities.
    • Implemented a function to retrieve the major version of specified packages for better compatibility handling.
  • Bug Fixes

    • Enhanced the configuration logic for the sass-loader to ensure compatibility with different versions.
  • Tests

    • Added unit tests for the new packageMajorVersion function and sass rule configurations to ensure expected behaviors.
    • Introduced mocks for moduleExists in various test files to isolate test scenarios.

Copy link

coderabbitai bot commented Aug 26, 2024

Walkthrough

The changes introduced include the addition of package.json files for mocks, modifications to configuration files, and enhancements to the Sass handling logic. A new helper function to determine package major versions was implemented, along with corresponding unit tests for validation. These adjustments aim to improve module resolution and ensure compatibility with different versions of the sass-loader.

Changes

Files Change Summary
__mocks__/nonexistent/package.json New file with main entry point ./wat and version 12.0.0.
__mocks__/sass-loader/package.json New file with main entry point ./lib/api.js and version 16.56.81.
jest.config.js Added custom resolver pointing to <rootDir>/test/resolver.
package/rules/sass.js Updated sassOptions logic to adapt to sass-loader version; renamed includePaths to extraPaths.
package/utils/helpers.js Introduced packageMajorVersion function to retrieve the major version of a package from its package.json.
test/package/helpers.test.js New test file validating packageMajorVersion function with two test cases.
test/package/rules/sass.test.js New test file for testing Sass rule configurations with mocks.
test/package/rules/sass1.test.js New test file for additional Sass rule configurations, focusing on different scenarios based on sass-loader versions.
test/resolver.js New custom module resolver for Jest, mapping specific module paths to mocked paths.

Assessment against linked issues

Objective Addressed Explanation
Wrong options set for sass-loader v16+ (#507)
Ensure compatibility with both legacy and modern Sass APIs (#507)

🐰 In the land where code does hop,
New helpers and mocks, we can't stop!
Sass options now dance with grace,
Version checks in their rightful place.
With tests to ensure all's well,
In the code garden, we surely dwell! 🌼


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 8bc4a70 and a764420.

Files selected for processing (9)
  • mocks/nonexistent/package.json (1 hunks)
  • mocks/sass-loader/package.json (1 hunks)
  • jest.config.js (1 hunks)
  • package/rules/sass.js (1 hunks)
  • package/utils/helpers.js (1 hunks)
  • test/package/helpers.test.js (1 hunks)
  • test/package/rules/sass.test.js (1 hunks)
  • test/package/rules/sass1.test.js (1 hunks)
  • test/resolver.js (1 hunks)
Files skipped from review due to trivial changes (2)
  • mocks/nonexistent/package.json
  • mocks/sass-loader/package.json
Additional comments not posted (18)
jest.config.js (2)

3-3: LGTM!

The testPathIgnorePatterns configuration is correctly implemented.

The code changes are approved.


4-4: LGTM!

The resolver property is correctly added to the Jest configuration.

The code changes are approved.

test/package/helpers.test.js (2)

3-6: LGTM!

The test case for sass-loader is correctly implemented and verifies the expected behavior.

The code changes are approved.


8-10: LGTM!

The test case for nonexistent is correctly implemented and verifies the expected behavior.

The code changes are approved.

test/resolver.js (1)

1-13: LGTM!

The custom resolver is correctly implemented and provides the expected behavior.

The code changes are approved.

package/rules/sass.js (3)

4-5: LGTM!

The imports and renaming of additional_paths to extraPaths are correctly implemented.

The code changes are approved.


7-9: LGTM!

The logic for determining the key for sassOptions based on the version of sass-loader is correctly implemented.

The code changes are approved.


14-14: LGTM!

The configuration of sassOptions with the appropriate key is correctly implemented.

The code changes are approved.

test/package/rules/sass1.test.js (2)

1-14: LGTM!

The mocking of canProcess and moduleExists functions is correctly implemented.

The code changes are approved.


18-24: LGTM!

The test correctly verifies the behavior of the sass rule for sass-loader version 15 or earlier.

The code changes are approved.

test/package/rules/sass.test.js (2)

1-16: LGTM!

The mocking of canProcess, moduleExists, and packageMajorVersion functions is correctly implemented.

The code changes are approved.


20-24: LGTM!

The test correctly verifies the behavior of the sass rule for sass-loader version 15 or earlier.

The code changes are approved.

package/utils/helpers.js (6)

Line range hint 1-1: LGTM!

The function is correctly implemented.

The code changes are approved.


Line range hint 3-3: LGTM!

The function is correctly implemented.

The code changes are approved.


Line range hint 5-11: LGTM!

The function is correctly implemented.

The code changes are approved.


Line range hint 13-13: LGTM!

The function is correctly implemented.

The code changes are approved.


Line range hint 15-21: LGTM!

The function is correctly implemented.

The code changes are approved.


Line range hint 23-41: LGTM!

The function is correctly implemented.

The code changes are approved.

Comment on lines +44 to +49
const packageMajorVersion = (packageName) => {
// eslint-disable-next-line import/no-dynamic-require
const packageJsonPath = require.resolve(`${packageName}/package.json`)
// eslint-disable-next-line import/no-dynamic-require, global-require
return require(packageJsonPath).version.match(/^\d+/)[0]
}
Copy link

@coderabbitai coderabbitai bot Aug 26, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Improve error handling.

The function does not handle cases where the package version is not in the expected format or where the package does not have a package.json file.

Apply this diff to improve error handling:

const packageMajorVersion = (packageName) => {
  // eslint-disable-next-line import/no-dynamic-require
  const packageJsonPath = require.resolve(`${packageName}/package.json`)
  // eslint-disable-next-line import/no-dynamic-require, global-require
-  return require(packageJsonPath).version.match(/^\d+/)[0]
+  const version = require(packageJsonPath).version
+  const match = version.match(/^\d+/)
+  if (!match) {
+    throw new Error(`Invalid version format for package ${packageName}`)
+  }
+  return match[0]
}

Committable suggestion was skipped due to low confidence.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Judahmeek any comment?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What if there's no lock on the version in package.json (only yarn.lock)?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like the humans are having a chat. I'll hop back into my burrow for now. If you need me again, just tag @coderabbitai in a new comment, and I'll come hopping out!

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like the humans are having a chat. I'll hop back into my burrow for now. If you need me again, just tag @coderabbitai in a new comment, and I'll come hopping out!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The package.json that is checked is the one for the package in node_modules.

I forget the last time I saw a package in node_modules that didn't have a package.json.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While technically not required by Node, the way the package managers and registries work it's all but guaranteed that there will be a package.json with a valid semantic version - the only way I would expect you could not have one would be if you manually (as in, cp, not npm install file://...) setup a dependency there in which case ... what are you doing anyway??

(among other things it's in a packages best interest to have a package.json because that's how you set the license, exports and dependencies)

fwiw you could do this using split('.')[0] instead of a regexp but I think they're probably pretty equivalent

Comment on lines +44 to +49
const packageMajorVersion = (packageName) => {
// eslint-disable-next-line import/no-dynamic-require
const packageJsonPath = require.resolve(`${packageName}/package.json`)
// eslint-disable-next-line import/no-dynamic-require, global-require
return require(packageJsonPath).version.match(/^\d+/)[0]
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Judahmeek any comment?

Comment on lines +44 to +49
const packageMajorVersion = (packageName) => {
// eslint-disable-next-line import/no-dynamic-require
const packageJsonPath = require.resolve(`${packageName}/package.json`)
// eslint-disable-next-line import/no-dynamic-require, global-require
return require(packageJsonPath).version.match(/^\d+/)[0]
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What if there's no lock on the version in package.json (only yarn.lock)?

getStyleRule(/\.(scss|sass)(\.erb)?$/i, [
module.exports = canProcess("sass-loader", (resolvedPath) => {
const optionKey =
packageMajorVersion("sass-loader") > 15 ? "loadPaths" : "includePaths"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we 100% sure that this is the only change for modern vs. legacy support?

CC: @tomdracz @G-Rath

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's seems to be the only relevant change: https://github.com/webpack-contrib/sass-loader/releases/tag/v16.0.0

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between a764420 and 624c63b.

Files selected for processing (9)
  • mocks/nonexistent/package.json (1 hunks)
  • mocks/sass-loader/package.json (1 hunks)
  • jest.config.js (1 hunks)
  • package/rules/sass.js (1 hunks)
  • package/utils/helpers.js (1 hunks)
  • test/package/helpers.test.js (1 hunks)
  • test/package/rules/sass.test.js (1 hunks)
  • test/package/rules/sass1.test.js (1 hunks)
  • test/resolver.js (1 hunks)
Files skipped from review due to trivial changes (2)
  • mocks/nonexistent/package.json
  • mocks/sass-loader/package.json
Files skipped from review as they are similar to previous changes (7)
  • jest.config.js
  • package/rules/sass.js
  • package/utils/helpers.js
  • test/package/helpers.test.js
  • test/package/rules/sass.test.js
  • test/package/rules/sass1.test.js
  • test/resolver.js

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 624c63b and 9594c96.

Files selected for processing (11)
  • test/package/development.test.js (1 hunks)
  • test/package/environments/base.test.js (1 hunks)
  • test/package/environments/development.test.js (1 hunks)
  • test/package/environments/production.test.js (1 hunks)
  • test/package/index.test.js (1 hunks)
  • test/package/production.test.js (1 hunks)
  • test/package/rules/index.test.js (1 hunks)
  • test/package/rules/sass.test.js (1 hunks)
  • test/package/rules/sass1.test.js (1 hunks)
  • test/package/staging.test.js (1 hunks)
  • test/package/test.test.js (1 hunks)
Files skipped from review as they are similar to previous changes (1)
  • test/package/rules/sass.test.js
Additional context used
GitHub Check: Linting
test/package/rules/index.test.js

[failure] 8-8:
Delete ,

test/package/rules/sass1.test.js

[failure] 10-10:
Delete ,

test/package/test.test.js

[failure] 12-12:
Delete ,

test/package/production.test.js

[failure] 12-12:
Delete ,

test/package/staging.test.js

[failure] 12-12:
Delete ,

test/package/development.test.js

[failure] 12-12:
Delete ,

test/package/index.test.js

[failure] 8-8:
Delete ,

test/package/environments/development.test.js

[failure] 11-11:
Delete ,

test/package/environments/production.test.js

[failure] 11-11:
Delete ,

test/package/environments/base.test.js

[failure] 18-18:
Delete ,

Additional comments not posted (8)
test/package/rules/index.test.js (1)

3-10: LGTM! But remove the extra comma.

The mock implementation is correctly set up. However, there is an extra comma in the returned object.

Apply this diff to remove the extra comma:

 return {
-  ...original,
-  moduleExists,
+  ...original,
+  moduleExists
 }

The code changes are approved.

Tools
GitHub Check: Linting

[failure] 8-8:
Delete ,

test/package/rules/sass1.test.js (2)

3-12: LGTM! But remove the extra comma.

The mock implementation is correctly set up. However, there is an extra comma in the returned object.

Apply this diff to remove the extra comma:

 return {
-  ...original,
-  canProcess,
+  ...original,
+  canProcess
 }

The code changes are approved.

Tools
GitHub Check: Linting

[failure] 10-10:
Delete ,


14-14: LGTM!

The mock implementation is correctly set up.

The code changes are approved.

test/package/test.test.js (1)

7-14: LGTM! But remove the extra comma.

The mock implementation is correctly set up. However, there is an extra comma in the returned object.

Apply this diff to remove the extra comma:

 return {
-  ...original,
-  moduleExists,
+  ...original,
+  moduleExists
 }

The code changes are approved.

Tools
GitHub Check: Linting

[failure] 12-12:
Delete ,

test/package/index.test.js (1)

3-10: Remove the extra comma in the return statement.

The mock setup is correctly implemented, but there is an extra comma in the return statement.

Apply this diff to remove the extra comma:

  return {
    ...original,
    moduleExists,
-  }
+  }

The code changes are approved.

Tools
GitHub Check: Linting

[failure] 8-8:
Delete ,

test/package/environments/development.test.js (1)

6-13: Remove the extra comma in the return statement.

The mock setup is correctly implemented, but there is an extra comma in the return statement.

Apply this diff to remove the extra comma:

  return {
    ...original,
    moduleExists,
-  }
+  }

The code changes are approved.

Tools
GitHub Check: Linting

[failure] 11-11:
Delete ,

test/package/environments/production.test.js (1)

6-13: Remove the extra comma in the return statement.

The mock setup is correctly implemented, but there is an extra comma in the return statement.

Apply this diff to remove the extra comma:

  return {
    ...original,
    moduleExists,
-  }
+  }

The code changes are approved.

Tools
GitHub Check: Linting

[failure] 11-11:
Delete ,

test/package/environments/base.test.js (1)

13-20: LGTM! But remove the unnecessary comma.

The mock implementation correctly isolates the tests from external dependencies. However, the comma at line 18 is unnecessary.

Apply this diff to remove the unnecessary comma:

 jest.mock("../../../package/utils/helpers", () => {
   const original = jest.requireActual("../../../package/utils/helpers")
   const moduleExists = () => false
   return {
     ...original,
-    moduleExists,
+    moduleExists
   }
 })

The code changes are approved.

Tools
GitHub Check: Linting

[failure] 18-18:
Delete ,

Comment on lines 7 to 14
jest.mock("../../../package/utils/helpers", () => {
const original = jest.requireActual("../../../package/utils/helpers")
const moduleExists = () => false
return {
...original,
moduleExists,
}
})
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! But remove the trailing comma.

The mock implementation correctly overrides the moduleExists function. However, the trailing comma should be removed to adhere to linting rules.

The code changes are approved.

Apply this diff to remove the trailing comma:

-    moduleExists,
+    moduleExists
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
jest.mock("../../../package/utils/helpers", () => {
const original = jest.requireActual("../../../package/utils/helpers")
const moduleExists = () => false
return {
...original,
moduleExists,
}
})
jest.mock("../../../package/utils/helpers", () => {
const original = jest.requireActual("../../../package/utils/helpers")
const moduleExists = () => false
return {
...original,
moduleExists
}
})
Tools
GitHub Check: Linting

[failure] 12-12:
Delete ,

Comment on lines 7 to 14
jest.mock("../../../package/utils/helpers", () => {
const original = jest.requireActual("../../../package/utils/helpers")
const moduleExists = () => false
return {
...original,
moduleExists,
}
})
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! But remove the trailing comma.

The mock implementation correctly overrides the moduleExists function. However, the trailing comma should be removed to adhere to linting rules.

The code changes are approved.

Apply this diff to remove the trailing comma:

-    moduleExists,
+    moduleExists
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
jest.mock("../../../package/utils/helpers", () => {
const original = jest.requireActual("../../../package/utils/helpers")
const moduleExists = () => false
return {
...original,
moduleExists,
}
})
jest.mock("../../../package/utils/helpers", () => {
const original = jest.requireActual("../../../package/utils/helpers")
const moduleExists = () => false
return {
...original,
moduleExists
}
})
Tools
GitHub Check: Linting

[failure] 12-12:
Delete ,

Comment on lines 7 to 14
jest.mock("../../../package/utils/helpers", () => {
const original = jest.requireActual("../../../package/utils/helpers")
const moduleExists = () => false
return {
...original,
moduleExists,
}
})
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! But remove the trailing comma.

The mock implementation correctly overrides the moduleExists function. However, the trailing comma should be removed to adhere to linting rules.

The code changes are approved.

Apply this diff to remove the trailing comma:

-    moduleExists,
+    moduleExists
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
jest.mock("../../../package/utils/helpers", () => {
const original = jest.requireActual("../../../package/utils/helpers")
const moduleExists = () => false
return {
...original,
moduleExists,
}
})
jest.mock("../../../package/utils/helpers", () => {
const original = jest.requireActual("../../../package/utils/helpers")
const moduleExists = () => false
return {
...original,
moduleExists
}
})
Tools
GitHub Check: Linting

[failure] 12-12:
Delete ,

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 9594c96 and 36052fa.

Files selected for processing (10)
  • test/package/development.test.js (1 hunks)
  • test/package/environments/base.test.js (1 hunks)
  • test/package/environments/development.test.js (1 hunks)
  • test/package/environments/production.test.js (1 hunks)
  • test/package/index.test.js (1 hunks)
  • test/package/production.test.js (1 hunks)
  • test/package/rules/index.test.js (1 hunks)
  • test/package/rules/sass1.test.js (1 hunks)
  • test/package/staging.test.js (1 hunks)
  • test/package/test.test.js (1 hunks)
Files skipped from review due to trivial changes (2)
  • test/package/environments/base.test.js
  • test/package/rules/sass1.test.js
Files skipped from review as they are similar to previous changes (8)
  • test/package/development.test.js
  • test/package/environments/development.test.js
  • test/package/environments/production.test.js
  • test/package/index.test.js
  • test/package/production.test.js
  • test/package/rules/index.test.js
  • test/package/staging.test.js
  • test/package/test.test.js

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 36052fa and 53d817f.

Files selected for processing (11)
  • test/package/development.test.js (1 hunks)
  • test/package/environments/base.test.js (1 hunks)
  • test/package/environments/development.test.js (1 hunks)
  • test/package/environments/production.test.js (1 hunks)
  • test/package/index.test.js (1 hunks)
  • test/package/production.test.js (1 hunks)
  • test/package/rules/index.test.js (1 hunks)
  • test/package/rules/sass.test.js (1 hunks)
  • test/package/rules/sass1.test.js (1 hunks)
  • test/package/staging.test.js (1 hunks)
  • test/package/test.test.js (1 hunks)
Files skipped from review due to trivial changes (2)
  • test/package/environments/base.test.js
  • test/package/rules/sass1.test.js
Files skipped from review as they are similar to previous changes (9)
  • test/package/development.test.js
  • test/package/environments/development.test.js
  • test/package/environments/production.test.js
  • test/package/index.test.js
  • test/package/production.test.js
  • test/package/rules/index.test.js
  • test/package/rules/sass.test.js
  • test/package/staging.test.js
  • test/package/test.test.js

@justin808 justin808 merged commit f19b276 into main Aug 29, 2024
39 checks passed
@justin808 justin808 deleted the judahmeek/sass-options branch August 29, 2024 08:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Wrong options set for sass-loader v16+
3 participants