diff --git a/.cspell.json b/.cspell.json new file mode 100644 index 00000000..ca5a2cb5 --- /dev/null +++ b/.cspell.json @@ -0,0 +1,55 @@ +{ + "version": "0.2", + "language": "en,en-gb", + "words": [ + "pures", + "icss", + "styl", + "nosources", + "unknwon", + "mycss", + "memfs", + "Koppers", + "sokra", + "plusplus", + "localident", + "fullhash", + "requestify", + "XSSI", + "Requestable", + "requestable", + "requestify", + "nourl", + "stylesheet", + "classname", + "EACE", + "UAAU", + "AACZ", + "MCEP", + "stringifier", + "Zvby", + "uncnoun", + "bazzy", + "svars", + "concat", + "camelcase", + "Brotli", + "Contex", + "vspace", + "commitlint", + "eslintcache", + "akait" + ], + "ignorePaths": [ + "CHANGELOG.md", + "package.json", + "dist/**", + "**/__snapshots__/**", + "package-lock.json", + "**/*.css", + "**/fonts/**", + "node_modules", + "coverage", + "*.log" + ] +} diff --git a/.editorconfig b/.editorconfig index 9f89f364..5f795282 100644 --- a/.editorconfig +++ b/.editorconfig @@ -9,5 +9,4 @@ insert_final_newline = true trim_trailing_whitespace = true [*.md] -insert_final_newline = true trim_trailing_whitespace = false diff --git a/.eslintrc.js b/.eslintrc.js index 095ce2a5..7a66ba28 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,4 +1,19 @@ module.exports = { root: true, - extends: ['@webpack-contrib/eslint-config-webpack', 'prettier'], + extends: ["@webpack-contrib/eslint-config-webpack", "prettier"], + overrides: [ + { + files: "src/runtime/**/*", + env: { + browser: true, + }, + rules: { + "prefer-destructuring": "off", + "no-param-reassign": "off", + "no-continue": "off", + "no-underscore-dangle": "off", + "no-undefined": "off", + }, + }, + ], }; diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index d77bab43..3dd6cd25 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -17,9 +17,9 @@ The issue tracker is for bug reports and feature discussions. ## Found an Issue or Bug? -Before you submit an issue, please search the issue tracker, maybe an issue for your problem already exists and the discussion might inform you of workarounds readily available. +Before you submit an issue, please search the issue tracker, an issue for your problem may already exist, and the discussion might inform you of workarounds readily available. -We want to fix all the issues as soon as possible, but before fixing a bug we need to reproduce and confirm it. In order to reproduce bugs, we ask that you to provide a minimal reproduction scenario (github repo or failing test case). Having a live, reproducible scenario gives us a wealth of important information without going back & forth to you with additional questions like: +We want to fix all the issues as soon as possible, but before fixing a bug, we need to reproduce and confirm it. In order to reproduce bugs, we ask that you provide a minimal reproduction scenario (GitHub repo or failing test case). Having a live, reproducible scenario gives us a wealth of important information without going back & forth to you with additional questions like: - version of Webpack used - version of the loader / plugin you are creating a bug report for @@ -27,24 +27,24 @@ We want to fix all the issues as soon as possible, but before fixing a bug we ne A minimal reproduce scenario allows us to quickly confirm a bug (or point out config problems) as well as confirm that we are fixing the right problem. -We will be insisting on a minimal reproduce scenario in order to save maintainers time and ultimately be able to fix more bugs. We understand that sometimes it might be hard to extract essentials bits of code from a larger code-base but we really need to isolate the problem before we can fix it. +We will be insisting on a minimal reproduction scenario in order to save the maintainers' time and ultimately be able to fix more bugs. We understand that sometimes it might be hard to extract essential bits of code from a larger codebase, but we really need to isolate the problem before we can fix it. -Unfortunately, we are not able to investigate / fix bugs without a minimal reproduction, so if we don't hear back from you we are going to close an issue that doesn't have enough info to be reproduced. +Unfortunately, we are unable to investigate or fix bugs without a minimal reproduction, so if we don't hear back from you, we may have to close an issue that doesn't have enough info to be reproduced. ## Feature Requests? -You can _request_ a new feature by creating an issue on Github. +You can _request_ a new feature by creating an issue on GitHub. -If you would like to _implement_ a new feature, please submit an issue with a proposal for your work `first`, to be sure that particular makes sense for the project. +If you would like to _implement_ a new feature yourself, please **first submit an issue** with a proposal to ensure the idea aligns with the goals of the project. ## Pull Request Submission Guidelines Before you submit your Pull Request (PR) consider the following guidelines: -- Search Github for an open or closed PR that relates to your submission. You don't want to duplicate effort. -- Commit your changes using a descriptive commit message that follows our [commit message conventions](#commit). Adherence to these conventions is necessary because release notes are automatically generated from these messages. -- Fill out our `Pull Request Template`. Your pull request will not be considered if it is ignored. -- Please sign the `Contributor License Agreement (CLA)` when a pull request is opened. We cannot accept your pull request without this. Make sure you sign with the primary email address associated with your local / github account. +- Search GitHub for an open or closed PR related to your submission to avoid duplicating effort. +- Commit your changes using a descriptive commit message that follows our [commit message conventions](#commit). This is important because release notes are automatically generated from these messages. +- Complete the `Pull Request Template`. Pull requests that ignore the template will not be reviewed. +- Please sign the `Contributor License Agreement (CLA)` when you open your pull request. We cannot accept your contribution without it. Be sure to sign using the primary email address associated with your local and GitHub account. ## Webpack Contrib Commit Conventions @@ -61,8 +61,7 @@ format that includes a **type**, a **scope** and a **subject**: The **header** is mandatory and the **scope** of the header is optional. -Any line of the commit message cannot be longer 100 characters! This allows the message to be easier -to read on GitHub as well as in various git tools. +No line in the commit message should exceed 100 characters! This makes the message easier to read on GitHub as well as in various Git tools. The footer should contain a [closing reference to an issue](https://help.github.com/articles/closing-issues-via-commit-messages/) if any. @@ -83,7 +82,7 @@ In the body it should say: `This reverts commit .`, where the hash is the ### Type -Must be one of the following: +Must be one of the following commit types: - **build**: Changes that affect the build system or external dependencies (example scopes: babel, npm) - **chore**: Changes that fall outside of build / docs that do not effect source code (example scopes: package, defaults) @@ -99,27 +98,26 @@ Must be one of the following: ### Scope -The scope is subjective & depends on the `type` see above. A good example would be a change to a particular class / module. +The scope is subjective & depends on the `type` see above. A good example of a scope would be a change to a particular class or module. ### Subject The subject contains a succinct description of the change: -- use the imperative, present tense: "change" not "changed" nor "changes" +- use the imperative, present tense: "change" not "changed" or "changes" - don't capitalize the first letter - no dot (.) at the end ### Body -Just as in the **subject**, use the imperative, present tense: "change" not "changed" nor "changes". -The body should include the motivation for the change and contrast this with previous behavior. +Just as in the **subject**, use the imperative, present tense: "change" not "changed" or "changes". +The body should include the motivation for the change and contrast it with previous behavior. ### Footer -The footer should contain any information about **Breaking Changes** and is also the place to -reference GitHub issues that this commit **Closes**. +The footer should include any information about **Breaking Changes** and is also the place to reference GitHub issues that this commit **Closes**. -**Breaking Changes** should start with the word `BREAKING CHANGE:` with a space or two newlines. The rest of the commit message is then used for this. +**Breaking Changes** must start with the word `BREAKING CHANGE:` followed by a space or two new lines. The rest of the breaking change details should be provided after this. Example @@ -133,9 +131,7 @@ Migration: see webpack/webpack#5225 ## Testing Your Pull Request -You may have the need to test your changes in a real-world project or dependent -module. Thankfully, Github provides a means to do this. Add a dependency to the -`package.json` for such a project as follows: +You may need to test your changes in a real-world project or a dependent module. Thankfully, GitHub provides a means to do this. To add a dependency to the `package.json` of such a project, use the following syntax: ```json { @@ -149,9 +145,9 @@ Where `{id}` is the # ID of your Pull Request. ## Contributor License Agreement -When submitting your contribution, a CLA (Contributor License Agreement) bot will come by to verify that you signed the [CLA](https://cla.js.foundation/webpack-contrib/css-loader). +When submitting your contribution, a CLA (Contributor License Agreement) bot will verify whether you have signed the [CLA](https://easycla.lfx.linuxfoundation.org/#/?version=2). If it is your first time, it will link you to the right place to sign it. -However, if you have committed your contributions using an email that is not the same as your email used on GitHub, the CLA bot can't accept your contribution. +However, if the email used in your commits doesn’t match the email associated with your GitHub account, the CLA bot won’t accept your contribution. Run `git config user.email` to see your Git email, and verify it with [your GitHub email](https://github.com/settings/emails). diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index f68cbd3e..3ce9cf32 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -6,7 +6,7 @@ You arrived at this template because you felt none of the other options matched the kind of issue you'd like to report. Please use this opportunity to - tell us about your particular type of issue so we can try to accomodate + tell us about your particular type of issue so we can try to accommodate similar issues in the future. PLEASE do note, if you're using this to report an issue already covered by the diff --git a/.github/ISSUE_TEMPLATE/BUG.md b/.github/ISSUE_TEMPLATE/BUG.md index ebc47be4..931d2e2e 100644 --- a/.github/ISSUE_TEMPLATE/BUG.md +++ b/.github/ISSUE_TEMPLATE/BUG.md @@ -3,48 +3,31 @@ name: 🐛 Bug Report about: Something went awry and you'd like to tell us about it. --- - + - If you remove or skip this template, you'll make the 🐼 sad and the mighty god - of Github will appear and pile-drive the close button from a great height - while making animal noises. +### Bug report - 👉🏽 Need support, advice, or help? Don't open an issue! - Head to StackOverflow or https://gitter.im/webpack/webpack. ---> - -- Operating System: -- Node Version: -- NPM Version: -- webpack Version: -- css-loader Version: - -### Expected Behavior - - + + + + ### Actual Behavior - - -### Code + -```js -// webpack.config.js -// If your code blocks are over 20 lines, please paste a link to a gist -// (https://gist.github.com). -``` +### Expected Behavior -```js -// additional code, HEY YO remove this block if you don't need it -``` + + ### How Do We Reproduce? - + + + + - If your webpack config is over 50 lines long, please provide a URL to a repo - for your beefy 🍖 app that we can use to reproduce. ---> +### Please paste the results of `npx webpack-cli info` here, and mention other relevant information. diff --git a/.github/ISSUE_TEMPLATE/DOCS.md b/.github/ISSUE_TEMPLATE/DOCS.md index 88d05ddd..1f9fad79 100644 --- a/.github/ISSUE_TEMPLATE/DOCS.md +++ b/.github/ISSUE_TEMPLATE/DOCS.md @@ -3,20 +3,12 @@ name: 📚 Documentation about: Are the docs lacking or missing something? Do they need some new 🔥 hotness? Tell us here. --- - + - If you remove or skip this template, you'll make the 🐼 sad and the mighty god - of Github will appear and pile-drive the close button from a great height - while making animal noises. +Documentation is: - 👉🏽 Need support, advice, or help? Don't open an issue! - Head to StackOverflow or https://gitter.im/webpack/webpack. ---> - -Documentation Is: - - + - [ ] Missing - [ ] Needed @@ -25,4 +17,9 @@ Documentation Is: ### Please Explain in Detail... + + + + + ### Your Proposal for Changes diff --git a/.github/ISSUE_TEMPLATE/FEATURE.md b/.github/ISSUE_TEMPLATE/FEATURE.md index 84d4adeb..d1e618fe 100644 --- a/.github/ISSUE_TEMPLATE/FEATURE.md +++ b/.github/ISSUE_TEMPLATE/FEATURE.md @@ -3,23 +3,18 @@ name: ✨ Feature Request about: Suggest an idea for this project --- - + - If you remove or skip this template, you'll make the 🐼 sad and the mighty god - of Github will appear and pile-drive the close button from a great height - while making animal noises. +### Feature Proposal - 👉🏽 Need support, advice, or help? Don't open an issue! - Head to StackOverflow or https://gitter.im/webpack/webpack. ---> + + + + -- Operating System: -- Node Version: -- NPM Version: -- webpack Version: -- css-loader Version: +### Feature Use Case -### Feature Proposal + -### Feature Use Case +### Please paste the results of `npx webpack-cli info` here, and mention other relevant information. diff --git a/.github/ISSUE_TEMPLATE/MODIFICATION.md b/.github/ISSUE_TEMPLATE/MODIFICATION.md index bd64d529..35602449 100644 --- a/.github/ISSUE_TEMPLATE/MODIFICATION.md +++ b/.github/ISSUE_TEMPLATE/MODIFICATION.md @@ -1,27 +1,25 @@ --- name: 🔧 Modification Request -about: Would you like something work differently? Have an alternative approach? This is the template for you. +about: Want something to work differently? Have an alternative approach? This is the template for you. --- - + - If you remove or skip this template, you'll make the 🐼 sad and the mighty god - of Github will appear and pile-drive the close button from a great height - while making animal noises. - - 👉🏽 Need support, advice, or help? Don't open an issue! - Head to StackOverflow or https://gitter.im/webpack/webpack. ---> +### Modification Proposal -- Operating System: -- Node Version: -- NPM Version: -- webpack Version: -- css-loader Version: + + + + + ### Expected Behavior / Situation + + ### Actual Behavior / Situation -### Modification Proposal + + +### Please paste the results of `npx webpack-cli info` here, and mention other relevant information. diff --git a/.github/ISSUE_TEMPLATE/SUPPORT.md b/.github/ISSUE_TEMPLATE/SUPPORT.md index 558934ac..65f014ac 100644 --- a/.github/ISSUE_TEMPLATE/SUPPORT.md +++ b/.github/ISSUE_TEMPLATE/SUPPORT.md @@ -1,8 +1,15 @@ --- name: 🆘 Support, Help, and Advice -about: 👉🏽 Need support, help, or advice? Don't open an issue! Head to StackOverflow or https://gitter.im/webpack/webpack. +about: 👉🏽 Need support, help, or advice? Don't open an issue! Head to https://github.com/webpack/webpack/discussions or StackOverflow --- -Hey there! If you need support, help, or advice then this is not the place to ask. -Please visit [StackOverflow](https://stackoverflow.com/questions/tagged/webpack) -or [the Webpack Gitter](https://gitter.im/webpack/webpack) instead. +Hey there! 👋 + +If you need support, help, or advice then this is not the right place to ask. + +Please visit one of the following instead: + +- [GitHub Discussions](https://github.com/webpack/webpack/discussions) +- [StackOverflow](https://stackoverflow.com/questions/tagged/webpack) + +Thanks for understanding! diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml new file mode 100644 index 00000000..8caf799d --- /dev/null +++ b/.github/workflows/dependency-review.yml @@ -0,0 +1,14 @@ +name: "Dependency Review" +on: [pull_request] + +permissions: + contents: read + +jobs: + dependency-review: + runs-on: ubuntu-latest + steps: + - name: "Checkout Repository" + uses: actions/checkout@v4 + - name: "Dependency Review" + uses: actions/dependency-review-action@v4 diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml new file mode 100644 index 00000000..8938f6fa --- /dev/null +++ b/.github/workflows/nodejs.yml @@ -0,0 +1,99 @@ +name: css-loader + +on: + push: + branches: + - master + - next + pull_request: + branches: + - master + - next + +permissions: + contents: read + +jobs: + lint: + name: Lint - ${{ matrix.os }} - Node v${{ matrix.node-version }} + + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + strategy: + matrix: + os: [ubuntu-latest] + node-version: [lts/*] + + runs-on: ${{ matrix.os }} + + concurrency: + group: lint-${{ matrix.os }}-v${{ matrix.node-version }}-${{ github.ref }} + cancel-in-progress: true + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: "npm" + + - name: Install dependencies + run: npm ci + + - name: Lint + run: npm run lint + + - name: Security audit + run: npm run security + + - name: Validate PR commits with commitlint + if: github.event_name == 'pull_request' + run: npx commitlint --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} --to ${{ github.event.pull_request.head.sha }} --verbose + + test: + name: Test - ${{ matrix.os }} - Node v${{ matrix.node-version }}, Webpack ${{ matrix.webpack-version }} + + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + node-version: [18.x, 20.x, 22.x, 24.x] + webpack-version: [latest] + + runs-on: ${{ matrix.os }} + + concurrency: + group: test-${{ matrix.os }}-v${{ matrix.node-version }}-${{ matrix.webpack-version }}-${{ github.ref }} + cancel-in-progress: true + + steps: + - name: Setup Git + if: matrix.os == 'windows-latest' + run: git config --global core.autocrlf input + + - uses: actions/checkout@v4 + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: "npm" + + - name: Install dependencies + run: npm ci + + - name: Install webpack ${{ matrix.webpack-version }} + if: matrix.webpack-version != 'latest' + run: npm i webpack@${{ matrix.webpack-version }} + + - name: Run tests for webpack version ${{ matrix.webpack-version }} + run: npm run test:coverage -- --ci + + - name: Submit coverage data to codecov + uses: codecov/codecov-action@v5 + with: + token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.gitignore b/.gitignore index d81a67f1..46fd3f6e 100644 --- a/.gitignore +++ b/.gitignore @@ -2,12 +2,20 @@ logs *.log npm-debug.log* .eslintcache +.cspellcache /coverage /dist /local /reports /node_modules +/test/outputs +/test/fixtures/import/import-absolute.css +/test/fixtures/url/url-absolute.css +/test/fixtures/modules/composes/composes-absolute.css +/test/fixtures/import/import-file-protocol.css +/test/fixtures/url/url-file-protocol.css +/test/fixtures/url/many-urls.css .DS_Store Thumbs.db diff --git a/.husky/commit-msg b/.husky/commit-msg new file mode 100755 index 00000000..dbce4f4c --- /dev/null +++ b/.husky/commit-msg @@ -0,0 +1 @@ +commitlint --edit $1 diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 00000000..c27d8893 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1 @@ +lint-staged diff --git a/.prettierrc.js b/.prettierrc.js deleted file mode 100644 index 1934550a..00000000 --- a/.prettierrc.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - singleQuote: true, - trailingComma: 'es5', - arrowParens: 'always', -}; diff --git a/CHANGELOG.md b/CHANGELOG.md index e3c4a4c1..5540e26e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,625 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [7.1.2](https://github.com/webpack-contrib/css-loader/compare/v7.1.1...v7.1.2) (2024-05-22) + + +### Bug Fixes + +* keep order of `@import`s with the `webpackIgnore` comment ([#1600](https://github.com/webpack-contrib/css-loader/issues/1600)) ([76757ef](https://github.com/webpack-contrib/css-loader/commit/76757ef30ec37f88ccf9d8b82d8d84b7625c5d66)) + +### [7.1.1](https://github.com/webpack-contrib/css-loader/compare/v7.1.0...v7.1.1) (2024-04-10) + + +### Bug Fixes + +* automatically rename class `default` to `_default` when named export is enabled ([#1590](https://github.com/webpack-contrib/css-loader/issues/1590)) ([d6c31a1](https://github.com/webpack-contrib/css-loader/commit/d6c31a17a0dde3e2bcf2b5e55f913c3645d32868)) + +## [7.1.0](https://github.com/webpack-contrib/css-loader/compare/v7.0.0...v7.1.0) (2024-04-08) + + +### Features + +* added the `getJSON` option to output CSS modules mapping ([#1577](https://github.com/webpack-contrib/css-loader/issues/1577)) ([af834b4](https://github.com/webpack-contrib/css-loader/commit/af834b43b375f336108d74ff7bd9ed13bc79200a)) + +## [7.0.0](https://github.com/webpack-contrib/css-loader/compare/v6.11.0...v7.0.0) (2024-04-04) + + +### ⚠ BREAKING CHANGES + +* The `modules.namedExport` option is `true` by default if you enable the `esModule` option + +Migration guide: + +Before: + +```js +import style from "./style.css"; + +console.log(style.myClass); +``` + +After: + +```js +import * as style from "./style.css"; + +console.log(style.myClass); +``` + +To restore 6.x behavior, please use: + +```js +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + loader: "css-loader", + options: { + modules: { + namedExport: false, + exportLocalsConvention: 'as-is', + // + // or, if you prefer camelcase style + // + // exportLocalsConvention: 'camel-case-only' + }, + }, + }, + ], + }, +}; +``` + +Typescript migration: + +Before: + +```ts +declare module '*.module.css' { + const classes: { [key: string]: string }; + export default classes; +} +``` + +After: + +```ts +declare module '*.module.css' { + const classes: { [key: string]: string }; + export = classes; +} +``` + +* The `modules.exportLocalsConvention` has the value `as-is` when the `modules.namedExport` option is `true` and you don't specify a value +* Minimum supported webpack version is `5.27.0` +* Minimum supported Node.js version is `18.12.0` + +### Features + +* The `modules.namedExports` option works fine with any `modules.exportLocalsConvention` values ([f96a110](https://github.com/webpack-contrib/css-loader/commit/f96a11007da55a632de7f58167895e1b5814d717)) +* Added dashed variants for the `modules.exportLocalsConvention` options ([40e1668](https://github.com/webpack-contrib/css-loader/commit/40e1668b8366f0df63343efe706ba848c2b5dfb2)) + +## [6.11.0](https://github.com/webpack-contrib/css-loader/compare/v6.10.0...v6.11.0) (2024-04-03) + + +### Features + +* supports multiple composes ([#1582](https://github.com/webpack-contrib/css-loader/issues/1582)) ([bbca614](https://github.com/webpack-contrib/css-loader/commit/bbca61411dc5f82964653a6d1aa27854519b743d)) + + +### Bug Fixes + +* do not break `@scope` at-rule without params ([#1581](https://github.com/webpack-contrib/css-loader/issues/1581)) ([e022e3b](https://github.com/webpack-contrib/css-loader/commit/e022e3bb405472ac7d51ff1114783fc2811dfe04)) + +## [6.10.0](https://github.com/webpack-contrib/css-loader/compare/v6.9.1...v6.10.0) (2024-01-30) + + +### Features + +* add `@rspack/core` as an optional peer dependency ([#1568](https://github.com/webpack-contrib/css-loader/issues/1568)) ([3924679](https://github.com/webpack-contrib/css-loader/commit/3924679cb9a8f31996c742290a71a3446c9782b9)) +* pass the `resourceQuery` and `resourceFragment` to the `auto` and `mode` callback ([#1569](https://github.com/webpack-contrib/css-loader/issues/1569)) ([d641c4d](https://github.com/webpack-contrib/css-loader/commit/d641c4d48264518dfeb77d7e1e8ef03bbb09b645)) +* support named exports with any characters ([6f43929](https://github.com/webpack-contrib/css-loader/commit/6f439299838eab7e6fb18f6e9f47b9dee2208463)) + +### [6.9.1](https://github.com/webpack-contrib/css-loader/compare/v6.9.0...v6.9.1) (2024-01-18) + + +### Bug Fixes + +* css nesting support +* `@scope` at-rule support + +## [6.9.0](https://github.com/webpack-contrib/css-loader/compare/v6.8.1...v6.9.0) (2024-01-09) + + +### Features + +* updated generateExportEntry to expose node details ([#1556](https://github.com/webpack-contrib/css-loader/issues/1556)) ([05002f3](https://github.com/webpack-contrib/css-loader/commit/05002f39e29afd7e12f9efca4d073bc23e3d2150)) + + +### Bug Fixes + +* css experiment detection ([#1559](https://github.com/webpack-contrib/css-loader/issues/1559)) ([f2cfe30](https://github.com/webpack-contrib/css-loader/commit/f2cfe30a8f6b0053a268c0d9c1943bb3c8f01338)) + +### [6.8.1](https://github.com/webpack-contrib/css-loader/compare/v6.8.0...v6.8.1) (2023-05-28) + + +### Bug Fixes + +* use `cause` for original errors and warnings ([#1526](https://github.com/webpack-contrib/css-loader/issues/1526)) ([ae3d8ae](https://github.com/webpack-contrib/css-loader/commit/ae3d8ae54ecb5706fe9c3449487cc8306699469f)) + +## [6.8.0](https://github.com/webpack-contrib/css-loader/compare/v6.7.4...v6.8.0) (2023-05-27) + + +### Features + +* use template literal when it possible to prevent `Maximum call stack size exceeded` ([#1525](https://github.com/webpack-contrib/css-loader/issues/1525)) ([6eb5661](https://github.com/webpack-contrib/css-loader/commit/6eb56618185e974abf339c952c263cc7b8a9a066)) + + +### Bug Fixes + +* warning and error serialization ([#1523](https://github.com/webpack-contrib/css-loader/issues/1523)) ([3e52969](https://github.com/webpack-contrib/css-loader/commit/3e52969f0f6b1c9d4d16db41ebff8804b340742c)) + +### [6.7.4](https://github.com/webpack-contrib/css-loader/compare/v6.7.3...v6.7.4) (2023-05-19) + + +### Bug Fixes + +* bugs in css modules ([c3099fb](https://github.com/webpack-contrib/css-loader/commit/c3099fb0cf03927f879f911ab5f51d9edc20d871)) +* output warning when built-in CSS support enabled ([#1520](https://github.com/webpack-contrib/css-loader/issues/1520)) ([0700ce8](https://github.com/webpack-contrib/css-loader/commit/0700ce8cfab2f25d538eaa2309ae80e1a097a6c1)) + +### [6.7.3](https://github.com/webpack-contrib/css-loader/compare/v6.7.2...v6.7.3) (2022-12-14) + + +### Bug Fixes + +* remove `sourceURL` from emitted CSS ([#1487](https://github.com/webpack-contrib/css-loader/issues/1487)) ([962924c](https://github.com/webpack-contrib/css-loader/commit/962924c79e274be9f6f81d39eac651c1a4876bc2)) + +### [6.7.2](https://github.com/webpack-contrib/css-loader/compare/v6.7.1...v6.7.2) (2022-11-13) + + +### Bug Fixes + +* css modules generation with inline syntax ([#1480](https://github.com/webpack-contrib/css-loader/issues/1480)) ([2f4c273](https://github.com/webpack-contrib/css-loader/commit/2f4c27399fdadace5af221ae8df95a36642a377e)) + +### [6.7.1](https://github.com/webpack-contrib/css-loader/compare/v6.7.0...v6.7.1) (2022-03-08) + + +### Bug Fixes + +* defaultGetLocalIdent export ([#1427](https://github.com/webpack-contrib/css-loader/issues/1427)) ([74dac1e](https://github.com/webpack-contrib/css-loader/commit/74dac1e428569236d386ff4e0f971e35c334087a)) + +## [6.7.0](https://github.com/webpack-contrib/css-loader/compare/v6.6.0...v6.7.0) (2022-03-04) + + +### Features + +* re-export defaultGetLocalIdent ([#1423](https://github.com/webpack-contrib/css-loader/issues/1423)) ([207cf36](https://github.com/webpack-contrib/css-loader/commit/207cf36d541423f12a8d6680b21530c52a2f07d5)) + +## [6.6.0](https://github.com/webpack-contrib/css-loader/compare/v6.5.1...v6.6.0) (2022-02-02) + + +### Features + +* added the `hashStrategy` option ([ca4abce](https://github.com/webpack-contrib/css-loader/commit/ca4abce74d01bc13959e30a4dbbd1ca3a0516d72)) + + +### [6.5.1](https://github.com/webpack-contrib/css-loader/compare/v6.5.0...v6.5.1) (2021-11-03) + + +### Bug Fixes + +* regression with unicode characters in locals ([b7a8441](https://github.com/webpack-contrib/css-loader/commit/b7a84414fb3f6e6ff413cbbb7004fa74a78da331)) +* runtime path generation ([#1393](https://github.com/webpack-contrib/css-loader/issues/1393)) ([feafea8](https://github.com/webpack-contrib/css-loader/commit/feafea812a95db05e9b52beaced0def611bba5c8)) + +## [6.5.0](https://github.com/webpack-contrib/css-loader/compare/v6.4.0...v6.5.0) (2021-10-26) + + +### Features + +* support absolute URL in `url()` when `experiments.buildHttp` enabled ([#1389](https://github.com/webpack-contrib/css-loader/issues/1389)) ([8946be4](https://github.com/webpack-contrib/css-loader/commit/8946be4d0f2c0237cd5fa846d67d469ff20058a4)) + + +### Bug Fixes + +* respect `nosources` in the `devtool` option ([c60eff2](https://github.com/webpack-contrib/css-loader/commit/c60eff212337c8a65995f6675d25f49bb515e77d)) + +## [6.4.0](https://github.com/webpack-contrib/css-loader/compare/v6.3.0...v6.4.0) (2021-10-09) + + +### Features + +* generate more collision resistant for locals ([c7db752](https://github.com/webpack-contrib/css-loader/commit/c7db752fe6a9c7ff28d165fd24a37be08ef83af5)) + + +### Bug Fixes + +* classes generation for client and server bundling ([303a3a1](https://github.com/webpack-contrib/css-loader/commit/303a3a171793cf1044c131e291f5c29f9ab86c77)) + +## [6.3.0](https://github.com/webpack-contrib/css-loader/compare/v6.2.0...v6.3.0) (2021-09-18) + + +### Features + +* added `[folder]` placeholder ([a0dee4f](https://github.com/webpack-contrib/css-loader/commit/a0dee4fd34dd1b9892dac7645a4e57ec134e561b)) +* added the `exportType` option with `'array'`, `'string'` and `'css-style-sheet'` values ([c6d2066](https://github.com/webpack-contrib/css-loader/commit/c6d20664ca03226ace26b9766e484e437ec74f60)) + * `'array'` - the default export is `Array` with API for `style-loader` and other + * `'string'` - the default export is `String` you don't need [`to-string-loader`](https://www.npmjs.com/package/to-string-loader) loader anymore + * `'css-style-sheet'` - the default export is a [`constructable stylesheet`](https://developers.google.com/web/updates/2019/02/constructable-stylesheets), you can use `import sheet from './styles.css' assert { type: 'css' };` like in a browser, more information you can find [here](https://github.com/webpack-contrib/css-loader#css-style-sheet) +* supported `supports()` and `layer()` functions in `@import` at-rules ([#1377](https://github.com/webpack-contrib/css-loader/issues/1377)) ([bce2c17](https://github.com/webpack-contrib/css-loader/commit/bce2c17524290591be243829187f909a0ae5a6f7)) +* fix multiple merging multiple `@media` at-rules ([#1377](https://github.com/webpack-contrib/css-loader/issues/1377)) ([bce2c17](https://github.com/webpack-contrib/css-loader/commit/bce2c17524290591be243829187f909a0ae5a6f7)) + + +### Bug Fixes + +* reduce runtime ([#1378](https://github.com/webpack-contrib/css-loader/issues/1378)) ([cf3a3a7](https://github.com/webpack-contrib/css-loader/commit/cf3a3a7346aa73637ee6aae6fef5648965c31a47)) + +## [6.2.0](https://github.com/webpack-contrib/css-loader/compare/v6.1.0...v6.2.0) (2021-07-19) + + +### Features + +* allow the `exportLocalsConvention` option can be a function, useful for named export ([#1351](https://github.com/webpack-contrib/css-loader/issues/1351)) ([3c4b357](https://github.com/webpack-contrib/css-loader/commit/3c4b35718273baaf9e0480db715b596fbe5d7453)) + +## [6.1.0](https://github.com/webpack-contrib/css-loader/compare/v6.0.0...v6.1.0) (2021-07-17) + + +### Features + +* add `link` in schema ([#1345](https://github.com/webpack-contrib/css-loader/issues/1345)) ([7d4e493](https://github.com/webpack-contrib/css-loader/commit/7d4e4931390f9e9356af45ae03057d1505d73109)) + + +### Bug Fixes + +* respect the `localIdentRegExp` option ([#1349](https://github.com/webpack-contrib/css-loader/issues/1349)) ([42f150b](https://github.com/webpack-contrib/css-loader/commit/42f150b429afad9b0851d2e6bd75cec120885aa4)) + +## [6.0.0](https://github.com/webpack-contrib/css-loader/compare/v5.2.7...v6.0.0) (2021-07-14) + +### Notes + +* using `~` is deprecated when the `esModule` option is enabled (enabled by default) and can be removed from your code (**we recommend it**) (`url(~package/image.png)` -> `url(package/image.png)`, `@import url(~package/style.css)` -> `@import url(package/style.css)`, `composes: import from '~package/one.css';` -> `composes: import from 'package/one.css';`), but we still support it for historical reasons. Why can you remove it? The loader will first try to resolve `@import`/`url()`/etc as relative, if it cannot be resolved, the loader will try to resolve `@import`/`url()`/etc inside [`node_modules` or modules directories](https://webpack.js.org/configuration/resolve/#resolvemodules). +* `file-loader` and `url-loader` are deprecated, please migrate on [`asset modules`](https://webpack.js.org/guides/asset-modules/), since v6 `css-loader` is generating `new URL(...)` syntax, it enables by default built-in [`assets modules`](https://webpack.js.org/guides/asset-modules/), i.e. `type: 'asset'` for all `url()` + +### ⚠ BREAKING CHANGES + +* minimum supported `Node.js` version is `12.13.0` +* minimum supported `webpack` version is `5`, we recommend to update to the latest version for better performance +* for `url` and `import` options `Function` type was removed in favor `Object` type with the `filter` property, i.e. before `{ url: () => true }`, now `{ url: { filter: () => true } }` and before `{ import: () => true }`, now `{ import: { filter: () => true } }` +* the `modules.compileType` option was removed in favor the `modules.mode` option with `icss` value, also the `modules` option can have `icss` string value +* `new URL()` syntax used for `url()`, only when the `esModule` option is enabled (enabled by default), it means you can bundle CSS for libraries +* [data URI](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) are handling in `url()`, it means you can register loaders for them, [example](https://webpack.js.org/configuration/module/#rulescheme) +* aliases with `false` value for `url()` now generate empty data URI (i.e. `data:0,`), only when the `esModule` option is enabled (enabled by default) +* `[ext]` placeholder don't need `.` (dot) before for the `localIdentName` option, i.e. please change `.[ext]` on `[ext]` (no dot before) +* `[folder]` placeholder was removed without replacement for the `localIdentName` option, please use a custom function if you need complex logic +* `[emoji]` placeholder was removed without replacement for the `localIdentName` option, please use a custom function if you need complex logic +* the `localIdentHashPrefix` was removed in favor the `localIdentHashSalt` option + +### Features + +* supported [`resolve.byDependency.css`](https://webpack.js.org/configuration/resolve/#resolvebydependency) resolve options for `@import` +* supported [`resolve.byDependency.icss`](https://webpack.js.org/configuration/resolve/#resolvebydependency) resolve CSS modules and ICSS imports (i.e. `composes`/etc) +* added `modules.localIdentHashFunction`, `modules.localIdentHashDigest`, `modules.localIdentHashDigestLength` options for better class hashing controlling +* less dependencies + +### Bug Fixes + +* better performance +* fixed circular `@import` + +### Notes + +* **we strongly recommend not to add `.css` to `resolve.extensions`, it reduces performance and in most cases it is simply not necessary, alternative you can set resolve options [by dependency](https://webpack.js.org/configuration/resolve/#resolvebydependency)** + +### [5.2.7](https://github.com/webpack-contrib/css-loader/compare/v5.2.6...v5.2.7) (2021-07-13) + + +### Bug Fixes + +* fix crash when source map is unavailable with external URL in `[@import](https://github.com/import)` ([bb76fe4](https://github.com/webpack-contrib/css-loader/commit/bb76fe48a198e74cacf29ad4b1c01d485f4db11f)) + +### [5.2.6](https://github.com/webpack-contrib/css-loader/compare/v5.2.5...v5.2.6) (2021-05-24) + + +### Bug Fixes + +* always write locals export when css modules/icss enabled ([#1315](https://github.com/webpack-contrib/css-loader/issues/1315)) ([075d9bd](https://github.com/webpack-contrib/css-loader/commit/075d9bd044a78543479cbf10ccd3c386a3e434e6)) + +### [5.2.5](https://github.com/webpack-contrib/css-loader/compare/v5.2.4...v5.2.5) (2021-05-20) + + +### Bug Fixes + +* compatibility with named export and es5 ([#1314](https://github.com/webpack-contrib/css-loader/issues/1314)) ([0cf8cde](https://github.com/webpack-contrib/css-loader/commit/0cf8cdedd8667b1ba13d3b4322087943a25176f6)) + +### [5.2.4](https://github.com/webpack-contrib/css-loader/compare/v5.2.3...v5.2.4) (2021-04-19) + + +### Bug Fixes + +* do not crash on 'false' aliases ([#1292](https://github.com/webpack-contrib/css-loader/issues/1292)) ([e913cb1](https://github.com/webpack-contrib/css-loader/commit/e913cb1d73a4f5c3c4464e0446a885e9f677a005)) + +### [5.2.3](https://github.com/webpack-contrib/css-loader/compare/v5.2.2...v5.2.3) (2021-04-19) + +### Bug Fixes + +* improve performance + +### [5.2.2](https://github.com/webpack-contrib/css-loader/compare/v5.2.1...v5.2.2) (2021-04-16) + + +### Bug Fixes + +* avoid escape nonASCII characters in local names ([0722733](https://github.com/webpack-contrib/css-loader/commit/072273308a8ab4b7efdae31440689dc81978ca1d)) + +### [5.2.1](https://github.com/webpack-contrib/css-loader/compare/v5.2.0...v5.2.1) (2021-04-09) + + +### Bug Fixes + +* do not crash on unescaped svg data uri ([#1288](https://github.com/webpack-contrib/css-loader/issues/1288)) ([4f289c5](https://github.com/webpack-contrib/css-loader/commit/4f289c5e4df6c666fdf6dd3402560ae74d4bf7ee)) + +## [5.2.0](https://github.com/webpack-contrib/css-loader/compare/v5.1.4...v5.2.0) (2021-03-24) + + +### Features + +* support async functions for `url` and `import` options ([#1277](https://github.com/webpack-contrib/css-loader/issues/1277)) ([c5062db](https://github.com/webpack-contrib/css-loader/commit/c5062db3fc849d882a07b9f2c9f66f00325c8896)) + +### [5.1.4](https://github.com/webpack-contrib/css-loader/compare/v5.1.3...v5.1.4) (2021-03-24) + + +### Bug Fixes + +* crash with thread-loader ([#1281](https://github.com/webpack-contrib/css-loader/issues/1281)) ([7095a7c](https://github.com/webpack-contrib/css-loader/commit/7095a7ca7d985d5447aed80cf3e41a4f8c19b954)) + +### [5.1.3](https://github.com/webpack-contrib/css-loader/compare/v5.1.2...v5.1.3) (2021-03-15) + + +### Bug Fixes + +* the `auto` option works using inline module syntax ([#1274](https://github.com/webpack-contrib/css-loader/issues/1274)) ([1db2f4d](https://github.com/webpack-contrib/css-loader/commit/1db2f4df3ff9ae8f0667a2304853c8e7cdd0afc1)) +* ident generation for CSS modules using inline module syntax ([#1274](https://github.com/webpack-contrib/css-loader/issues/1274)) ([1db2f4d](https://github.com/webpack-contrib/css-loader/commit/1db2f4df3ff9ae8f0667a2304853c8e7cdd0afc1)) + +### [5.1.2](https://github.com/webpack-contrib/css-loader/compare/v5.1.1...v5.1.2) (2021-03-10) + + +### Bug Fixes + +* handling `@import` with spaces before and after and any extensions ([#1272](https://github.com/webpack-contrib/css-loader/issues/1272)) ([0c47cf7](https://github.com/webpack-contrib/css-loader/commit/0c47cf7ccbe3635900e8e8840650f69a7eca004d)) +* inline loader syntax in `@import` and modules ([3f49ed0](https://github.com/webpack-contrib/css-loader/commit/3f49ed0864457f9467f560856377c890c392aee7)) + +### [5.1.1](https://github.com/webpack-contrib/css-loader/compare/v5.1.0...v5.1.1) (2021-03-01) + + +### Bug Fixes + +* crash on modified AST from `postcss-loader` ([#1268](https://github.com/webpack-contrib/css-loader/issues/1268)) ([d2a1a84](https://github.com/webpack-contrib/css-loader/commit/d2a1a84afc63fdfb2a4ce6668ed9f2d7f1ba56ca)) + +## [5.1.0](https://github.com/webpack-contrib/css-loader/compare/v5.0.2...v5.1.0) (2021-02-25) + + +### Features + +* added support webpackIgnore comment ([#1264](https://github.com/webpack-contrib/css-loader/issues/1264)) ([53d40a9](https://github.com/webpack-contrib/css-loader/commit/53d40a9bb35a79e6a15308bbb7a01358f39816df)) + +### [5.0.2](https://github.com/webpack-contrib/css-loader/compare/v5.0.1...v5.0.2) (2021-02-08) + + +### Bug Fixes + +* pass query with hash to other loaders ([#1261](https://github.com/webpack-contrib/css-loader/issues/1261)) ([729a314](https://github.com/webpack-contrib/css-loader/commit/729a314529cd0607c374b07bdf425337f9a778d4)) + +### [5.0.1](https://github.com/webpack-contrib/css-loader/compare/v5.0.0...v5.0.1) (2020-11-04) + + +### Bug Fixes + +* sources in source maps have relative paths ([#1219](https://github.com/webpack-contrib/css-loader/issues/1219)) ([3229b3c](https://github.com/webpack-contrib/css-loader/commit/3229b3cca3cb5d762daeff57239a965b06fd7593)) + +## [5.0.0](https://github.com/webpack-contrib/css-loader/compare/v4.3.0...v5.0.0) (2020-10-13) + + +### ⚠ BREAKING CHANGES + +* migrate on PostCSS 8 +* runtime doesn't contain source maps code without `sourceMap: true` +* returned value from the `getLocalIdent` escapes by default, the `exportName` value is always unescaped +* Auto enable icss modules for all files for which `/\.icss\.\w+$/i` (the `modules.compileType` option is `icss`) +* `[emoji]` placeholder was deprecated +* `icss` option was removed (it was deprecated previously) + +### Features + +* allow named exports to have underscores in names ([#1209](https://github.com/webpack-contrib/css-loader/issues/1209)) ([747d62b](https://github.com/webpack-contrib/css-loader/commit/747d62b75a878d8881f4819b96297667dc689b8f)) +* hide warning when you don't need handle `url()`/`@import` ([#1195](https://github.com/webpack-contrib/css-loader/issues/1195)) ([dd52931](https://github.com/webpack-contrib/css-loader/commit/dd52931150ed42f122d9017642437c26cc1b2422)) +* improve error message ([52412f6](https://github.com/webpack-contrib/css-loader/commit/52412f6d5a54745ee37a4a67f038455c26ba5772)) +* reduce runtime ([9f974be](https://github.com/webpack-contrib/css-loader/commit/9f974be81f5942d3afaf783529677bd541952fa3)) +* add fallback if custom getLocalIdent returns `null`/`undefined` ([#1193](https://github.com/webpack-contrib/css-loader/issues/1193)) ([0f95841](https://github.com/webpack-contrib/css-loader/commit/0f9584135e63f9f354043e7f414e0c1aad0edc6e)) + +## [4.3.0](https://github.com/webpack-contrib/css-loader/compare/v4.2.2...v4.3.0) (2020-09-08) + + +### Features + +* the `importLoaders` can be `string` ([#1178](https://github.com/webpack-contrib/css-loader/issues/1178)) ([ec58a7c](https://github.com/webpack-contrib/css-loader/commit/ec58a7cfda46443e35539d66b86685195fa5db03)) + + +### Bug Fixes + +* line breaks in `url` function ([88b8ddc](https://github.com/webpack-contrib/css-loader/commit/88b8ddc1d78a2b6a917ed2dfe2f2a37cf6a84190)) + +### [4.2.2](https://github.com/webpack-contrib/css-loader/compare/v4.2.1...v4.2.2) (2020-08-24) + + +### Bug Fixes + +* source maps generation, source from source maps are now relative to `compiler.context` and use `webpack://` protocol ([#1169](https://github.com/webpack-contrib/css-loader/issues/1169)) ([fb5c53d](https://github.com/webpack-contrib/css-loader/commit/fb5c53d80b10ee698762238bb7b122aec8c5048d)) + +### [4.2.1](https://github.com/webpack-contrib/css-loader/compare/v4.2.0...v4.2.1) (2020-08-06) + + +### Bug Fixes + +* regression with the `exportOnlyLocals` option, now `locals` are not exported under the `locals` name, it was big regression, we apologize for that ([24c0a12](https://github.com/webpack-contrib/css-loader/commit/24c0a122d1396c08326a24f6184f5da09cf52ccc)) + +## [4.2.0](https://github.com/webpack-contrib/css-loader/compare/v4.1.1...v4.2.0) (2020-07-31) + + +### Features + +* add `module.type` option, the `icss` option is deprecated ([#1150](https://github.com/webpack-contrib/css-loader/issues/1150)) ([68f72af](https://github.com/webpack-contrib/css-loader/commit/68f72af2a09111f74dcacbf7af019fe7eb40cb6c)) + +### [4.1.1](https://github.com/webpack-contrib/css-loader/compare/v4.1.0...v4.1.1) (2020-07-30) + + +### Bug Fixes + +* remove unnecessary `console` call ([#1148](https://github.com/webpack-contrib/css-loader/issues/1148)) ([b1b90ca](https://github.com/webpack-contrib/css-loader/commit/b1b90caaea8eb045177749729340c7906454a84b)) + +## [4.1.0](https://github.com/webpack-contrib/css-loader/compare/v4.0.0...v4.1.0) (2020-07-29) + + +### Features + +* add `icss` option ([#1140](https://github.com/webpack-contrib/css-loader/issues/1140)) ([a8ec7da](https://github.com/webpack-contrib/css-loader/commit/a8ec7da42234e0b2eb061d2a920669940bcbdf05)) +* support absolute paths ([f9ba0ce](https://github.com/webpack-contrib/css-loader/commit/f9ba0ce11789770c4c9220478e9c98dbd432a5d6)) + + +### Bug Fixes + +* do not crash with `data` URLs ([#1142](https://github.com/webpack-contrib/css-loader/issues/1142)) ([91bc64b](https://github.com/webpack-contrib/css-loader/commit/91bc64b81abfeffd174639a8fdf2366412c11426)) +* performance ([#1144](https://github.com/webpack-contrib/css-loader/issues/1144)) ([4f1baa2](https://github.com/webpack-contrib/css-loader/commit/4f1baa211eb27b0b281ba9f262fa12e8aaefc0ba)) + +## [4.0.0](https://github.com/webpack-contrib/css-loader/compare/v3.6.0...v4.0.0) (2020-07-25) + + +### ⚠ BREAKING CHANGES + +* minimum required `Node.js` version is `10.13.0` +* minimum required `webpack` version is `4.27.0` +* the `esModule` option is `true` by default +* default value of the `sourceMap` option depends on the `devtool` option +* `icss` plugin disable by default, you need to setup the `modules` option to enable it +* the `modules` option is `true` by default for all files matching `/\.module\.\w+$/i.test(filename)` regular expression, `module.auto` is `true` by default +* the `modules.context` option was renamed to the `modules.localIdentContext` option +* default the `modules.localIdentContext` value is `compiler.context` for the `module.getLocalIdent` option +* the `modules.hashPrefix` option was renamed to the `modules.localIdentHashPrefix` option +* the `localsConvention` option was moved and renamed to the `modules.exportLocalsConvention` option +* the `getLocalIndent` option should be always `Function` and should always return `String` value +* the `onlyLocals` option was moved and renamed to the `modules.exportOnlyLocals` option +* function arguments of the `import` option were changed, it is now `function(url, media, resourcePath) {}` +* inline syntax was changed, please write `~` before the file request, i.e. rewrite `url(~!!loader!package/img.png)` to `url(!!loader!~package/img.png)` + * `url()` resolving algorithm now handles absolute paths instead of ignoring them. This can break builds which relied on absolute paths to refer to the asset directory. ([bc19ddd](https://github.com/webpack-contrib/css-loader/commit/bc19ddd8779dafbc2a420870a3cb841041ce9c7c)) + +### Features + +* `@value` supports importing `url()` ([#1126](https://github.com/webpack-contrib/css-loader/issues/1126)) ([7f49a0a](https://github.com/webpack-contrib/css-loader/commit/7f49a0a6047846bb2e432558365e19d4a0dfb366)) +* improve `url()` resolving algorithm to support more path types ([bc19ddd](https://github.com/webpack-contrib/css-loader/commit/bc19ddd8779dafbc2a420870a3cb841041ce9c7c)) +* named export for locals ([#1108](https://github.com/webpack-contrib/css-loader/issues/1108)) ([d139ec1](https://github.com/webpack-contrib/css-loader/commit/d139ec1d763f9944550b31f2a75183e488dd1224)) +* respected the `style` field from package.json ([#1099](https://github.com/webpack-contrib/css-loader/issues/1099)) ([edf5347](https://github.com/webpack-contrib/css-loader/commit/edf5347e4203a62e50b87248a83da198afdc6eba)) +* support `file:` protocol ([5604205](https://github.com/webpack-contrib/css-loader/commit/560420567eb0e1a635648b7f4ff0365db475384c)) +* support server relative URLs + +### Bug Fixes + +* resolution algorithm, you don't need `~` inside packages in `node_modules` ([76f1480](https://github.com/webpack-contrib/css-loader/commit/76f1480b14265369ac5dc8dbbce467cfb8e814c5)) + + +## [3.6.0](https://github.com/webpack-contrib/css-loader/compare/v3.5.3...v3.6.0) (2020-06-13) + + +### Features + +* allow `modules.auto` to be a filter function ([#1086](https://github.com/webpack-contrib/css-loader/issues/1086)) ([0902353](https://github.com/webpack-contrib/css-loader/commit/0902353c328d4d18e8ed2755fe9c83c03c53df81)) + +### [3.5.3](https://github.com/webpack-contrib/css-loader/compare/v3.5.2...v3.5.3) (2020-04-24) + + +### Bug Fixes + +* add file from an error to file dependencies ([841423f](https://github.com/webpack-contrib/css-loader/commit/841423fca2932c18f8ac0cf0a1f0012fc0a62fb6)) +* avoid query string in source maps ([#1082](https://github.com/webpack-contrib/css-loader/issues/1082)) ([f64de13](https://github.com/webpack-contrib/css-loader/commit/f64de13f7377eff9501348cf26213212ca696913)) + +### [3.5.2](https://github.com/webpack-contrib/css-loader/compare/v3.5.1...v3.5.2) (2020-04-10) + + +### Bug Fixes + +* schema for the `modules.auto` option ([#1075](https://github.com/webpack-contrib/css-loader/issues/1075)) ([8c9ffe7](https://github.com/webpack-contrib/css-loader/commit/8c9ffe7c6df11232b63173c757baa71ed36f6145)) + +### [3.5.1](https://github.com/webpack-contrib/css-loader/compare/v3.5.0...v3.5.1) (2020-04-07) + + +### Bug Fixes + +* don't generate an invalid code for `locals` ([#1072](https://github.com/webpack-contrib/css-loader/issues/1072)) ([866b84a](https://github.com/webpack-contrib/css-loader/commit/866b84acd7fd47651f741ca1e6cf7081c2bbe357)) + +## [3.5.0](https://github.com/webpack-contrib/css-loader/compare/v3.4.2...v3.5.0) (2020-04-06) + + +### Features + +* accept semver compatible postcss AST ([#1049](https://github.com/webpack-contrib/css-loader/issues/1049)) ([14c4faa](https://github.com/webpack-contrib/css-loader/commit/14c4faae87305c9b965de4f468bb1e118f6b84cc)) +* allow to determinate css modules using the `modules.auto` option, please look at an [example](https://github.com/webpack-contrib/css-loader#pure-css-css-modules-and-postcss) of how you can simplify the configuration. ([#1067](https://github.com/webpack-contrib/css-loader/issues/1067)) ([c673cf4](https://github.com/webpack-contrib/css-loader/commit/c673cf418e901c5050bc697eb45401dc9a42c477)) +* the `modules.exportGlobals` option for export global classes and ids ([#1069](https://github.com/webpack-contrib/css-loader/issues/1069)) ([519e5f4](https://github.com/webpack-contrib/css-loader/commit/519e5f41539f4c87ec96db0a908aaadecc284a6c)) +* the `modules.mode` option may be a function ([#1065](https://github.com/webpack-contrib/css-loader/issues/1065)) ([0d8ac3b](https://github.com/webpack-contrib/css-loader/commit/0d8ac3bcb831bc747657c914aba106b93840737e)) + +### [3.4.2](https://github.com/webpack-contrib/css-loader/compare/v3.4.1...v3.4.2) (2020-01-10) + + +### Bug Fixes + +* do not duplicate css on `composes` ([#1040](https://github.com/webpack-contrib/css-loader/issues/1040)) ([df79602](https://github.com/webpack-contrib/css-loader/commit/df7960277be20ec80e9be1a41ac53baf69847fa0)) + +### [3.4.1](https://github.com/webpack-contrib/css-loader/compare/v3.4.0...v3.4.1) (2020-01-03) + + +### Bug Fixes + +* do not output `undefined` when sourceRoot is unavailable ([#1036](https://github.com/webpack-contrib/css-loader/issues/1036)) ([ded2a79](https://github.com/webpack-contrib/css-loader/commit/ded2a797271f2adf864bf92300621c024974bc79)) +* don't output invalid es5 code when locals do not exists ([#1035](https://github.com/webpack-contrib/css-loader/issues/1035)) ([b60e62a](https://github.com/webpack-contrib/css-loader/commit/b60e62a655719cc1779fae7d577af6ad6cf42135)) + +## [3.4.0](https://github.com/webpack-contrib/css-loader/compare/v3.3.1...v3.4.0) (2019-12-17) + + +### Features + +* `esModule` option ([#1026](https://github.com/webpack-contrib/css-loader/issues/1026)) ([d358cdb](https://github.com/webpack-contrib/css-loader/commit/d358cdbe2c026afafa0279003cb6c8a3eff4c419)) + + +### Bug Fixes + +* logic for order and media queries for imports ([#1018](https://github.com/webpack-contrib/css-loader/issues/1018)) ([65450d9](https://github.com/webpack-contrib/css-loader/commit/65450d9c04790ccc9fb06eac81ea6d8f3cdbfaac)) + +### [3.3.2](https://github.com/webpack-contrib/css-loader/compare/v3.3.1...v3.3.2) (2019-12-12) + + +### Bug Fixes + +* logic for order and media queries for imports ([1fb5134](https://github.com/webpack-contrib/css-loader/commit/1fb51340a7719b6f5b517cb71ea85ec5d45c1199)) + +### [3.3.1](https://github.com/webpack-contrib/css-loader/compare/v3.3.0...v3.3.1) (2019-12-12) + + +### Bug Fixes + +* better handling url functions and an url in `@import` at-rules +* reduce count of `require` ([#1014](https://github.com/webpack-contrib/css-loader/issues/1014)) ([e091d27](https://github.com/webpack-contrib/css-loader/commit/e091d2709c29ac57ed0106af8ec3b581cbda7a9c)) + +## [3.3.0](https://github.com/webpack-contrib/css-loader/compare/v3.2.1...v3.3.0) (2019-12-09) + + +### Features + +* support `pure` css modules ([#1008](https://github.com/webpack-contrib/css-loader/issues/1008)) ([6177af5](https://github.com/webpack-contrib/css-loader/commit/6177af5596566fead13a8f66d5abcb4dc2b744db)) + + +### Bug Fixes + +* do not crash when an assert return `null` or `undefined` ([#1006](https://github.com/webpack-contrib/css-loader/issues/1006)) ([6769783](https://github.com/webpack-contrib/css-loader/commit/67697833725e1cff12a14663390bbe4c65ea36d2)) +* reduce count of `require` ([#1004](https://github.com/webpack-contrib/css-loader/issues/1004)) ([80e9662](https://github.com/webpack-contrib/css-loader/commit/80e966280f2477c5c0e4553d3be3a04511fea381)) + ### [3.2.1](https://github.com/webpack-contrib/css-loader/compare/v3.2.0...v3.2.1) (2019-12-02) diff --git a/README.md b/README.md index df41b3d2..5ab730dc 100644 --- a/README.md +++ b/README.md @@ -9,54 +9,46 @@ [![npm][npm]][npm-url] [![node][node]][node-url] -[![deps][deps]][deps-url] [![tests][tests]][tests-url] [![coverage][cover]][cover-url] -[![chat][chat]][chat-url] +[![discussion][discussion]][discussion-url] [![size][size]][size-url] # css-loader -The `css-loader` interprets `@import` and `url()` like `import/require()` and will resolve them. +The `css-loader` interprets `@import` and `url()` like `import/require()` and resolves them. ## Getting Started +> [!WARNING] +> +> To use the latest version of css-loader, webpack@5 is required + To begin, you'll need to install `css-loader`: ```console npm install --save-dev css-loader ``` -Then add the plugin to your `webpack` config. For example: - -**file.js** +or -```js -import css from 'file.css'; +```console +yarn add -D css-loader ``` -**webpack.config.js** +or -```js -module.exports = { - module: { - rules: [ - { - test: /\.css$/i, - use: ['style-loader', 'css-loader'], - }, - ], - }, -}; +```console +pnpm add -D css-loader ``` -Good loaders for requiring your assets are the [file-loader](https://github.com/webpack/file-loader) and the [url-loader](https://github.com/webpack/url-loader) which you should specify in your config (see [below](https://github.com/webpack-contrib/css-loader#assets)). - -And run `webpack` via your preferred method. +Then, add the loader to your `webpack` configuration. For example: -### `toString` +**file.js** -You can also use the css-loader results directly as a string, such as in Angular's component style. +```js +import * as css from "file.css"; +``` **webpack.config.js** @@ -66,70 +58,51 @@ module.exports = { rules: [ { test: /\.css$/i, - use: ['to-string-loader', 'css-loader'], + use: ["style-loader", "css-loader"], }, ], }, }; ``` -or +Finally, run `webpack` using the method you normally use (e.g., via CLI or an npm script). -```js -const css = require('./test.css').toString(); +If you need to extract CSS into a separate file (i.e. do not store CSS in a JS module), consider using the [recommend example](https://github.com/webpack-contrib/css-loader#recommend). -console.log(css); // {String} -``` +## Options -If there are SourceMaps, they will also be included in the result string. +- **[`url`](#url)** +- **[`import`](#import)** +- **[`modules`](#modules)** +- **[`sourceMap`](#sourcemap)** +- **[`importLoaders`](#importloaders)** +- **[`esModule`](#esmodule)** +- **[`exportType`](#exporttype)** -If, for one reason or another, you need to extract CSS as a -plain string resource (i.e. not wrapped in a JS module) you -might want to check out the [extract-loader](https://github.com/peerigon/extract-loader). -It's useful when you, for instance, need to post process the CSS as a string. +### `url` -**webpack.config.js** +Type: -```js -module.exports = { - module: { - rules: [ - { - test: /\.css$/i, - use: [ - 'handlebars-loader', // handlebars loader expects raw resource string - 'extract-loader', - 'css-loader', - ], - }, - ], - }, -}; +```ts +type url = + | boolean + | { + filter: (url: string, resourcePath: string) => boolean; + }; ``` -## Options - -| Name | Type | Default | Description | -| :-----------------------------------------: | :-------------------------: | :------: | :--------------------------------------------------------------------- | -| **[`url`](#url)** | `{Boolean\|Function}` | `true` | Enables/Disables `url`/`image-set` functions handling | -| **[`import`](#import)** | `{Boolean\|Function}` | `true` | Enables/Disables `@import` at-rules handling | -| **[`modules`](#modules)** | `{Boolean\|String\|Object}` | `false` | Enables/Disables CSS Modules and their configuration | -| **[`sourceMap`](#sourcemap)** | `{Boolean}` | `false` | Enables/Disables generation of source maps | -| **[`importLoaders`](#importloaders)** | `{Number}` | `0` | Enables/Disables or setups number of loaders applied before CSS loader | -| **[`localsConvention`](#localsconvention)** | `{String}` | `'asIs'` | Style of exported classnames | -| **[`onlyLocals`](#onlylocals)** | `{Boolean}` | `false` | Export only locals | +Default: `true` -### `url` +Enables or disables handling the CSS functions `url` and `image-set`. -Type: `Boolean|Function` -Default: `true` +- If set to `false`, `css-loader` will not parse any paths specified in `url` or `image-set`. +- You can also pass a function to control this behavior dynamically based on the asset path. -Enables/Disables `url`/`image-set` functions handling. -Control `url()` resolving. Absolute URLs and root-relative URLs are not resolving. +As of version [4.0.0](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md#400-2020-07-25), absolute paths are resolved based on the server root. Examples resolutions: -``` +```js url(image.png) => require('./image.png') url('image.png') => require('./image.png') url(./image.png) => require('./image.png') @@ -138,15 +111,15 @@ url('http://dontwritehorriblecode.com/2112.png') => require('http://dontwritehor image-set(url('image2x.png') 1x, url('image1x.png') 2x) => require('./image1x.png') and require('./image2x.png') ``` -To import assets from a `node_modules` path (include `resolve.modules`) and for `alias`, prefix it with a `~`: +To import assets from a `node_modules` path (including `resolve.modules`) or an `alias`, prefix it with a `~`: -``` +```js url(~module/image.png) => require('module/image.png') url('~module/image.png') => require('module/image.png') url(~aliasDirectory/image.png) => require('otherDirectory/image.png') ``` -#### `Boolean` +#### `boolean` Enable/disable `url()` resolving. @@ -158,7 +131,7 @@ module.exports = { rules: [ { test: /\.css$/i, - loader: 'css-loader', + loader: "css-loader", options: { url: true, }, @@ -168,9 +141,11 @@ module.exports = { }; ``` -#### `Function` +#### `object` -Allow to filter `url()`. All filtered `url()` will not be resolved (left in the code as they were written). +Allows filtering of `url()` values. + +Any filtered `url()` will not be resolved (left in the code as they were written). **webpack.config.js** @@ -180,17 +155,24 @@ module.exports = { rules: [ { test: /\.css$/i, - loader: 'css-loader', + loader: "css-loader", options: { - url: (url, resourcePath) => { - // resourcePath - path to css file + url: { + filter: (url, resourcePath) => { + // resourcePath - path to css file + + // Don't handle `img.png` urls + if (url.includes("img.png")) { + return false; + } - // Don't handle `img.png` urls - if (url.includes('img.png')) { - return false; - } + // Don't handle images under root-relative /external_images/ + if (/^\/external_images\//.test(url)) { + return false; + } - return true; + return true; + }, }, }, }, @@ -201,11 +183,31 @@ module.exports = { ### `import` -Type: `Boolean|Function` +Type: + + + +```ts +type importFn = + | boolean + | { + filter: ( + url: string, + media: string, + resourcePath: string, + supports?: string, + layer?: string, + ) => boolean; + }; +``` + Default: `true` -Enables/Disables `@import` at-rules handling. -Control `@import` resolving. Absolute urls in `@import` will be moved in runtime code. +Allows you to enable or disable handling of `@import` at-rules. + +Controls how `@import` statements are resolved. + +Absolute URLs in `@import` will be moved in runtime code. Examples resolutions: @@ -219,7 +221,7 @@ Examples resolutions: @import url('http://dontwritehorriblecode.com/style.css') => @import url('http://dontwritehorriblecode.com/style.css') in runtime ``` -To import styles from a `node_modules` path (include `resolve.modules`) and for `alias`, prefix it with a `~`: +To import styles from a `node_modules` path (include `resolve.modules`) or an `alias`, prefix it with a `~`: ``` @import url(~module/style.css) => require('module/style.css') @@ -227,7 +229,7 @@ To import styles from a `node_modules` path (include `resolve.modules`) and for @import url(~aliasDirectory/style.css) => require('otherDirectory/style.css') ``` -#### `Boolean` +#### `boolean` Enable/disable `@import` resolving. @@ -239,7 +241,7 @@ module.exports = { rules: [ { test: /\.css$/i, - loader: 'css-loader', + loader: "css-loader", options: { import: true, }, @@ -249,9 +251,21 @@ module.exports = { }; ``` -#### `Function` +#### `object` + +##### `filter` + +Type: + +```ts +type filter = (url: string, media: string, resourcePath: string) => boolean; +``` + +Default: `undefined` + +Allows filtering of `@import`. -Allow to filter `@import`. All filtered `@import` will not be resolved (left in the code as they were written). +Any filtered `@import` will not be resolved (left in the code as they were written). **webpack.config.js** @@ -261,19 +275,19 @@ module.exports = { rules: [ { test: /\.css$/i, - loader: 'css-loader', + loader: "css-loader", options: { - import: (parsedImport, resourcePath) => { - // parsedImport.url - url of `@import` - // parsedImport.media - media query of `@import` - // resourcePath - path to css file + import: { + filter: (url, media, resourcePath) => { + // resourcePath - path to css file - // Don't handle `style.css` import - if (parsedImport.url.includes('style.css')) { - return false; - } + // Don't handle `style.css` import + if (url.includes("style.css")) { + return false; + } - return true; + return true; + }, }, }, }, @@ -284,14 +298,71 @@ module.exports = { ### `modules` -Type: `Boolean|String|Object` -Default: `false` +Type: + +```ts +type modules = + | boolean + | "local" + | "global" + | "pure" + | "icss" + | { + auto: boolean | regExp | ((resourcePath: string) => boolean); + mode: + | "local" + | "global" + | "pure" + | "icss" + | ((resourcePath) => "local" | "global" | "pure" | "icss"); + localIdentName: string; + localIdentContext: string; + localIdentHashSalt: string; + localIdentHashFunction: string; + localIdentHashDigest: string; + localIdentRegExp: string | regExp; + getLocalIdent: ( + context: LoaderContext, + localIdentName: string, + localName: string, + ) => string; + namedExport: boolean; + exportGlobals: boolean; + exportLocalsConvention: + | "as-is" + | "camel-case" + | "camel-case-only" + | "dashes" + | "dashes-only" + | ((name: string) => string); + exportOnlyLocals: boolean; + getJSON: ({ + resourcePath, + imports, + exports, + replacements, + }: { + resourcePath: string; + imports: object[]; + exports: object[]; + replacements: object[]; + }) => Promise | void; + }; +``` + +Default: `undefined` + +Allows you to enable or disable CSS Modules or ICSS and configure them: -Enables/Disables CSS Modules and their configuration. +- `undefined`: Enables CSS modules for all files matching `/\.module\.\w+$/i.test(filename)` or `/\.icss\.\w+$/i.test(filename)` regexp. +- `true`: Enables CSS modules for all files. +- `false`: Disables CSS Modules for all files. +- `string`: Disables CSS Modules for all files and set the `mode` option (see [mode](https://github.com/webpack-contrib/css-loader#mode) for details). +- `object`: Enables CSS modules for all files unless the `modules.auto` option is provided. otherwise the `modules.auto` option will determine whether if it is CSS Modules or not (see [auto](https://github.com/webpack-contrib/css-loader#auto) for more details). -The `modules` option enables/disables the **[CSS Modules](https://github.com/css-modules/css-modules)** specification and setup basic behaviour. +The `modules` option enables/disables the **[CSS Modules](https://github.com/css-modules/css-modules)** specification and configures its behavior. -Using `false` value increase performance because we avoid parsing **CSS Modules** features, it will be useful for developers who use vanilla css or use other technologies. +Setting `modules: false` can improve performance because we avoid parsing **CSS Modules** features, this is useful for developers using use vanilla CSS or other technologies. **webpack.config.js** @@ -301,7 +372,7 @@ module.exports = { rules: [ { test: /\.css$/i, - loader: 'css-loader', + loader: "css-loader", options: { modules: true, }, @@ -315,20 +386,21 @@ module.exports = { ##### `Scope` -Using `local` value requires you to specify `:global` classes. -Using `global` value requires you to specify `:local` classes. +- Using `local` value requires you to specify `:global` classes. +- Using `global` value requires you to specify `:local` classes. +- Using `pure` value requires selectors must contain at least one local class or ID. -You can find more information [here](https://github.com/css-modules/css-modules). +You can find more information on scoping module [here](https://github.com/css-modules/css-modules). -Styles can be locally scoped to avoid globally scoping styles. +With CSS Modules, styles are scoped locally, preventing conflicts with global styles. -The syntax `:local(.className)` can be used to declare `className` in the local scope. The local identifiers are exported by the module. +Use `:local(.className)` to declare a `className` in the local scope. The local identifiers are exported by the module. -With `:local` (without brackets) local mode can be switched on for this selector. -The `:global(.className)` notation can be used to declare an explicit global selector. -With `:global` (without brackets) global mode can be switched on for this selector. +- With `:local` (without parentheses) local mode can be switched `on` for this selector. +- The `:global(.className)` notation can be used to declare an explicit global selector. +- With `:global` (without parentheses) global mode can be switched `on` for this selector. -The loader replaces local selectors with unique identifiers. The chosen unique identifiers are exported by the module. +The loader replaces local selectors with unique, scoped identifiers. The chosen unique identifiers are exported by the module. ```css :local(.className) { @@ -345,6 +417,8 @@ The loader replaces local selectors with unique identifiers. The chosen unique i } ``` +Output (example): + ```css ._23_aKvs-b8bW2Vg3fwHozO { background: red; @@ -360,22 +434,24 @@ The loader replaces local selectors with unique identifiers. The chosen unique i } ``` -> ℹ️ Identifiers are exported +> [!NOTE] +> +> Identifiers are exported ```js exports.locals = { - className: '_23_aKvs-b8bW2Vg3fwHozO', - subClass: '_13LGdX8RMStbBE9w-t0gZ1', + className: "_23_aKvs-b8bW2Vg3fwHozO", + subClass: "_13LGdX8RMStbBE9w-t0gZ1", }; ``` -CamelCase is recommended for local selectors. They are easier to use within the imported JS module. +CamelCase naming is recommended for local selectors, as it simplifies usage in imported JS modules. -You can use `:local(#someId)`, but this is not recommended. Use classes instead of ids. +Although you can use `:local(#someId)`, but this is not recommended. Prefer classes instead of IDs for modular styling. ##### `Composing` -When declaring a local classname you can compose a local class from another local classname. +When declaring a local class name, you can compose it from one or more other local class names. ```css :local(.className) { @@ -389,12 +465,12 @@ When declaring a local classname you can compose a local class from another loca } ``` -This doesn't result in any change to the CSS itself but exports multiple classnames. +This does not alter the final CSS output, but the generated `subClass` will include both class names in its export. ```js exports.locals = { - className: '_23_aKvs-b8bW2Vg3fwHozO', - subClass: '_13LGdX8RMStbBE9w-t0gZ1 _23_aKvs-b8bW2Vg3fwHozO', + className: "_23_aKvs-b8bW2Vg3fwHozO", + subClass: "_13LGdX8RMStbBE9w-t0gZ1 _23_aKvs-b8bW2Vg3fwHozO", }; ``` @@ -411,18 +487,22 @@ exports.locals = { ##### `Importing` -To import a local classname from another module. +To import a local class names from another module. + +> [!NOTE] +> +> It is highly recommended to include file extensions when importing a file, since it is possible to import a file with any extension and it is not known in advance which file to use. ```css :local(.continueButton) { - composes: button from 'library/button.css'; + composes: button from "library/button.css"; background: red; } ``` ```css :local(.nameEdit) { - composes: edit highlight from './edit.css'; + composes: edit highlight from "./edit.css"; background: red; } ``` @@ -431,8 +511,20 @@ To import from multiple modules use multiple `composes:` rules. ```css :local(.className) { - composes: edit hightlight from './edit.css'; - composes: button from 'module/button.css'; + composes: + edit highlight from "./edit.css", + button from "module/button.css", + classFromThisModule; + background: red; +} +``` + +or + +```css +:local(.className) { + composes: edit highlight from "./edit.css"; + composes: button from "module/button.css"; composes: classFromThisModule; background: red; } @@ -442,7 +534,11 @@ To import from multiple modules use multiple `composes:` rules. You can use `@value` to specific values to be reused throughout a document. -We recommend use prefix `v-` for values, `s-` for selectors and `m-` for media at-rules. +We recommend following a naming convention: + +- `v-` prefix for values +- `s-` prefix for selectors +- `m-` prefix for media at-rules. ```css @value v-primary: #BF4040; @@ -465,7 +561,7 @@ We recommend use prefix `v-` for values, `s-` for selectors and `m-` for media a } ``` -#### `Boolean` +#### `boolean` Enable **CSS Modules** features. @@ -477,7 +573,7 @@ module.exports = { rules: [ { test: /\.css$/i, - loader: 'css-loader', + loader: "css-loader", options: { modules: true, }, @@ -487,7 +583,7 @@ module.exports = { }; ``` -#### `String` +#### `string` Enable **CSS Modules** features and setup `mode`. @@ -499,10 +595,10 @@ module.exports = { rules: [ { test: /\.css$/i, - loader: 'css-loader', + loader: "css-loader", options: { // Using `local` value has same effect like using `modules: true` - modules: 'global', + modules: "global", }, }, ], @@ -510,9 +606,9 @@ module.exports = { }; ``` -#### `Object` +#### `object` -Enable **CSS Modules** features and setup options for them. +Enable **CSS Modules** features and configure its behavior through `options`. **webpack.config.js** @@ -522,13 +618,19 @@ module.exports = { rules: [ { test: /\.css$/i, - loader: 'css-loader', + loader: "css-loader", options: { modules: { - mode: 'local', - localIdentName: '[path][name]__[local]--[hash:base64:5]', - context: path.resolve(__dirname, 'src'), - hashPrefix: 'my-custom-hash', + mode: "local", + auto: true, + exportGlobals: true, + localIdentName: "[path][name]__[local]--[hash:base64:5]", + localIdentContext: path.resolve(__dirname, "src"), + localIdentHashSalt: "my-custom-hash", + namedExport: true, + exportLocalsConvention: "as-is", + exportOnlyLocals: false, + getJSON: ({ resourcePath, imports, exports, replacements }) => {}, }, }, }, @@ -537,12 +639,39 @@ module.exports = { }; ``` -##### `mode` +##### `auto` -Type: `String` -Default: `'local'` +Type: -Setup `mode` option. You can omit the value when you want `local` mode. +```ts +type auto = + | boolean + | regExp + | (( + resourcePath: string, + resourceQuery: string, + resourceFragment: string, + ) => boolean); +``` + +Default: `undefined` + +Allows auto enable CSS modules or ICSS based on the file name, query or fragment when `modules` option is an object. + +Possible values: + +- `undefined`: Enables CSS modules for all files. +- `true`: Enables CSS modules for files matching `/\.module\.\w+$/i.test(filename)` and `/\.icss\.\w+$/i.test(filename)` regexp. +- `false`: Disables CSS Modules for all files. +- `RegExp`: Enables CSS modules for all files matching `/RegExp/i.test(filename)` regexp. +- `function`: Enables CSS Modules for files based on the file name satisfying your filter function check. + +###### `boolean` + +Possible values: + +- `true`: Enables CSS modules or Interoperable CSS (ICSS) format, sets the [`modules.mode`](#mode) option to `local` value for all files which satisfy `/\.module(s)?\.\w+$/i.test(filename)` condition or sets the [`modules.mode`](#mode) option to `icss` value for all files which satisfy `/\.icss\.\w+$/i.test(filename)` condition. +- `false`: Disables CSS modules or ICSS format based on filename for all files. **webpack.config.js** @@ -552,10 +681,10 @@ module.exports = { rules: [ { test: /\.css$/i, - loader: 'css-loader', + loader: "css-loader", options: { modules: { - mode: 'global', + auto: true, }, }, }, @@ -564,22 +693,33 @@ module.exports = { }; ``` -##### `localIdentName` - -Type: `String` -Default: `'[hash:base64]'` +###### `RegExp` -You can configure the generated ident with the `localIdentName` query parameter. -See [loader-utils's documentation](https://github.com/webpack/loader-utils#interpolatename) for more information on options. +Enables CSS modules for files based on the filename satisfying your regex check. -Recommendations: +**webpack.config.js** -- use `'[path][name]__[local]'` for development -- use `'[hash:base64]'` for production +```js +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + loader: "css-loader", + options: { + modules: { + auto: /\.custom-module\.\w+$/i, + }, + }, + }, + ], + }, +}; +``` -The `[local]` placeholder contains original class. +###### `function` -**Note:** all reserved (`<>:"/\|?*`) and control filesystem characters (excluding characters in the `[local]` placeholder) will be converted to `-`. +Enables CSS Modules for files based on the filename, query or fragment satisfying your filter function check. **webpack.config.js** @@ -589,10 +729,12 @@ module.exports = { rules: [ { test: /\.css$/i, - loader: 'css-loader', + loader: "css-loader", options: { modules: { - localIdentName: '[path][name]__[local]--[hash:base64:5]', + auto: (resourcePath, resourceQuery, resourceFragment) => { + return resourcePath.endsWith(".custom-module.css"); + }, }, }, }, @@ -601,13 +743,37 @@ module.exports = { }; ``` -##### `context` +##### `mode` + +Type: + +```ts +type mode = + | "local" + | "global" + | "pure" + | "icss" + | (( + resourcePath: string, + resourceQuery: string, + resourceFragment: string, + ) => "local" | "global" | "pure" | "icss"); +``` -Type: `String` -Default: `undefined` +Default: `'local'` -Allow to redefine basic loader context for local ident name. -By default we use `rootContext` of loader. +Setup `mode` option. You can omit the value when you want `local` mode. + +Controls the level of compilation applied to the input styles. + +- The `local`, `global`, and `pure` handles `class` and `id` scoping and `@value` values. +- The `icss` will only compile the low level `Interoperable CSS (ICSS)` format for declaring `:import` and `:export` dependencies between CSS and other languages. + +ICSS underpins CSS Module support, and provides a low level syntax for other tools to implement CSS-module variations of their own. + +###### `string` + +Possible values - `local`, `global`, `pure`, and `icss`. **webpack.config.js** @@ -617,10 +783,10 @@ module.exports = { rules: [ { test: /\.css$/i, - loader: 'css-loader', + loader: "css-loader", options: { modules: { - context: path.resolve(__dirname, 'context'), + mode: "global", }, }, }, @@ -629,12 +795,10 @@ module.exports = { }; ``` -##### `hashPrefix` - -Type: `String` -Default: `undefined` +###### `function` -Allow to add custom hash to generate more unique classes. +Allows setting different values for the `mode` option based on the filename, query or fragment. +Possible return values - `local`, `global`, `pure` and `icss`. **webpack.config.js** @@ -644,10 +808,21 @@ module.exports = { rules: [ { test: /\.css$/i, - loader: 'css-loader', + loader: "css-loader", options: { modules: { - hashPrefix: 'hash', + // Callback must return "local", "global", or "pure" values + mode: (resourcePath, resourceQuery, resourceFragment) => { + if (/pure.css$/i.test(resourcePath)) { + return "pure"; + } + + if (/global.css$/i.test(resourcePath)) { + return "global"; + } + + return "local"; + }, }, }, }, @@ -656,13 +831,45 @@ module.exports = { }; ``` -##### `getLocalIdent` +##### `localIdentName` -Type: `Function` -Default: `undefined` +Type: -You can also specify the absolute path to your custom `getLocalIdent` function to generate classname based on a different schema. -By default we use built-in function to generate a classname. +```ts +type localIdentName = string; +``` + +Default: `'[hash:base64]'` + +Allows to configure the generated local ident name. + +For more information on options see: + +- [webpack template strings](https://webpack.js.org/configuration/output/#template-strings), +- [output.hashDigest](https://webpack.js.org/configuration/output/#outputhashdigest), +- [output.hashDigestLength](https://webpack.js.org/configuration/output/#outputhashdigestlength), +- [output.hashFunction](https://webpack.js.org/configuration/output/#outputhashfunction), +- [output.hashSalt](https://webpack.js.org/configuration/output/#outputhashsalt). + +Supported template strings: + +- `[name]` the basename of the resource +- `[folder]` the folder the resource relative to the `compiler.context` option or `modules.localIdentContext` option. +- `[path]` the path of the resource relative to the `compiler.context` option or `modules.localIdentContext` option. +- `[file]` - filename and path. +- `[ext]` - extension with leading `.`. +- `[hash]` - the hash of the string, generated based on `localIdentHashSalt`, `localIdentHashFunction`, `localIdentHashDigest`, `localIdentHashDigestLength`, `localIdentContext`, `resourcePath` and `exportName` +- `[:hash::]` - hash with hash settings. +- `[local]` - original class. + +Recommendations: + +- Use `'[path][name]__[local]'` for development +- Use `'[hash:base64]'` for production + +The `[local]` placeholder contains original class. + +**Note:** all reserved characters (`<>:"/\|?*`) and control filesystem characters (excluding characters in the `[local]` placeholder) will be converted to `-`. **webpack.config.js** @@ -672,12 +879,10 @@ module.exports = { rules: [ { test: /\.css$/i, - loader: 'css-loader', + loader: "css-loader", options: { modules: { - getLocalIdent: (context, localIdentName, localName, options) => { - return 'whatever_random_class_name'; - }, + localIdentName: "[path][name]__[local]--[hash:base64:5]", }, }, }, @@ -686,10 +891,17 @@ module.exports = { }; ``` -##### `localIdentRegExp` +##### `localIdentContext` -Type: `String|RegExp` -Default: `undefined` +Type: + +```ts +type localIdentContex = string; +``` + +Default: `compiler.context` + +Allows redefining the basic loader context for local ident name. **webpack.config.js** @@ -699,10 +911,10 @@ module.exports = { rules: [ { test: /\.css$/i, - loader: 'css-loader', + loader: "css-loader", options: { modules: { - localIdentRegExp: /page-(.*)\.css/i, + localIdentContext: path.resolve(__dirname, "src"), }, }, }, @@ -711,16 +923,19 @@ module.exports = { }; ``` -### `sourceMap` +##### `localIdentHashSalt` -Type: `Boolean` -Default: `false` +Type: -Enables/Disables generation of source maps. +```ts +type localIdentHashSalt = string; +``` + +Default: `undefined` -To include source maps set the `sourceMap` option. +Allows to add custom hash to generate more unique classes. -They are not enabled by default because they expose a runtime overhead and increase in bundle size (JS source maps do not). +For more information see [output.hashSalt](https://webpack.js.org/configuration/output/#outputhashsalt). **webpack.config.js** @@ -730,9 +945,11 @@ module.exports = { rules: [ { test: /\.css$/i, - loader: 'css-loader', + loader: "css-loader", options: { - sourceMap: true, + modules: { + localIdentHashSalt: "hash", + }, }, }, ], @@ -740,14 +957,19 @@ module.exports = { }; ``` -### `importLoaders` +##### `localIdentHashFunction` -Type: `Number` -Default: `0` +Type: -Enables/Disables or setups number of loaders applied before CSS loader. +```ts +type localIdentHashFunction = string; +``` + +Default: `md4` -The option `importLoaders` allows you to configure how many loaders before `css-loader` should be applied to `@import`ed resources. +Allows to specify hash function to generate classes . + +For more information see [output.hashFunction](https://webpack.js.org/configuration/output/#outputhashfunction). **webpack.config.js** @@ -757,58 +979,66 @@ module.exports = { rules: [ { test: /\.css$/i, - use: [ - 'style-loader', - { - loader: 'css-loader', - options: { - importLoaders: 2, - // 0 => no loaders (default); - // 1 => postcss-loader; - // 2 => postcss-loader, sass-loader - }, + loader: "css-loader", + options: { + modules: { + localIdentHashFunction: "md4", }, - 'postcss-loader', - 'sass-loader', - ], + }, }, ], }, }; ``` -This may change in the future when the module system (i. e. webpack) supports loader matching by origin. +##### `localIdentHashDigest` -### `localsConvention` +Type: -Type: `String` -Default: `'asIs'` +```ts +type localIdentHashDigest = string; +``` -Style of exported classnames. +Default: `hex` -By default, the exported JSON keys mirror the class names (i.e `asIs` value). +Allows to specify hash digest to generate classes. -| Name | Type | Description | -| :-------------------: | :--------: | :----------------------------------------------------------------------------------------------- | -| **`'asIs'`** | `{String}` | Class names will be exported as is. | -| **`'camelCase'`** | `{String}` | Class names will be camelized, the original class name will not to be removed from the locals | -| **`'camelCaseOnly'`** | `{String}` | Class names will be camelized, the original class name will be removed from the locals | -| **`'dashes'`** | `{String}` | Only dashes in class names will be camelized | -| **`'dashesOnly'`** | `{String}` | Dashes in class names will be camelized, the original class name will be removed from the locals | +For more information see [output.hashDigest](https://webpack.js.org/configuration/output/#outputhashdigest). -**file.css** +**webpack.config.js** -```css -.class-name { -} +```js +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + loader: "css-loader", + options: { + modules: { + localIdentHashDigest: "base64", + }, + }, + }, + ], + }, +}; ``` -**file.js** +##### `localIdentHashDigestLength` -```js -import { className } from 'file.css'; +Type: + +```ts +type localIdentHashDigestLength = number; ``` +Default: `20` + +Allows to specify hash digest length to generate classes. + +For more information, see [output.hashDigestLength](https://webpack.js.org/configuration/output/#outputhashdigestlength). + **webpack.config.js** ```js @@ -817,9 +1047,11 @@ module.exports = { rules: [ { test: /\.css$/i, - loader: 'css-loader', + loader: "css-loader", options: { - localsConvention: 'camelCase', + modules: { + localIdentHashDigestLength: 5, + }, }, }, ], @@ -827,16 +1059,15 @@ module.exports = { }; ``` -### `onlyLocals` +##### `hashStrategy` -Type: `Boolean` -Default: `false` +Type: `'resource-path-and-local-name' | 'minimal-subset'` +Default: `'resource-path-and-local-name'` -Export only locals. +Should local name be used when computing the hash. -**Useful** when you use **css modules** for pre-rendering (for example SSR). -For pre-rendering with `mini-css-extract-plugin` you should use this option instead of `style-loader!css-loader` **in the pre-rendering bundle**. -It doesn't embed CSS but only exports the identifier mappings. +- `'resource-path-and-local-name'` Both resource path and local name are used when hashing. Each identifier in a module gets its own hash digest, always. +- `'minimal-subset'` Auto detect if identifier names can be omitted from hashing. Use this value to optimize the output for better GZIP or Brotli compression. **webpack.config.js** @@ -846,9 +1077,11 @@ module.exports = { rules: [ { test: /\.css$/i, - loader: 'css-loader', + loader: "css-loader", options: { - onlyLocals: true, + modules: { + hashStrategy: "minimal-subset", + }, }, }, ], @@ -856,11 +1089,15 @@ module.exports = { }; ``` -## Examples +##### `localIdentRegExp` -### Assets +Type: -The following `webpack.config.js` can load CSS files, embed small PNG/JPG/GIF/SVG images as well as fonts as [Data URLs](https://tools.ietf.org/html/rfc2397) and copy larger files to the output directory. +```ts +type localIdentRegExp = string | RegExp; +``` + +Default: `undefined` **webpack.config.js** @@ -870,13 +1107,11 @@ module.exports = { rules: [ { test: /\.css$/i, - use: ['style-loader', 'css-loader'], - }, - { - test: /\.(png|jpe?g|gif|svg|eot|ttf|woff|woff2)$/i, - loader: 'url-loader', + loader: "css-loader", options: { - limit: 8192, + modules: { + localIdentRegExp: /page-(.*)\.css/i, + }, }, }, ], @@ -884,17 +1119,25 @@ module.exports = { }; ``` -### Extract +##### `getLocalIdent` -For production builds it's recommended to extract the CSS from your bundle being able to use parallel loading of CSS/JS resources later on. +Type: -- This can be achieved by using the [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) to extract the CSS when running in production mode. +```ts +type getLocalIdent = ( + context: LoaderContext, + localIdentName: string, + localName: string, +) => string; +``` + +Default: `undefined` -- As an alternative, if seeking better development performance and css outputs that mimic production. [extract-css-chunks-webpack-plugin](https://github.com/faceyspacey/extract-css-chunks-webpack-plugin) offers a hot module reload friendly, extended version of mini-css-extract-plugin. HMR real CSS files in dev, works like mini-css in non-dev +Allows to specify a function to generate the classname. -### CSS modules and pure CSS +By default we use built-in function to generate a classname. -When you have pure CSS (without CSS modules) and CSS modules in project you can use this setup: +If your custom function returns `null` or `undefined`, the built-in generator is used as a `fallback`. **webpack.config.js** @@ -903,29 +1146,14 @@ module.exports = { module: { rules: [ { - // For pure CSS (without CSS modules) test: /\.css$/i, - exclude: /\.module\.css$/i, - use: ['style-loader', 'css-loader'], - }, - { - // For CSS modules - test: /\.module\.css$/i, - use: [ - 'style-loader', - { - loader: 'css-loader', - options: { - modules: true, + loader: "css-loader", + options: { + modules: { + getLocalIdent: (context, localIdentName, localName, options) => { + return "whatever_random_class_name"; }, }, - ], - }, - { - test: /\.(png|jpe?g|gif|svg|eot|ttf|woff|woff2)$/i, - loader: 'url-loader', - options: { - limit: 8192, }, }, ], @@ -933,9 +1161,1188 @@ module.exports = { }; ``` -## Contributing +##### `namedExport` + +Type: + +```ts +type namedExport = boolean; +``` + +Default: Depends on the value of the `esModule` option. If the value of the `esModule` options is `true`, `namedExport` defaults to `true` ; otherwise, it defaults to `false`. + +Enables or disables ES modules named export for locals. + +> [!WARNING] +> +> The `default` class name cannot be used directly when `namedExport` is `true` because `default` is a reserved keyword in ECMAScript modules. It is automatically renamed to `_default`. + +**styles.css** + +```css +.foo-baz { + color: red; +} +.bar { + color: blue; +} +.default { + color: green; +} +``` + +**index.js** + +```js +import * as styles from "./styles.css"; + +// If using `exportLocalsConvention: "as-is"` (default value): +console.log(styles["foo-baz"], styles.bar); + +// If using `exportLocalsConvention: "camel-case-only"`: +console.log(styles.fooBaz, styles.bar); + +// For the `default` classname +console.log(styles["_default"]); +``` + +You can enable ES module named export using: + +**webpack.config.js** + +```js +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + loader: "css-loader", + options: { + esModule: true, + modules: { + namedExport: true, + }, + }, + }, + ], + }, +}; +``` + +To set a custom name for namedExport, can use [`exportLocalsConvention`](#exportLocalsConvention) option as a function. + +See below in the [`examples`](#examples) section. + +##### `exportGlobals` + +Type: + +```ts +type exportsGLobals = boolean; +``` + +Default: `false` + +Allow `css-loader` to export names from global class or ID, so you can use that as local name. + +**webpack.config.js** + +```js +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + loader: "css-loader", + options: { + modules: { + exportGlobals: true, + }, + }, + }, + ], + }, +}; +``` + +##### `exportLocalsConvention` + +Type: + +```ts +type exportLocalsConvention = + | "as-is" + | "camel-case" + | "camel-case-only" + | "dashes" + | "dashes-only" + | ((name: string) => string); +``` + +Default: Depends on the value of the `modules.namedExport` option: + +- If `true` - `as-is` +- Otherwise `camel-case-only` (class names converted to camelCase, original name removed). + +> [!WARNING] +> +> Names of locals are converted to camelCase when the named export is `false`, i.e. the `exportLocalsConvention` option has`camelCaseOnly` value by default. +> You can set this back to any other valid option but selectors which are not valid JavaScript identifiers may run into problems which do not implement the entire modules specification. + +Style of exported class names. + +###### `string` + +By default, the exported JSON keys mirror the class names (i.e `as-is` value). + +| Name | Type | Description | +| :---------------------: | :------: | :-------------------------------------------------------------------------------------------------- | +| **`'as-is'`** | `string` | Class names will be exported as is. | +| **`'camel-case'`** | `string` | Class names will be camelCased, but the original class name will not to be removed from the locals. | +| **`'camel-case-only'`** | `string` | Class names will be camelCased, and original class name will be removed from the locals. | +| **`'dashes'`** | `string` | Only dashes in class names will be camelCased | +| **`'dashes-only'`** | `string` | Dashes in class names will be camelCased, the original class name will be removed from the locals | + +**file.css** + +```css +.class-name { +} +``` + +**file.js** + +```js +import { className } from "file.css"; +``` + +**webpack.config.js** + +```js +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + loader: "css-loader", + options: { + modules: { + exportLocalsConvention: "camel-case-only", + }, + }, + }, + ], + }, +}; +``` + +###### `function` + +**webpack.config.js** + +```js +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + loader: "css-loader", + options: { + modules: { + exportLocalsConvention: function (name) { + return name.replace(/-/g, "_"); + }, + }, + }, + }, + ], + }, +}; +``` + +**webpack.config.js** + +```js +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + loader: "css-loader", + options: { + modules: { + exportLocalsConvention: function (name) { + return [ + name.replace(/-/g, "_"), + // dashesCamelCase + name.replace(/-+(\w)/g, (match, firstLetter) => + firstLetter.toUpperCase(), + ), + ]; + }, + }, + }, + }, + ], + }, +}; +``` + +##### `exportOnlyLocals` + +Type: + +```ts +type exportOnlyLocals = boolean; +``` + +Default: `false` + +Export only locals. + +**Useful** when you use **css modules** for pre-rendering (for example SSR). + +For pre-rendering with `mini-css-extract-plugin` you should use this option instead of `style-loader!css-loader` **in the pre-rendering bundle**. + +It doesn't embed CSS; it only exports the identifier mappings. + +**webpack.config.js** + +```js +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + loader: "css-loader", + options: { + modules: { + exportOnlyLocals: true, + }, + }, + }, + ], + }, +}; +``` + +##### `getJSON` + +Type: + +```ts +type getJSON = ({ + resourcePath, + imports, + exports, + replacements, +}: { + resourcePath: string; + imports: object[]; + exports: object[]; + replacements: object[]; +}) => Promise | void; +``` + +Default: `undefined` + +Enables a callback to output the CSS modules mapping JSON. + +The callback is invoked with an object containing the following: + +- `resourcePath`: the absolute path of the original resource, e.g., `/foo/bar/baz.module.css` + +- `imports`: an array of import objects with data about import types and file paths, e.g., + +```json +[ + { + "type": "icss_import", + "importName": "___CSS_LOADER_ICSS_IMPORT_0___", + "url": "\"-!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../baz.module.css\"", + "icss": true, + "index": 0 + } +] +``` + +(Note that this will include all imports, not just those relevant to CSS Modules.) + +- `exports`: an array of export objects with exported names and values, e.g., + +```json +[ + { + "name": "main", + "value": "D2Oy" + } +] +``` + +- `replacements`: an array of import replacement objects used for linking `imports` and `exports`, e.g., + +```json +{ + "replacementName": "___CSS_LOADER_ICSS_IMPORT_0_REPLACEMENT_0___", + "importName": "___CSS_LOADER_ICSS_IMPORT_0___", + "localName": "main" +} +``` + +Using `getJSON`, it's possible to output a file with all CSS module mappings. + +In the following example, we use `getJSON` to cache canonical mappings and add stand-ins for any composed values (through `composes`), and we use a custom plugin to consolidate the values and output them to a file: + +**webpack.config.js** + +```js +const path = require("path"); +const fs = require("fs"); + +const CSS_LOADER_REPLACEMENT_REGEX = + /(___CSS_LOADER_ICSS_IMPORT_\d+_REPLACEMENT_\d+___)/g; +const REPLACEMENT_REGEX = /___REPLACEMENT\[(.*?)]\[(.*?)]___/g; +const IDENTIFIER_REGEX = /\[(.*?)]\[(.*?)]/; +const replacementsMap = {}; +const canonicalValuesMap = {}; +const allExportsJson = {}; + +function generateIdentifier(resourcePath, localName) { + return `[${resourcePath}][${localName}]`; +} + +function addReplacements(resourcePath, imports, exportsJson, replacements) { + const importReplacementsMap = {}; + + // create a dict to quickly identify imports and get their absolute stand-in strings in the currently loaded file + // e.g., { '___CSS_LOADER_ICSS_IMPORT_0_REPLACEMENT_0___': '___REPLACEMENT[/foo/bar/baz.css][main]___' } + importReplacementsMap[resourcePath] = replacements.reduce( + (acc, { replacementName, importName, localName }) => { + const replacementImportUrl = imports.find( + (importData) => importData.importName === importName, + ).url; + const relativePathRe = /.*!(.*)"/; + const [, relativePath] = replacementImportUrl.match(relativePathRe); + const importPath = path.resolve(path.dirname(resourcePath), relativePath); + const identifier = generateIdentifier(importPath, localName); + return { ...acc, [replacementName]: `___REPLACEMENT${identifier}___` }; + }, + {}, + ); + + // iterate through the raw exports and add stand-in variables + // ('___REPLACEMENT[][]___') + // to be replaced in the plugin below + for (const [localName, classNames] of Object.entries(exportsJson)) { + const identifier = generateIdentifier(resourcePath, localName); + + if (CSS_LOADER_REPLACEMENT_REGEX.test(classNames)) { + // if there are any replacements needed in the concatenated class names, + // add them all to the replacements map to be replaced altogether later + replacementsMap[identifier] = classNames.replaceAll( + CSS_LOADER_REPLACEMENT_REGEX, + (_, replacementName) => + importReplacementsMap[resourcePath][replacementName], + ); + } else { + // otherwise, no class names need replacements so we can add them to + // canonical values map and all exports JSON verbatim + canonicalValuesMap[identifier] = classNames; + + allExportsJson[resourcePath] = allExportsJson[resourcePath] || {}; + allExportsJson[resourcePath][localName] = classNames; + } + } +} + +function replaceReplacements(classNames) { + return classNames.replaceAll( + REPLACEMENT_REGEX, + (_, resourcePath, localName) => { + const identifier = generateIdentifier(resourcePath, localName); + + if (identifier in canonicalValuesMap) { + return canonicalValuesMap[identifier]; + } + + // Recurse through other stand-in that may be imports + const canonicalValue = replaceReplacements(replacementsMap[identifier]); + + canonicalValuesMap[identifier] = canonicalValue; + + return canonicalValue; + }, + ); +} + +function getJSON({ resourcePath, imports, exports, replacements }) { + const exportsJson = exports.reduce((acc, { name, value }) => { + return { ...acc, [name]: value }; + }, {}); + + if (replacements.length > 0) { + // replacements present --> add stand-in values for absolute paths and local names, + // which will be resolved to their canonical values in the plugin below + addReplacements(resourcePath, imports, exportsJson, replacements); + } else { + // no replacements present --> add to canonicalValuesMap verbatim + // since all values here are canonical/don't need resolution + for (const [key, value] of Object.entries(exportsJson)) { + const id = `[${resourcePath}][${key}]`; + + canonicalValuesMap[id] = value; + } + + allExportsJson[resourcePath] = exportsJson; + } +} + +class CssModulesJsonPlugin { + constructor(options) { + this.options = options; + } + + // eslint-disable-next-line class-methods-use-this + apply(compiler) { + compiler.hooks.emit.tap("CssModulesJsonPlugin", () => { + for (const [identifier, classNames] of Object.entries(replacementsMap)) { + const adjustedClassNames = replaceReplacements(classNames); + + replacementsMap[identifier] = adjustedClassNames; + + const [, resourcePath, localName] = identifier.match(IDENTIFIER_REGEX); + + allExportsJson[resourcePath] = allExportsJson[resourcePath] || {}; + allExportsJson[resourcePath][localName] = adjustedClassNames; + } + + fs.writeFileSync( + this.options.filepath, + JSON.stringify( + // Make path to be relative to `context` (your project root) + Object.fromEntries( + Object.entries(allExportsJson).map((key) => { + key[0] = path + .relative(compiler.context, key[0]) + .replace(/\\/g, "/"); + + return key; + }), + ), + null, + 2, + ), + "utf8", + ); + }); + } +} + +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + loader: "css-loader", + options: { modules: { getJSON } }, + }, + ], + }, + plugins: [ + new CssModulesJsonPlugin({ + filepath: path.resolve(__dirname, "./output.css.json"), + }), + ], +}; +``` + +In the above, all import aliases are replaced with `___REPLACEMENT[][]___` in `getJSON`, and they're resolved in the custom plugin. All CSS mappings are contained in `allExportsJson`: + +```json +{ + "foo/bar/baz.module.css": { + "main": "D2Oy", + "header": "thNN" + }, + "foot/bear/bath.module.css": { + "logo": "sqiR", + "info": "XMyI" + } +} +``` + +This is saved to a local file named `output.css.json`. + +### `importLoaders` + +Type: + +```ts +type importLoaders = number; +``` + +Default: `0` + +Allows to enables/disables or sets up the number of loaders applied before CSS loader for `@import` at-rules, CSS Modules and ICSS imports, i.e. `@import`/`composes`/`@value value from './values.css'`/etc. + +The option `importLoaders` allows you to configure how many loaders before `css-loader` should be applied to `@import`ed resources and CSS Modules/ICSS imports. + +**webpack.config.js** + +```js +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + use: [ + "style-loader", + { + loader: "css-loader", + options: { + importLoaders: 2, + // 0 => no loaders (default); + // 1 => postcss-loader; + // 2 => postcss-loader, sass-loader + }, + }, + "postcss-loader", + "sass-loader", + ], + }, + ], + }, +}; +``` + +This may change in the future when the module system (i. e. webpack) supports loader matching by origin. + +### `sourceMap` + +Type: + +```ts +type sourceMap = boolean; +``` + +Default: depends on the `compiler.devtool` value + +By default generation of source maps depends on the [`devtool`](https://webpack.js.org/configuration/devtool/) option. All values enable source map generation except `eval` and `false` values. + +**webpack.config.js** + +```js +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + loader: "css-loader", + options: { + sourceMap: true, + }, + }, + ], + }, +}; +``` + +### `esModule` + +Type: + +```ts +type esModule = boolean; +``` + +Default: `true` + +By default, `css-loader` generates JS modules that use the ES modules syntax. + +There are some cases in which using ES modules is beneficial, like in the case of [module concatenation](https://webpack.js.org/plugins/module-concatenation-plugin/) and [tree shaking](https://webpack.js.org/guides/tree-shaking/). + +You can enable CommonJS module syntax using: + +**webpack.config.js** + +```js +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + loader: "css-loader", + options: { + esModule: false, + }, + }, + ], + }, +}; +``` + +### `exportType` + +Type: + +```ts +type exportType = "array" | "string" | "css-style-sheet"; +``` + +Default: `'array'` + +Allows exporting styles as array with modules, string or [constructable stylesheet](https://developers.google.com/web/updates/2019/02/constructable-stylesheets) (i.e. [`CSSStyleSheet`](https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet)). + +The default value is `'array'`, i.e. loader exports an array of modules with a specific API which is used in `style-loader` or other. + +**webpack.config.js** + +```js +module.exports = { + module: { + rules: [ + { + assert: { type: "css" }, + loader: "css-loader", + options: { + exportType: "css-style-sheet", + }, + }, + ], + }, +}; +``` + +**src/index.js** + +```js +import sheet from "./styles.css" assert { type: "css" }; + +document.adoptedStyleSheets = [sheet]; +shadowRoot.adoptedStyleSheets = [sheet]; +``` + +#### `'array'` + +The default export is array of modules with specific API which is used in `style-loader` or other. + +**webpack.config.js** + +```js +module.exports = { + module: { + rules: [ + { + test: /\.(sa|sc|c)ss$/i, + use: ["style-loader", "css-loader", "postcss-loader", "sass-loader"], + }, + ], + }, +}; +``` + +**src/index.js** + +```js +// `style-loader` applies styles to DOM +import "./styles.css"; +``` + +#### `'string'` + +> [!WARNING] +> +> You should not use [`style-loader`](https://github.com/webpack-contrib/style-loader) or [`mini-css-extract-plugin`](https://github.com/webpack-contrib/mini-css-extract-plugin) with this value. +> +> The `esModule` option should be enabled if you want to use it with [`CSS modules`](https://github.com/webpack-contrib/css-loader#modules). By default for locals [named export](https://github.com/webpack-contrib/css-loader#namedexport) will be used. + +The default export is `string`. + +**webpack.config.js** + +```js +module.exports = { + module: { + rules: [ + { + test: /\.(sa|sc|c)ss$/i, + use: ["css-loader", "postcss-loader", "sass-loader"], + }, + ], + }, +}; +``` + +**src/index.js** + +```js +import sheet from "./styles.css"; + +console.log(sheet); +``` + +#### `'css-style-sheet'` + +> [!WARNING] +> +> `@import` rules not yet allowed, more [information](https://web.dev/css-module-scripts/#@import-rules-not-yet-allowed) + +> [!WARNING] +> +> You don't need [`style-loader`](https://github.com/webpack-contrib/style-loader) anymore, please remove it. + +> [!WARNING] +> +> The `esModule` option should be enabled if you want to use it with [`CSS modules`](https://github.com/webpack-contrib/css-loader#modules). By default for locals [named export](https://github.com/webpack-contrib/css-loader#namedexport) will be used. + +> [!WARNING] +> +> Source maps are not currently supported in `Chrome` due to a [bug](https://bugs.chromium.org/p/chromium/issues/detail?id=1174094&q=CSSStyleSheet%20source%20maps&can=2) + +The default export is a [constructable stylesheet](https://developers.google.com/web/updates/2019/02/constructable-stylesheets) (i.e. [`CSSStyleSheet`](https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet)). + +Useful for [custom elements](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) and shadow DOM. + +More information: + +- [Using CSS Module Scripts to import stylesheets](https://web.dev/css-module-scripts/) +- [Constructable Stylesheets: seamless reusable styles](https://developers.google.com/web/updates/2019/02/constructable-stylesheets) + +**webpack.config.js** + +```js +module.exports = { + module: { + rules: [ + { + assert: { type: "css" }, + loader: "css-loader", + options: { + exportType: "css-style-sheet", + }, + }, + + // For Sass/SCSS: + // + // { + // assert: { type: "css" }, + // rules: [ + // { + // loader: "css-loader", + // options: { + // exportType: "css-style-sheet", + // // Other options + // }, + // }, + // { + // loader: "sass-loader", + // options: { + // // Other options + // }, + // }, + // ], + // }, + ], + }, +}; +``` + +**src/index.js** + +```js +// Example for Sass/SCSS: +// import sheet from "./styles.scss" assert { type: "css" }; + +// Example for CSS modules: +// import sheet, { myClass } from "./styles.scss" assert { type: "css" }; + +// Example for CSS: +import sheet from "./styles.css" assert { type: "css" }; + +document.adoptedStyleSheets = [sheet]; +shadowRoot.adoptedStyleSheets = [sheet]; +``` + +For migration purposes, you can use the following configuration: + +```js +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + oneOf: [ + { + assert: { type: "css" }, + loader: "css-loader", + options: { + exportType: "css-style-sheet", + // Other options + }, + }, + { + use: [ + "style-loader", + { + loader: "css-loader", + options: { + // Other options + }, + }, + ], + }, + ], + }, + ], + }, +}; +``` + +## Examples + +### Recommend + +For `production` builds, it's recommended to extract the CSS from your bundle being able to use parallel loading of CSS/JS resources later on. + +This can be achieved by using the [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin), because it creates separate css files. + +For `development` mode (including `webpack-dev-server`) you can use [style-loader](https://github.com/webpack-contrib/style-loader), because it injects CSS into the DOM using multiple `` and works faster. + +> [!NOTE] +> +> Do not use `style-loader` and `mini-css-extract-plugin` together. + +**webpack.config.js** + +```js +const MiniCssExtractPlugin = require("mini-css-extract-plugin"); +const devMode = process.env.NODE_ENV !== "production"; + +module.exports = { + module: { + rules: [ + { + // If you enable `experiments.css` or `experiments.futureDefaults`, please uncomment line below + // type: "javascript/auto", + test: /\.(sa|sc|c)ss$/i, + use: [ + devMode ? "style-loader" : MiniCssExtractPlugin.loader, + "css-loader", + "postcss-loader", + "sass-loader", + ], + }, + ], + }, + plugins: [].concat(devMode ? [] : [new MiniCssExtractPlugin()]), +}; +``` + +### Disable URL resolving using the `/* webpackIgnore: true */` comment + +With the help of the `/* webpackIgnore: true */`comment, it is possible to disable sources handling for rules and for individual declarations. + +```css +/* webpackIgnore: true */ +@import url(./basic.css); +@import /* webpackIgnore: true */ url(./imported.css); + +.class { + /* Disabled url handling for the all urls in the 'background' declaration */ + color: red; + /* webpackIgnore: true */ + background: url("./url/img.png"), url("./url/img.png"); +} + +.class { + /* Disabled url handling for the first url in the 'background' declaration */ + color: red; + background: + /* webpackIgnore: true */ url("./url/img.png"), url("./url/img.png"); +} + +.class { + /* Disabled url handling for the second url in the 'background' declaration */ + color: red; + background: + url("./url/img.png"), + /* webpackIgnore: true */ url("./url/img.png"); +} + +/* prettier-ignore */ +.class { + /* Disabled url handling for the second url in the 'background' declaration */ + color: red; + background: url("./url/img.png"), + /* webpackIgnore: true */ + url("./url/img.png"); +} + +/* prettier-ignore */ +.class { + /* Disabled url handling for third and sixth urls in the 'background-image' declaration */ + background-image: image-set( + url(./url/img.png) 2x, + url(./url/img.png) 3x, + /* webpackIgnore: true */ url(./url/img.png) 4x, + url(./url/img.png) 5x, + url(./url/img.png) 6x, + /* webpackIgnore: true */ + url(./url/img.png) 7x + ); +} +``` + +### Assets + +The following `webpack.config.js` can load CSS files, embed small PNG/JPG/GIF/SVG images as well as fonts as [Data URLs](https://tools.ietf.org/html/rfc2397) and copy larger files to the output directory. + +**For webpack v5:** + +**webpack.config.js** + +```js +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + use: ["style-loader", "css-loader"], + }, + { + test: /\.(png|jpe?g|gif|svg|eot|ttf|woff|woff2)$/i, + // More information here https://webpack.js.org/guides/asset-modules/ + type: "asset", + }, + ], + }, +}; +``` + +### Extract + +For production builds it's recommended to extract the CSS from your bundle to enable parallel loading of CSS/JS resources later on. + +- This can be achieved by using the [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) to extract the CSS when running in production mode. + +- As an alternative, if seeking better development performance and css outputs that mimic production. [extract-css-chunks-webpack-plugin](https://github.com/faceyspacey/extract-css-chunks-webpack-plugin) offers a hot module reload friendly, extended version of mini-css-extract-plugin. HMR real CSS files in dev, works like mini-css in non-dev. + +### Pure CSS, CSS Modules and PostCSS + +When you have pure CSS (without CSS modules), CSS modules and PostCSS in your project, you can use this setup: + +**webpack.config.js** + +```js +module.exports = { + module: { + rules: [ + { + // For pure CSS - /\.css$/i, + // For Sass/SCSS - /\.((c|sa|sc)ss)$/i, + // For Less - /\.((c|le)ss)$/i, + test: /\.((c|sa|sc)ss)$/i, + use: [ + "style-loader", + { + loader: "css-loader", + options: { + // Run `postcss-loader` on each CSS `@import` and CSS modules/ICSS imports, do not forget that `sass-loader` compile non CSS `@import`'s into a single file + // If you need run `sass-loader` and `postcss-loader` on each CSS `@import` please set it to `2` + importLoaders: 1, + }, + }, + { + loader: "postcss-loader", + options: { plugins: () => [postcssPresetEnv({ stage: 0 })] }, + }, + // Can be `less-loader` + { + loader: "sass-loader", + }, + ], + }, + // For webpack v5 + { + test: /\.(png|jpe?g|gif|svg|eot|ttf|woff|woff2)$/i, + // More information here https://webpack.js.org/guides/asset-modules/ + type: "asset", + }, + ], + }, +}; +``` + +### Resolve unresolved URLs using an alias + +**index.css** + +```css +.class { + background: url(/assets/unresolved/img.png); +} +``` + +**webpack.config.js** + +```js +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + use: ["style-loader", "css-loader"], + }, + ], + }, + resolve: { + alias: { + "/assets/unresolved/img.png": path.resolve( + __dirname, + "assets/real-path-to-img/img.png", + ), + }, + }, +}; +``` + +### Named export with custom export names + +**webpack.config.js** + +```js +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + loader: "css-loader", + options: { + modules: { + namedExport: true, + exportLocalsConvention: function (name) { + return name.replace(/-/g, "_"); + }, + }, + }, + }, + ], + }, +}; +``` + +### Separating `Interoperable CSS`-only and `CSS Module` features + +The following setup is an example of allowing `Interoperable CSS` features only (such as `:import` and `:export`) without using further `CSS Module` functionality by setting the `mode` option for all files that do not match the `*.module.scss` naming convention. This is for reference, as having `ICSS` features applied to all files was default `css-loader` behavior before v4. + +Meanwhile, all files matching `*.module.scss` are treated as `CSS Modules` in this example. + +An example case is assumed where a project requires canvas drawing variables to be synchronized with CSS - canvas drawing uses the same color (set by color name in JavaScript) as HTML background (set by class name in CSS). + +**webpack.config.js** + +```js +module.exports = { + module: { + rules: [ + // ... + // -------- + // SCSS ALL EXCEPT MODULES + { + test: /\.scss$/i, + exclude: /\.module\.scss$/i, + use: [ + { + loader: "style-loader", + }, + { + loader: "css-loader", + options: { + importLoaders: 1, + modules: { + mode: "icss", + }, + }, + }, + { + loader: "sass-loader", + }, + ], + }, + // -------- + // SCSS MODULES + { + test: /\.module\.scss$/i, + use: [ + { + loader: "style-loader", + }, + { + loader: "css-loader", + options: { + importLoaders: 1, + modules: { + mode: "local", + }, + }, + }, + { + loader: "sass-loader", + }, + ], + }, + // -------- + // ... + ], + }, +}; +``` + +**variables.scss** + +File treated as `ICSS`-only. + +```scss +$colorBackground: red; +:export { + colorBackgroundCanvas: $colorBackground; +} +``` + +**Component.module.scss** + +File treated as `CSS Module`. + +```scss +@import "variables.scss"; +.componentClass { + background-color: $colorBackground; +} +``` + +**Component.jsx** + +Using both `CSS Module` functionality as well as SCSS variables directly in JavaScript. + +```jsx +import * as svars from "variables.scss"; +import * as styles from "Component.module.scss"; + +// Render DOM with CSS modules class name +//
+// +//
+ +// Somewhere in JavaScript canvas drawing code use the variable directly +// const ctx = mountsCanvas.current.getContext('2d',{alpha: false}); +ctx.fillStyle = `${svars.colorBackgroundCanvas}`; +``` + +## Contributing + +We welcome all contributions! -Please take a moment to read our contributing guidelines if you haven't yet done so. +If you are new here, please take a moment to review our contributing guidelines before submitting issues or pull requests. [CONTRIBUTING](./.github/CONTRIBUTING.md) @@ -947,13 +2354,11 @@ Please take a moment to read our contributing guidelines if you haven't yet done [npm-url]: https://npmjs.com/package/css-loader [node]: https://img.shields.io/node/v/css-loader.svg [node-url]: https://nodejs.org -[deps]: https://david-dm.org/webpack-contrib/css-loader.svg -[deps-url]: https://david-dm.org/webpack-contrib/css-loader -[tests]: https://dev.azure.com/webpack-contrib/css-loader/_apis/build/status/webpack-contrib.css-loader?branchName=master -[tests-url]: https://dev.azure.com/webpack-contrib/css-loader/_build/latest?definitionId=2&branchName=master +[tests]: https://github.com/webpack-contrib/css-loader/workflows/css-loader/badge.svg +[tests-url]: https://github.com/webpack-contrib/css-loader/actions [cover]: https://codecov.io/gh/webpack-contrib/css-loader/branch/master/graph/badge.svg [cover-url]: https://codecov.io/gh/webpack-contrib/css-loader -[chat]: https://badges.gitter.im/webpack/webpack.svg -[chat-url]: https://gitter.im/webpack/webpack +[discussion]: https://img.shields.io/github/discussions/webpack/webpack +[discussion-url]: https://github.com/webpack/webpack/discussions [size]: https://packagephobia.now.sh/badge?p=css-loader [size-url]: https://packagephobia.now.sh/result?p=css-loader diff --git a/azure-pipelines.yml b/azure-pipelines.yml deleted file mode 100644 index 6aa59122..00000000 --- a/azure-pipelines.yml +++ /dev/null @@ -1,192 +0,0 @@ -trigger: - - master - - next - -jobs: - - job: Lint - pool: - vmImage: ubuntu-16.04 - steps: - - task: NodeTool@0 - inputs: - versionSpec: ^10.13.0 - displayName: 'Install Node.js' - - task: Npm@1 - inputs: - command: custom - customCommand: i -g npm@latest - displayName: 'Install latest NPM' - - script: | - node -v - npm -v - displayName: 'Print versions' - - task: Npm@1 - inputs: - command: custom - customCommand: ci - displayName: 'Install dependencies' - - script: npm run lint - displayName: 'Run lint' - - script: npm run security - displayName: 'Run NPM audit' - - script: ./node_modules/.bin/commitlint-azure-pipelines - displayName: 'Run lint commit message' - - - job: Linux - pool: - vmImage: ubuntu-16.04 - strategy: - maxParallel: 4 - matrix: - node-12: - node_version: ^12.0.0 - webpack_version: latest - node-10: - node_version: ^10.13.0 - webpack_version: latest - node-8: - node_version: ^8.9.0 - webpack_version: latest - node-8-canary: - node_version: ^8.9.0 - webpack_version: next - continue_on_error: true - steps: - - task: NodeTool@0 - inputs: - versionSpec: $(node_version) - displayName: 'Install Node.js $(node_version)' - - task: Npm@1 - inputs: - command: custom - customCommand: i -g npm@latest - displayName: 'Install latest NPM' - - script: | - node -v - npm -v - displayName: 'Print versions' - - task: Npm@1 - inputs: - command: custom - customCommand: ci - displayName: 'Install dependencies' - - script: npm i webpack@$(webpack_version) - displayName: 'Install "webpack@$(webpack_version)"' - - script: npm run test:coverage -- --ci --reporters="default" --reporters="jest-junit" || $(continue_on_error) - displayName: 'Run tests with coverage' - - task: PublishTestResults@2 - inputs: - testRunTitle: 'Linux with Node.js $(node_version)' - testResultsFiles: '**/junit.xml' - condition: succeededOrFailed() - displayName: 'Publish test results' - - script: curl -s https://codecov.io/bash | bash -s -- -t $(CODECOV_TOKEN) - condition: succeededOrFailed() - displayName: 'Submit coverage data to codecov' - - - job: macOS - pool: - vmImage: macOS-10.14 - strategy: - maxParallel: 4 - matrix: - node-12: - node_version: ^12.0.0 - webpack_version: latest - node-10: - node_version: ^10.13.0 - webpack_version: latest - node-8: - node_version: ^8.9.0 - webpack_version: latest - node-8-canary: - node_version: ^8.9.0 - webpack_version: next - continue_on_error: true - steps: - - task: NodeTool@0 - inputs: - versionSpec: $(node_version) - displayName: 'Install Node.js $(node_version)' - - task: Npm@1 - inputs: - command: custom - customCommand: i -g npm@latest - displayName: 'Install latest NPM' - - script: | - node -v - npm -v - displayName: 'Print versions' - - task: Npm@1 - inputs: - command: custom - customCommand: ci - displayName: 'Install dependencies' - - script: npm i webpack@$(webpack_version) - displayName: 'Install "webpack@$(webpack_version)"' - - script: npm run test:coverage -- --ci --reporters="default" --reporters="jest-junit" || $(continue_on_error) - displayName: 'Run tests with coverage' - - task: PublishTestResults@2 - inputs: - testRunTitle: 'Linux with Node.js $(node_version)' - testResultsFiles: '**/junit.xml' - condition: succeededOrFailed() - displayName: 'Publish test results' - - script: curl -s https://codecov.io/bash | bash -s -- -t $(CODECOV_TOKEN) - condition: succeededOrFailed() - displayName: 'Submit coverage data to codecov' - - - job: Windows - pool: - vmImage: windows-2019 - strategy: - maxParallel: 4 - matrix: - node-12: - node_version: ^12.0.0 - webpack_version: latest - node-10: - node_version: ^10.13.0 - webpack_version: latest - node-8: - node_version: ^8.9.0 - webpack_version: latest - node-8-canary: - node_version: ^8.9.0 - webpack_version: next - continue_on_error: true - steps: - - script: 'git config --global core.autocrlf input' - displayName: 'Config git core.autocrlf' - - checkout: self - - task: NodeTool@0 - inputs: - versionSpec: $(node_version) - displayName: 'Install Node.js $(node_version)' - - task: Npm@1 - inputs: - command: custom - customCommand: i -g npm@latest - displayName: 'Install latest NPM' - - script: | - node -v - npm -v - displayName: 'Print versions' - - task: Npm@1 - inputs: - command: custom - customCommand: ci - displayName: 'Install dependencies' - - script: npm i webpack@$(webpack_version) - displayName: 'Install "webpack@$(webpack_version)"' - - script: npm run test:coverage -- --ci --reporters="default" --reporters="jest-junit" || $(continue_on_error) - displayName: 'Run tests with coverage' - - task: PublishTestResults@2 - inputs: - testRunTitle: 'Linux with Node.js $(node_version)' - testResultsFiles: '**/junit.xml' - condition: succeededOrFailed() - displayName: 'Publish test results' - - script: curl -s https://codecov.io/bash | bash -s -- -t $(CODECOV_TOKEN) - condition: succeededOrFailed() - displayName: 'Submit coverage data to codecov' diff --git a/babel.config.js b/babel.config.js index c428f395..ff7e3b3d 100644 --- a/babel.config.js +++ b/babel.config.js @@ -7,23 +7,23 @@ module.exports = (api) => { return { presets: [ [ - '@babel/preset-env', + "@babel/preset-env", { targets: { - node: '8.9.0', + node: "18.12.0", }, }, ], ], overrides: [ { - test: './src/runtime', + test: "./src/runtime", presets: [ [ - '@babel/preset-env', + "@babel/preset-env", { targets: { - node: '0.12', + node: "0.12", }, }, ], diff --git a/commitlint.config.js b/commitlint.config.js index 84dcb122..86a8e2df 100644 --- a/commitlint.config.js +++ b/commitlint.config.js @@ -1,3 +1,8 @@ module.exports = { - extends: ['@commitlint/config-conventional'], + extends: ["@commitlint/config-conventional"], + rules: { + "header-max-length": [0], + "body-max-line-length": [0], + "footer-max-line-length": [0], + }, }; diff --git a/husky.config.js b/husky.config.js deleted file mode 100644 index 4c2ec3ae..00000000 --- a/husky.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - hooks: { - 'pre-commit': 'lint-staged', - 'commit-msg': 'commitlint -E HUSKY_GIT_PARAMS', - }, -}; diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 00000000..5da099d9 --- /dev/null +++ b/jest.config.js @@ -0,0 +1,3 @@ +module.exports = { + testEnvironment: "node", +}; diff --git a/lint-staged.config.js b/lint-staged.config.js index 77a86a71..30108433 100644 --- a/lint-staged.config.js +++ b/lint-staged.config.js @@ -1,4 +1,7 @@ module.exports = { - '*.js': ['prettier --write', 'eslint --fix', 'git add'], - '*.{json,md,yml,css}': ['prettier --write', 'git add'], + "*": [ + "prettier --cache --write --ignore-unknown", + "cspell --cache --no-must-find-files", + ], + "*.js": ["eslint --cache --fix"], }; diff --git a/package-lock.json b/package-lock.json index 0919b115..1e6d0364 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12832 +1,21378 @@ { "name": "css-loader", - "version": "3.2.1", - "lockfileVersion": 1, + "version": "7.1.2", + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@babel/cli": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.7.4.tgz", - "integrity": "sha512-O7mmzaWdm+VabWQmxuM8hqNrWGGihN83KfhPUzp2lAW4kzIMwBxujXkZbD4fMwKMYY9FXTbDvXsJqU+5XHXi4A==", - "dev": true, - "requires": { - "chokidar": "^2.1.8", - "commander": "^4.0.1", - "convert-source-map": "^1.1.0", - "fs-readdir-recursive": "^1.1.0", - "glob": "^7.0.0", - "lodash": "^4.17.13", - "make-dir": "^2.1.0", - "slash": "^2.0.0", - "source-map": "^0.5.0" - }, + "packages": { + "": { + "name": "css-loader", + "version": "7.1.2", + "license": "MIT", "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "icss-utils": "^5.1.0", + "postcss": "^8.4.40", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.6.3" + }, + "devDependencies": { + "@babel/cli": "^7.24.8", + "@babel/core": "^7.25.2", + "@babel/preset-env": "^7.25.3", + "@commitlint/cli": "^19.3.0", + "@commitlint/config-conventional": "^19.2.2", + "@webpack-contrib/eslint-config-webpack": "^3.0.0", + "babel-jest": "^30.0.0", + "cross-env": "^7.0.3", + "cspell": "^8.13.1", + "del-cli": "^5.1.0", + "es-check": "^7.2.1", + "eslint": "^8.54.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-import": "^2.29.0", + "file-loader": "^6.2.0", + "husky": "^9.1.4", + "jest": "^30.0.0", + "jest-environment-jsdom": "^30.0.0", + "less": "^4.2.0", + "less-loader": "^12.2.0", + "lint-staged": "^15.2.8", + "memfs": "^4.11.1", + "mini-css-extract-plugin": "^2.9.0", + "npm-run-all": "^4.1.5", + "postcss-loader": "^8.1.1", + "postcss-preset-env": "^9.6.0", + "prettier": "^3.3.3", + "sass": "^1.77.8", + "sass-loader": "^14.2.1", + "standard-version": "^9.5.0", + "strip-ansi": "^6.0.0", + "style-loader": "^3.3.4", + "stylus": "^0.63.0", + "stylus-loader": "^8.1.0", + "url-loader": "^4.1.1", + "webpack": "^5.93.0" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.27.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true } } }, - "@babel/code-frame": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", - "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "node_modules/@adobe/css-tools": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.3.tgz", + "integrity": "sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==", "dev": true, - "requires": { - "@babel/highlight": "^7.0.0" - } + "license": "MIT" }, - "@babel/core": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.4.tgz", - "integrity": "sha512-+bYbx56j4nYBmpsWtnPUsKW3NdnYxbqyfrP2w9wILBuHzdfIKz9prieZK0DFPyIzkjYVUe4QkusGL07r5pXznQ==", + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.7.4", - "@babel/helpers": "^7.7.4", - "@babel/parser": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "json5": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", - "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" } }, - "@babel/generator": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.4.tgz", - "integrity": "sha512-m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg==", + "node_modules/@asamuzakjp/css-color": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz", + "integrity": "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==", "dev": true, - "requires": { - "@babel/types": "^7.7.4", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - }, + "license": "MIT", "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } + "@csstools/css-calc": "^2.1.3", + "@csstools/css-color-parser": "^3.0.9", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "lru-cache": "^10.4.3" } }, - "@babel/helper-annotate-as-pure": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz", - "integrity": "sha512-2BQmQgECKzYKFPpiycoF9tlb5HA4lrVyAmLLVK177EcQAqjVLciUb2/R+n1boQ9y5ENV3uz2ZqiNw7QMBBw1Og==", + "node_modules/@asamuzakjp/css-color/node_modules/@csstools/color-helpers": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.2.tgz", + "integrity": "sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==", "dev": true, - "requires": { - "@babel/types": "^7.7.4" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" } }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.4.tgz", - "integrity": "sha512-Biq/d/WtvfftWZ9Uf39hbPBYDUo986m5Bb4zhkeYDGUllF43D+nUe5M6Vuo6/8JDK/0YX/uBdeoQpyaNhNugZQ==", + "node_modules/@asamuzakjp/css-color/node_modules/@csstools/css-calc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz", + "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.7.4", - "@babel/types": "^7.7.4" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" } }, - "@babel/helper-call-delegate": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.7.4.tgz", - "integrity": "sha512-8JH9/B7J7tCYJ2PpWVpw9JhPuEVHztagNVuQAFBVFYluRMlpG7F1CgKEgGeL6KFqcsIa92ZYVj6DSc0XwmN1ZA==", + "node_modules/@asamuzakjp/css-color/node_modules/@csstools/css-color-parser": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.10.tgz", + "integrity": "sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==", "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/color-helpers": "^5.0.2", + "@csstools/css-calc": "^2.1.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" } }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.4.tgz", - "integrity": "sha512-Mt+jBKaxL0zfOIWrfQpnfYCN7/rS6GKx6CCCfuoqVVd+17R8zNDlzVYmIi9qyb2wOk002NsmSTDymkIygDUH7A==", + "node_modules/@asamuzakjp/css-color/node_modules/@csstools/css-parser-algorithms": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", + "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", "dev": true, - "requires": { - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.6.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^3.0.4" } }, - "@babel/helper-define-map": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.7.4.tgz", - "integrity": "sha512-v5LorqOa0nVQUvAUTUF3KPastvUt/HzByXNamKQ6RdJRTV7j8rLL+WB5C/MzzWAwOomxDhYFb1wLLxHqox86lg==", + "node_modules/@asamuzakjp/css-color/node_modules/@csstools/css-tokenizer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", + "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", "dev": true, - "requires": { - "@babel/helper-function-name": "^7.7.4", - "@babel/types": "^7.7.4", - "lodash": "^4.17.13" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" } }, - "@babel/helper-explode-assignable-expression": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.4.tgz", - "integrity": "sha512-2/SicuFrNSXsZNBxe5UGdLr+HZg+raWBLE9vC98bdYOKX/U6PY0mdGlYUJdtTDPSU0Lw0PNbKKDpwYHJLn2jLg==", + "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "requires": { - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4" - } + "license": "ISC" }, - "@babel/helper-function-name": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", - "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", + "node_modules/@babel/cli": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.27.2.tgz", + "integrity": "sha512-cfd7DnGlhH6OIyuPSSj3vcfIdnbXukhAyKY8NaZrFadC7pXyL9mOL5WgjcptiEJLi5k3j8aYvLIVCzezrWTaiA==", "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/types": "^7.7.4" + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "commander": "^6.2.0", + "convert-source-map": "^2.0.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.2.0", + "make-dir": "^2.1.0", + "slash": "^2.0.0" + }, + "bin": { + "babel": "bin/babel.js", + "babel-external-helpers": "bin/babel-external-helpers.js" + }, + "engines": { + "node": ">=6.9.0" + }, + "optionalDependencies": { + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", + "chokidar": "^3.6.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/helper-get-function-arity": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", - "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dev": true, - "requires": { - "@babel/types": "^7.7.4" + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-hoist-variables": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.4.tgz", - "integrity": "sha512-wQC4xyvc1Jo/FnLirL6CEgPgPCa8M74tOdjWpRhQYapz5JC7u3NYU1zCVoVAGCE3EaIP9T1A3iW0WLJ+reZlpQ==", + "node_modules/@babel/compat-data": { + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.5.tgz", + "integrity": "sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==", "dev": true, - "requires": { - "@babel/types": "^7.7.4" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-member-expression-to-functions": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.4.tgz", - "integrity": "sha512-9KcA1X2E3OjXl/ykfMMInBK+uVdfIVakVe7W7Lg3wfXUNyS3Q1HWLFRwZIjhqiCGbslummPDnmb7vIekS0C1vw==", + "node_modules/@babel/core": { + "version": "7.27.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.4.tgz", + "integrity": "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==", "dev": true, - "requires": { - "@babel/types": "^7.7.4" + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.27.3", + "@babel/helpers": "^7.27.4", + "@babel/parser": "^7.27.4", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.27.4", + "@babel/types": "^7.27.3", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "@babel/helper-module-imports": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz", - "integrity": "sha512-dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ==", + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "requires": { - "@babel/types": "^7.7.4" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "@babel/helper-module-transforms": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.7.4.tgz", - "integrity": "sha512-ehGBu4mXrhs0FxAqN8tWkzF8GSIGAiEumu4ONZ/hD9M88uHcD+Yu2ttKfOCgwzoesJOJrtQh7trI5YPbRtMmnA==", + "node_modules/@babel/generator": { + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.5.tgz", + "integrity": "sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==", "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.7.4", - "@babel/helper-simple-access": "^7.7.4", - "@babel/helper-split-export-declaration": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/types": "^7.7.4", - "lodash": "^4.17.13" + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.27.5", + "@babel/types": "^7.27.3", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-optimise-call-expression": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.4.tgz", - "integrity": "sha512-VB7gWZ2fDkSuqW6b1AKXkJWO5NyNI3bFL/kK79/30moK57blr6NbH8xcl2XcKCwOmJosftWunZqfO84IGq3ZZg==", + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", "dev": true, - "requires": { - "@babel/types": "^7.7.4" + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-plugin-utils": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", - "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", - "dev": true - }, - "@babel/helper-regex": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz", - "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", "dev": true, - "requires": { - "lodash": "^4.17.13" + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-remap-async-to-generator": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.4.tgz", - "integrity": "sha512-Sk4xmtVdM9sA/jCI80f+KS+Md+ZHIpjuqmYPk1M7F/upHou5e4ReYmExAiu6PVe65BhJPZA2CY9x9k4BqE5klw==", + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.7.4", - "@babel/helper-wrap-function": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "@babel/helper-replace-supers": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.7.4.tgz", - "integrity": "sha512-pP0tfgg9hsZWo5ZboYGuBn/bbYT/hdLPVSS4NMmiRJdwWhP0IznPwN9AE1JwyGsjSPLC364I0Qh5p+EPkGPNpg==", + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz", + "integrity": "sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==", "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.7.4", - "@babel/helper-optimise-call-expression": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4" + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.27.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/helper-simple-access": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.7.4.tgz", - "integrity": "sha512-zK7THeEXfan7UlWsG2A6CI/L9jVnI5+xxKZOdej39Y0YtDYKx9raHk5F2EtK9K8DHRTihYwg20ADt9S36GR78A==", + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "requires": { - "@babel/template": "^7.7.4", - "@babel/types": "^7.7.4" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "@babel/helper-split-export-declaration": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", - "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz", + "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==", "dev": true, - "requires": { - "@babel/types": "^7.7.4" + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "regexpu-core": "^6.2.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/helper-wrap-function": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz", - "integrity": "sha512-VsfzZt6wmsocOaVU0OokwrIytHND55yvyT4BPB9AIIgwr8+x7617hetdJTsuGwygN5RC6mxA9EJztTjuwm2ofg==", + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "requires": { - "@babel/helper-function-name": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "@babel/helpers": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.7.4.tgz", - "integrity": "sha512-ak5NGZGJ6LV85Q1Zc9gn2n+ayXOizryhjSUBTdu5ih1tlVCJeuQENzc4ItyCVhINVXvIT/ZQ4mheGIsfBkpskg==", + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz", + "integrity": "sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw==", "dev": true, - "requires": { - "@babel/template": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4" + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "@babel/highlight": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", - "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", + "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/parser": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.4.tgz", - "integrity": "sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==", - "dev": true - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz", - "integrity": "sha512-1ypyZvGRXriY/QP668+s8sFr2mqinhkRDMPSQLNghCQE+GAkFtp+wkHVvg2+Hdki8gwP+NFzJBJ/N1BfzCCDEw==", + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.7.4", - "@babel/plugin-syntax-async-generators": "^7.7.4" + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.4.tgz", - "integrity": "sha512-StH+nGAdO6qDB1l8sZ5UBV8AC3F2VW2I8Vfld73TMKyptMU9DY5YsJAS8U81+vEtxcH3Y/La0wG0btDrhpnhjQ==", + "node_modules/@babel/helper-module-transforms": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz", + "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.7.4" + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-proposal-json-strings": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.7.4.tgz", - "integrity": "sha512-wQvt3akcBTfLU/wYoqm/ws7YOAQKu8EVJEvHip/mzkNtjaclQoCCIqKXFP5/eyfnfbQCDV3OLRIK3mIVyXuZlw==", + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-json-strings": "^7.7.4" + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.4.tgz", - "integrity": "sha512-rnpnZR3/iWKmiQyJ3LKJpSwLDcX/nSXhdLk4Aq/tXOApIvyu7qoabrige0ylsAJffaUC51WiBu209Q0U+86OWQ==", + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.7.4" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.7.4.tgz", - "integrity": "sha512-DyM7U2bnsQerCQ+sejcTNZh8KQEUuC3ufzdnVnSiUv/qoGJp2Z3hanKL18KDhsBT5Wj6a7CMT5mdyCNJsEaA9w==", + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.7.4" + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.4.tgz", - "integrity": "sha512-cHgqHgYvffluZk85dJ02vloErm3Y6xtH+2noOBOJ2kXOJH3aVCDnj5eR/lVNlTnYu4hndAPJD3rTFjW3qee0PA==", + "node_modules/@babel/helper-replace-supers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-syntax-async-generators": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.7.4.tgz", - "integrity": "sha512-Li4+EjSpBgxcsmeEF8IFcfV/+yJGxHXDirDkEoyFjumuwbmfCVHUt0HuowD/iGM7OhIRyXJH9YXxqiH6N815+g==", + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.7.4.tgz", - "integrity": "sha512-jHQW0vbRGvwQNgyVxwDh4yuXu4bH1f5/EICJLAhl1SblLs2CDhrsmCk+v5XLdE9wxtAFRyxx+P//Iw+a5L/tTg==", + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-syntax-json-strings": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.7.4.tgz", - "integrity": "sha512-QpGupahTQW1mHRXddMG5srgpHWqRLwJnJZKXTigB9RPFCCGbDGCgBeM/iC82ICXp414WeYx/tD54w7M2qRqTMg==", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz", - "integrity": "sha512-mObR+r+KZq0XhRVS2BrBKBpr5jqrqzlPvS9C9vuOf5ilSwzloAl7RPWLrgKdWS6IreaVrjHxTjtyqFiOisaCwg==", + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.7.4.tgz", - "integrity": "sha512-4ZSuzWgFxqHRE31Glu+fEr/MirNZOMYmD/0BhBWyLyOOQz/gTAl7QmWm2hX1QxEIXsr2vkdlwxIzTyiYRC4xcQ==", + "node_modules/@babel/helper-wrap-function": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.27.1.tgz", + "integrity": "sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.1", + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.7.4.tgz", - "integrity": "sha512-wdsOw0MvkL1UIgiQ/IFr3ETcfv1xb8RMM0H9wbiDyLaJFyiDg5oZvDLCXosIXmFeIlweML5iOBXAkqddkYNizg==", + "node_modules/@babel/helpers": { + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz", + "integrity": "sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.27.6" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.7.4.tgz", - "integrity": "sha512-zUXy3e8jBNPiffmqkHRNDdZM2r8DWhCB7HhcoyZjiK1TxYEluLHAvQuYnTT+ARqRpabWqy/NHkO6e3MsYB5YfA==", + "node_modules/@babel/parser": { + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz", + "integrity": "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" } }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.4.tgz", - "integrity": "sha512-zpUTZphp5nHokuy8yLlyafxCJ0rSlFoSHypTUWgpdwoDXWQcseaect7cJ8Ppk6nunOM6+5rPMkod4OYKPR5MUg==", + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz", + "integrity": "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==", "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.7.4" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.7.4.tgz", - "integrity": "sha512-kqtQzwtKcpPclHYjLK//3lH8OFsCDuDJBaFhVwf8kqdnF6MN4l618UDlcA7TfRs3FayrHj+svYnSX8MC9zmUyQ==", + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-transform-block-scoping": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.7.4.tgz", - "integrity": "sha512-2VBe9u0G+fDt9B5OV5DQH4KBf5DoiNkwFKOz0TCvBWvdAN2rOykCTkrL+jTLxfCAm76l9Qo5OqL7HBOx2dWggg==", + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "lodash": "^4.17.13" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-transform-classes": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.4.tgz", - "integrity": "sha512-sK1mjWat7K+buWRuImEzjNf68qrKcrddtpQo3swi9j7dUcG6y6R6+Di039QN2bD1dykeswlagupEmpOatFHHUg==", + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.7.4", - "@babel/helper-define-map": "^7.7.4", - "@babel/helper-function-name": "^7.7.4", - "@babel/helper-optimise-call-expression": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.7.4", - "@babel/helper-split-export-declaration": "^7.7.4", - "globals": "^11.1.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" } }, - "@babel/plugin-transform-computed-properties": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.7.4.tgz", - "integrity": "sha512-bSNsOsZnlpLLyQew35rl4Fma3yKWqK3ImWMSC/Nc+6nGjC9s5NFWAer1YQ899/6s9HxO2zQC1WoFNfkOqRkqRQ==", + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.27.1.tgz", + "integrity": "sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-transform-destructuring": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.7.4.tgz", - "integrity": "sha512-4jFMXI1Cu2aXbcXXl8Lr6YubCn6Oc7k9lLsu8v61TZh+1jny2BWmdtvY9zSUlLdGUvcy9DMAWyZEOqjsbeg/wA==", + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.4.tgz", - "integrity": "sha512-mk0cH1zyMa/XHeb6LOTXTbG7uIJ8Rrjlzu91pUx/KS3JpcgaTDwMS8kM+ar8SLOvlL2Lofi4CGBAjCo3a2x+lw==", + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.7.4.tgz", - "integrity": "sha512-g1y4/G6xGWMD85Tlft5XedGaZBCIVN+/P0bs6eabmcPP9egFleMAo65OOjlhcz1njpwagyY3t0nsQC9oTFegJA==", + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.7.4.tgz", - "integrity": "sha512-MCqiLfCKm6KEA1dglf6Uqq1ElDIZwFuzz1WH5mTf8k2uQSxEJMbOIEh7IZv7uichr7PMfi5YVSrr1vz+ipp7AQ==", + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-for-of": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.7.4.tgz", - "integrity": "sha512-zZ1fD1B8keYtEcKF+M1TROfeHTKnijcVQm0yO/Yu1f7qoDoxEIc/+GX6Go430Bg84eM/xwPFp0+h4EbZg7epAA==", + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-function-name": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.4.tgz", - "integrity": "sha512-E/x09TvjHNhsULs2IusN+aJNRV5zKwxu1cpirZyRPw+FyyIKEHPXTsadj48bVpc1R5Qq1B5ZkzumuFLytnbT6g==", + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", + "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", "dev": true, - "requires": { - "@babel/helper-function-name": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-literals": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.7.4.tgz", - "integrity": "sha512-X2MSV7LfJFm4aZfxd0yLVFrEXAgPqYoDG53Br/tCKiKYfX0MjVjQeWPIhPHHsCqzwQANq+FLN786fF5rgLS+gw==", + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.7.4.tgz", - "integrity": "sha512-9VMwMO7i69LHTesL0RdGy93JU6a+qOPuvB4F4d0kR0zyVjJRVJRaoaGjhtki6SzQUu8yen/vxPKN6CWnCUw6bA==", + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-modules-amd": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.4.tgz", - "integrity": "sha512-/542/5LNA18YDtg1F+QHvvUSlxdvjZoD/aldQwkq+E3WCkbEjNSN9zdrOXaSlfg3IfGi22ijzecklF/A7kVZFQ==", + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", - "babel-plugin-dynamic-import-node": "^2.3.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.4.tgz", - "integrity": "sha512-k8iVS7Jhc367IcNF53KCwIXtKAH7czev866ThsTgy8CwlXjnKZna2VHwChglzLleYrcHz1eQEIJlGRQxB53nqA==", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-simple-access": "^7.7.4", - "babel-plugin-dynamic-import-node": "^2.3.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.4.tgz", - "integrity": "sha512-y2c96hmcsUi6LrMqvmNDPBBiGCiQu0aYqpHatVVu6kD4mFEXKjyNxd/drc18XXAf9dv7UXjrZwBVmTTGaGP8iw==", + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", - "babel-plugin-dynamic-import-node": "^2.3.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-modules-umd": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.4.tgz", - "integrity": "sha512-u2B8TIi0qZI4j8q4C51ktfO7E3cQ0qnaXFI1/OXITordD40tt17g/sXqgNNCcMTcBFKrUPcGDx+TBJuZxLx7tw==", + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.4.tgz", - "integrity": "sha512-jBUkiqLKvUWpv9GLSuHUFYdmHg0ujC1JEYoZUfeOOfNydZXp1sXObgyPatpcwjWgsdBGsagWW0cdJpX/DO2jMw==", + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.7.4" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-new-target": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.7.4.tgz", - "integrity": "sha512-CnPRiNtOG1vRodnsyGX37bHQleHE14B9dnnlgSeEs3ek3fHN1A1SScglTCg1sfbe7sRQ2BUcpgpTpWSfMKz3gg==", + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-object-super": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.7.4.tgz", - "integrity": "sha512-ho+dAEhC2aRnff2JCA0SAK7V2R62zJd/7dmtoe7MHcso4C2mS+vZjn1Pb1pCVZvJs1mgsvv5+7sT+m3Bysb6eg==", + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.7.4" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-parameters": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.4.tgz", - "integrity": "sha512-VJwhVePWPa0DqE9vcfptaJSzNDKrWU/4FbYCjZERtmqEs05g3UMXnYMZoXja7JAJ7Y7sPZipwm/pGApZt7wHlw==", + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, - "requires": { - "@babel/helper-call-delegate": "^7.7.4", - "@babel/helper-get-function-arity": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-property-literals": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.7.4.tgz", - "integrity": "sha512-MatJhlC4iHsIskWYyawl53KuHrt+kALSADLQQ/HkhTjX954fkxIEh4q5slL4oRAnsm/eDoZ4q0CIZpcqBuxhJQ==", + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-regenerator": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.4.tgz", - "integrity": "sha512-e7MWl5UJvmPEwFJTwkBlPmqixCtr9yAASBqff4ggXTNicZiwbF8Eefzm6NVgfiBp7JdAGItecnctKTgH44q2Jw==", + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, - "requires": { - "regenerator-transform": "^0.14.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-reserved-words": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.7.4.tgz", - "integrity": "sha512-OrPiUB5s5XvkCO1lS7D8ZtHcswIC57j62acAnJZKqGGnHP+TIc/ljQSrgdX/QyOTdEK5COAhuc820Hi1q2UgLQ==", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", + "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.7.4.tgz", - "integrity": "sha512-q+suddWRfIcnyG5YiDP58sT65AJDZSUhXQDZE3r04AuqD6d/XLaQPPXSBzP2zGerkgBivqtQm9XKGLuHqBID6Q==", + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-transform-spread": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.7.4.tgz", - "integrity": "sha512-8OSs0FLe5/80cndziPlg4R0K6HcWSM0zyNhHhLsmw/Nc5MaA49cAsnoJ/t/YZf8qkG7fD+UjTRaApVDB526d7Q==", + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.7.4.tgz", - "integrity": "sha512-Ls2NASyL6qtVe1H1hXts9yuEeONV2TJZmplLONkMPUG158CtmnrzW5Q5teibM5UVOFjG0D3IC5mzXR6pPpUY7A==", + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.27.1.tgz", + "integrity": "sha512-eST9RrwlpaoJBDHShc+DS2SG4ATTi2MYNb4OxYkf3n+7eb49LWpnS+HSpVfW4x927qQwgk8A2hGNVaajAEw0EA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-template-literals": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.7.4.tgz", - "integrity": "sha512-sA+KxLwF3QwGj5abMHkHgshp9+rRz+oY9uoRil4CyLtgEuE/88dpkeWgNk5qKVsJE9iSfly3nvHapdRiIS2wnQ==", + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", + "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.7.4.tgz", - "integrity": "sha512-KQPUQ/7mqe2m0B8VecdyaW5XcQYaePyl9R7IsKd+irzj6jvbhoGnRE+M0aNkyAzI07VfUQ9266L5xMARitV3wg==", + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.4.tgz", - "integrity": "sha512-N77UUIV+WCvE+5yHw+oks3m18/umd7y392Zv7mYTpFqHtkpcc+QUz+gLJNTWVlWROIWeLqY0f3OjZxV5TcXnRw==", + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.5.tgz", + "integrity": "sha512-JF6uE2s67f0y2RZcm2kpAUEbD50vH62TyWVebxwHAlbSdM49VqPz8t4a1uIjp4NIOIZ4xzLfjY5emt/RCyC7TQ==", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/preset-env": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.4.tgz", - "integrity": "sha512-Dg+ciGJjwvC1NIe/DGblMbcGq1HOtKbw8RLl4nIjlfcILKEOkWT/vRqPpumswABEBVudii6dnVwrBtzD7ibm4g==", + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", + "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-async-generator-functions": "^7.7.4", - "@babel/plugin-proposal-dynamic-import": "^7.7.4", - "@babel/plugin-proposal-json-strings": "^7.7.4", - "@babel/plugin-proposal-object-rest-spread": "^7.7.4", - "@babel/plugin-proposal-optional-catch-binding": "^7.7.4", - "@babel/plugin-proposal-unicode-property-regex": "^7.7.4", - "@babel/plugin-syntax-async-generators": "^7.7.4", - "@babel/plugin-syntax-dynamic-import": "^7.7.4", - "@babel/plugin-syntax-json-strings": "^7.7.4", - "@babel/plugin-syntax-object-rest-spread": "^7.7.4", - "@babel/plugin-syntax-optional-catch-binding": "^7.7.4", - "@babel/plugin-syntax-top-level-await": "^7.7.4", - "@babel/plugin-transform-arrow-functions": "^7.7.4", - "@babel/plugin-transform-async-to-generator": "^7.7.4", - "@babel/plugin-transform-block-scoped-functions": "^7.7.4", - "@babel/plugin-transform-block-scoping": "^7.7.4", - "@babel/plugin-transform-classes": "^7.7.4", - "@babel/plugin-transform-computed-properties": "^7.7.4", - "@babel/plugin-transform-destructuring": "^7.7.4", - "@babel/plugin-transform-dotall-regex": "^7.7.4", - "@babel/plugin-transform-duplicate-keys": "^7.7.4", - "@babel/plugin-transform-exponentiation-operator": "^7.7.4", - "@babel/plugin-transform-for-of": "^7.7.4", - "@babel/plugin-transform-function-name": "^7.7.4", - "@babel/plugin-transform-literals": "^7.7.4", - "@babel/plugin-transform-member-expression-literals": "^7.7.4", - "@babel/plugin-transform-modules-amd": "^7.7.4", - "@babel/plugin-transform-modules-commonjs": "^7.7.4", - "@babel/plugin-transform-modules-systemjs": "^7.7.4", - "@babel/plugin-transform-modules-umd": "^7.7.4", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.7.4", - "@babel/plugin-transform-new-target": "^7.7.4", - "@babel/plugin-transform-object-super": "^7.7.4", - "@babel/plugin-transform-parameters": "^7.7.4", - "@babel/plugin-transform-property-literals": "^7.7.4", - "@babel/plugin-transform-regenerator": "^7.7.4", - "@babel/plugin-transform-reserved-words": "^7.7.4", - "@babel/plugin-transform-shorthand-properties": "^7.7.4", - "@babel/plugin-transform-spread": "^7.7.4", - "@babel/plugin-transform-sticky-regex": "^7.7.4", - "@babel/plugin-transform-template-literals": "^7.7.4", - "@babel/plugin-transform-typeof-symbol": "^7.7.4", - "@babel/plugin-transform-unicode-regex": "^7.7.4", - "@babel/types": "^7.7.4", - "browserslist": "^4.6.0", - "core-js-compat": "^3.1.1", - "invariant": "^2.2.2", - "js-levenshtein": "^1.1.3", - "semver": "^5.5.0" - } - }, - "@babel/template": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", - "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.4", - "@babel/types": "^7.7.4" - } - }, - "@babel/traverse": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz", - "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.7.4", - "@babel/helper-function-name": "^7.7.4", - "@babel/helper-split-export-declaration": "^7.7.4", - "@babel/parser": "^7.7.4", - "@babel/types": "^7.7.4", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/types": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", - "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.27.1.tgz", + "integrity": "sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA==", "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" } }, - "@cnakazawa/watch": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.3.tgz", - "integrity": "sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA==", + "node_modules/@babel/plugin-transform-classes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.27.1.tgz", + "integrity": "sha512-7iLhfFAubmpeJe/Wo2TVuDrykh/zlWXLzPNdL0Jqn/Xu8R3QQ8h9ff8FQoISZOsw74/HFqFI7NX63HN7QFIHKA==", "dev": true, - "requires": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/traverse": "^7.27.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@commitlint/cli": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-8.2.0.tgz", - "integrity": "sha512-8fJ5pmytc38yw2QWbTTJmXLfSiWPwMkHH4govo9zJ/+ERPBF2jvlxD/dQvk24ezcizjKc6LFka2edYC4OQ+Dgw==", - "dev": true, - "requires": { - "@commitlint/format": "^8.2.0", - "@commitlint/lint": "^8.2.0", - "@commitlint/load": "^8.2.0", - "@commitlint/read": "^8.2.0", - "babel-polyfill": "6.26.0", - "chalk": "2.4.2", - "get-stdin": "7.0.0", - "lodash": "4.17.14", - "meow": "5.0.0", - "resolve-from": "5.0.0", - "resolve-global": "1.0.0" - }, - "dependencies": { - "lodash": { - "version": "4.17.14", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz", - "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==", - "dev": true - } + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", + "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/template": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@commitlint/config-conventional": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-8.2.0.tgz", - "integrity": "sha512-HuwlHQ3DyVhpK9GHgTMhJXD8Zp8PGIQVpQGYh/iTrEU6TVxdRC61BxIDZvfWatCaiG617Z/U8maRAFrqFM4TqA==", - "dev": true - }, - "@commitlint/ensure": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-8.2.0.tgz", - "integrity": "sha512-XZZih/kcRrqK7lEORbSYCfqQw6byfsFbLygRGVdJMlCPGu9E2MjpwCtoj5z7y/lKfUB3MJaBhzn2muJqS1gC6A==", + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.27.3.tgz", + "integrity": "sha512-s4Jrok82JpiaIprtY2nHsYmrThKvvwgHwjgd7UMiYhZaN0asdXNLr0y+NjTfkA7SyQE5i2Fb7eawUOZmLvyqOA==", "dev": true, - "requires": { - "lodash": "4.17.14" - }, + "license": "MIT", "dependencies": { - "lodash": { - "version": "4.17.14", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz", - "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==", - "dev": true - } + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@commitlint/execute-rule": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-8.2.0.tgz", - "integrity": "sha512-9MBRthHaulbWTa8ReG2Oii2qc117NuvzhZdnkuKuYLhker7sUXGFcVhLanuWUKGyfyI2o9zVr/NHsNbCCsTzAA==", - "dev": true - }, - "@commitlint/format": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-8.2.0.tgz", - "integrity": "sha512-sA77agkDEMsEMrlGhrLtAg8vRexkOofEEv/CZX+4xlANyAz2kNwJvMg33lcL65CBhqKEnRRJRxfZ1ZqcujdKcQ==", + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", + "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", "dev": true, - "requires": { - "chalk": "^2.0.1" + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@commitlint/is-ignored": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-8.2.0.tgz", - "integrity": "sha512-ADaGnKfbfV6KD1pETp0Qf7XAyc75xTy3WJlbvPbwZ4oPdBMsXF0oXEEGMis6qABfU2IXan5/KAJgAFX3vdd0jA==", + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", "dev": true, - "requires": { - "@types/semver": "^6.0.1", - "semver": "6.2.0" - }, + "license": "MIT", "dependencies": { - "semver": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz", - "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==", - "dev": true - } + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@commitlint/lint": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-8.2.0.tgz", - "integrity": "sha512-ch9JN8aR37ufdjoWv50jLfvFz9rWMgLW5HEkMGLsM/51gjekmQYS5NJg8S2+6F5+jmralAO7VkUMI6FukXKX0A==", + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", "dev": true, - "requires": { - "@commitlint/is-ignored": "^8.2.0", - "@commitlint/parse": "^8.2.0", - "@commitlint/rules": "^8.2.0", - "babel-runtime": "^6.23.0", - "lodash": "4.17.14" - }, + "license": "MIT", "dependencies": { - "lodash": { - "version": "4.17.14", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz", - "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==", - "dev": true - } + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@commitlint/load": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-8.2.0.tgz", - "integrity": "sha512-EV6PfAY/p83QynNd1llHxJiNxKmp43g8+7dZbyfHFbsGOdokrCnoelAVZ+WGgktXwLN/uXyfkcIAxwac015UYw==", + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", "dev": true, - "requires": { - "@commitlint/execute-rule": "^8.2.0", - "@commitlint/resolve-extends": "^8.2.0", - "babel-runtime": "^6.23.0", - "chalk": "2.4.2", - "cosmiconfig": "^5.2.0", - "lodash": "4.17.14", - "resolve-from": "^5.0.0" - }, + "license": "MIT", "dependencies": { - "lodash": { - "version": "4.17.14", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz", - "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==", - "dev": true - } + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@commitlint/message": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-8.2.0.tgz", - "integrity": "sha512-LNsSwDLIFgE3nb/Sb1PIluYNy4Q8igdf4tpJCdv5JJDf7CZCZt3ZTglj0YutZZorpRRuHJsVIB2+dI4bVH3bFw==", - "dev": true - }, - "@commitlint/parse": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-8.2.0.tgz", - "integrity": "sha512-vzouqroTXG6QXApkrps0gbeSYW6w5drpUk7QAeZIcaCSPsQXDM8eqqt98ZzlzLJHo5oPNXPX1AAVSTrssvHemA==", + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz", + "integrity": "sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==", "dev": true, - "requires": { - "conventional-changelog-angular": "^1.3.3", - "conventional-commits-parser": "^2.1.0", - "lodash": "^4.17.11" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@commitlint/read": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-8.2.0.tgz", - "integrity": "sha512-1tBai1VuSQmsOTsvJr3Fi/GZqX3zdxRqYe/yN4i3cLA5S2Y4QGJ5I3l6nGZlKgm/sSelTCVKHltrfWU8s5H7SA==", + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", "dev": true, - "requires": { - "@commitlint/top-level": "^8.2.0", - "@marionebl/sander": "^0.6.0", - "babel-runtime": "^6.23.0", - "git-raw-commits": "^1.3.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@commitlint/resolve-extends": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-8.2.0.tgz", - "integrity": "sha512-cwi0HUsDcD502HBP8huXfTkVuWmeo1Fiz3GKxNwMBBsJV4+bKa7QrtxbNpXhVuarX7QjWfNTvmW6KmFS7YK9uw==", + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", "dev": true, - "requires": { - "@types/node": "^12.0.2", - "import-fresh": "^3.0.0", - "lodash": "4.17.14", - "resolve-from": "^5.0.0", - "resolve-global": "^1.0.0" - }, + "license": "MIT", "dependencies": { - "lodash": { - "version": "4.17.14", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz", - "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==", - "dev": true - } + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@commitlint/rules": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-8.2.0.tgz", - "integrity": "sha512-FlqSBBP2Gxt5Ibw+bxdYpzqYR6HI8NIBpaTBhAjSEAduQtdWFMOhF0zsgkwH7lHN7opaLcnY2fXxAhbzTmJQQA==", + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", "dev": true, - "requires": { - "@commitlint/ensure": "^8.2.0", - "@commitlint/message": "^8.2.0", - "@commitlint/to-lines": "^8.2.0", - "babel-runtime": "^6.23.0" + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@commitlint/to-lines": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-8.2.0.tgz", - "integrity": "sha512-LXTYG3sMenlN5qwyTZ6czOULVcx46uMy+MEVqpvCgptqr/MZcV/C2J+S2o1DGwj1gOEFMpqrZaE3/1R2Q+N8ng==", - "dev": true - }, - "@commitlint/top-level": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-8.2.0.tgz", - "integrity": "sha512-Yaw4KmYNy31/HhRUuZ+fupFcDalnfpdu4JGBgGAqS9aBHdMSSWdWqtAaDaxdtWjTZeN3O0sA2gOhXwvKwiDwvw==", + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", + "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", "dev": true, - "requires": { - "find-up": "^4.0.0" - }, + "license": "MIT", "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - } + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@csstools/convert-colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", - "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==", - "dev": true - }, - "@jest/console": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", - "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", - "dev": true, - "requires": { - "@jest/source-map": "^24.9.0", - "chalk": "^2.0.1", - "slash": "^2.0.0" + "node_modules/@babel/plugin-transform-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/core": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz", - "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==", - "dev": true, - "requires": { - "@jest/console": "^24.7.1", - "@jest/reporters": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "graceful-fs": "^4.1.15", - "jest-changed-files": "^24.9.0", - "jest-config": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-resolve-dependencies": "^24.9.0", - "jest-runner": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "jest-watcher": "^24.9.0", - "micromatch": "^3.1.10", - "p-each-series": "^1.0.0", - "realpath-native": "^1.1.0", - "rimraf": "^2.5.4", - "slash": "^2.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz", + "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/environment": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", - "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", - "dev": true, - "requires": { - "@jest/fake-timers": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0" - } - }, - "@jest/fake-timers": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", - "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-mock": "^24.9.0" - } - }, - "@jest/reporters": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz", - "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==", - "dev": true, - "requires": { - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "glob": "^7.1.2", - "istanbul-lib-coverage": "^2.0.2", - "istanbul-lib-instrument": "^3.0.1", - "istanbul-lib-report": "^2.0.4", - "istanbul-lib-source-maps": "^3.0.1", - "istanbul-reports": "^2.2.6", - "jest-haste-map": "^24.9.0", - "jest-resolve": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.6.0", - "node-notifier": "^5.4.2", - "slash": "^2.0.0", - "source-map": "^0.6.0", - "string-length": "^2.0.0" - } - }, - "@jest/source-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", - "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", - "dev": true, - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.1.15", - "source-map": "^0.6.0" + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/test-result": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", - "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", "dev": true, - "requires": { - "@jest/console": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/istanbul-lib-coverage": "^2.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/test-sequencer": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz", - "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==", + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", + "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", "dev": true, - "requires": { - "@jest/test-result": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-runner": "^24.9.0", - "jest-runtime": "^24.9.0" + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/transform": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", - "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz", + "integrity": "sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==", "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^24.9.0", - "babel-plugin-istanbul": "^5.1.0", - "chalk": "^2.0.1", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.1.15", - "jest-haste-map": "^24.9.0", - "jest-regex-util": "^24.9.0", - "jest-util": "^24.9.0", - "micromatch": "^3.1.10", - "pirates": "^4.0.1", - "realpath-native": "^1.1.0", - "slash": "^2.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "2.4.1" + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/types": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", - "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^13.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@marionebl/sander": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@marionebl/sander/-/sander-0.6.1.tgz", - "integrity": "sha1-GViWWHTyS8Ub5Ih1/rUNZC/EH3s=", + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", "dev": true, - "requires": { - "graceful-fs": "^4.1.3", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.2" + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@nodelib/fs.scandir": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", - "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.3", - "run-parallel": "^1.1.9" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", - "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", + "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.3", - "fastq": "^1.6.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@samverschueren/stream-to-observable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz", - "integrity": "sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==", + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", + "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", "dev": true, - "requires": { - "any-observable": "^0.3.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@types/babel__core": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.3.tgz", - "integrity": "sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA==", + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.3.tgz", + "integrity": "sha512-7ZZtznF9g4l2JCImCo5LNKFHB5eXnN39lLtLY5Tg+VkR0jwOt7TBciMckuiQIOIW7L5tkQOCh3bVGYeXgMx52Q==", "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.27.3", + "@babel/plugin-transform-parameters": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@types/babel__generator": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.0.tgz", - "integrity": "sha512-c1mZUu4up5cp9KROs/QAw0gTeHrw/x7m52LcnvMxxOZ03DmLwPV0MlGmlgzV3cnSdjhJOZsj7E7FHeioai+egw==", + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", "dev": true, - "requires": { - "@babel/types": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@types/babel__template": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", - "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", + "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@types/babel__traverse": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.8.tgz", - "integrity": "sha512-yGeB2dHEdvxjP0y4UbRtQaSkXJ9649fYCmIdRoul5kfAoGCwxuCbMhag0k3RPfnuh9kPGm8x89btcfDEXdVWGw==", + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz", + "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==", "dev": true, - "requires": { - "@babel/types": "^7.3.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@types/events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", - "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", - "dev": true - }, - "@types/glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", - "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.1.tgz", + "integrity": "sha512-018KRk76HWKeZ5l4oTj2zPpSh+NbGdt0st5S6x0pga6HgrjBOJb24mMDHorFopOOd6YHkLgOZ+zaCjZGPO4aKg==", "dev": true, - "requires": { - "@types/events": "*", - "@types/minimatch": "*", - "@types/node": "*" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@types/istanbul-lib-coverage": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", - "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", - "integrity": "sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==", + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", + "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@types/istanbul-reports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz", - "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==", + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", + "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "@types/node": { - "version": "12.12.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.14.tgz", - "integrity": "sha512-u/SJDyXwuihpwjXy7hOOghagLEV1KdAST6syfnOk6QZAMzZuWZqXy5aYYZbh8Jdpd4escVFP0MvftHNDb9pruA==", - "dev": true - }, - "@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", - "dev": true - }, - "@types/semver": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.2.0.tgz", - "integrity": "sha512-1OzrNb4RuAzIT7wHSsgZRlMBlNsJl+do6UblR7JMW4oB7bbR+uBEYtUh7gEc/jM84GGilh68lSOokyM/zNUlBA==", - "dev": true - }, - "@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", - "dev": true - }, - "@types/yargs": { - "version": "13.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.3.tgz", - "integrity": "sha512-K8/LfZq2duW33XW/tFwEAfnZlqIfVsoyRB3kfXdPXYhl0nfM8mmh7GS0jg7WrX2Dgq/0Ha/pR1PaR+BvmWwjiQ==", + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", "dev": true, - "requires": { - "@types/yargs-parser": "*" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@types/yargs-parser": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-13.1.0.tgz", - "integrity": "sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg==", - "dev": true - }, - "@webassemblyjs/ast": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", - "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", - "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", - "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", - "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", - "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.8.5" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", - "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", - "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "mamacro": "^0.0.3" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", - "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", - "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", - "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.5.tgz", + "integrity": "sha512-uhB8yHerfe3MWnuLAhEbeQ4afVoqv8BQsPqrTv7e/jZ9y00kJL6l9a/f4OWaKxotmjzewfEyXE1vgDJenkQ2/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@webassemblyjs/leb128": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", - "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", + "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", "dev": true, - "requires": { - "@xtuc/long": "4.2.2" + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@webassemblyjs/utf8": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", - "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", - "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/helper-wasm-section": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-opt": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "@webassemblyjs/wast-printer": "1.8.5" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", - "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", - "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", - "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", - "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/floating-point-hex-parser": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-code-frame": "1.8.5", - "@webassemblyjs/helper-fsm": "1.8.5", - "@xtuc/long": "4.2.2" + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@webassemblyjs/wast-printer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", - "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5", - "@xtuc/long": "4.2.2" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@webpack-contrib/defaults": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@webpack-contrib/defaults/-/defaults-5.1.1.tgz", - "integrity": "sha512-UvWJSpCBVzDpCASLhBuiSw/S5i57Z3FqO5X2cRqkvDR6TlhaPp0cXLr7R83xyRs2+eZ5pyl9UnP8HtSJx1s7Fw==", - "dev": true, - "requires": { - "chalk": "^2.3.0", - "git-username": "^1.0.0", - "loader-utils": "^1.2.3", - "mrm-core": "^3.1.1", - "path-exists": "^4.0.0", - "schema-utils": "^1.0.0", - "user-meta": "^1.0.0" - }, - "dependencies": { - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } + "node_modules/@babel/plugin-transform-spread": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", + "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@webpack-contrib/eslint-config-webpack": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@webpack-contrib/eslint-config-webpack/-/eslint-config-webpack-3.0.0.tgz", - "integrity": "sha512-3f0dwuTZ1JZpnoGQ6tAKBWluZKZZBXr1ADoaOAbPiW0OvSN7o0wXFLGyfw6J+fW756xIkZLZ8JDYP5zInIRvBA==", - "dev": true - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "abab": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", - "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==", - "dev": true - }, - "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", - "dev": true - }, - "acorn-globals": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", - "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", "dev": true, - "requires": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "acorn-jsx": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", - "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", - "dev": true - }, - "acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", - "dev": true - }, - "aggregate-error": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", - "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, + "license": "MIT", "dependencies": { - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - } + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "ajv": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", - "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true - }, - "ajv-keywords": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", - "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==" - }, - "ansi": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", - "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=", - "dev": true - }, - "ansi-escapes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", + "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "any-observable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", - "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==", - "dev": true - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", + "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/@babel/preset-env": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.27.2.tgz", + "integrity": "sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ==", "dev": true, - "requires": { - "sprintf-js": "~1.0.2" + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.27.1", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.27.1", + "@babel/plugin-syntax-import-attributes": "^7.27.1", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.27.1", + "@babel/plugin-transform-async-to-generator": "^7.27.1", + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.27.1", + "@babel/plugin-transform-class-properties": "^7.27.1", + "@babel/plugin-transform-class-static-block": "^7.27.1", + "@babel/plugin-transform-classes": "^7.27.1", + "@babel/plugin-transform-computed-properties": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.27.1", + "@babel/plugin-transform-dotall-regex": "^7.27.1", + "@babel/plugin-transform-duplicate-keys": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-exponentiation-operator": "^7.27.1", + "@babel/plugin-transform-export-namespace-from": "^7.27.1", + "@babel/plugin-transform-for-of": "^7.27.1", + "@babel/plugin-transform-function-name": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.27.1", + "@babel/plugin-transform-literals": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.27.1", + "@babel/plugin-transform-member-expression-literals": "^7.27.1", + "@babel/plugin-transform-modules-amd": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-modules-systemjs": "^7.27.1", + "@babel/plugin-transform-modules-umd": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-new-target": "^7.27.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", + "@babel/plugin-transform-numeric-separator": "^7.27.1", + "@babel/plugin-transform-object-rest-spread": "^7.27.2", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1", + "@babel/plugin-transform-parameters": "^7.27.1", + "@babel/plugin-transform-private-methods": "^7.27.1", + "@babel/plugin-transform-private-property-in-object": "^7.27.1", + "@babel/plugin-transform-property-literals": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.27.1", + "@babel/plugin-transform-regexp-modifiers": "^7.27.1", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.27.1", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.27.1", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.11.0", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.40.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", - "dev": true - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "array-ify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", - "dev": true - }, - "array-includes": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", - "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.7.0" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", "dev": true, - "requires": { - "safer-buffer": "~2.1.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "node_modules/@babel/traverse": { + "version": "7.27.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.4.tgz", + "integrity": "sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==", "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.3", + "@babel/parser": "^7.27.4", + "@babel/template": "^7.27.2", + "@babel/types": "^7.27.3", + "debug": "^4.3.1", + "globals": "^11.1.0" }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.6.tgz", + "integrity": "sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==", + "dev": true, + "license": "MIT", "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true, + "license": "MIT" }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true - }, - "async": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", - "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=", - "dev": true - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "autoprefixer": { - "version": "9.7.2", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.2.tgz", - "integrity": "sha512-LCAfcdej1182uVvPOZnytbq61AhnOZ/4JelDaJGDeNwewyU1AMaNthcHsyz1NRjTmd2FkurMckLWfkHg3Z//KA==", - "dev": true, - "requires": { - "browserslist": "^4.7.3", - "caniuse-lite": "^1.0.30001010", - "chalk": "^2.4.2", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.23", - "postcss-value-parser": "^4.0.2" + "node_modules/@colors/colors": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.1.90" } }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz", - "integrity": "sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==", - "dev": true - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "node_modules/@commitlint/cli": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-19.8.1.tgz", + "integrity": "sha512-LXUdNIkspyxrlV6VDHWBmCZRtkEVRpBKxi2Gtw3J54cGWhLCTouVD/Q6ZSaSvd2YaDObWK8mDjrz3TIKtaQMAA==", "dev": true, - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, + "license": "MIT", "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } + "@commitlint/format": "^19.8.1", + "@commitlint/lint": "^19.8.1", + "@commitlint/load": "^19.8.1", + "@commitlint/read": "^19.8.1", + "@commitlint/types": "^19.8.1", + "tinyexec": "^1.0.0", + "yargs": "^17.0.0" + }, + "bin": { + "commitlint": "cli.js" + }, + "engines": { + "node": ">=v18" } }, - "babel-jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", - "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", + "node_modules/@commitlint/config-conventional": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-19.8.1.tgz", + "integrity": "sha512-/AZHJL6F6B/G959CsMAzrPKKZjeEiAVifRyEwXxcT6qtqbPwGw+iQxmNS+Bu+i09OCtdNRW6pNpBvgPrtMr9EQ==", "dev": true, - "requires": { - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/babel__core": "^7.1.0", - "babel-plugin-istanbul": "^5.1.0", - "babel-preset-jest": "^24.9.0", - "chalk": "^2.4.2", - "slash": "^2.0.0" + "license": "MIT", + "dependencies": { + "@commitlint/types": "^19.8.1", + "conventional-changelog-conventionalcommits": "^7.0.2" + }, + "engines": { + "node": ">=v18" } }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", - "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "node_modules/@commitlint/config-validator": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-19.8.1.tgz", + "integrity": "sha512-0jvJ4u+eqGPBIzzSdqKNX1rvdbSU1lPNYlfQQRIFnBgLy26BtC0cFnr7c/AyuzExMxWsMOte6MkTi9I3SQ3iGQ==", "dev": true, - "requires": { - "object.assign": "^4.1.0" + "license": "MIT", + "dependencies": { + "@commitlint/types": "^19.8.1", + "ajv": "^8.11.0" + }, + "engines": { + "node": ">=v18" } }, - "babel-plugin-istanbul": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", - "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", + "node_modules/@commitlint/config-validator/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "find-up": "^3.0.0", - "istanbul-lib-instrument": "^3.3.0", - "test-exclude": "^5.2.3" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - } + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "babel-plugin-jest-hoist": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", - "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", + "node_modules/@commitlint/config-validator/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true, - "requires": { - "@types/babel__traverse": "^7.0.6" - } + "license": "MIT" }, - "babel-polyfill": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", - "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", + "node_modules/@commitlint/ensure": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-19.8.1.tgz", + "integrity": "sha512-mXDnlJdvDzSObafjYrOSvZBwkD01cqB4gbnnFuVyNpGUM5ijwU/r/6uqUmBXAAOKRfyEjpkGVZxaDsCVnHAgyw==", "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "regenerator-runtime": "^0.10.5" - }, + "license": "MIT", "dependencies": { - "regenerator-runtime": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", - "dev": true - } + "@commitlint/types": "^19.8.1", + "lodash.camelcase": "^4.3.0", + "lodash.kebabcase": "^4.1.1", + "lodash.snakecase": "^4.1.1", + "lodash.startcase": "^4.4.0", + "lodash.upperfirst": "^4.3.1" + }, + "engines": { + "node": ">=v18" } }, - "babel-preset-jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", - "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", + "node_modules/@commitlint/execute-rule": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-19.8.1.tgz", + "integrity": "sha512-YfJyIqIKWI64Mgvn/sE7FXvVMQER/Cd+s3hZke6cI1xgNT/f6ZAz5heND0QtffH+KbcqAwXDEE1/5niYayYaQA==", "dev": true, - "requires": { - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "babel-plugin-jest-hoist": "^24.9.0" + "license": "MIT", + "engines": { + "node": ">=v18" } }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "node_modules/@commitlint/format": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-19.8.1.tgz", + "integrity": "sha512-kSJj34Rp10ItP+Eh9oCItiuN/HwGQMXBnIRk69jdOwEW9llW9FlyqcWYbHPSGofmjsqeoxa38UaEA5tsbm2JWw==", "dev": true, - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "license": "MIT", + "dependencies": { + "@commitlint/types": "^19.8.1", + "chalk": "^5.3.0" + }, + "engines": { + "node": ">=v18" } }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "node_modules/@commitlint/is-ignored": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-19.8.1.tgz", + "integrity": "sha512-AceOhEhekBUQ5dzrVhDDsbMaY5LqtN8s1mqSnT2Kz1ERvVZkNihrs3Sfk1Je/rxRNbXYFzKZSHaPsEJJDJV8dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^19.8.1", + "semver": "^7.6.0" + }, + "engines": { + "node": ">=v18" } }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "node_modules/@commitlint/lint": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-19.8.1.tgz", + "integrity": "sha512-52PFbsl+1EvMuokZXLRlOsdcLHf10isTPlWwoY1FQIidTsTvjKXVXYb7AvtpWkDzRO2ZsqIgPK7bI98x8LRUEw==", "dev": true, - "requires": { - "tweetnacl": "^0.14.3" + "license": "MIT", + "dependencies": { + "@commitlint/is-ignored": "^19.8.1", + "@commitlint/parse": "^19.8.1", + "@commitlint/rules": "^19.8.1", + "@commitlint/types": "^19.8.1" + }, + "engines": { + "node": ">=v18" } }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true - }, - "bluebird": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", - "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==", - "dev": true - }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "node_modules/@commitlint/load": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-19.8.1.tgz", + "integrity": "sha512-9V99EKG3u7z+FEoe4ikgq7YGRCSukAcvmKQuTtUyiYPnOd9a2/H9Ak1J9nJA1HChRQp9OA/sIKPugGS+FK/k1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/config-validator": "^19.8.1", + "@commitlint/execute-rule": "^19.8.1", + "@commitlint/resolve-extends": "^19.8.1", + "@commitlint/types": "^19.8.1", + "chalk": "^5.3.0", + "cosmiconfig": "^9.0.0", + "cosmiconfig-typescript-loader": "^6.1.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0" + }, + "engines": { + "node": ">=v18" } }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "node_modules/@commitlint/message": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-19.8.1.tgz", + "integrity": "sha512-+PMLQvjRXiU+Ae0Wc+p99EoGEutzSXFVwQfa3jRNUZLNW5odZAyseb92OSBTKCu+9gGZiJASt76Cj3dLTtcTdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=v18" } }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browser-process-hrtime": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", - "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==", - "dev": true - }, - "browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "node_modules/@commitlint/parse": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-19.8.1.tgz", + "integrity": "sha512-mmAHYcMBmAgJDKWdkjIGq50X4yB0pSGpxyOODwYmoexxxiUCy5JJT99t1+PEMK7KtsCtzuWYIAXYAiKR+k+/Jw==", "dev": true, - "requires": { - "resolve": "1.1.7" - }, + "license": "MIT", "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - } + "@commitlint/types": "^19.8.1", + "conventional-changelog-angular": "^7.0.0", + "conventional-commits-parser": "^5.0.0" + }, + "engines": { + "node": ">=v18" } }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "node_modules/@commitlint/read": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-19.8.1.tgz", + "integrity": "sha512-03Jbjb1MqluaVXKHKRuGhcKWtSgh3Jizqy2lJCRbRrnWpcM06MYm8th59Xcns8EqBYvo0Xqb+2DoZFlga97uXQ==", "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "license": "MIT", + "dependencies": { + "@commitlint/top-level": "^19.8.1", + "@commitlint/types": "^19.8.1", + "git-raw-commits": "^4.0.0", + "minimist": "^1.2.8", + "tinyexec": "^1.0.0" + }, + "engines": { + "node": ">=v18" } }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "node_modules/@commitlint/resolve-extends": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-19.8.1.tgz", + "integrity": "sha512-GM0mAhFk49I+T/5UCYns5ayGStkTt4XFFrjjf0L4S26xoMTSkdCf9ZRO8en1kuopC4isDFuEm7ZOm/WRVeElVg==", "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "license": "MIT", + "dependencies": { + "@commitlint/config-validator": "^19.8.1", + "@commitlint/types": "^19.8.1", + "global-directory": "^4.0.1", + "import-meta-resolve": "^4.0.0", + "lodash.mergewith": "^4.6.2", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=v18" } }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "node_modules/@commitlint/rules": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-19.8.1.tgz", + "integrity": "sha512-Hnlhd9DyvGiGwjfjfToMi1dsnw1EXKGJNLTcsuGORHz6SS9swRgkBsou33MQ2n51/boIDrbsg4tIBbRpEWK2kw==", "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "license": "MIT", + "dependencies": { + "@commitlint/ensure": "^19.8.1", + "@commitlint/message": "^19.8.1", + "@commitlint/to-lines": "^19.8.1", + "@commitlint/types": "^19.8.1" + }, + "engines": { + "node": ">=v18" } }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "node_modules/@commitlint/to-lines": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-19.8.1.tgz", + "integrity": "sha512-98Mm5inzbWTKuZQr2aW4SReY6WUukdWXuZhrqf1QdKPZBCCsXuG87c+iP0bwtD6DBnmVVQjgp4whoHRVixyPBg==", "dev": true, - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" + "license": "MIT", + "engines": { + "node": ">=v18" } }, - "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "node_modules/@commitlint/top-level": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-19.8.1.tgz", + "integrity": "sha512-Ph8IN1IOHPSDhURCSXBz44+CIu+60duFwRsg6HqaISFHQHbmBtxVw4ZrFNIYUzEP7WwrNPxa2/5qJ//NK1FGcw==", "dev": true, - "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" + "license": "MIT", + "dependencies": { + "find-up": "^7.0.0" + }, + "engines": { + "node": ">=v18" } }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "node_modules/@commitlint/types": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-19.8.1.tgz", + "integrity": "sha512-/yCrWGCoA1SVKOks25EGadP9Pnj0oAIHGpl2wH2M2Y46dPM2ueb8wyCVOD7O3WCTkaJ0IkKvzhl1JY7+uCT2Dw==", "dev": true, - "requires": { - "pako": "~1.0.5" + "license": "MIT", + "dependencies": { + "@types/conventional-commits-parser": "^5.0.0", + "chalk": "^5.3.0" + }, + "engines": { + "node": ">=v18" } }, - "browserslist": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.3.tgz", - "integrity": "sha512-jWvmhqYpx+9EZm/FxcZSbUZyDEvDTLDi3nSAKbzEkyWvtI0mNSmUosey+5awDW1RUlrgXbQb5A6qY1xQH9U6MQ==", + "node_modules/@cspell/cspell-bundled-dicts": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-8.19.4.tgz", + "integrity": "sha512-2ZRcZP/ncJ5q953o8i+R0fb8+14PDt5UefUNMrFZZHvfTI0jukAASOQeLY+WT6ASZv6CgbPrApAdbppy9FaXYQ==", "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001010", - "electron-to-chromium": "^1.3.306", - "node-releases": "^1.1.40" + "license": "MIT", + "dependencies": { + "@cspell/dict-ada": "^4.1.0", + "@cspell/dict-al": "^1.1.0", + "@cspell/dict-aws": "^4.0.10", + "@cspell/dict-bash": "^4.2.0", + "@cspell/dict-companies": "^3.1.15", + "@cspell/dict-cpp": "^6.0.8", + "@cspell/dict-cryptocurrencies": "^5.0.4", + "@cspell/dict-csharp": "^4.0.6", + "@cspell/dict-css": "^4.0.17", + "@cspell/dict-dart": "^2.3.0", + "@cspell/dict-data-science": "^2.0.8", + "@cspell/dict-django": "^4.1.4", + "@cspell/dict-docker": "^1.1.13", + "@cspell/dict-dotnet": "^5.0.9", + "@cspell/dict-elixir": "^4.0.7", + "@cspell/dict-en_us": "^4.4.3", + "@cspell/dict-en-common-misspellings": "^2.0.10", + "@cspell/dict-en-gb": "1.1.33", + "@cspell/dict-filetypes": "^3.0.11", + "@cspell/dict-flutter": "^1.1.0", + "@cspell/dict-fonts": "^4.0.4", + "@cspell/dict-fsharp": "^1.1.0", + "@cspell/dict-fullstack": "^3.2.6", + "@cspell/dict-gaming-terms": "^1.1.1", + "@cspell/dict-git": "^3.0.4", + "@cspell/dict-golang": "^6.0.20", + "@cspell/dict-google": "^1.0.8", + "@cspell/dict-haskell": "^4.0.5", + "@cspell/dict-html": "^4.0.11", + "@cspell/dict-html-symbol-entities": "^4.0.3", + "@cspell/dict-java": "^5.0.11", + "@cspell/dict-julia": "^1.1.0", + "@cspell/dict-k8s": "^1.0.10", + "@cspell/dict-kotlin": "^1.1.0", + "@cspell/dict-latex": "^4.0.3", + "@cspell/dict-lorem-ipsum": "^4.0.4", + "@cspell/dict-lua": "^4.0.7", + "@cspell/dict-makefile": "^1.0.4", + "@cspell/dict-markdown": "^2.0.10", + "@cspell/dict-monkeyc": "^1.0.10", + "@cspell/dict-node": "^5.0.7", + "@cspell/dict-npm": "^5.2.1", + "@cspell/dict-php": "^4.0.14", + "@cspell/dict-powershell": "^5.0.14", + "@cspell/dict-public-licenses": "^2.0.13", + "@cspell/dict-python": "^4.2.17", + "@cspell/dict-r": "^2.1.0", + "@cspell/dict-ruby": "^5.0.8", + "@cspell/dict-rust": "^4.0.11", + "@cspell/dict-scala": "^5.0.7", + "@cspell/dict-shell": "^1.1.0", + "@cspell/dict-software-terms": "^5.0.5", + "@cspell/dict-sql": "^2.2.0", + "@cspell/dict-svelte": "^1.0.6", + "@cspell/dict-swift": "^2.0.5", + "@cspell/dict-terraform": "^1.1.1", + "@cspell/dict-typescript": "^3.2.1", + "@cspell/dict-vue": "^3.0.4" + }, + "engines": { + "node": ">=18" } }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "node_modules/@cspell/cspell-json-reporter": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/@cspell/cspell-json-reporter/-/cspell-json-reporter-8.19.4.tgz", + "integrity": "sha512-pOlUtLUmuDdTIOhDTvWxxta0Wm8RCD/p1V0qUqeP6/Ups1ajBI4FWEpRFd7yMBTUHeGeSNicJX5XeX7wNbAbLQ==", "dev": true, - "requires": { - "node-int64": "^0.4.0" + "license": "MIT", + "dependencies": { + "@cspell/cspell-types": "8.19.4" + }, + "engines": { + "node": ">=18" } }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "node_modules/@cspell/cspell-pipe": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-8.19.4.tgz", + "integrity": "sha512-GNAyk+7ZLEcL2fCMT5KKZprcdsq3L1eYy3e38/tIeXfbZS7Sd1R5FXUe6CHXphVWTItV39TvtLiDwN/2jBts9A==", "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "cacache": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", - "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } + "license": "MIT", + "engines": { + "node": ">=18" } }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "node_modules/@cspell/cspell-resolver": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/@cspell/cspell-resolver/-/cspell-resolver-8.19.4.tgz", + "integrity": "sha512-S8vJMYlsx0S1D60glX8H2Jbj4mD8519VjyY8lu3fnhjxfsl2bDFZvF3ZHKsLEhBE+Wh87uLqJDUJQiYmevHjDg==", "dev": true, - "requires": { - "callsites": "^2.0.0" - }, + "license": "MIT", "dependencies": { - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - } + "global-directory": "^4.0.1" + }, + "engines": { + "node": ">=18" } }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "node_modules/@cspell/cspell-service-bus": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/@cspell/cspell-service-bus/-/cspell-service-bus-8.19.4.tgz", + "integrity": "sha512-uhY+v8z5JiUogizXW2Ft/gQf3eWrh5P9036jN2Dm0UiwEopG/PLshHcDjRDUiPdlihvA0RovrF0wDh4ptcrjuQ==", "dev": true, - "requires": { - "caller-callsite": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">=18" } }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "node_modules/@cspell/cspell-types": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-8.19.4.tgz", + "integrity": "sha512-ekMWuNlFiVGfsKhfj4nmc8JCA+1ZltwJgxiKgDuwYtR09ie340RfXFF6YRd2VTW5zN7l4F1PfaAaPklVz6utSg==", "dev": true, - "requires": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - } + "license": "MIT", + "engines": { + "node": ">=18" } }, - "caniuse-lite": { - "version": "1.0.30001012", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001012.tgz", - "integrity": "sha512-7RR4Uh04t9K1uYRWzOJmzplgEOAXbfK72oVNokCdMzA67trrhPzy93ahKk1AWHiA0c58tD2P+NHqxrA8FZ+Trg==", - "dev": true - }, - "caporal": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/caporal/-/caporal-1.3.0.tgz", - "integrity": "sha512-4bj21UXbEu5cF+1gVjhwwRqMhY3lR7CUTlBr6YX3uzftL4l/sbu8EoHfOLZWHr+HeiosW9fTWkQCS2UZMAk5lw==", + "node_modules/@cspell/dict-ada": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-ada/-/dict-ada-4.1.0.tgz", + "integrity": "sha512-7SvmhmX170gyPd+uHXrfmqJBY5qLcCX8kTGURPVeGxmt8XNXT75uu9rnZO+jwrfuU2EimNoArdVy5GZRGljGNg==", "dev": true, - "requires": { - "bluebird": "^3.4.7", - "cli-table3": "^0.5.0", - "colorette": "^1.0.1", - "fast-levenshtein": "^2.0.6", - "lodash": "^4.17.14", - "micromist": "1.1.0", - "prettyjson": "^1.2.1", - "tabtab": "^2.2.2", - "winston": "^2.3.1" - } + "license": "MIT" }, - "capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "node_modules/@cspell/dict-al": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-al/-/dict-al-1.1.0.tgz", + "integrity": "sha512-PtNI1KLmYkELYltbzuoztBxfi11jcE9HXBHCpID2lou/J4VMYKJPNqe4ZjVzSI9NYbMnMnyG3gkbhIdx66VSXg==", "dev": true, - "requires": { - "rsvp": "^4.8.4" - } + "license": "MIT" }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true + "node_modules/@cspell/dict-aws": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/@cspell/dict-aws/-/dict-aws-4.0.10.tgz", + "integrity": "sha512-0qW4sI0GX8haELdhfakQNuw7a2pnWXz3VYQA2MpydH2xT2e6EN9DWFpKAi8DfcChm8MgDAogKkoHtIo075iYng==", + "dev": true, + "license": "MIT" }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, + "node_modules/@cspell/dict-bash": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-bash/-/dict-bash-4.2.0.tgz", + "integrity": "sha512-HOyOS+4AbCArZHs/wMxX/apRkjxg6NDWdt0jF9i9XkvJQUltMwEhyA2TWYjQ0kssBsnof+9amax2lhiZnh3kCg==", + "dev": true, + "license": "MIT", "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } + "@cspell/dict-shell": "1.1.0" } }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true + "node_modules/@cspell/dict-companies": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-companies/-/dict-companies-3.2.1.tgz", + "integrity": "sha512-ryaeJ1KhTTKL4mtinMtKn8wxk6/tqD4vX5tFP+Hg89SiIXmbMk5vZZwVf+eyGUWJOyw5A1CVj9EIWecgoi+jYQ==", + "dev": true, + "license": "MIT" }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "node_modules/@cspell/dict-cpp": { + "version": "6.0.8", + "resolved": "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-6.0.8.tgz", + "integrity": "sha512-BzurRZilWqaJt32Gif6/yCCPi+FtrchjmnehVEIFzbWyeBd/VOUw77IwrEzehZsu5cRU91yPWuWp5fUsKfDAXA==", "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } + "license": "MIT" }, - "chownr": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", - "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", - "dev": true + "node_modules/@cspell/dict-cryptocurrencies": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@cspell/dict-cryptocurrencies/-/dict-cryptocurrencies-5.0.4.tgz", + "integrity": "sha512-6iFu7Abu+4Mgqq08YhTKHfH59mpMpGTwdzDB2Y8bbgiwnGFCeoiSkVkgLn1Kel2++hYcZ8vsAW/MJS9oXxuMag==", + "dev": true, + "license": "MIT" }, - "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "node_modules/@cspell/dict-csharp": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@cspell/dict-csharp/-/dict-csharp-4.0.6.tgz", + "integrity": "sha512-w/+YsqOknjQXmIlWDRmkW+BHBPJZ/XDrfJhZRQnp0wzpPOGml7W0q1iae65P2AFRtTdPKYmvSz7AL5ZRkCnSIw==", "dev": true, - "requires": { - "tslib": "^1.9.0" - } + "license": "MIT" }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true + "node_modules/@cspell/dict-css": { + "version": "4.0.17", + "resolved": "https://registry.npmjs.org/@cspell/dict-css/-/dict-css-4.0.17.tgz", + "integrity": "sha512-2EisRLHk6X/PdicybwlajLGKF5aJf4xnX2uuG5lexuYKt05xV/J/OiBADmi8q9obhxf1nesrMQbqAt+6CsHo/w==", + "dev": true, + "license": "MIT" }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "node_modules/@cspell/dict-dart": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-dart/-/dict-dart-2.3.0.tgz", + "integrity": "sha512-1aY90lAicek8vYczGPDKr70pQSTQHwMFLbmWKTAI6iavmb1fisJBS1oTmMOKE4ximDf86MvVN6Ucwx3u/8HqLg==", "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } + "license": "MIT" }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } + "node_modules/@cspell/dict-data-science": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@cspell/dict-data-science/-/dict-data-science-2.0.8.tgz", + "integrity": "sha512-uyAtT+32PfM29wRBeAkUSbkytqI8bNszNfAz2sGPtZBRmsZTYugKMEO9eDjAIE/pnT9CmbjNuoiXhk+Ss4fCOg==", + "dev": true, + "license": "MIT" }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true + "node_modules/@cspell/dict-django": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@cspell/dict-django/-/dict-django-4.1.4.tgz", + "integrity": "sha512-fX38eUoPvytZ/2GA+g4bbdUtCMGNFSLbdJJPKX2vbewIQGfgSFJKY56vvcHJKAvw7FopjvgyS/98Ta9WN1gckg==", + "dev": true, + "license": "MIT" }, - "cli-cursor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "node_modules/@cspell/dict-docker": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/@cspell/dict-docker/-/dict-docker-1.1.14.tgz", + "integrity": "sha512-p6Qz5mokvcosTpDlgSUREdSbZ10mBL3ndgCdEKMqjCSZJFdfxRdNdjrGER3lQ6LMq5jGr1r7nGXA0gvUJK80nw==", "dev": true, - "requires": { - "restore-cursor": "^1.0.1" - } + "license": "MIT" }, - "cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "node_modules/@cspell/dict-dotnet": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@cspell/dict-dotnet/-/dict-dotnet-5.0.9.tgz", + "integrity": "sha512-JGD6RJW5sHtO5lfiJl11a5DpPN6eKSz5M1YBa1I76j4dDOIqgZB6rQexlDlK1DH9B06X4GdDQwdBfnpAB0r2uQ==", "dev": true, - "requires": { - "colors": "^1.1.2", - "object-assign": "^4.1.0", - "string-width": "^2.1.1" - } + "license": "MIT" }, - "cli-truncate": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", - "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", - "dev": true, - "requires": { - "slice-ansi": "0.0.4", - "string-width": "^1.0.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", - "dev": true - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } + "node_modules/@cspell/dict-elixir": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@cspell/dict-elixir/-/dict-elixir-4.0.7.tgz", + "integrity": "sha512-MAUqlMw73mgtSdxvbAvyRlvc3bYnrDqXQrx5K9SwW8F7fRYf9V4vWYFULh+UWwwkqkhX9w03ZqFYRTdkFku6uA==", + "dev": true, + "license": "MIT" }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true + "node_modules/@cspell/dict-en_us": { + "version": "4.4.11", + "resolved": "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-4.4.11.tgz", + "integrity": "sha512-ls3ASwIL0uuAEXsxB7NsIe6GRBQ+NZfqI5k1qtNgOZ1eh1MFYjCiF+YcqArH5SFHNzOwCHRKzlLeX0ZFIok7GQ==", + "dev": true, + "license": "MIT" }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "node_modules/@cspell/dict-en-common-misspellings": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-en-common-misspellings/-/dict-en-common-misspellings-2.1.0.tgz", + "integrity": "sha512-81NUjPIH+nvNIHCRbbMVSqPPLQUqidF/l8JdlY4OFO0W253yDIk1zaZJpJ8crwYRhOLBVBnUUfm7KYx9F2V7Zg==", "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } + "license": "CC BY-SA 4.0" }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "node_modules/@cspell/dict-en-gb": { + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/@cspell/dict-en-gb/-/dict-en-gb-1.1.33.tgz", + "integrity": "sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==", "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } + "license": "MIT" }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true + "node_modules/@cspell/dict-filetypes": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@cspell/dict-filetypes/-/dict-filetypes-3.0.12.tgz", + "integrity": "sha512-+ds5wgNdlUxuJvhg8A1TjuSpalDFGCh7SkANCWvIplg6QZPXL4j83lqxP7PgjHpx7PsBUS7vw0aiHPjZy9BItw==", + "dev": true, + "license": "MIT" }, - "code-point-at": { + "node_modules/@cspell/dict-flutter": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true + "resolved": "https://registry.npmjs.org/@cspell/dict-flutter/-/dict-flutter-1.1.0.tgz", + "integrity": "sha512-3zDeS7zc2p8tr9YH9tfbOEYfopKY/srNsAa+kE3rfBTtQERAZeOhe5yxrnTPoufctXLyuUtcGMUTpxr3dO0iaA==", + "dev": true, + "license": "MIT" }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "node_modules/@cspell/dict-fonts": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@cspell/dict-fonts/-/dict-fonts-4.0.4.tgz", + "integrity": "sha512-cHFho4hjojBcHl6qxidl9CvUb492IuSk7xIf2G2wJzcHwGaCFa2o3gRcxmIg1j62guetAeDDFELizDaJlVRIOg==", "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } + "license": "MIT" }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } + "node_modules/@cspell/dict-fsharp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-fsharp/-/dict-fsharp-1.1.0.tgz", + "integrity": "sha512-oguWmHhGzgbgbEIBKtgKPrFSVAFtvGHaQS0oj+vacZqMObwkapcTGu7iwf4V3Bc2T3caf0QE6f6rQfIJFIAVsw==", + "dev": true, + "license": "MIT" }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "node_modules/@cspell/dict-fullstack": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/@cspell/dict-fullstack/-/dict-fullstack-3.2.6.tgz", + "integrity": "sha512-cSaq9rz5RIU9j+0jcF2vnKPTQjxGXclntmoNp4XB7yFX2621PxJcekGjwf/lN5heJwVxGLL9toR0CBlGKwQBgA==", + "dev": true, + "license": "MIT" }, - "colorette": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.1.0.tgz", - "integrity": "sha512-6S062WDQUXi6hOfkO/sBPVwE5ASXY4G2+b4atvhJfSsuUUhIaUKlkjLe9692Ipyt5/a+IPF5aVTu3V5gvXq5cg==", - "dev": true + "node_modules/@cspell/dict-gaming-terms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-gaming-terms/-/dict-gaming-terms-1.1.1.tgz", + "integrity": "sha512-tb8GFxjTLDQstkJcJ90lDqF4rKKlMUKs5/ewePN9P+PYRSehqDpLI5S5meOfPit8LGszeOrjUdBQ4zXo7NpMyQ==", + "dev": true, + "license": "MIT" }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true + "node_modules/@cspell/dict-git": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@cspell/dict-git/-/dict-git-3.0.6.tgz", + "integrity": "sha512-nazfOqyxlBOQGgcur9ssEOEQCEZkH8vXfQe8SDEx8sCN/g0SFm8ktabgLVmBOXjy3RzjVNLlM2nBfRQ7e6+5hQ==", + "dev": true, + "license": "MIT" }, - "combined-stream": { + "node_modules/@cspell/dict-golang": { + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/@cspell/dict-golang/-/dict-golang-6.0.22.tgz", + "integrity": "sha512-FvV0m3Y0nUFxw36uDCD8UtfOPv4wsZnnlabNwB3xNZ2IBn0gBURuMUZywScb9sd2wXM8VFBRoU//tc6NQsOVOg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-google": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "resolved": "https://registry.npmjs.org/@cspell/dict-google/-/dict-google-1.0.8.tgz", + "integrity": "sha512-BnMHgcEeaLyloPmBs8phCqprI+4r2Jb8rni011A8hE+7FNk7FmLE3kiwxLFrcZnnb7eqM0agW4zUaNoB0P+z8A==", "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } + "license": "MIT" }, - "commander": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.0.1.tgz", - "integrity": "sha512-IPF4ouhCP+qdlcmCedhxX4xiGBPyigb8v5NeUp+0LyhwLgxMqyp3S0vl7TAPfS/hiP7FC3caI/PB9lTmP8r1NA==", - "dev": true + "node_modules/@cspell/dict-haskell": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-haskell/-/dict-haskell-4.0.5.tgz", + "integrity": "sha512-s4BG/4tlj2pPM9Ha7IZYMhUujXDnI0Eq1+38UTTCpatYLbQqDwRFf2KNPLRqkroU+a44yTUAe0rkkKbwy4yRtQ==", + "dev": true, + "license": "MIT" }, - "comment-json": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-1.1.3.tgz", - "integrity": "sha1-aYbDMw/uDEyeAMI5jNYa+l2PI54=", + "node_modules/@cspell/dict-html": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/@cspell/dict-html/-/dict-html-4.0.11.tgz", + "integrity": "sha512-QR3b/PB972SRQ2xICR1Nw/M44IJ6rjypwzA4jn+GH8ydjAX9acFNfc+hLZVyNe0FqsE90Gw3evLCOIF0vy1vQw==", "dev": true, - "requires": { - "json-parser": "^1.0.0" - } + "license": "MIT" }, - "commitlint-azure-pipelines-cli": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/commitlint-azure-pipelines-cli/-/commitlint-azure-pipelines-cli-1.0.2.tgz", - "integrity": "sha512-Uj5QatjR1HAifoJI7ZjNx3O8iuH0lUnTmja9jGIA4KjEPLfbyctob4i1JgOZ7tGQK918n1uoolyZBjbQ7h/WSw==", + "node_modules/@cspell/dict-html-symbol-entities": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-html-symbol-entities/-/dict-html-symbol-entities-4.0.3.tgz", + "integrity": "sha512-aABXX7dMLNFdSE8aY844X4+hvfK7977sOWgZXo4MTGAmOzR8524fjbJPswIBK7GaD3+SgFZ2yP2o0CFvXDGF+A==", "dev": true, - "requires": { - "execa": "^1.0.0" - } + "license": "MIT" }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true + "node_modules/@cspell/dict-java": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@cspell/dict-java/-/dict-java-5.0.11.tgz", + "integrity": "sha512-T4t/1JqeH33Raa/QK/eQe26FE17eUCtWu+JsYcTLkQTci2dk1DfcIKo8YVHvZXBnuM43ATns9Xs0s+AlqDeH7w==", + "dev": true, + "license": "MIT" }, - "compare-func": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz", - "integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=", + "node_modules/@cspell/dict-julia": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-julia/-/dict-julia-1.1.0.tgz", + "integrity": "sha512-CPUiesiXwy3HRoBR3joUseTZ9giFPCydSKu2rkh6I2nVjXnl5vFHzOMLXpbF4HQ1tH2CNfnDbUndxD+I+7eL9w==", "dev": true, - "requires": { - "array-ify": "^1.0.0", - "dot-prop": "^3.0.0" - } + "license": "MIT" }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true + "node_modules/@cspell/dict-k8s": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@cspell/dict-k8s/-/dict-k8s-1.0.11.tgz", + "integrity": "sha512-8ojNwB5j4PfZ1Gq9n5c/HKJCtZD3h6+wFy+zpALpDWFFQ2qT22Be30+3PVd+G5gng8or0LeK8VgKKd0l1uKPTA==", + "dev": true, + "license": "MIT" }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "node_modules/@cspell/dict-kotlin": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-kotlin/-/dict-kotlin-1.1.0.tgz", + "integrity": "sha512-vySaVw6atY7LdwvstQowSbdxjXG6jDhjkWVWSjg1XsUckyzH1JRHXe9VahZz1i7dpoFEUOWQrhIe5B9482UyJQ==", + "dev": true, + "license": "MIT" }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "node_modules/@cspell/dict-latex": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-latex/-/dict-latex-4.0.3.tgz", + "integrity": "sha512-2KXBt9fSpymYHxHfvhUpjUFyzrmN4c4P8mwIzweLyvqntBT3k0YGZJSriOdjfUjwSygrfEwiuPI1EMrvgrOMJw==", "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } + "license": "MIT" }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true + "node_modules/@cspell/dict-lorem-ipsum": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@cspell/dict-lorem-ipsum/-/dict-lorem-ipsum-4.0.4.tgz", + "integrity": "sha512-+4f7vtY4dp2b9N5fn0za/UR0kwFq2zDtA62JCbWHbpjvO9wukkbl4rZg4YudHbBgkl73HRnXFgCiwNhdIA1JPw==", + "dev": true, + "license": "MIT" }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true + "node_modules/@cspell/dict-lua": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@cspell/dict-lua/-/dict-lua-4.0.7.tgz", + "integrity": "sha512-Wbr7YSQw+cLHhTYTKV6cAljgMgcY+EUAxVIZW3ljKswEe4OLxnVJ7lPqZF5JKjlXdgCjbPSimsHqyAbC5pQN/Q==", + "dev": true, + "license": "MIT" }, - "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true - }, - "conventional-changelog": { - "version": "3.1.12", - "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.12.tgz", - "integrity": "sha512-zyGKwii8Z5zOq1nGFm5jn9Ou1jQ6UBoRT0+nqBIU8fEzh64+AcVxrY97tVuK77Ati0xwpBiFHpDXAW7pkq1jEw==", - "dev": true, - "requires": { - "conventional-changelog-angular": "^5.0.5", - "conventional-changelog-atom": "^2.0.3", - "conventional-changelog-codemirror": "^2.0.3", - "conventional-changelog-conventionalcommits": "^4.2.1", - "conventional-changelog-core": "^4.0.2", - "conventional-changelog-ember": "^2.0.4", - "conventional-changelog-eslint": "^3.0.4", - "conventional-changelog-express": "^2.0.1", - "conventional-changelog-jquery": "^3.0.6", - "conventional-changelog-jshint": "^2.0.3", - "conventional-changelog-preset-loader": "^2.2.0" - }, - "dependencies": { - "conventional-changelog-angular": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.6.tgz", - "integrity": "sha512-QDEmLa+7qdhVIv8sFZfVxU1VSyVvnXPsxq8Vam49mKUcO1Z8VTLEJk9uI21uiJUsnmm0I4Hrsdc9TgkOQo9WSA==", - "dev": true, - "requires": { - "compare-func": "^1.3.1", - "q": "^1.5.1" - } - } - } + "node_modules/@cspell/dict-makefile": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cspell/dict-makefile/-/dict-makefile-1.0.4.tgz", + "integrity": "sha512-E4hG/c0ekPqUBvlkrVvzSoAA+SsDA9bLi4xSV3AXHTVru7Y2bVVGMPtpfF+fI3zTkww/jwinprcU1LSohI3ylw==", + "dev": true, + "license": "MIT" }, - "conventional-changelog-angular": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-1.6.6.tgz", - "integrity": "sha512-suQnFSqCxRwyBxY68pYTsFkG0taIdinHLNEAX5ivtw8bCRnIgnpvcHmlR/yjUyZIrNPYAoXlY1WiEKWgSE4BNg==", + "node_modules/@cspell/dict-markdown": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@cspell/dict-markdown/-/dict-markdown-2.0.11.tgz", + "integrity": "sha512-stZieFKJyMQbzKTVoalSx2QqCpB0j8nPJF/5x+sBnDIWgMC65jp8Wil+jccWh9/vnUVukP3Ejewven5NC7SWuQ==", "dev": true, - "requires": { - "compare-func": "^1.3.1", - "q": "^1.5.1" + "license": "MIT", + "peerDependencies": { + "@cspell/dict-css": "^4.0.17", + "@cspell/dict-html": "^4.0.11", + "@cspell/dict-html-symbol-entities": "^4.0.3", + "@cspell/dict-typescript": "^3.2.2" } }, - "conventional-changelog-atom": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.3.tgz", - "integrity": "sha512-szZe2ut97qNO6vCCMkm1I/tWu6ol4Rr8a9Lx0y/VlpDnpY0PNp+oGpFgU55lplhx+I3Lro9Iv4/gRj0knfgjzg==", + "node_modules/@cspell/dict-monkeyc": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@cspell/dict-monkeyc/-/dict-monkeyc-1.0.10.tgz", + "integrity": "sha512-7RTGyKsTIIVqzbvOtAu6Z/lwwxjGRtY5RkKPlXKHEoEAgIXwfDxb5EkVwzGQwQr8hF/D3HrdYbRT8MFBfsueZw==", "dev": true, - "requires": { - "q": "^1.5.1" - } + "license": "MIT" }, - "conventional-changelog-codemirror": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.3.tgz", - "integrity": "sha512-t2afackdgFV2yBdHhWPqrKbpaQeVnz2hSJKdWqjasPo5EpIB6TBL0er3cOP1mnGQmuzk9JSvimNSuqjWGDtU5Q==", + "node_modules/@cspell/dict-node": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@cspell/dict-node/-/dict-node-5.0.7.tgz", + "integrity": "sha512-ZaPpBsHGQCqUyFPKLyCNUH2qzolDRm1/901IO8e7btk7bEDF56DN82VD43gPvD4HWz3yLs/WkcLa01KYAJpnOw==", "dev": true, - "requires": { - "q": "^1.5.1" - } + "license": "MIT" }, - "conventional-changelog-config-spec": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz", - "integrity": "sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==", - "dev": true + "node_modules/@cspell/dict-npm": { + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-5.2.6.tgz", + "integrity": "sha512-VGEY1ZjE8c8JCA+dic1IdYmVTNfVtWAw7V2n4TXO1+mKfRL+BsPsqEoH8iR0OMutC9QXjVNh32rzMh4D3E+Lxw==", + "dev": true, + "license": "MIT" }, - "conventional-changelog-conventionalcommits": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.2.3.tgz", - "integrity": "sha512-atGa+R4vvEhb8N/8v3IoW59gCBJeeFiX6uIbPu876ENAmkMwsenyn0R21kdDHJFLQdy6zW4J6b4xN8KI3b9oww==", + "node_modules/@cspell/dict-php": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/@cspell/dict-php/-/dict-php-4.0.14.tgz", + "integrity": "sha512-7zur8pyncYZglxNmqsRycOZ6inpDoVd4yFfz1pQRe5xaRWMiK3Km4n0/X/1YMWhh3e3Sl/fQg5Axb2hlN68t1g==", "dev": true, - "requires": { - "compare-func": "^1.3.1", - "lodash": "^4.17.15", - "q": "^1.5.1" - } + "license": "MIT" }, - "conventional-changelog-core": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.1.1.tgz", - "integrity": "sha512-fBre5P6U9n914Da6Cj82vIfRU2DhTLGr1eDPXWA7AamxTpd4cd0jgdS7Aieas5Vn5WXOJNFRDNl6PrYLEonImg==", + "node_modules/@cspell/dict-powershell": { + "version": "5.0.14", + "resolved": "https://registry.npmjs.org/@cspell/dict-powershell/-/dict-powershell-5.0.14.tgz", + "integrity": "sha512-ktjjvtkIUIYmj/SoGBYbr3/+CsRGNXGpvVANrY0wlm/IoGlGywhoTUDYN0IsGwI2b8Vktx3DZmQkfb3Wo38jBA==", "dev": true, - "requires": { - "conventional-changelog-writer": "^4.0.11", - "conventional-commits-parser": "^3.0.8", - "dateformat": "^3.0.0", - "get-pkg-repo": "^1.0.0", - "git-raw-commits": "2.0.0", - "git-remote-origin-url": "^2.0.0", - "git-semver-tags": "^3.0.1", - "lodash": "^4.17.15", - "normalize-package-data": "^2.3.5", - "q": "^1.5.1", - "read-pkg": "^3.0.0", - "read-pkg-up": "^3.0.0", - "through2": "^3.0.0" - }, - "dependencies": { - "conventional-commits-parser": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.8.tgz", - "integrity": "sha512-YcBSGkZbYp7d+Cr3NWUeXbPDFUN6g3SaSIzOybi8bjHL5IJ5225OSCxJJ4LgziyEJ7AaJtE9L2/EU6H7Nt/DDQ==", - "dev": true, - "requires": { - "JSONStream": "^1.0.4", - "is-text-path": "^1.0.1", - "lodash": "^4.17.15", - "meow": "^5.0.0", - "split2": "^2.0.0", - "through2": "^3.0.0", - "trim-off-newlines": "^1.0.0" - } - }, - "git-raw-commits": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz", - "integrity": "sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==", - "dev": true, - "requires": { - "dargs": "^4.0.1", - "lodash.template": "^4.0.2", - "meow": "^4.0.0", - "split2": "^2.0.0", - "through2": "^2.0.0" - }, - "dependencies": { - "meow": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", - "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", - "dev": true, - "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist": "^1.1.3", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0" - } - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } - } - }, - "git-semver-tags": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-3.0.1.tgz", - "integrity": "sha512-Hzd1MOHXouITfCasrpVJbRDg9uvW7LfABk3GQmXYZByerBDrfrEMP9HXpNT7RxAbieiocP6u+xq20DkvjwxnCA==", - "dev": true, - "requires": { - "meow": "^5.0.0", - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "through2": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", - "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", - "dev": true, - "requires": { - "readable-stream": "2 || 3" - } - } - } + "license": "MIT" }, - "conventional-changelog-ember": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.4.tgz", - "integrity": "sha512-q1u73sO9uCnxN4TSw8xu6MRU8Y1h9kpwtcdJuNRwu/LSKI1IE/iuNSH5eQ6aLlQ3HTyrIpTfUuVybW4W0F17rA==", + "node_modules/@cspell/dict-public-licenses": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@cspell/dict-public-licenses/-/dict-public-licenses-2.0.13.tgz", + "integrity": "sha512-1Wdp/XH1ieim7CadXYE7YLnUlW0pULEjVl9WEeziZw3EKCAw8ZI8Ih44m4bEa5VNBLnuP5TfqC4iDautAleQzQ==", "dev": true, - "requires": { - "q": "^1.5.1" - } + "license": "MIT" }, - "conventional-changelog-eslint": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.4.tgz", - "integrity": "sha512-CPwTUENzhLGl3auunrJxiIEWncAGaby7gOFCdj2gslIuOFJ0KPJVOUhRz4Da/I53sdo/7UncUJkiLg94jEsjxg==", + "node_modules/@cspell/dict-python": { + "version": "4.2.18", + "resolved": "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-4.2.18.tgz", + "integrity": "sha512-hYczHVqZBsck7DzO5LumBLJM119a3F17aj8a7lApnPIS7cmEwnPc2eACNscAHDk7qAo2127oI7axUoFMe9/g1g==", "dev": true, - "requires": { - "q": "^1.5.1" + "license": "MIT", + "dependencies": { + "@cspell/dict-data-science": "^2.0.8" } }, - "conventional-changelog-express": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.1.tgz", - "integrity": "sha512-G6uCuCaQhLxdb4eEfAIHpcfcJ2+ao3hJkbLrw/jSK/eROeNfnxCJasaWdDAfFkxsbpzvQT4W01iSynU3OoPLIw==", + "node_modules/@cspell/dict-r": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-r/-/dict-r-2.1.0.tgz", + "integrity": "sha512-k2512wgGG0lTpTYH9w5Wwco+lAMf3Vz7mhqV8+OnalIE7muA0RSuD9tWBjiqLcX8zPvEJr4LdgxVju8Gk3OKyA==", "dev": true, - "requires": { - "q": "^1.5.1" - } + "license": "MIT" }, - "conventional-changelog-jquery": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.6.tgz", - "integrity": "sha512-gHAABCXUNA/HjnZEm+vxAfFPJkgtrZvCDIlCKfdPVXtCIo/Q0lN5VKpx8aR5p8KdVRQFF3OuTlvv5kv6iPuRqA==", + "node_modules/@cspell/dict-ruby": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@cspell/dict-ruby/-/dict-ruby-5.0.8.tgz", + "integrity": "sha512-ixuTneU0aH1cPQRbWJvtvOntMFfeQR2KxT8LuAv5jBKqQWIHSxzGlp+zX3SVyoeR0kOWiu64/O5Yn836A5yMcQ==", "dev": true, - "requires": { - "q": "^1.5.1" - } + "license": "MIT" }, - "conventional-changelog-jshint": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.3.tgz", - "integrity": "sha512-Pc2PnMPcez634ckzr4EOWviwRSpZcURaK7bjyD9oK6N5fsC/a+3G7LW5m/JpcHPhA9ZxsfIbm7uqZ3ZDGsQ/sw==", + "node_modules/@cspell/dict-rust": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/@cspell/dict-rust/-/dict-rust-4.0.11.tgz", + "integrity": "sha512-OGWDEEzm8HlkSmtD8fV3pEcO2XBpzG2XYjgMCJCRwb2gRKvR+XIm6Dlhs04N/K2kU+iH8bvrqNpM8fS/BFl0uw==", "dev": true, - "requires": { - "compare-func": "^1.3.1", - "q": "^1.5.1" - } + "license": "MIT" }, - "conventional-changelog-preset-loader": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.0.tgz", - "integrity": "sha512-/rHb32J2EJnEXeK4NpDgMaAVTFZS3o1ExmjKMtYVgIC4MQn0vkNSbYpdGRotkfGGRWiqk3Ri3FBkiZGbAfIfOQ==", - "dev": true + "node_modules/@cspell/dict-scala": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@cspell/dict-scala/-/dict-scala-5.0.7.tgz", + "integrity": "sha512-yatpSDW/GwulzO3t7hB5peoWwzo+Y3qTc0pO24Jf6f88jsEeKmDeKkfgPbYuCgbE4jisGR4vs4+jfQZDIYmXPA==", + "dev": true, + "license": "MIT" }, - "conventional-changelog-writer": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.11.tgz", - "integrity": "sha512-g81GQOR392I+57Cw3IyP1f+f42ME6aEkbR+L7v1FBBWolB0xkjKTeCWVguzRrp6UiT1O6gBpJbEy2eq7AnV1rw==", + "node_modules/@cspell/dict-shell": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-shell/-/dict-shell-1.1.0.tgz", + "integrity": "sha512-D/xHXX7T37BJxNRf5JJHsvziFDvh23IF/KvkZXNSh8VqcRdod3BAz9VGHZf6VDqcZXr1VRqIYR3mQ8DSvs3AVQ==", "dev": true, - "requires": { - "compare-func": "^1.3.1", - "conventional-commits-filter": "^2.0.2", - "dateformat": "^3.0.0", - "handlebars": "^4.4.0", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.15", - "meow": "^5.0.0", - "semver": "^6.0.0", - "split": "^1.0.0", - "through2": "^3.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "through2": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", - "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", - "dev": true, - "requires": { - "readable-stream": "2 || 3" - } - } - } + "license": "MIT" }, - "conventional-commits-filter": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.2.tgz", - "integrity": "sha512-WpGKsMeXfs21m1zIw4s9H5sys2+9JccTzpN6toXtxhpw2VNF2JUXwIakthKBy+LN4DvJm+TzWhxOMWOs1OFCFQ==", + "node_modules/@cspell/dict-software-terms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-5.1.0.tgz", + "integrity": "sha512-8zsOVzcHpb4PAaKtOWAIJRbpaNINaUZRsHzqFb3K9hQIC6hxmet/avLlCeKdnmBVZkn3TmRN5caxTJamJvbXww==", "dev": true, - "requires": { - "lodash.ismatch": "^4.4.0", - "modify-values": "^1.0.0" - } + "license": "MIT" }, - "conventional-commits-parser": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-2.1.7.tgz", - "integrity": "sha512-BoMaddIEJ6B4QVMSDu9IkVImlGOSGA1I2BQyOZHeLQ6qVOJLcLKn97+fL6dGbzWEiqDzfH4OkcveULmeq2MHFQ==", + "node_modules/@cspell/dict-sql": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-sql/-/dict-sql-2.2.0.tgz", + "integrity": "sha512-MUop+d1AHSzXpBvQgQkCiok8Ejzb+nrzyG16E8TvKL2MQeDwnIvMe3bv90eukP6E1HWb+V/MA/4pnq0pcJWKqQ==", "dev": true, - "requires": { - "JSONStream": "^1.0.4", - "is-text-path": "^1.0.0", - "lodash": "^4.2.1", - "meow": "^4.0.0", - "split2": "^2.0.0", - "through2": "^2.0.0", - "trim-off-newlines": "^1.0.0" - }, - "dependencies": { - "meow": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", - "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", - "dev": true, - "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist": "^1.1.3", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0" - } - } - } + "license": "MIT" }, - "conventional-recommended-bump": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.0.2.tgz", - "integrity": "sha512-9qWhAweJbT6CAHcCprBYzUb3tySsaRrUx0ckpMprHbtWOBfl3gxakUCBNd/4T3m2Iv9Cb8Y4P2Px3cR5ysXPDw==", + "node_modules/@cspell/dict-svelte": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@cspell/dict-svelte/-/dict-svelte-1.0.6.tgz", + "integrity": "sha512-8LAJHSBdwHCoKCSy72PXXzz7ulGROD0rP1CQ0StOqXOOlTUeSFaJJlxNYjlONgd2c62XBQiN2wgLhtPN+1Zv7Q==", "dev": true, - "requires": { - "concat-stream": "^2.0.0", - "conventional-changelog-preset-loader": "^2.2.0", - "conventional-commits-filter": "^2.0.2", - "conventional-commits-parser": "^3.0.5", - "git-raw-commits": "2.0.0", - "git-semver-tags": "^3.0.0", - "meow": "^4.0.0", - "q": "^1.5.1" - }, - "dependencies": { - "concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" - } - }, - "conventional-commits-parser": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.8.tgz", - "integrity": "sha512-YcBSGkZbYp7d+Cr3NWUeXbPDFUN6g3SaSIzOybi8bjHL5IJ5225OSCxJJ4LgziyEJ7AaJtE9L2/EU6H7Nt/DDQ==", - "dev": true, - "requires": { - "JSONStream": "^1.0.4", - "is-text-path": "^1.0.1", - "lodash": "^4.17.15", - "meow": "^5.0.0", - "split2": "^2.0.0", - "through2": "^3.0.0", - "trim-off-newlines": "^1.0.0" - }, - "dependencies": { - "meow": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", - "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", - "dev": true, - "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0", - "yargs-parser": "^10.0.0" - } - } - } - }, - "git-raw-commits": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz", - "integrity": "sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==", - "dev": true, - "requires": { - "dargs": "^4.0.1", - "lodash.template": "^4.0.2", - "meow": "^4.0.0", - "split2": "^2.0.0", - "through2": "^2.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } - } - }, - "meow": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", - "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", - "dev": true, - "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist": "^1.1.3", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0" - } - }, - "readable-stream": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", - "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "through2": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", - "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", - "dev": true, - "requires": { - "readable-stream": "2 || 3" - } - } - } + "license": "MIT" }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "node_modules/@cspell/dict-swift": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-swift/-/dict-swift-2.0.5.tgz", + "integrity": "sha512-3lGzDCwUmnrfckv3Q4eVSW3sK3cHqqHlPprFJZD4nAqt23ot7fic5ALR7J4joHpvDz36nHX34TgcbZNNZOC/JA==", "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } + "license": "MIT" }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "core-js": { - "version": "2.6.10", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz", - "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==", - "dev": true - }, - "core-js-compat": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.4.5.tgz", - "integrity": "sha512-rYVvzvKJDKoefdAC+q6VP63vp5hMmeVONCi9pVUbU1qRrtVrmAk/nPhnRg+i+XFd775m1hpG2Yd5RY3X45ccuw==", - "dev": true, - "requires": { - "browserslist": "^4.7.3", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } + "node_modules/@cspell/dict-terraform": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-terraform/-/dict-terraform-1.1.1.tgz", + "integrity": "sha512-07KFDwCU7EnKl4hOZLsLKlj6Zceq/IsQ3LRWUyIjvGFfZHdoGtFdCp3ZPVgnFaAcd/DKv+WVkrOzUBSYqHopQQ==", + "dev": true, + "license": "MIT" }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true + "node_modules/@cspell/dict-typescript": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-typescript/-/dict-typescript-3.2.2.tgz", + "integrity": "sha512-H9Y+uUHsTIDFO/jdfUAcqmcd5osT+2DB5b0aRCHfLWN/twUbGn/1qq3b7YwEvttxKlYzWHU3uNFf+KfA93VY7w==", + "dev": true, + "license": "MIT" }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "node_modules/@cspell/dict-vue": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@cspell/dict-vue/-/dict-vue-3.0.4.tgz", + "integrity": "sha512-0dPtI0lwHcAgSiQFx8CzvqjdoXROcH+1LyqgROCpBgppommWpVhbQ0eubnKotFEXgpUCONVkeZJ6Ql8NbTEu+w==", "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "dependencies": { - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dev": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - } + "license": "MIT" + }, + "node_modules/@cspell/dynamic-import": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/@cspell/dynamic-import/-/dynamic-import-8.19.4.tgz", + "integrity": "sha512-0LLghC64+SiwQS20Sa0VfFUBPVia1rNyo0bYeIDoB34AA3qwguDBVJJkthkpmaP1R2JeR/VmxmJowuARc4ZUxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/url": "8.19.4", + "import-meta-resolve": "^4.1.0" + }, + "engines": { + "node": ">=18.0" } }, - "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "node_modules/@cspell/filetypes": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/@cspell/filetypes/-/filetypes-8.19.4.tgz", + "integrity": "sha512-D9hOCMyfKtKjjqQJB8F80PWsjCZhVGCGUMiDoQpcta0e+Zl8vHgzwaC0Ai4QUGBhwYEawHGiWUd7Y05u/WXiNQ==", "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" + "license": "MIT", + "engines": { + "node": ">=18" } }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "node_modules/@cspell/strong-weak-map": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/@cspell/strong-weak-map/-/strong-weak-map-8.19.4.tgz", + "integrity": "sha512-MUfFaYD8YqVe32SQaYLI24/bNzaoyhdBIFY5pVrvMo1ZCvMl8AlfI2OcBXvcGb5aS5z7sCNCJm11UuoYbLI1zw==", "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "license": "MIT", + "engines": { + "node": ">=18" } }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "node_modules/@cspell/url": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/@cspell/url/-/url-8.19.4.tgz", + "integrity": "sha512-Pa474iBxS+lxsAL4XkETPGIq3EgMLCEb9agj3hAd2VGMTCApaiUvamR4b+uGXIPybN70piFxvzrfoxsG2uIP6A==", "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "license": "MIT", + "engines": { + "node": ">=18.0" } }, - "cross-env": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-6.0.3.tgz", - "integrity": "sha512-+KqxF6LCvfhWvADcDPqo64yVIB31gv/jQulX2NGzKS/g3GEVz6/pt4wjHFtFWsHMddebWD/sDthJemzM4MaAag==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", - "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true + "node_modules/@csstools/cascade-layer-name-parser": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.13.tgz", + "integrity": "sha512-MX0yLTwtZzr82sQ0zOjqimpZbzjMaK/h2pmlrLK7DCzlmiZLYFpoO94WmN1akRVo6ll/TdpHb53vihHLUMyvng==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1" } }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "node_modules/@csstools/color-helpers": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-4.2.1.tgz", + "integrity": "sha512-CEypeeykO9AN7JWkr1OEOQb0HRzZlPWGwV0Ya6DuVgFdDi6g3ma/cPZ5ZPZM4AWQikDpq/0llnGGlIL+j8afzw==", "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": "^14 || ^16 || >=18" } }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "node_modules/@csstools/css-calc": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-1.2.4.tgz", + "integrity": "sha512-tfOuvUQeo7Hz+FcuOd3LfXVp+342pnWUJ7D2y8NUpu1Ww6xnTbHLpz018/y6rtbHifJ3iIEf9ttxXd8KG7nL0Q==", "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1" } }, - "css-blank-pseudo": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", - "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", + "node_modules/@csstools/css-color-parser": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-2.0.5.tgz", + "integrity": "sha512-lRZSmtl+DSjok3u9hTWpmkxFZnz7stkbZxzKc08aDUsdrWwhSgWo8yq9rq9DaFUtbAyAq2xnH92fj01S+pwIww==", "dev": true, - "requires": { - "postcss": "^7.0.5" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/color-helpers": "^4.2.1", + "@csstools/css-calc": "^1.2.4" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1" } }, - "css-has-pseudo": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", - "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", + "node_modules/@csstools/css-parser-algorithms": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.7.1.tgz", + "integrity": "sha512-2SJS42gxmACHgikc1WGesXLIT8d/q2l0UFM7TaEeIzdFCE/FPMtTiizcPGGJtlPo2xuQzY09OhrLTzRxqJqwGw==", "dev": true, - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^5.0.0-rc.4" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dev": true, - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^2.4.1" } }, - "css-prefers-color-scheme": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", - "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", + "node_modules/@csstools/css-tokenizer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.4.1.tgz", + "integrity": "sha512-eQ9DIktFJBhGjioABJRtUucoWR2mwllurfnM8LuNGAqX3ViZXaUchqk+1s7jjtkFiT9ySdACsFEA3etErkALUg==", "dev": true, - "requires": { - "postcss": "^7.0.5" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18" } }, - "cssdb": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", - "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==", - "dev": true - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" - }, - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, - "cssstyle": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", - "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "node_modules/@csstools/media-query-list-parser": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.13.tgz", + "integrity": "sha512-XaHr+16KRU9Gf8XLi3q8kDlI18d5vzKSKCY510Vrtc9iNR0NJzbY9hhTmwhzYZj/ZwGL4VmB3TA9hJW0Um2qFA==", "dev": true, - "requires": { - "cssom": "0.3.x" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1" } }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "node_modules/@csstools/postcss-cascade-layers": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-4.0.6.tgz", + "integrity": "sha512-Xt00qGAQyqAODFiFEJNkTpSUz5VfYqnDLECdlA/Vv17nl/OIV5QfTRHGAXrBGG5YcJyHpJ+GF9gF/RZvOQz4oA==", "dev": true, - "requires": { - "array-find-index": "^1.0.1" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-specificity": "^3.1.1", + "postcss-selector-parser": "^6.0.13" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "cycle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", - "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", - "dev": true - }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, - "dargs": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", - "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=", + "node_modules/@csstools/postcss-color-function": { + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-3.0.19.tgz", + "integrity": "sha512-d1OHEXyYGe21G3q88LezWWx31ImEDdmINNDy0LyLNN9ChgN2bPxoubUPiHf9KmwypBMaHmNcMuA/WZOKdZk/Lg==", "dev": true, - "requires": { - "number-is-nan": "^1.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "node_modules/@csstools/postcss-color-mix-function": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-2.0.19.tgz", + "integrity": "sha512-mLvQlMX+keRYr16AuvuV8WYKUwF+D0DiCqlBdvhQ0KYEtcQl9/is9Ssg7RcIys8x0jIn2h1zstS4izckdZj9wg==", "dev": true, - "requires": { - "assert-plus": "^1.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", - "dev": true, - "requires": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" - }, - "dependencies": { - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } + "node_modules/@csstools/postcss-content-alt-text": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-1.0.0.tgz", + "integrity": "sha512-SkHdj7EMM/57GVvSxSELpUg7zb5eAndBeuvGwFzYtU06/QXJ/h9fuK7wO5suteJzGhm3GDF/EWPCdWV2h1IGHQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "date-fns": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", - "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", - "dev": true - }, - "dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/@csstools/postcss-exponential-functions": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-1.0.9.tgz", + "integrity": "sha512-x1Avr15mMeuX7Z5RJUl7DmjhUtg+Amn5DZRD0fQ2TlTFTcJS8U1oxXQ9e5mA62S2RJgUU6db20CRoJyDvae2EQ==", "dev": true, - "requires": { - "ms": "2.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^1.2.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "node_modules/@csstools/postcss-font-format-keywords": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-3.0.2.tgz", + "integrity": "sha512-E0xz2sjm4AMCkXLCFvI/lyl4XO6aN1NCSMMVEOngFDJ+k2rDwfr6NDjWljk1li42jiLNChVX+YFnmfGCigZKXw==", "dev": true, - "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/utilities": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", - "dev": true - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "node_modules/@csstools/postcss-gamut-mapping": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-1.0.11.tgz", + "integrity": "sha512-KrHGsUPXRYxboXmJ9wiU/RzDM7y/5uIefLWKFSc36Pok7fxiPyvkSHO51kh+RLZS1W5hbqw9qaa6+tKpTSxa5g==", "dev": true, - "requires": { - "object-keys": "^1.0.12" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } + "node_modules/@csstools/postcss-gradients-interpolation-method": { + "version": "4.0.20", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-4.0.20.tgz", + "integrity": "sha512-ZFl2JBHano6R20KB5ZrB8KdPM2pVK0u+/3cGQ2T8VubJq982I2LSOvQ4/VtxkAXjkPkk1rXt4AD1ni7UjTZ1Og==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "del": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", - "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", - "dev": true, - "requires": { - "globby": "^10.0.1", - "graceful-fs": "^4.2.2", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.1", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0" - }, - "dependencies": { - "rimraf": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", - "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } + "node_modules/@csstools/postcss-hwb-function": { + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-3.0.18.tgz", + "integrity": "sha512-3ifnLltR5C7zrJ+g18caxkvSRnu9jBBXCYgnBznRjxm6gQJGnnCO9H6toHfywNdNr/qkiVf2dymERPQLDnjLRQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "del-cli": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del-cli/-/del-cli-3.0.0.tgz", - "integrity": "sha512-J4HDC2mpcN5aopya4VdkyiFXZaqAoo7ua9VpKbciX3DDUSbtJbPMc3ivggJsAAgS6EqonmbenIiMhBGtJPW9FA==", + "node_modules/@csstools/postcss-ic-unit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-3.0.7.tgz", + "integrity": "sha512-YoaNHH2wNZD+c+rHV02l4xQuDpfR8MaL7hD45iJyr+USwvr0LOheeytJ6rq8FN6hXBmEeoJBeXXgGmM8fkhH4g==", "dev": true, - "requires": { - "del": "^5.1.0", - "meow": "^5.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true - }, - "des.js": { + "node_modules/@csstools/postcss-initial": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "resolved": "https://registry.npmjs.org/@csstools/postcss-initial/-/postcss-initial-1.0.1.tgz", + "integrity": "sha512-wtb+IbUIrIf8CrN6MLQuFR7nlU5C7PwuebfeEXfjthUha1+XZj2RVi+5k/lukToA24sZkYAiSJfHM8uG/UZIdg==", "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "detect-indent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", - "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=", - "dev": true - }, - "detect-newline": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", - "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", - "dev": true - }, - "diff-sequences": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", - "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-4.0.8.tgz", + "integrity": "sha512-0aj591yGlq5Qac+plaWCbn5cpjs5Sh0daovYUKJUOMjIp70prGH/XPLp7QjxtbFXz3CTvb0H9a35dpEuIuUi3Q==", "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-specificity": "^3.1.1", + "postcss-selector-parser": "^6.0.13" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "node_modules/@csstools/postcss-light-dark-function": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-1.0.8.tgz", + "integrity": "sha512-x0UtpCyVnERsplUeoaY6nEtp1HxTf4lJjoK/ULEm40DraqFfUdUSt76yoOyX5rGY6eeOUOkurHyYlFHVKv/pew==", "dev": true, - "requires": { - "path-type": "^4.0.0" - }, - "dependencies": { - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "node_modules/@csstools/postcss-logical-float-and-clear": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-2.0.1.tgz", + "integrity": "sha512-SsrWUNaXKr+e/Uo4R/uIsqJYt3DaggIh/jyZdhy/q8fECoJSKsSMr7nObSLdvoULB69Zb6Bs+sefEIoMG/YfOA==", "dev": true, - "requires": { - "esutils": "^2.0.2" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "domexception": { + "node_modules/@csstools/postcss-logical-overflow": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-1.0.1.tgz", + "integrity": "sha512-Kl4lAbMg0iyztEzDhZuQw8Sj9r2uqFDcU1IPl+AAt2nue8K/f1i7ElvKtXkjhIAmKiy5h2EY8Gt/Cqg0pYFDCw==", "dev": true, - "requires": { - "webidl-conversions": "^4.0.2" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "dot-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", - "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", + "node_modules/@csstools/postcss-logical-overscroll-behavior": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-1.0.1.tgz", + "integrity": "sha512-+kHamNxAnX8ojPCtV8WPcUP3XcqMFBSDuBuvT6MHgq7oX4IQxLIXKx64t7g9LiuJzE7vd06Q9qUYR6bh4YnGpQ==", "dev": true, - "requires": { - "is-obj": "^1.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "dotgitignore": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz", - "integrity": "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==", + "node_modules/@csstools/postcss-logical-resize": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-resize/-/postcss-logical-resize-2.0.1.tgz", + "integrity": "sha512-W5Gtwz7oIuFcKa5SmBjQ2uxr8ZoL7M2bkoIf0T1WeNqljMkBrfw1DDA8/J83k57NQ1kcweJEjkJ04pUkmyee3A==", "dev": true, - "requires": { - "find-up": "^3.0.0", - "minimatch": "^3.0.4" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" }, - "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "node_modules/@csstools/postcss-logical-viewport-units": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-2.0.11.tgz", + "integrity": "sha512-ElITMOGcjQtvouxjd90WmJRIw1J7KMP+M+O87HaVtlgOOlDt1uEPeTeii8qKGe2AiedEp0XOGIo9lidbiU2Ogg==", "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/utilities": "^1.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "node_modules/@csstools/postcss-media-minmax": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-1.1.8.tgz", + "integrity": "sha512-KYQCal2i7XPNtHAUxCECdrC7tuxIWQCW+s8eMYs5r5PaAiVTeKwlrkRS096PFgojdNCmHeG0Cb7njtuNswNf+w==", "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/css-calc": "^1.2.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/media-query-list-parser": "^2.1.13" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "editorconfig": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", - "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", + "node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-2.0.11.tgz", + "integrity": "sha512-YD6jrib20GRGQcnOu49VJjoAnQ/4249liuz7vTpy/JfgqQ1Dlc5eD4HPUMNLOw9CWey9E6Etxwf/xc/ZF8fECA==", "dev": true, - "requires": { - "commander": "^2.19.0", - "lru-cache": "^4.1.5", - "semver": "^5.6.0", - "sigmund": "^1.0.1" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/media-query-list-parser": "^2.1.13" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "electron-to-chromium": { - "version": "1.3.314", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.314.tgz", - "integrity": "sha512-IKDR/xCxKFhPts7h+VaSXS02Z1mznP3fli1BbXWXeN89i2gCzKraU8qLpEid8YzKcmZdZD3Mly3cn5/lY9xsBQ==", - "dev": true - }, - "elegant-spinner": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", - "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=", - "dev": true - }, - "elliptic": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", - "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", - "dev": true, - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "node_modules/@csstools/postcss-nested-calc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-3.0.2.tgz", + "integrity": "sha512-ySUmPyawiHSmBW/VI44+IObcKH0v88LqFe0d09Sb3w4B1qjkaROc6d5IA3ll9kjD46IIX/dbO5bwFN/swyoyZA==", "dev": true, - "requires": { - "once": "^1.4.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/utilities": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "enhanced-resolve": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", - "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", + "node_modules/@csstools/postcss-normalize-display-values": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-3.0.2.tgz", + "integrity": "sha512-fCapyyT/dUdyPtrelQSIV+d5HqtTgnNP/BEG9IuhgXHt93Wc4CfC1bQ55GzKAjWrZbgakMQ7MLfCXEf3rlZJOw==", "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "node_modules/@csstools/postcss-oklab-function": { + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-3.0.19.tgz", + "integrity": "sha512-e3JxXmxjU3jpU7TzZrsNqSX4OHByRC3XjItV3Ieo/JEQmLg5rdOL4lkv/1vp27gXemzfNt44F42k/pn0FpE21Q==", "dev": true, - "requires": { - "prr": "~1.0.1" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-3.3.0.tgz", + "integrity": "sha512-W2oV01phnILaRGYPmGFlL2MT/OgYjQDrL9sFlbdikMFi6oQkFki9B86XqEWR7HCsTZFVq7dbzr/o71B75TKkGg==", "dev": true, - "requires": { - "is-arrayish": "^0.2.1" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "es-abstract": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.2.tgz", - "integrity": "sha512-jYo/J8XU2emLXl3OLwfwtuFfuF2w6DYPs+xy9ZfVyPkDcrauu6LYrw/q2TyCtrbc/KUdCiC5e9UajRhgNkVopA==", + "node_modules/@csstools/postcss-relative-color-syntax": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-2.0.19.tgz", + "integrity": "sha512-MxUMSNvio1WwuS6WRLlQuv6nNPXwIWUFzBBAvL/tBdWfiKjiJnAa6eSSN5gtaacSqUkQ/Ce5Z1OzLRfeaWhADA==", "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.1.4", - "is-regex": "^1.0.4", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "string.prototype.trimleft": "^2.1.0", - "string.prototype.trimright": "^2.1.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "es-check": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/es-check/-/es-check-5.1.0.tgz", - "integrity": "sha512-QlRhlUmEpdnleBFYWRFROm8u9cNPOWdE1iXQPWiQXnwmlJZ0hSxWpLOXwpFLyRrwnTmt5xqYM/5OR8Ao0MYa8w==", + "node_modules/@csstools/postcss-scope-pseudo-class": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-3.0.1.tgz", + "integrity": "sha512-3ZFonK2gfgqg29gUJ2w7xVw2wFJ1eNWVDONjbzGkm73gJHVCYK5fnCqlLr+N+KbEfv2XbWAO0AaOJCFB6Fer6A==", "dev": true, - "requires": { - "acorn": "6.1.1", - "caporal": "1.3.0", - "glob": "^7.1.2" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^6.0.13" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "node_modules/@csstools/postcss-stepped-value-functions": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-3.0.10.tgz", + "integrity": "sha512-MZwo0D0TYrQhT5FQzMqfy/nGZ28D1iFtpN7Su1ck5BPHS95+/Y5O9S4kEvo76f2YOsqwYcT8ZGehSI1TnzuX2g==", "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^1.2.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "escodegen": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz", - "integrity": "sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==", + "node_modules/@csstools/postcss-text-decoration-shorthand": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-3.0.7.tgz", + "integrity": "sha512-+cptcsM5r45jntU6VjotnkC9GteFR7BQBfZ5oW7inLCxj7AfLGAzMbZ60hKTP13AULVZBdxky0P8um0IBfLHVA==", "dev": true, - "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "dev": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/color-helpers": "^4.2.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "eslint": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.7.1.tgz", - "integrity": "sha512-UWzBS79pNcsDSxgxbdjkmzn/B6BhsXMfUaOHnNwyE8nD+Q6pyT96ow2MccVayUTV4yMid4qLhMiQaywctRkBLA==", + "node_modules/@csstools/postcss-trigonometric-functions": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-3.0.10.tgz", + "integrity": "sha512-G9G8moTc2wiad61nY5HfvxLiM/myX0aYK4s1x8MQlPH29WDPxHQM7ghGgvv2qf2xH+rrXhztOmjGHJj4jsEqXw==", "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "ansi-escapes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", - "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", - "dev": true, - "requires": { - "type-fest": "^0.8.1" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "figures": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", - "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "glob-parent": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", - "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz", - "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==", - "dev": true, - "requires": { - "type-fest": "^0.8.1" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "inquirer": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.0.tgz", - "integrity": "sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^2.4.2", - "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.15", - "mute-stream": "0.0.8", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^4.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - } - } - }, - "strip-json-comments": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", - "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", - "dev": true - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^1.2.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "eslint-config-prettier": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.7.0.tgz", - "integrity": "sha512-FamQVKM3jjUVwhG4hEMnbtsq7xOIDm+SY5iBPfR8gKsJoAB2IQnNF+bk1+8Fy44Nq7PPJaLvkRxILYdJWoguKQ==", + "node_modules/@csstools/postcss-unset-value": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-3.0.1.tgz", + "integrity": "sha512-dbDnZ2ja2U8mbPP0Hvmt2RMEGBiF1H7oY6HYSpjteXJGihYwgxgTr6KRbbJ/V6c+4wd51M+9980qG4gKVn5ttg==", "dev": true, - "requires": { - "get-stdin": "^6.0.0" - }, - "dependencies": { - "get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", - "dev": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "license": "MIT-0", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "eslint-import-resolver-node": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz", - "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", + "node_modules/@csstools/selector-resolve-nested": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-1.1.0.tgz", + "integrity": "sha512-uWvSaeRcHyeNenKg8tp17EVDRkpflmdyvbE0DHo6D/GdBb6PDnCYYU6gRpXhtICMGMcahQmj2zGxwFM/WC8hCg==", "dev": true, - "requires": { - "debug": "^2.6.9", - "resolve": "^1.5.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.13" } }, - "eslint-module-utils": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz", - "integrity": "sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw==", - "dev": true, - "requires": { - "debug": "^2.6.8", - "pkg-dir": "^2.0.0" - } - }, - "eslint-plugin-import": { - "version": "2.18.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz", - "integrity": "sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==", - "dev": true, - "requires": { - "array-includes": "^3.0.3", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.2", - "eslint-module-utils": "^2.4.0", - "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.0", - "read-pkg-up": "^2.0.0", - "resolve": "^1.11.0" - }, - "dependencies": { - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - } - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true + "node_modules/@csstools/selector-specificity": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.1.1.tgz", + "integrity": "sha512-a7cxGcJ2wIlMFLlh8z2ONm+715QkPHiyJcxwQlKOz/03GPw1COpfhcmC9wm4xlZfp//jWHNNMwzjtqHXVWU9KA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - } + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.13" + } + }, + "node_modules/@csstools/utilities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/utilities/-/utilities-1.0.0.tgz", + "integrity": "sha512-tAgvZQe/t2mlvpNosA4+CkMiZ2azISW5WPAcdSalZlEjQvUfghHxfQcrCiK/7/CrfAWVxyM88kGFYO82heIGDg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - } + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "license": "MIT-0", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "eslint-scope": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", - "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "node_modules/@dabh/diagnostics": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", + "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "license": "MIT", + "dependencies": { + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" } }, - "eslint-utils": { + "node_modules/@emnapi/core": { "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.3.tgz", + "integrity": "sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==", "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.0.2", + "tslib": "^2.4.0" } }, - "eslint-visitor-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", - "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", - "dev": true - }, - "espree": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz", - "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==", + "node_modules/@emnapi/runtime": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.3.tgz", + "integrity": "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==", "dev": true, - "requires": { - "acorn": "^7.1.0", - "acorn-jsx": "^5.1.0", - "eslint-visitor-keys": "^1.1.0" - }, + "license": "MIT", + "optional": true, "dependencies": { - "acorn": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", - "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", - "dev": true - } + "tslib": "^2.4.0" } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", - "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "node_modules/@emnapi/wasi-threads": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.2.tgz", + "integrity": "sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==", "dev": true, - "requires": { - "estraverse": "^4.0.0" + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" } }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", "dev": true, - "requires": { - "estraverse": "^4.1.0" + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", - "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", - "dev": true + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "exec-sh": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", - "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==", - "dev": true + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } }, - "exit-hook": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", - "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", - "dev": true + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "expect": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", - "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "ansi-styles": "^3.2.0", - "jest-get-type": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-regex-util": "^24.9.0" + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" } }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" }, - "extend-shallow": { + "node_modules/@hutson/parse-repository-url": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } + "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", + "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=6.9.0" } }, - "external-editor": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-1.1.1.tgz", - "integrity": "sha1-Etew24UPf/fnCBuvQAVwAGDEYAs=", + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, - "requires": { - "extend": "^3.0.0", - "spawn-sync": "^1.0.15", - "tmp": "^0.0.29" + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", - "dev": true + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" }, - "fast-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.1.0.tgz", - "integrity": "sha512-TrUz3THiq2Vy3bjfQUB2wNyPdGBeGmdjbzzBLhfHN4YFurYptCKwGq/TfiRavbGywFRzY6U2CdmQ1zmsY5yYaw==", + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2" + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "glob-parent": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", - "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } }, - "fastq": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.0.tgz", - "integrity": "sha512-jmxqQ3Z/nXoeyDmWAzF9kH1aGZSis6e/SbfPmJpUnyZ0ogr6iscHQaml4wsEepEWSdtmpy+eVXmCRIMpxaXqOA==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, - "requires": { - "reusify": "^1.0.0" + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "fb-watchman": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", - "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "requires": { - "bser": "^2.0.0" + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "figgy-pudding": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", - "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", - "dev": true + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "requires": { - "flat-cache": "^2.0.1" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "file-loader": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-5.0.2.tgz", - "integrity": "sha512-QMiQ+WBkGLejKe81HU8SZ9PovsU/5uaLo0JdTCEXOYv7i7jfAjHZi1tcwp9tSASJPOmmHZtbdCervFmXMH/Dcg==", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, - "requires": { - "loader-utils": "^1.2.3", - "schema-utils": "^2.5.0" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "node_modules/@jest/console": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.0.0.tgz", + "integrity": "sha512-vfpJap6JZQ3I8sUN8dsFqNAKJYO4KIGxkcB+3Fw7Q/BJiWY5HwtMMiuT1oP0avsiDhjE/TCLaDgbGfHwDdBVeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.0.0", + "@types/node": "*", + "chalk": "^4.1.2", + "jest-message-util": "30.0.0", + "jest-util": "30.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - } + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "requires": { - "locate-path": "^2.0.0" + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "flat-cache": { + "node_modules/@jest/console/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "dependencies": { - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/console/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/console/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.0.0.tgz", + "integrity": "sha512-1zU39zFtWSl5ZuDK3Rd6P8S28MmS4F11x6Z4CURrgJ99iaAJg68hmdJ2SAHEEO6ociaNk43UhUYtHxWKEWoNYw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "30.0.0", + "@jest/pattern": "30.0.0", + "@jest/reporters": "30.0.0", + "@jest/test-result": "30.0.0", + "@jest/transform": "30.0.0", + "@jest/types": "30.0.0", + "@types/node": "*", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "exit-x": "^0.2.2", + "graceful-fs": "^4.2.11", + "jest-changed-files": "30.0.0", + "jest-config": "30.0.0", + "jest-haste-map": "30.0.0", + "jest-message-util": "30.0.0", + "jest-regex-util": "30.0.0", + "jest-resolve": "30.0.0", + "jest-resolve-dependencies": "30.0.0", + "jest-runner": "30.0.0", + "jest-runtime": "30.0.0", + "jest-snapshot": "30.0.0", + "jest-util": "30.0.0", + "jest-validate": "30.0.0", + "jest-watcher": "30.0.0", + "micromatch": "^4.0.8", + "pretty-format": "30.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true } } }, - "flatted": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", - "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", - "dev": true + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "flatten": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", - "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", - "dev": true + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "node_modules/@jest/core/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true + "node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true + "node_modules/@jest/core/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "node_modules/@jest/core/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "node_modules/@jest/diff-sequences": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.0.tgz", + "integrity": "sha512-xMbtoCeKJDto86GW6AiwVv7M4QAuI56R7dVBr1RNGYbOT44M2TIzOiske2RxopBqkumDY+A1H55pGvuribRY9A==", "dev": true, - "requires": { - "map-cache": "^0.2.2" + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "node_modules/@jest/environment": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.0.0.tgz", + "integrity": "sha512-09sFbMMgS5JxYnvgmmtwIHhvoyzvR5fUPrVl8nOCrC5KdzmmErTcAxfWyAhJ2bv3rvHNQaKiS+COSG+O7oNbXw==", "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "30.0.0", + "@jest/types": "30.0.0", + "@types/node": "*", + "jest-mock": "30.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "fs-access": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", - "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", + "node_modules/@jest/environment-jsdom-abstract": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@jest/environment-jsdom-abstract/-/environment-jsdom-abstract-30.0.0.tgz", + "integrity": "sha512-Fcn1eZbH1JK+bqwUVkUVprlQL3xWUrhvOe/4L0PfDkaJOiAz3HUI1m4s0bgmXBYyCyTVogBuUFZkRpAKMox5Dw==", "dev": true, - "requires": { - "null-check": "^1.0.0" + "license": "MIT", + "dependencies": { + "@jest/environment": "30.0.0", + "@jest/fake-timers": "30.0.0", + "@jest/types": "30.0.0", + "@types/jsdom": "^21.1.7", + "@types/node": "*", + "jest-mock": "30.0.0", + "jest-util": "30.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "canvas": "^3.0.0", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "fs-exists-sync": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", - "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=", - "dev": true + "node_modules/@jest/expect": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.0.0.tgz", + "integrity": "sha512-XZ3j6syhMeKiBknmmc8V3mNIb44kxLTbOQtaXA4IFdHy+vEN0cnXRzbRjdGBtrp4k1PWyMWNU3Fjz3iejrhpQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "30.0.0", + "jest-snapshot": "30.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "node_modules/@jest/expect-utils": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.0.0.tgz", + "integrity": "sha512-UiWfsqNi/+d7xepfOv8KDcbbzcYtkWBe3a3kVDtg6M1kuN6CJ7b4HzIp5e1YHrSaQaVS8sdCoyCMCZClTLNKFQ==", "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "fs-readdir-recursive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", - "dev": true + "node_modules/@jest/fake-timers": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.0.0.tgz", + "integrity": "sha512-yzBmJcrMHAMcAEbV2w1kbxmx8WFpEz8Cth3wjLMSkq+LO8VeGKRhpr5+BUp7PPK+x4njq/b6mVnDR8e/tPL5ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.0.0", + "@sinonjs/fake-timers": "^13.0.0", + "@types/node": "*", + "jest-message-util": "30.0.0", + "jest-mock": "30.0.0", + "jest-util": "30.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "node_modules/@jest/get-type": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.0.0.tgz", + "integrity": "sha512-VZWMjrBzqfDKngQ7sUctKeLxanAbsBFoZnPxNIG6CmxK7Gv6K44yqd0nzveNIBfuhGZMmk1n5PGbvdSTOu0yTg==", "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "node_modules/@jest/globals": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.0.0.tgz", + "integrity": "sha512-OEzYes5A1xwBJVMPqFRa8NCao8Vr42nsUZuf/SpaJWoLE+4kyl6nCQZ1zqfipmCrIXQVALC5qJwKy/7NQQLPhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.0.0", + "@jest/expect": "30.0.0", + "@jest/types": "30.0.0", + "jest-mock": "30.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } }, - "fsevents": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", - "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "node_modules/@jest/pattern": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.0.tgz", + "integrity": "sha512-k+TpEThzLVXMkbdxf8KHjZ83Wl+G54ytVJoDIGWwS96Ql4xyASRjc6SU1hs5jHVql+hpyK9G8N7WuFhLpGHRpQ==", "dev": true, - "optional": true, - "requires": { - "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-regex-util": "30.0.0" }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.0.0.tgz", + "integrity": "sha512-5WHNlLO0Ok+/o6ML5IzgVm1qyERtLHBNhwn67PAq92H4hZ+n5uW/BYj1VVwmTdxIcNrZLxdV9qtpdZkXf16HxA==", + "dev": true, + "license": "MIT", "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true, + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "30.0.0", + "@jest/test-result": "30.0.0", + "@jest/transform": "30.0.0", + "@jest/types": "30.0.0", + "@jridgewell/trace-mapping": "^0.3.25", + "@types/node": "*", + "chalk": "^4.1.2", + "collect-v8-coverage": "^1.0.2", + "exit-x": "^0.2.2", + "glob": "^10.3.10", + "graceful-fs": "^4.2.11", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^5.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "30.0.0", + "jest-util": "30.0.0", + "jest-worker": "30.0.0", + "slash": "^3.0.0", + "string-length": "^4.0.2", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/reporters/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@jest/reporters/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@jest/reporters/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/schemas": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.0.tgz", + "integrity": "sha512-NID2VRyaEkevCRz6badhfqYwri/RvMbiHY81rk3AkK/LaiB0LSxi1RdVZ7MpZdTjNugtZeGfpL0mLs9Kp3MrQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.34.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/snapshot-utils": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.0.0.tgz", + "integrity": "sha512-C/QSFUmvZEYptg2Vin84FggAphwHvj6la39vkw1CNOZQORWZ7O/H0BXmdeeeGnvlXDYY8TlFM5jgFnxLAxpFjA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.0.0", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "natural-compare": "^1.4.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/snapshot-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/snapshot-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/snapshot-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/snapshot-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/snapshot-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/source-map": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-30.0.0.tgz", + "integrity": "sha512-oYBJ4d/NF4ZY3/7iq1VaeoERHRvlwKtrGClgescaXMIa1mmb+vfJd0xMgbW9yrI80IUA7qGbxpBWxlITrHkWoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "callsites": "^3.1.0", + "graceful-fs": "^4.2.11" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.0.0.tgz", + "integrity": "sha512-685zco9HdgBaaWiB9T4xjLtBuN0Q795wgaQPpmuAeZPHwHZSoKFAUnozUtU+ongfi4l5VCz8AclOE5LAQdyjxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "30.0.0", + "@jest/types": "30.0.0", + "@types/istanbul-lib-coverage": "^2.0.6", + "collect-v8-coverage": "^1.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.0.0.tgz", + "integrity": "sha512-Hmvv5Yg6UmghXIcVZIydkT0nAK7M/hlXx9WMHR5cLVwdmc14/qUQt3mC72T6GN0olPC6DhmKE6Cd/pHsgDbuqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "30.0.0", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/test-sequencer/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.0.0.tgz", + "integrity": "sha512-8xhpsCGYJsUjqpJOgLyMkeOSSlhqggFZEWAnZquBsvATtueoEs7CkMRxOUmJliF3E5x+mXmZ7gEEsHank029Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.27.4", + "@jest/types": "30.0.0", + "@jridgewell/trace-mapping": "^0.3.25", + "babel-plugin-istanbul": "^7.0.0", + "chalk": "^4.1.2", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.0.0", + "jest-regex-util": "30.0.0", + "jest-util": "30.0.0", + "micromatch": "^4.0.8", + "pirates": "^4.0.7", + "slash": "^3.0.0", + "write-file-atomic": "^5.0.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/transform/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.0.tgz", + "integrity": "sha512-1Nox8mAL52PKPfEnUQWBvKU/bp8FTT6AiDu76bFDEJj/qsRFSAVSldfCH3XYMqialti2zHXKvD5gN0AaHc0yKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/pattern": "30.0.0", + "@jest/schemas": "30.0.0", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jsonjoy.com/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pack": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.2.0.tgz", + "integrity": "sha512-io1zEbbYcElht3tdlqEOFxZ0dMTYrHz9iMf0gqn1pPjZFTCgM5R4R5IMA20Chb2UPYYsxjzs8CgZ7Nb5n2K2rA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/base64": "^1.1.1", + "@jsonjoy.com/util": "^1.1.2", + "hyperdyperid": "^1.2.0", + "thingies": "^1.20.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/util": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.6.0.tgz", + "integrity": "sha512-sw/RMbehRhN68WRtcKCpQOPfnH6lLP4GJfqzi3iYej8tnzpZUDr6UkZYJjcjjC0FWEJOJbyM3PTIwxucUmDG2A==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.11.tgz", + "integrity": "sha512-9DPkXtvHydrcOsopiYpUgPHpmj0HWZKMUnL2dZqpvC42lsratuBG06V5ipyno0fUek5VlFsNQ+AcFATSrJXgMA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.9.0" + } + }, + "node_modules/@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", + "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pkgr/core": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.7.tgz", + "integrity": "sha512-YLT9Zo3oNPJoBjBc4q8G2mjU4tqIbf5CEOORbUUr48dCD9q3umJ3IPlVqOqDakPfd2HuwccBaqlGhN4Gmr5OWg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/pkgr" + } + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sinclair/typebox": { + "version": "0.34.34", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.34.tgz", + "integrity": "sha512-eorgURQ/pnWvdyexF2DTh3eDTA35/nmWLeqOHWseA0gtGcNShyt1yH7Qy1Cz37aK29a73GCZmUQpGy0Sj9t3Gw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "13.0.5", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", + "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.1" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", + "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz", + "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/conventional-commits-parser": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/conventional-commits-parser/-/conventional-commits-parser-5.0.1.tgz", + "integrity": "sha512-7uz5EHdzz2TqoMfV7ee61Egf5y6NkcO4FB/1iCCQnbeiI1F3xzv3vK5dBCXUCLQgGYS+mUeigK1iKQzvED+QnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jsdom": { + "version": "21.1.7", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.7.tgz", + "integrity": "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "24.0.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.1.tgz", + "integrity": "sha512-MX4Zioh39chHlDJbKmEgydJDS3tspMP/lnQC67G3SWsTnb9NeYVWOjkxpOSy4oMfPs4StcWHwBrvUb4ybfnuaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.8.0" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/triple-beam": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true, + "license": "ISC" + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.9.0.tgz", + "integrity": "sha512-h1T2c2Di49ekF2TE8ZCoJkb+jwETKUIPDJ/nO3tJBKlLFPu+fyd93f0rGP/BvArKx2k2HlRM4kqkNarj3dvZlg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.9.0.tgz", + "integrity": "sha512-sG1NHtgXtX8owEkJ11yn34vt0Xqzi3k9TJ8zppDmyG8GZV4kVWw44FHwKwHeEFl07uKPeC4ZoyuQaGh5ruJYPA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.9.0.tgz", + "integrity": "sha512-nJ9z47kfFnCxN1z/oYZS7HSNsFh43y2asePzTEZpEvK7kGyuShSl3RRXnm/1QaqFL+iP+BjMwuB+DYUymOkA5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.9.0.tgz", + "integrity": "sha512-TK+UA1TTa0qS53rjWn7cVlEKVGz2B6JYe0C++TdQjvWYIyx83ruwh0wd4LRxYBM5HeuAzXcylA9BH2trARXJTw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.9.0.tgz", + "integrity": "sha512-6uZwzMRFcD7CcCd0vz3Hp+9qIL2jseE/bx3ZjaLwn8t714nYGwiE84WpaMCYjU+IQET8Vu/+BNAGtYD7BG/0yA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.9.0.tgz", + "integrity": "sha512-bPUBksQfrgcfv2+mm+AZinaKq8LCFvt5PThYqRotqSuuZK1TVKkhbVMS/jvSRfYl7jr3AoZLYbDkItxgqMKRkg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.9.0.tgz", + "integrity": "sha512-uT6E7UBIrTdCsFQ+y0tQd3g5oudmrS/hds5pbU3h4s2t/1vsGWbbSKhBSCD9mcqaqkBwoqlECpUrRJCmldl8PA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.9.0.tgz", + "integrity": "sha512-vdqBh911wc5awE2bX2zx3eflbyv8U9xbE/jVKAm425eRoOVv/VseGZsqi3A3SykckSpF4wSROkbQPvbQFn8EsA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.9.0.tgz", + "integrity": "sha512-/8JFZ/SnuDr1lLEVsxsuVwrsGquTvT51RZGvyDB/dOK3oYK2UqeXzgeyq6Otp8FZXQcEYqJwxb9v+gtdXn03eQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.9.0.tgz", + "integrity": "sha512-FkJjybtrl+rajTw4loI3L6YqSOpeZfDls4SstL/5lsP2bka9TiHUjgMBjygeZEis1oC8LfJTS8FSgpKPaQx2tQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.9.0.tgz", + "integrity": "sha512-w/NZfHNeDusbqSZ8r/hp8iL4S39h4+vQMc9/vvzuIKMWKppyUGKm3IST0Qv0aOZ1rzIbl9SrDeIqK86ZpUK37w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.9.0.tgz", + "integrity": "sha512-bEPBosut8/8KQbUixPry8zg/fOzVOWyvwzOfz0C0Rw6dp+wIBseyiHKjkcSyZKv/98edrbMknBaMNJfA/UEdqw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.9.0.tgz", + "integrity": "sha512-LDtMT7moE3gK753gG4pc31AAqGUC86j3AplaFusc717EUGF9ZFJ356sdQzzZzkBk1XzMdxFyZ4f/i35NKM/lFA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.9.0.tgz", + "integrity": "sha512-WmFd5KINHIXj8o1mPaT8QRjA9HgSXhN1gl9Da4IZihARihEnOylu4co7i/yeaIpcfsI6sYs33cNZKyHYDh0lrA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.9.0.tgz", + "integrity": "sha512-CYuXbANW+WgzVRIl8/QvZmDaZxrqvOldOwlbUjIM4pQ46FJ0W5cinJ/Ghwa/Ng1ZPMJMk1VFdsD/XwmCGIXBWg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.9.0.tgz", + "integrity": "sha512-6Rp2WH0OoitMYR57Z6VE8Y6corX8C6QEMWLgOV6qXiJIeZ1F9WGXY/yQ8yDC4iTraotyLOeJ2Asea0urWj2fKQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.11" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.9.0.tgz", + "integrity": "sha512-rknkrTRuvujprrbPmGeHi8wYWxmNVlBoNW8+4XF2hXUnASOjmuC9FNF1tGbDiRQWn264q9U/oGtixyO3BT8adQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.9.0.tgz", + "integrity": "sha512-Ceymm+iBl+bgAICtgiHyMLz6hjxmLJKqBim8tDzpX61wpZOx2bPK6Gjuor7I2RiUynVjvvkoRIkrPyMwzBzF3A==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.9.0.tgz", + "integrity": "sha512-k59o9ZyeyS0hAlcaKFezYSH2agQeRFEB7KoQLXl3Nb3rgkqT1NY9Vwy+SqODiLmYnEjxWJVRE/yq2jFVqdIxZw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-contrib/eslint-config-webpack": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@webpack-contrib/eslint-config-webpack/-/eslint-config-webpack-3.0.0.tgz", + "integrity": "sha512-3f0dwuTZ1JZpnoGQ6tAKBWluZKZZBXr1ADoaOAbPiW0OvSN7o0wXFLGyfw6J+fW756xIkZLZ8JDYP5zInIRvBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6.9.0 || >= 8.9.0" + }, + "peerDependencies": { + "eslint": ">= 5.0.0" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/agent-base": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/aggregate-error": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", + "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", + "dev": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^4.0.0", + "indent-string": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "dev": true, + "license": "MIT" + }, + "node_modules/array-includes": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-timsort": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-timsort/-/array-timsort-1.0.3.tgz", + "integrity": "sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.21", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz", + "integrity": "sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" }, - "minipass": { - "version": "2.3.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.24.4", + "caniuse-lite": "^1.0.30001702", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/babel-jest": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.0.0.tgz", + "integrity": "sha512-JQ0DhdFjODbSawDf0026uZuwaqfKkQzk+9mwWkq2XkKFIaMhFVOxlVmbFCOnnC76jATdxrff3IiUAvOAJec6tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/transform": "30.0.0", + "@types/babel__core": "^7.20.5", + "babel-plugin-istanbul": "^7.0.0", + "babel-preset-jest": "30.0.0", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "slash": "^3.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0" + } + }, + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/babel-jest/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.0.tgz", + "integrity": "sha512-C5OzENSx/A+gt7t4VH1I2XsflxyPUmXRFPKBxt33xncdOmq7oROVM3bZv9Ysjjkv8OJYDMa+tKuKMvqU/H3xdw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-instrument": "^6.0.2", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.0.0.tgz", + "integrity": "sha512-DSRm+US/FCB4xPDD6Rnslb6PAF9Bej1DZ+1u4aTiqJnk7ZX12eHsnDiIOqjGvITCq+u6wLqUhgS+faCNbVY8+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.27.3", + "@types/babel__core": "^7.20.5" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz", + "integrity": "sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.4", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz", + "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.3", + "core-js-compat": "^3.40.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz", + "integrity": "sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.4" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.0.0.tgz", + "integrity": "sha512-hgEuu/W7gk8QOWUA9+m3Zk+WpGvKc1Egp6rFQEfYxEoM9Fk/q8nuTXNL65OkhwGrTApauEGgakOoWVXj+UfhKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "30.0.0", + "babel-preset-current-node-syntax": "^1.1.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.0.tgz", + "integrity": "sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" }, - "needle": { - "version": "2.3.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^4.1.0", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" }, - "node-pre-gyp": { - "version": "0.12.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001718", + "electron-to-chromium": "^1.5.160", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001722", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001722.tgz", + "integrity": "sha512-DCQHBBZtiK6JVkAGw7drvAMK0Q0POD/xZvEmDp6baiMMP6QXXk9HpD6mNYBZWhOPG6LvIDb82ITqtWjhDckHCA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" }, - "npm-bundled": { - "version": "1.0.6", - "bundled": true, - "dev": true, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk-template": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-1.1.0.tgz", + "integrity": "sha512-T2VJbcDuZQ0Tb2EWwSotMPJjgpy1/tGee1BTpUNsGZ/qgNjV2t7Mvu+d4600U564nbLesN1x2dPL+xii174Ekg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.2.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.2.0.tgz", + "integrity": "sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.1.0.tgz", + "integrity": "sha512-UX0OwmYRYQQetfrLEZeewIFFI+wSTofC+pMBLNuH3RUuu/xzG1oz84UCEDOSoQlN3fZ4+AzmV50ZYvGqkMh9yA==", + "dev": true, + "license": "MIT" + }, + "node_modules/clean-stack": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", + "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clean-stack/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clear-module": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/clear-module/-/clear-module-4.1.2.tgz", + "integrity": "sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^2.0.0", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", + "dev": true, + "license": "MIT", + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cliui/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/colorspace": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "color": "^3.1.3", + "text-hex": "1.0.x" + } + }, + "node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/comment-json": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-4.2.5.tgz", + "integrity": "sha512-bKw/r35jR3HGt5PEPm1ljsQQGyCrR8sFGNiN5L+ykDHdpO8Smxkrkla9Yi6NkQyUrb8V54PGhfMs6NrIwtxtdw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-timsort": "^1.0.3", + "core-util-is": "^1.0.3", + "esprima": "^4.0.1", + "has-own-prop": "^2.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "dev": true, + "engines": [ + "node >= 6.0" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/conventional-changelog": { + "version": "3.1.25", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.25.tgz", + "integrity": "sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "conventional-changelog-angular": "^5.0.12", + "conventional-changelog-atom": "^2.0.8", + "conventional-changelog-codemirror": "^2.0.8", + "conventional-changelog-conventionalcommits": "^4.5.0", + "conventional-changelog-core": "^4.2.1", + "conventional-changelog-ember": "^2.0.9", + "conventional-changelog-eslint": "^3.0.9", + "conventional-changelog-express": "^2.0.6", + "conventional-changelog-jquery": "^3.0.11", + "conventional-changelog-jshint": "^2.0.9", + "conventional-changelog-preset-loader": "^2.3.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-angular": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", + "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/conventional-changelog-atom": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz", + "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==", + "dev": true, + "license": "ISC", + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-codemirror": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz", + "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==", + "dev": true, + "license": "ISC", + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-config-spec": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz", + "integrity": "sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/conventional-changelog-conventionalcommits": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-7.0.2.tgz", + "integrity": "sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==", + "dev": true, + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/conventional-changelog-core": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", + "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^5.0.0", + "conventional-commits-parser": "^3.2.0", + "dateformat": "^3.0.0", + "get-pkg-repo": "^4.0.0", + "git-raw-commits": "^2.0.8", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^4.1.1", + "lodash": "^4.17.15", + "normalize-package-data": "^3.0.0", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-core/node_modules/conventional-commits-parser": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", + "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-commits-parser": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-core/node_modules/dargs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-core/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-core/node_modules/git-raw-commits": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", + "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", + "dev": true, + "license": "MIT", + "dependencies": { + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "git-raw-commits": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-core/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-core/node_modules/is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "text-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/conventional-changelog-core/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-core/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-core/node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-changelog-core/node_modules/meow/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "license": "ISC" + }, + "node_modules/conventional-changelog-core/node_modules/meow/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-core/node_modules/meow/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-changelog-core/node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-core/node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/conventional-changelog-core/node_modules/meow/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-core/node_modules/meow/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/conventional-changelog-core/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-core/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-changelog-core/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-core/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-core/node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "license": "ISC", + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/conventional-changelog-core/node_modules/text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/conventional-changelog-core/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-changelog-core/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/conventional-changelog-core/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-ember": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz", + "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==", + "dev": true, + "license": "ISC", + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-eslint": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz", + "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==", + "dev": true, + "license": "ISC", + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-express": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz", + "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-jquery": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz", + "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==", + "dev": true, + "license": "ISC", + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-jshint": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz", + "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==", + "dev": true, + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-preset-loader": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", + "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", + "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.7", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-changelog-writer": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-writer/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-writer/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer/node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-changelog-writer/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer/node_modules/normalize-package-data/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-changelog-writer/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-writer/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-writer/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-writer/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-changelog-writer/node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-writer/node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "license": "ISC" + }, + "node_modules/conventional-changelog-writer/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/conventional-changelog-writer/node_modules/read-pkg/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/conventional-changelog-writer/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-writer/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/conventional-changelog-writer/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-changelog-writer/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/conventional-changelog-writer/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog/node_modules/conventional-changelog-angular": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", + "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", + "dev": true, + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog/node_modules/conventional-changelog-conventionalcommits": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", + "integrity": "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==", + "dev": true, + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0", + "lodash": "^4.17.15", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-commits-filter": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", + "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-commits-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", + "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-text-path": "^2.0.0", + "JSONStream": "^1.3.5", + "meow": "^12.0.1", + "split2": "^4.0.0" + }, + "bin": { + "conventional-commits-parser": "cli.mjs" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/conventional-recommended-bump": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", + "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "concat-stream": "^2.0.0", + "conventional-changelog-preset-loader": "^2.3.4", + "conventional-commits-filter": "^2.0.7", + "conventional-commits-parser": "^3.2.0", + "git-raw-commits": "^2.0.8", + "git-semver-tags": "^4.1.1", + "meow": "^8.0.0", + "q": "^1.5.1" + }, + "bin": { + "conventional-recommended-bump": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-recommended-bump/node_modules/conventional-commits-parser": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", + "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-commits-parser": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-recommended-bump/node_modules/dargs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-recommended-bump/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-recommended-bump/node_modules/git-raw-commits": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", + "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", + "dev": true, + "license": "MIT", + "dependencies": { + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "git-raw-commits": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-recommended-bump/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-recommended-bump/node_modules/is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "text-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/conventional-recommended-bump/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-recommended-bump/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-recommended-bump/node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-recommended-bump/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-recommended-bump/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-recommended-bump/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-recommended-bump/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-recommended-bump/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-recommended-bump/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-recommended-bump/node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-recommended-bump/node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "license": "ISC" + }, + "node_modules/conventional-recommended-bump/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/conventional-recommended-bump/node_modules/read-pkg/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/conventional-recommended-bump/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-recommended-bump/node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "license": "ISC", + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/conventional-recommended-bump/node_modules/text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/conventional-recommended-bump/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-recommended-bump/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/conventional-recommended-bump/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/core-js-compat": { + "version": "3.43.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.43.0.tgz", + "integrity": "sha512-2GML2ZsCc5LR7hZYz4AXmjQw8zuy2T//2QntwdnpuYI7jteT6GVYJL7F6C2C57R7gSYrcqVW3lAALefdbhBLDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.25.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { "optional": true + } + } + }, + "node_modules/cosmiconfig-typescript-loader": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-6.1.0.tgz", + "integrity": "sha512-tJ1w35ZRUiM5FeTzT7DtYWAFFv37ZLqSRkGi2oeCK1gPhvaWjkAtfXvLmvE1pRfxxp9aQo6ba/Pvg1dKj05D4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "jiti": "^2.4.1" + }, + "engines": { + "node": ">=v18" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=9", + "typescript": ">=5" + } + }, + "node_modules/cosmiconfig/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/cosmiconfig/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "bin": { + "cross-env": "src/bin/cross-env.js", + "cross-env-shell": "src/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=10.14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cspell": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/cspell/-/cspell-8.19.4.tgz", + "integrity": "sha512-toaLrLj3usWY0Bvdi661zMmpKW2DVLAG3tcwkAv4JBTisdIRn15kN/qZDrhSieUEhVgJgZJDH4UKRiq29mIFxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/cspell-json-reporter": "8.19.4", + "@cspell/cspell-pipe": "8.19.4", + "@cspell/cspell-types": "8.19.4", + "@cspell/dynamic-import": "8.19.4", + "@cspell/url": "8.19.4", + "chalk": "^5.4.1", + "chalk-template": "^1.1.0", + "commander": "^13.1.0", + "cspell-dictionary": "8.19.4", + "cspell-gitignore": "8.19.4", + "cspell-glob": "8.19.4", + "cspell-io": "8.19.4", + "cspell-lib": "8.19.4", + "fast-json-stable-stringify": "^2.1.0", + "file-entry-cache": "^9.1.0", + "semver": "^7.7.1", + "tinyglobby": "^0.2.13" + }, + "bin": { + "cspell": "bin.mjs", + "cspell-esm": "bin.mjs" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/streetsidesoftware/cspell?sponsor=1" + } + }, + "node_modules/cspell-config-lib": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/cspell-config-lib/-/cspell-config-lib-8.19.4.tgz", + "integrity": "sha512-LtFNZEWVrnpjiTNgEDsVN05UqhhJ1iA0HnTv4jsascPehlaUYVoyucgNbFeRs6UMaClJnqR0qT9lnPX+KO1OLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/cspell-types": "8.19.4", + "comment-json": "^4.2.5", + "yaml": "^2.7.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-dictionary": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/cspell-dictionary/-/cspell-dictionary-8.19.4.tgz", + "integrity": "sha512-lr8uIm7Wub8ToRXO9f6f7in429P1Egm3I+Ps3ZGfWpwLTCUBnHvJdNF/kQqF7PL0Lw6acXcjVWFYT7l2Wdst2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/cspell-pipe": "8.19.4", + "@cspell/cspell-types": "8.19.4", + "cspell-trie-lib": "8.19.4", + "fast-equals": "^5.2.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-gitignore": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-8.19.4.tgz", + "integrity": "sha512-KrViypPilNUHWZkMV0SM8P9EQVIyH8HvUqFscI7+cyzWnlglvzqDdV4N5f+Ax5mK+IqR6rTEX8JZbCwIWWV7og==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/url": "8.19.4", + "cspell-glob": "8.19.4", + "cspell-io": "8.19.4" + }, + "bin": { + "cspell-gitignore": "bin.mjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-glob": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-8.19.4.tgz", + "integrity": "sha512-042uDU+RjAz882w+DXKuYxI2rrgVPfRQDYvIQvUrY1hexH4sHbne78+OMlFjjzOCEAgyjnm1ktWUCCmh08pQUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/url": "8.19.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-grammar": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/cspell-grammar/-/cspell-grammar-8.19.4.tgz", + "integrity": "sha512-lzWgZYTu/L7DNOHjxuKf8H7DCXvraHMKxtFObf8bAzgT+aBmey5fW2LviXUkZ2Lb2R0qQY+TJ5VIGoEjNf55ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/cspell-pipe": "8.19.4", + "@cspell/cspell-types": "8.19.4" + }, + "bin": { + "cspell-grammar": "bin.mjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-io": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-8.19.4.tgz", + "integrity": "sha512-W48egJqZ2saEhPWf5ftyighvm4mztxEOi45ILsKgFikXcWFs0H0/hLwqVFeDurgELSzprr12b6dXsr67dV8amg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/cspell-service-bus": "8.19.4", + "@cspell/url": "8.19.4" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-lib": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-8.19.4.tgz", + "integrity": "sha512-NwfdCCYtIBNQuZcoMlMmL3HSv2olXNErMi/aOTI9BBAjvCHjhgX5hbHySMZ0NFNynnN+Mlbu5kooJ5asZeB3KA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/cspell-bundled-dicts": "8.19.4", + "@cspell/cspell-pipe": "8.19.4", + "@cspell/cspell-resolver": "8.19.4", + "@cspell/cspell-types": "8.19.4", + "@cspell/dynamic-import": "8.19.4", + "@cspell/filetypes": "8.19.4", + "@cspell/strong-weak-map": "8.19.4", + "@cspell/url": "8.19.4", + "clear-module": "^4.1.2", + "comment-json": "^4.2.5", + "cspell-config-lib": "8.19.4", + "cspell-dictionary": "8.19.4", + "cspell-glob": "8.19.4", + "cspell-grammar": "8.19.4", + "cspell-io": "8.19.4", + "cspell-trie-lib": "8.19.4", + "env-paths": "^3.0.0", + "fast-equals": "^5.2.2", + "gensequence": "^7.0.0", + "import-fresh": "^3.3.1", + "resolve-from": "^5.0.0", + "vscode-languageserver-textdocument": "^1.0.12", + "vscode-uri": "^3.1.0", + "xdg-basedir": "^5.1.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-lib/node_modules/env-paths": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-3.0.0.tgz", + "integrity": "sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cspell-trie-lib": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-8.19.4.tgz", + "integrity": "sha512-yIPlmGSP3tT3j8Nmu+7CNpkPh/gBO2ovdnqNmZV+LNtQmVxqFd2fH7XvR1TKjQyctSH1ip0P5uIdJmzY1uhaYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/cspell-pipe": "8.19.4", + "@cspell/cspell-types": "8.19.4", + "gensequence": "^7.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell/node_modules/commander": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/css-blank-pseudo": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-6.0.2.tgz", + "integrity": "sha512-J/6m+lsqpKPqWHOifAFtKFeGLOzw3jR92rxQcwRUfA/eTuZzKfKlxOmYDx2+tqOPQAueNvBiY8WhAeHu5qNmTg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" }, - "npm-packlist": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^6.0.13" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-has-pseudo": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-6.0.5.tgz", + "integrity": "sha512-ZTv6RlvJJZKp32jPYnAJVhowDCrRrHUTAxsYSuUPBEDJjzws6neMnzkRblxtgmv1RgcV5dhH2gn7E3wA9Wt6lw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-specificity": "^3.1.1", + "postcss-selector-parser": "^6.0.13", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-prefers-color-scheme": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-9.0.1.tgz", + "integrity": "sha512-iFit06ochwCKPRiWagbTa1OAWCvWWVdEnIFd8BaRrgO8YrrNh4RAWUQTFcYX5tdFZgFl1DJ3iiULchZyEbnF4g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/cssdb": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-8.3.0.tgz", + "integrity": "sha512-c7bmItIg38DgGjSwDPZOYF/2o0QU/sSgkWOMyl8votOfgFuyiFKWPesmCGEsrGLxEA9uL540cp8LdaGEjUGsZQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ], + "license": "MIT-0" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssstyle": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.4.0.tgz", + "integrity": "sha512-W0Y2HOXlPkb2yaKrCVRjinYKciu/qSLEmK0K9mcfDei3zwlnHFEHAs/Du3cIRwPqY+J4JsiBzUjoHyc8RsJ03A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/css-color": "^3.2.0", + "rrweb-cssom": "^0.8.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/dargs": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-8.1.0.tgz", + "integrity": "sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/data-urls": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", + "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decimal.js": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz", + "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==", + "dev": true, + "license": "MIT" + }, + "node_modules/dedent": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.6.0.tgz", + "integrity": "sha512-F1Z+5UCFpmQUzJa11agbyPVMbpgT/qA3/SKyJ1jyBgm7dUcUEa8v9JwDkerSQXfakBwFljIxhOJqGkjUwZ9FSA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/del": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/del/-/del-7.1.0.tgz", + "integrity": "sha512-v2KyNk7efxhlyHpjEvfyxaAihKKK0nWCuf6ZtqZcFFpQRG0bJ12Qsr0RpvsICMjAAZ8DOVCxrlqpxISlMHC4Kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "globby": "^13.1.2", + "graceful-fs": "^4.2.10", + "is-glob": "^4.0.3", + "is-path-cwd": "^3.0.0", + "is-path-inside": "^4.0.0", + "p-map": "^5.5.0", + "rimraf": "^3.0.2", + "slash": "^4.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del-cli": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/del-cli/-/del-cli-5.1.0.tgz", + "integrity": "sha512-xwMeh2acluWeccsfzE7VLsG3yTr7nWikbfw+xhMnpRrF15pGSkw+3/vJZWlGoE4I86UiLRNHicmKt4tkIX9Jtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "del": "^7.1.0", + "meow": "^10.1.3" + }, + "bin": { + "del": "cli.js", + "del-cli": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del-cli/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del-cli/node_modules/camelcase-keys": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", + "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelcase": "^6.3.0", + "map-obj": "^4.1.0", + "quick-lru": "^5.1.1", + "type-fest": "^1.2.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del-cli/node_modules/decamelize": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", + "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del-cli/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del-cli/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/del-cli/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del-cli/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/del-cli/node_modules/meow": { + "version": "10.1.5", + "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz", + "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimist": "^1.2.2", + "camelcase-keys": "^7.0.0", + "decamelize": "^5.0.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.2", + "read-pkg-up": "^8.0.0", + "redent": "^4.0.0", + "trim-newlines": "^4.0.2", + "type-fest": "^1.2.2", + "yargs-parser": "^20.2.9" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del-cli/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/del-cli/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del-cli/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/del-cli/node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del-cli/node_modules/read-pkg": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", + "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^3.0.2", + "parse-json": "^5.2.0", + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del-cli/node_modules/read-pkg-up": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", + "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^5.0.0", + "read-pkg": "^6.0.0", + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del-cli/node_modules/redent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", + "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", + "dev": true, + "license": "MIT", + "dependencies": { + "indent-string": "^5.0.0", + "strip-indent": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del-cli/node_modules/strip-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", + "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del-cli/node_modules/trim-newlines": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz", + "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del-cli/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del-cli/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/del-cli/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/del/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotgitignore": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz", + "integrity": "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==", + "dev": true, + "license": "ISC", + "dependencies": { + "find-up": "^3.0.0", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dotgitignore/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.166", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.166.tgz", + "integrity": "sha512-QPWqHL0BglzPYyJJ1zSSmwFFL6MFXhbACOCcsCdUMCkzPdS9/OIBVxg516X/Ado2qwAq8k0nJJ7phQPCqiaFAw==", + "dev": true, + "license": "ISC" + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/enabled": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/enhanced-resolve": { + "version": "5.18.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", + "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", + "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-check": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/es-check/-/es-check-7.2.1.tgz", + "integrity": "sha512-4sxU2OZ1aYYRRX2ajL3hDDBaY96Yr/OcH6MTRerIuOSyil6SQYQQ0b48uqVfYGRCiI0NgJbtY6Sbmf75oPaTeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "8.11.3", + "commander": "12.0.0", + "fast-glob": "^3.3.2", + "supports-color": "^8.1.1", + "winston": "3.13.0" + }, + "bin": { + "es-check": "index.js" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/es-check/node_modules/commander": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.0.0.tgz", + "integrity": "sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", + "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", + "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.8", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/eslint/node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true, + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit-x": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/exit-x/-/exit-x-0.2.2.tgz", + "integrity": "sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-30.0.0.tgz", + "integrity": "sha512-xCdPp6gwiR9q9lsPCHANarIkFTN/IMZso6Kkq03sOm9IIGtzK/UJqml0dkhHibGh8HKOj8BIDIpZ0BZuU7QK6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/expect-utils": "30.0.0", + "@jest/get-type": "30.0.0", + "jest-matcher-utils": "30.0.0", + "jest-message-util": "30.0.0", + "jest-mock": "30.0.0", + "jest-util": "30.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-equals": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.2.2.tgz", + "integrity": "sha512-V7/RktU11J3I36Nwq2JnZEM7tNm17eBJz+u25qdxBZeCKiX6BkVSZQjwWIr+IobgnZy+ag73tTZgZi7tr0LrBw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "dev": true, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fdir": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { "optional": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "dev": true, + } + } + }, + "node_modules/fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", + "dev": true, + "license": "MIT" + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-entry-cache": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-9.1.0.tgz", + "integrity": "sha512-/pqPFG+FdxWQj+/WSuzXSDaNzxgTLr/OrR1QuqfEZzDakpdYE70PwUxL7BPUa8hpjbvY1+qvCl8k+8Tq34xJgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz", + "integrity": "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^7.2.0", + "path-exists": "^5.0.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-5.0.0.tgz", + "integrity": "sha512-JrqFmyUl2PnPi1OvLyTVHnQvwQ0S+e6lGSwu8OkAZlSaNIZciTY2H/cOOROxsBA1m/LZNHDsqAgDZt6akWcjsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.3.1", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/fn.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", + "dev": true, + "license": "MIT" + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensequence": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/gensequence/-/gensequence-7.0.0.tgz", + "integrity": "sha512-47Frx13aZh01afHJTB3zTtKIlFI6vWY+MYCN9Qpew6i52rfKjnhCF/l1YlC8UmEMvvntZZ6z4PiCcmyuedR2aQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", + "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-pkg-repo": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", + "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@hutson/parse-repository-url": "^3.0.0", + "hosted-git-info": "^4.0.0", + "through2": "^2.0.0", + "yargs": "^16.2.0" + }, + "bin": { + "get-pkg-repo": "src/cli.js" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-pkg-repo/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/get-pkg-repo/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/get-pkg-repo/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/get-pkg-repo/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/get-pkg-repo/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/get-pkg-repo/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/get-pkg-repo/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/get-pkg-repo/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/get-pkg-repo/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/get-pkg-repo/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/get-pkg-repo/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/get-pkg-repo/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/get-pkg-repo/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/get-pkg-repo/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/get-pkg-repo/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/get-pkg-repo/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/get-pkg-repo/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/get-pkg-repo/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/git-raw-commits": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-4.0.0.tgz", + "integrity": "sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dargs": "^8.0.0", + "meow": "^12.0.1", + "split2": "^4.0.0" + }, + "bin": { + "git-raw-commits": "cli.mjs" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-remote-origin-url/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/git-semver-tags": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", + "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "meow": "^8.0.0", + "semver": "^6.0.0" + }, + "bin": { + "git-semver-tags": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/git-semver-tags/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/git-semver-tags/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/git-semver-tags/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/git-semver-tags/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/git-semver-tags/node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/git-semver-tags/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/git-semver-tags/node_modules/normalize-package-data/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/git-semver-tags/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/git-semver-tags/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/git-semver-tags/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/git-semver-tags/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/git-semver-tags/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/git-semver-tags/node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/git-semver-tags/node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "license": "ISC" + }, + "node_modules/git-semver-tags/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/git-semver-tags/node_modules/read-pkg/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/git-semver-tags/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/git-semver-tags/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/git-semver-tags/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/git-semver-tags/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/git-semver-tags/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", + "dev": true, + "license": "BSD", + "dependencies": { + "ini": "^1.3.2" + } + }, + "node_modules/gitconfiglocal/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/global-directory": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz", + "integrity": "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "4.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-own-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-own-prop/-/has-own-prop-2.0.0.tgz", + "integrity": "sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "license": "ISC" + }, + "node_modules/html-encoding-sniffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^3.1.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/husky": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz", + "integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==", + "dev": true, + "license": "MIT", + "bin": { + "husky": "bin.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/hyperdyperid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", + "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.18" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "license": "MIT", + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/immutable": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz", + "integrity": "sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==", + "dev": true, + "license": "MIT" + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-meta-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", + "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ini": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", + "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-path-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-3.0.0.tgz", + "integrity": "sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-path-inside": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", + "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-text-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", + "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "text-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true, + "license": "MIT" + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jest": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-30.0.0.tgz", + "integrity": "sha512-/3G2iFwsUY95vkflmlDn/IdLyLWqpQXcftptooaPH4qkyU52V7qVYf1BjmdSPlp1+0fs6BmNtrGaSFwOfV07ew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "30.0.0", + "@jest/types": "30.0.0", + "import-local": "^3.2.0", + "jest-cli": "30.0.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, + } + } + }, + "node_modules/jest-changed-files": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.0.0.tgz", + "integrity": "sha512-rzGpvCdPdEV1Ma83c1GbZif0L2KAm3vXSXGRlpx7yCt0vhruwCNouKNRh3SiVcISHP1mb3iJzjb7tAEnNu1laQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^5.1.1", + "jest-util": "30.0.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-circus": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.0.0.tgz", + "integrity": "sha512-nTwah78qcKVyndBS650hAkaEmwWGaVsMMoWdJwMnH77XArRJow2Ir7hc+8p/mATtxVZuM9OTkA/3hQocRIK5Dw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.0.0", + "@jest/expect": "30.0.0", + "@jest/test-result": "30.0.0", + "@jest/types": "30.0.0", + "@types/node": "*", + "chalk": "^4.1.2", + "co": "^4.6.0", + "dedent": "^1.6.0", + "is-generator-fn": "^2.1.0", + "jest-each": "30.0.0", + "jest-matcher-utils": "30.0.0", + "jest-message-util": "30.0.0", + "jest-runtime": "30.0.0", + "jest-snapshot": "30.0.0", + "jest-util": "30.0.0", + "p-limit": "^3.1.0", + "pretty-format": "30.0.0", + "pure-rand": "^7.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-circus/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-circus/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.0.0.tgz", + "integrity": "sha512-fWKAgrhlwVVCfeizsmIrPRTBYTzO82WSba3gJniZNR3PKXADgdC0mmCSK+M+t7N8RCXOVfY6kvCkvjUNtzmHYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "30.0.0", + "@jest/test-result": "30.0.0", + "@jest/types": "30.0.0", + "chalk": "^4.1.2", + "exit-x": "^0.2.2", + "import-local": "^3.2.0", + "jest-config": "30.0.0", + "jest-util": "30.0.0", + "jest-validate": "30.0.0", + "yargs": "^17.7.2" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, + } + } + }, + "node_modules/jest-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.0.0.tgz", + "integrity": "sha512-p13a/zun+sbOMrBnTEUdq/5N7bZMOGd1yMfqtAJniPNuzURMay4I+vxZLK1XSDbjvIhmeVdG8h8RznqYyjctyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.27.4", + "@jest/get-type": "30.0.0", + "@jest/pattern": "30.0.0", + "@jest/test-sequencer": "30.0.0", + "@jest/types": "30.0.0", + "babel-jest": "30.0.0", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "deepmerge": "^4.3.1", + "glob": "^10.3.10", + "graceful-fs": "^4.2.11", + "jest-circus": "30.0.0", + "jest-docblock": "30.0.0", + "jest-environment-node": "30.0.0", + "jest-regex-util": "30.0.0", + "jest-resolve": "30.0.0", + "jest-runner": "30.0.0", + "jest-util": "30.0.0", + "jest-validate": "30.0.0", + "micromatch": "^4.0.8", + "parse-json": "^5.2.0", + "pretty-format": "30.0.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "esbuild-register": ">=3.4.0", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { "optional": true }, - "semver": { - "version": "5.7.0", - "bundled": true, - "dev": true, + "esbuild-register": { "optional": true }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, + "ts-node": { "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, + } + } + }, + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-config/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-config/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-config/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-config/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.0.0.tgz", + "integrity": "sha512-TgT1+KipV8JTLXXeFX0qSvIJR/UXiNNojjxb/awh3vYlBZyChU/NEmyKmq+wijKjWEztyrGJFL790nqMqNjTHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/diff-sequences": "30.0.0", + "@jest/get-type": "30.0.0", + "chalk": "^4.1.2", + "pretty-format": "30.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-diff/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-docblock": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-30.0.0.tgz", + "integrity": "sha512-By/iQ0nvTzghEecGzUMCp1axLtBh+8wB4Hpoi5o+x1stycjEmPcH1mHugL4D9Q+YKV++vKeX/3ZTW90QC8ICPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-newline": "^3.1.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-each": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.0.0.tgz", + "integrity": "sha512-qkFEW3cfytEjG2KtrhwtldZfXYnWSanO8xUMXLe4A6yaiHMHJUalk0Yyv4MQH6aeaxgi4sGVrukvF0lPMM7U1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.0.0", + "@jest/types": "30.0.0", + "chalk": "^4.1.2", + "jest-util": "30.0.0", + "pretty-format": "30.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-each/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-each/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-30.0.0.tgz", + "integrity": "sha512-IjDRABkSx+HpO7+WGVKPZL5XZajWRsMo2iQIudyiG4BhCi9Uah9HrFluqLUXdjPkIOoox+utUEUl8TDR2kc/Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.0.0", + "@jest/environment-jsdom-abstract": "30.0.0", + "@types/jsdom": "^21.1.7", + "@types/node": "*", + "jsdom": "^26.1.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, + } + } + }, + "node_modules/jest-environment-node": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.0.0.tgz", + "integrity": "sha512-sF6lxyA25dIURyDk4voYmGU9Uwz2rQKMfjxKnDd19yk+qxKGrimFqS5YsPHWTlAVBo+YhWzXsqZoaMzrTFvqfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.0.0", + "@jest/fake-timers": "30.0.0", + "@jest/types": "30.0.0", + "@types/node": "*", + "jest-mock": "30.0.0", + "jest-util": "30.0.0", + "jest-validate": "30.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.0.0.tgz", + "integrity": "sha512-p4bXAhXTawTsADgQgTpbymdLaTyPW1xWNu1oIGG7/N3LIAbZVkH2JMJqS8/IUcnGR8Kc7WFE+vWbJvsqGCWZXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.0.0", + "@types/node": "*", + "anymatch": "^3.1.3", + "fb-watchman": "^2.0.2", + "graceful-fs": "^4.2.11", + "jest-regex-util": "30.0.0", + "jest-util": "30.0.0", + "jest-worker": "30.0.0", + "micromatch": "^4.0.8", + "walker": "^1.0.8" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.3" + } + }, + "node_modules/jest-leak-detector": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.0.0.tgz", + "integrity": "sha512-E/ly1azdVVbZrS0T6FIpyYHvsdek4FNaThJTtggjV/8IpKxh3p9NLndeUZy2+sjAI3ncS+aM0uLLon/dBg8htA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.0.0", + "pretty-format": "30.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.0.0.tgz", + "integrity": "sha512-m5mrunqopkrqwG1mMdJxe1J4uGmS9AHHKYUmoxeQOxBcLjEvirIrIDwuKmUYrecPHVB/PUBpXs2gPoeA2FSSLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.0.0", + "chalk": "^4.1.2", + "jest-diff": "30.0.0", + "pretty-format": "30.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.0.tgz", + "integrity": "sha512-pV3qcrb4utEsa/U7UI2VayNzSDQcmCllBZLSoIucrESRu0geKThFZOjjh0kACDJFJRAQwsK7GVsmS6SpEceD8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.0.0", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "micromatch": "^4.0.8", + "pretty-format": "30.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-message-util/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-mock": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.0.tgz", + "integrity": "sha512-W2sRA4ALXILrEetEOh2ooZG6fZ01iwVs0OWMKSSWRcUlaLr4ESHuiKXDNTg+ZVgOq8Ei5445i/Yxrv59VT+XkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.0.0", + "@types/node": "*", + "jest-util": "30.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { "optional": true - }, - "tar": { - "version": "4.4.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, + } + } + }, + "node_modules/jest-regex-util": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.0.tgz", + "integrity": "sha512-rT84010qRu/5OOU7a9TeidC2Tp3Qgt9Sty4pOZ/VSDuEmRupIjKZAb53gU3jr4ooMlhwScrgC9UixJxWzVu9oQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.0.0.tgz", + "integrity": "sha512-zwWl1P15CcAfuQCEuxszjiKdsValhnWcj/aXg/R3aMHs8HVoCWHC4B/+5+1BirMoOud8NnN85GSP2LEZCbj3OA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.0.0", + "jest-pnp-resolver": "^1.2.3", + "jest-util": "30.0.0", + "jest-validate": "30.0.0", + "slash": "^3.0.0", + "unrs-resolver": "^1.7.11" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.0.0.tgz", + "integrity": "sha512-Yhh7odCAUNXhluK1bCpwIlHrN1wycYaTlZwq1GdfNBEESNNI/z1j1a7dUEWHbmB9LGgv0sanxw3JPmWU8NeebQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-regex-util": "30.0.0", + "jest-snapshot": "30.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-resolve/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-resolve/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.0.0.tgz", + "integrity": "sha512-xbhmvWIc8X1IQ8G7xTv0AQJXKjBVyxoVJEJgy7A4RXsSaO+k/1ZSBbHwjnUhvYqMvwQPomWssDkUx6EoidEhlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "30.0.0", + "@jest/environment": "30.0.0", + "@jest/test-result": "30.0.0", + "@jest/transform": "30.0.0", + "@jest/types": "30.0.0", + "@types/node": "*", + "chalk": "^4.1.2", + "emittery": "^0.13.1", + "exit-x": "^0.2.2", + "graceful-fs": "^4.2.11", + "jest-docblock": "30.0.0", + "jest-environment-node": "30.0.0", + "jest-haste-map": "30.0.0", + "jest-leak-detector": "30.0.0", + "jest-message-util": "30.0.0", + "jest-resolve": "30.0.0", + "jest-runtime": "30.0.0", + "jest-util": "30.0.0", + "jest-watcher": "30.0.0", + "jest-worker": "30.0.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runner/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-runtime": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.0.0.tgz", + "integrity": "sha512-/O07qVgFrFAOGKGigojmdR3jUGz/y3+a/v9S/Yi2MHxsD+v6WcPppglZJw0gNJkRBArRDK8CFAwpM/VuEiiRjA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.0.0", + "@jest/fake-timers": "30.0.0", + "@jest/globals": "30.0.0", + "@jest/source-map": "30.0.0", + "@jest/test-result": "30.0.0", + "@jest/transform": "30.0.0", + "@jest/types": "30.0.0", + "@types/node": "*", + "chalk": "^4.1.2", + "cjs-module-lexer": "^2.1.0", + "collect-v8-coverage": "^1.0.2", + "glob": "^10.3.10", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.0.0", + "jest-message-util": "30.0.0", + "jest-mock": "30.0.0", + "jest-regex-util": "30.0.0", + "jest-resolve": "30.0.0", + "jest-snapshot": "30.0.0", + "jest-util": "30.0.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runtime/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-runtime/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-runtime/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-runtime/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.0.0.tgz", + "integrity": "sha512-6oCnzjpvfj/UIOMTqKZ6gedWAUgaycMdV8Y8h2dRJPvc2wSjckN03pzeoonw8y33uVngfx7WMo1ygdRGEKOT7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.27.4", + "@babel/generator": "^7.27.5", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1", + "@babel/types": "^7.27.3", + "@jest/expect-utils": "30.0.0", + "@jest/get-type": "30.0.0", + "@jest/snapshot-utils": "30.0.0", + "@jest/transform": "30.0.0", + "@jest/types": "30.0.0", + "babel-preset-current-node-syntax": "^1.1.0", + "chalk": "^4.1.2", + "expect": "30.0.0", + "graceful-fs": "^4.2.11", + "jest-diff": "30.0.0", + "jest-matcher-utils": "30.0.0", + "jest-message-util": "30.0.0", + "jest-util": "30.0.0", + "pretty-format": "30.0.0", + "semver": "^7.7.2", + "synckit": "^0.11.8" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-snapshot/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.0.tgz", + "integrity": "sha512-fhNBBM9uSUbd4Lzsf8l/kcAdaHD/4SgoI48en3HXcBEMwKwoleKFMZ6cYEYs21SB779PRuRCyNLmymApAm8tZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.0.0", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.0.0.tgz", + "integrity": "sha512-d6OkzsdlWItHAikUDs1hlLmpOIRhsZoXTCliV2XXalVQ3ZOeb9dy0CQ6AKulJu/XOZqpOEr/FiMH+FeOBVV+nw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.0.0", + "@jest/types": "30.0.0", + "camelcase": "^6.3.0", + "chalk": "^4.1.2", + "leven": "^3.1.0", + "pretty-format": "30.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-validate/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.0.0.tgz", + "integrity": "sha512-fbAkojcyS53bOL/B7XYhahORq9cIaPwOgd/p9qW/hybbC8l6CzxfWJJxjlPBAIVN8dRipLR0zdhpGQdam+YBtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "30.0.0", + "@jest/types": "30.0.0", + "@types/node": "*", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "emittery": "^0.13.1", + "jest-util": "30.0.0", + "string-length": "^4.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-watcher/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-watcher/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.0.0.tgz", + "integrity": "sha512-VZvxfWIybIvwK8N/Bsfe43LfQgd/rD0c4h5nLUx78CAqPxIQcW2qDjsVAC53iUR8yxzFIeCFFvWOh8en8hGzdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@ungap/structured-clone": "^1.3.0", + "jest-util": "30.0.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.1.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-26.1.0.tgz", + "integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssstyle": "^4.2.1", + "data-urls": "^5.0.0", + "decimal.js": "^10.5.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.6", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.16", + "parse5": "^7.2.1", + "rrweb-cssom": "^0.8.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^5.1.1", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.1.1", + "ws": "^8.18.0", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { "optional": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true, + } + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, + "license": "ISC" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" + }, + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "license": "(MIT OR Apache-2.0)", + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kuler": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", + "dev": true, + "license": "MIT" + }, + "node_modules/less": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/less/-/less-4.3.0.tgz", + "integrity": "sha512-X9RyH9fvemArzfdP8Pi3irr7lor2Ok4rOttDXBhlwDg+wKQsXOXgHWduAJE1EsF7JJx0w0bcO6BC6tCKKYnXKA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=14" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" + } + }, + "node_modules/less-loader": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.3.0.tgz", + "integrity": "sha512-0M6+uYulvYIWs52y0LqN4+QM9TqWAohYSNTo4htE8Z7Cn3G/qQMEmktfHmyJT23k+20kU9zHH2wrfFXkxNLtVw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "less": "^3.5.0 || ^4.0.0", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { "optional": true }, - "yallist": { - "version": "3.0.3", - "bundled": true, - "dev": true, + "webpack": { "optional": true } } }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lint-staged": { + "version": "15.5.2", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.5.2.tgz", + "integrity": "sha512-YUSOLq9VeRNAo/CTaVmhGDKG+LBtA8KF1X4K5+ykMSwWST1vDxJRB2kv2COgLb1fvpCo+A/y9A0G0znNVmdx4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.4.1", + "commander": "^13.1.0", + "debug": "^4.4.0", + "execa": "^8.0.1", + "lilconfig": "^3.1.3", + "listr2": "^8.2.5", + "micromatch": "^4.0.8", + "pidtree": "^0.6.0", + "string-argv": "^0.3.2", + "yaml": "^2.7.0" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/lint-staged/node_modules/commander": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/lint-staged/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/lint-staged/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/lint-staged/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.3.3.tgz", + "integrity": "sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "license": "MIT", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.upperfirst": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", + "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true + "node_modules/logform": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.7.0.tgz", + "integrity": "sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } }, - "gauge": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", - "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=", + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "requires": { - "ansi": "^0.3.0", - "has-unicode": "^2.0.0", - "lodash.pad": "^4.1.0", - "lodash.padend": "^4.1.0", - "lodash.padstart": "^4.1.0" + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" } }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } }, - "get-own-enumerable-property-symbols": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.1.tgz", - "integrity": "sha512-09/VS4iek66Dh2bctjRkowueRJbY1JDGR1L/zRxO1Qk8Uxs6PnqaNSqalpizPT+CDjre3hnEsuzvhgomz9qYrA==", - "dev": true + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } }, - "get-pkg-repo": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", - "integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=", + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "meow": "^3.3.0", - "normalize-package-data": "^2.3.0", - "parse-github-repo-url": "^1.3.0", - "through2": "^2.0.0" + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/memfs": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.17.2.tgz", + "integrity": "sha512-NgYhCOWgovOXSzvYgUW0LQ7Qy72rWQMGGFJDoWg4G30RHd3z77VbYdtJ4fembJXBy8pMIUA31XNAupobOQlwdg==", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1" - } - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - } + "@jsonjoy.com/json-pack": "^1.0.3", + "@jsonjoy.com/util": "^1.3.0", + "tree-dump": "^1.0.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">= 4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" } }, - "get-stdin": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz", - "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==", - "dev": true + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "node_modules/meow": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", + "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", "dev": true, - "requires": { - "pump": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">=16.10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, - "requires": { - "assert-plus": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">= 8" } }, - "git-config-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/git-config-path/-/git-config-path-1.0.1.tgz", - "integrity": "sha1-bTP37WPbDQ4RgTFQO6s6ykfVRmQ=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "fs-exists-sync": "^0.1.0", - "homedir-polyfill": "^1.0.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" } }, - "git-raw-commits": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-1.3.6.tgz", - "integrity": "sha512-svsK26tQ8vEKnMshTDatSIQSMDdz8CxIIqKsvPqbtV23Etmw6VNaFAitu8zwZ0VrOne7FztwPyRLxK7/DIUTQg==", - "dev": true, - "requires": { - "dargs": "^4.0.1", - "lodash.template": "^4.0.2", - "meow": "^4.0.0", - "split2": "^2.0.0", - "through2": "^2.0.0" - }, - "dependencies": { - "meow": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", - "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", - "dev": true, - "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist": "^1.1.3", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0" - } - } + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "git-remote-origin-url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", - "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, - "requires": { - "gitconfiglocal": "^1.0.0", - "pify": "^2.3.0" + "license": "MIT", + "optional": true, + "bin": { + "mime": "cli.js" }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "git-semver-tags": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-3.0.0.tgz", - "integrity": "sha512-T4C/gJ9k2Bnxz+PubtcyiMtUUKrC+Nh9Q4zaECcnmVMwJgPhrNyP/Rf+YpdRqsJbCV/+kYrCH24Xg+IeAmbOPg==", + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, - "requires": { - "meow": "^4.0.0", - "semver": "^6.0.0" + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz", + "integrity": "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==", + "dev": true, + "license": "MIT", "dependencies": { - "meow": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", - "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", - "dev": true, - "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist": "^1.1.3", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" } }, - "git-username": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/git-username/-/git-username-1.0.0.tgz", - "integrity": "sha512-xm45KwBR6Eu1jO4umx/o2M84v9TC7tdOBuzLx8ayhdR9H1FBiiG9azz31uC0esDvaWVBTDINpJ5USomk+ja8OQ==", + "node_modules/mini-css-extract-plugin/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, - "requires": { - "parse-github-url": "^1.0.2", - "remote-origin-url": "^1.0.0" + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" } }, - "gitconfiglocal": { + "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", - "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true, - "requires": { - "ini": "^1.3.2" + "license": "MIT" + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", + "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/modify-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "node_modules/napi-postinstall": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.2.4.tgz", + "integrity": "sha512-ZEzHJwBhZ8qQSbknHqYcdtQVr8zUgGyM/q6h6qAyhtyVMNrSgDhrC4disf03dYW0e+czXyLnZINnCTEkWy0eJg==", "dev": true, - "requires": { - "ini": "^1.3.4" + "license": "MIT", + "bin": { + "napi-postinstall": "lib/cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" } }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" }, - "globby": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz", - "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==", + "node_modules/needle": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", + "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT" + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - } + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", - "dev": true + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true - }, - "handlebars": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.3.tgz", - "integrity": "sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA==", - "dev": true, - "requires": { - "neo-async": "^2.6.0", - "optimist": "^0.6.1", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4" + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "node_modules/npm-run-all": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm-run-all/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" } }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "node_modules/npm-run-all/node_modules/cross-spawn": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", + "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==", "dev": true, - "requires": { - "function-bind": "^1.1.1" + "license": "MIT", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" } }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "node_modules/npm-run-all/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "requires": { - "ansi-regex": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">=0.8.0" } }, - "has-flag": { + "node_modules/npm-run-all/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "has-unicode": { + "node_modules/npm-run-all/node_modules/path-key": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">=4" } }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "node_modules/npm-run-all/node_modules/pidtree": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", + "dev": true, + "license": "MIT", + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" } }, - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "node_modules/npm-run-all/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "license": "ISC", + "bin": { + "semver": "bin/semver" } }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "node_modules/npm-run-all/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "node_modules/npm-run-all/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "node_modules/npm-run-all/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "requires": { - "parse-passwd": "^1.0.0" + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "hosted-git-info": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", - "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", - "dev": true - }, - "html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "node_modules/npm-run-all/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "requires": { - "whatwg-encoding": "^1.0.1" + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true + "node_modules/nwsapi": { + "version": "2.2.20", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.20.tgz", + "integrity": "sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==", + "dev": true, + "license": "MIT" }, - "husky": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/husky/-/husky-3.1.0.tgz", - "integrity": "sha512-FJkPoHHB+6s4a+jwPqBudBDvYZsoQW5/HBuMSehC8qDiCe50kpcxeqFoDSlow+9I6wg47YxBoT3WxaURlrDIIQ==", + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "dev": true, - "requires": { - "chalk": "^2.4.2", - "ci-info": "^2.0.0", - "cosmiconfig": "^5.2.1", - "execa": "^1.0.0", - "get-stdin": "^7.0.0", - "opencollective-postinstall": "^2.0.2", - "pkg-dir": "^4.2.0", - "please-upgrade-node": "^3.2.0", - "read-pkg": "^5.2.0", - "run-node": "^1.0.0", - "slash": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.4" }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "parse-json": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", - "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1", - "lines-and-columns": "^1.1.6" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "license": "MIT", + "engines": { + "node": ">= 0.4" } }, - "icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", - "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", - "requires": { - "postcss": "^7.0.14" - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "ignore": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", - "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==", - "dev": true - }, - "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", "dev": true, - "requires": { - "import-from": "^2.1.0" + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, + "license": "MIT", "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - } + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", "dev": true, - "requires": { - "resolve-from": "^3.0.0" - }, + "license": "MIT", "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - } + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" } }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - } + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, - "requires": { - "once": "^1.3.0", + "license": "ISC", + "dependencies": { "wrappy": "1" } }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true - }, - "inquirer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-1.2.3.tgz", - "integrity": "sha1-TexvMvN+97sLLtPx0aXD9UUHSRg=", - "dev": true, - "requires": { - "ansi-escapes": "^1.1.0", - "chalk": "^1.0.0", - "cli-cursor": "^1.0.1", - "cli-width": "^2.0.0", - "external-editor": "^1.1.0", - "figures": "^1.3.5", - "lodash": "^4.3.0", - "mute-stream": "0.0.6", - "pinkie-promise": "^2.0.0", - "run-async": "^2.2.0", - "rx": "^4.1.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } + "node_modules/one-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fn.name": "1.x.x" } }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, - "requires": { - "loose-envify": "^1.0.0" + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, + "license": "MIT", "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" } }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-binary-path": { + "node_modules/own-keys": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", "dev": true, - "requires": { - "binary-extensions": "^1.0.0" + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", - "dev": true - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "requires": { - "ci-info": "^2.0.0" + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, + "license": "MIT", "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "node_modules/p-locate/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "node_modules/p-locate/node_modules/yocto-queue": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", + "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==", "dev": true, - "requires": { - "number-is-nan": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "node_modules/p-map": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", + "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", "dev": true, - "requires": { - "is-extglob": "^2.1.1" + "license": "MIT", + "dependencies": { + "aggregate-error": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "license": "MIT", + "engines": { + "node": ">=6" } }, - "is-obj": { + "node_modules/package-json-from-dist": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "dev": true + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" }, - "is-observable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", - "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", + "node_modules/parent-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-2.0.0.tgz", + "integrity": "sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==", "dev": true, - "requires": { - "symbol-observable": "^1.1.0" + "license": "MIT", + "dependencies": { + "callsites": "^3.1.0" + }, + "engines": { + "node": ">=8" } }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true - }, - "is-path-inside": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", - "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", - "dev": true - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, - "requires": { - "isobject": "^3.0.1" + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true - }, - "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", "dev": true, - "requires": { - "has": "^1.0.1" + "license": "MIT", + "engines": { + "node": ">= 0.10" } }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", "dev": true, - "requires": { - "has-symbols": "^1.0.1" + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "is-text-path": { + "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, - "requires": { - "text-extensions": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", - "dev": true, - "requires": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, - "requires": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", - "source-map": "^0.6.1" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } + "license": "ISC" }, - "istanbul-reports": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz", - "integrity": "sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==", - "dev": true, - "requires": { - "handlebars": "^4.1.2" - } - }, - "jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz", - "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==", - "dev": true, - "requires": { - "import-local": "^2.0.0", - "jest-cli": "^24.9.0" - }, - "dependencies": { - "jest-cli": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz", - "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==", - "dev": true, - "requires": { - "@jest/core": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "import-local": "^2.0.0", - "is-ci": "^2.0.0", - "jest-config": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "prompts": "^2.0.1", - "realpath-native": "^1.1.0", - "yargs": "^13.3.0" - } - } + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "jest-changed-files": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz", - "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "execa": "^1.0.0", - "throat": "^4.0.0" - } - }, - "jest-config": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz", - "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^24.9.0", - "@jest/types": "^24.9.0", - "babel-jest": "^24.9.0", - "chalk": "^2.0.1", - "glob": "^7.1.1", - "jest-environment-jsdom": "^24.9.0", - "jest-environment-node": "^24.9.0", - "jest-get-type": "^24.9.0", - "jest-jasmine2": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "micromatch": "^3.1.10", - "pretty-format": "^24.9.0", - "realpath-native": "^1.1.0" - } - }, - "jest-diff": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", - "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "diff-sequences": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "jest-docblock": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz", - "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==", - "dev": true, - "requires": { - "detect-newline": "^2.1.0" - } - }, - "jest-each": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz", - "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "jest-get-type": "^24.9.0", - "jest-util": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "jest-environment-jsdom": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz", - "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==", - "dev": true, - "requires": { - "@jest/environment": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-util": "^24.9.0", - "jsdom": "^11.5.1" - } - }, - "jest-environment-node": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", - "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", - "dev": true, - "requires": { - "@jest/environment": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-util": "^24.9.0" - } - }, - "jest-get-type": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", - "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", - "dev": true - }, - "jest-haste-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", - "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "anymatch": "^2.0.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.7", - "graceful-fs": "^4.1.15", - "invariant": "^2.2.4", - "jest-serializer": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.9.0", - "micromatch": "^3.1.10", - "sane": "^4.0.3", - "walker": "^1.0.7" - } - }, - "jest-jasmine2": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", - "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==", - "dev": true, - "requires": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "co": "^4.6.0", - "expect": "^24.9.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "pretty-format": "^24.9.0", - "throat": "^4.0.0" - } - }, - "jest-junit": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/jest-junit/-/jest-junit-9.0.0.tgz", - "integrity": "sha512-jnABGjL5pd2lhE1w3RIslZSufFbWQZGx8O3eluDES7qKxQuonXMtsPIi+4AKl4rtjb4DvMAjwLi4eHukc2FP/Q==", - "dev": true, - "requires": { - "jest-validate": "^24.9.0", - "mkdirp": "^0.5.1", - "strip-ansi": "^5.2.0", - "uuid": "^3.3.3", - "xml": "^1.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" }, - "jest-leak-detector": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz", - "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==", + "node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, - "requires": { - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "jest-matcher-utils": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", - "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", "dev": true, - "requires": { - "chalk": "^2.0.1", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" + "license": "MIT", + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" } }, - "jest-message-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", - "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^2.0.1", - "micromatch": "^3.1.10", - "slash": "^2.0.0", - "stack-utils": "^1.0.1" + "license": "MIT", + "engines": { + "node": ">=6" } }, - "jest-mock": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", - "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", "dev": true, - "requires": { - "@jest/types": "^24.9.0" + "license": "MIT", + "engines": { + "node": ">= 6" } }, - "jest-pnp-resolver": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz", - "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==", - "dev": true - }, - "jest-regex-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", - "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", - "dev": true - }, - "jest-resolve": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", - "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "browser-resolve": "^1.11.3", - "chalk": "^2.0.1", - "jest-pnp-resolver": "^1.2.1", - "realpath-native": "^1.1.0" - } - }, - "jest-resolve-dependencies": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz", - "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-snapshot": "^24.9.0" - } - }, - "jest-runner": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz", - "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==", - "dev": true, - "requires": { - "@jest/console": "^24.7.1", - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.4.2", - "exit": "^0.1.2", - "graceful-fs": "^4.1.15", - "jest-config": "^24.9.0", - "jest-docblock": "^24.3.0", - "jest-haste-map": "^24.9.0", - "jest-jasmine2": "^24.9.0", - "jest-leak-detector": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-resolve": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.6.0", - "source-map-support": "^0.5.6", - "throat": "^4.0.0" - } - }, - "jest-runtime": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz", - "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==", - "dev": true, - "requires": { - "@jest/console": "^24.7.1", - "@jest/environment": "^24.9.0", - "@jest/source-map": "^24.3.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/yargs": "^13.0.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.1.15", - "jest-config": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "realpath-native": "^1.1.0", - "slash": "^2.0.0", - "strip-bom": "^3.0.0", - "yargs": "^13.3.0" - } - }, - "jest-serializer": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", - "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==", - "dev": true - }, - "jest-snapshot": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz", - "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "expect": "^24.9.0", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-resolve": "^24.9.0", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^24.9.0", - "semver": "^6.2.0" - }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "jest-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", - "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", - "dev": true, - "requires": { - "@jest/console": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/source-map": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "callsites": "^3.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.15", - "is-ci": "^2.0.0", - "mkdirp": "^0.5.1", - "slash": "^2.0.0", - "source-map": "^0.6.0" + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "jest-validate": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", - "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "camelcase": "^5.3.1", - "chalk": "^2.0.1", - "jest-get-type": "^24.9.0", - "leven": "^3.1.0", - "pretty-format": "^24.9.0" + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "jest-watcher": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz", - "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==", + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "requires": { - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/yargs": "^13.0.0", - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "jest-util": "^24.9.0", - "string-length": "^2.0.0" - }, + "license": "MIT", "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - } + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "jest-worker": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", - "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "requires": { - "merge-stream": "^2.0.0", - "supports-color": "^6.1.0" + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "js-levenshtein": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", - "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", - "dev": true - }, - "js-tokens": { + "node_modules/pkg-dir/node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "jsdom": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", - "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", - "dev": true, - "requires": { - "abab": "^2.0.0", - "acorn": "^5.5.3", - "acorn-globals": "^4.1.0", - "array-equal": "^1.0.0", - "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": "^1.0.0", - "data-urls": "^1.0.0", - "domexception": "^1.0.1", - "escodegen": "^1.9.1", - "html-encoding-sniffer": "^1.0.2", - "left-pad": "^1.3.0", - "nwsapi": "^2.0.7", - "parse5": "4.0.0", - "pn": "^1.1.0", - "request": "^2.87.0", - "request-promise-native": "^1.0.5", - "sax": "^1.2.4", - "symbol-tree": "^3.2.2", - "tough-cookie": "^2.3.4", - "w3c-hr-time": "^1.0.1", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.3", - "whatwg-mimetype": "^2.1.0", - "whatwg-url": "^6.4.1", - "ws": "^5.2.0", - "xml-name-validator": "^3.0.0" - }, - "dependencies": { - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", - "dev": true + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.5.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.5.tgz", + "integrity": "sha512-d/jtm+rdNT8tpXuHY5MMtcbJFBkhXE6593XVR9UoGCH8jSFGci7jGvMGH5RYd5PBJW+00NZQt6gf7CbagJCrhg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" } }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-parser": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/json-parser/-/json-parser-1.1.5.tgz", - "integrity": "sha1-5i7FJh0aal/CDoEqMgdAxtkAVnc=", + "node_modules/postcss-attribute-case-insensitive": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-6.0.3.tgz", + "integrity": "sha512-KHkmCILThWBRtg+Jn1owTnHPnFit4OkqS+eKiGEOPIGke54DCeYGJ6r0Fx/HjfE9M9kznApCLcU0DvnPchazMQ==", "dev": true, - "requires": { - "esprima": "^2.7.0" - }, - "dependencies": { - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.13" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" + "node_modules/postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" } }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "node_modules/postcss-color-functional-notation": { + "version": "6.0.14", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-6.0.14.tgz", + "integrity": "sha512-dNUX+UH4dAozZ8uMHZ3CtCNYw8fyFAmqqdcyxMr7PEdM9jLXV19YscoYO0F25KqZYhmtWKQ+4tKrIZQrwzwg7A==", "dev": true, - "requires": { - "graceful-fs": "^4.1.6" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "dev": true - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "node_modules/postcss-color-hex-alpha": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-9.0.4.tgz", + "integrity": "sha512-XQZm4q4fNFqVCYMGPiBjcqDhuG7Ey2xrl99AnDJMyr5eDASsAGalndVgHZF8i97VFNy1GQeZc4q2ydagGmhelQ==", "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/utilities": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "kleur": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-2.0.2.tgz", - "integrity": "sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ==", - "dev": true - }, - "left-pad": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", - "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", - "dev": true - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "node_modules/postcss-color-rebeccapurple": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-9.0.3.tgz", + "integrity": "sha512-ruBqzEFDYHrcVq3FnW3XHgwRqVMrtEPLBtD7K2YmsLKVc2jbkxzzNEctJKsPCpDZ+LeMHLKRDoSShVefGc+CkQ==", "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/utilities": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true - }, - "lint-staged": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-9.5.0.tgz", - "integrity": "sha512-nawMob9cb/G1J98nb8v3VC/E8rcX1rryUYXVZ69aT9kde6YWX+uvNOEHY5yf2gcWcTJGiD0kqXmCnS3oD75GIA==", + "node_modules/postcss-custom-media": { + "version": "10.0.8", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-10.0.8.tgz", + "integrity": "sha512-V1KgPcmvlGdxTel4/CyQtBJEFhMVpEmRGFrnVtgfGIHj5PJX9vO36eFBxKBeJn+aCDTed70cc+98Mz3J/uVdGQ==", "dev": true, - "requires": { - "chalk": "^2.4.2", - "commander": "^2.20.0", - "cosmiconfig": "^5.2.1", - "debug": "^4.1.1", - "dedent": "^0.7.0", - "del": "^5.0.0", - "execa": "^2.0.3", - "listr": "^0.14.3", - "log-symbols": "^3.0.0", - "micromatch": "^4.0.2", - "normalize-path": "^3.0.0", - "please-upgrade-node": "^3.1.1", - "string-argv": "^0.3.0", - "stringify-object": "^3.3.0" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "cross-spawn": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", - "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "execa": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-2.1.0.tgz", - "integrity": "sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^3.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "get-stream": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", - "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" }, - "npm-run-path": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz", - "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "license": "MIT", + "dependencies": { + "@csstools/cascade-layer-name-parser": "^1.0.13", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/media-query-list-parser": "^2.1.13" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "listify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/listify/-/listify-1.0.0.tgz", - "integrity": "sha1-A8p7otFQ1CZ3c/dOV1WNEFPSvuM=", - "dev": true - }, - "listr": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz", - "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==", - "dev": true, - "requires": { - "@samverschueren/stream-to-observable": "^0.3.0", - "is-observable": "^1.1.0", - "is-promise": "^2.1.0", - "is-stream": "^1.1.0", - "listr-silent-renderer": "^1.1.1", - "listr-update-renderer": "^0.5.0", - "listr-verbose-renderer": "^0.5.0", - "p-map": "^2.0.0", - "rxjs": "^6.3.3" - }, - "dependencies": { - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true + "node_modules/postcss-custom-properties": { + "version": "13.3.12", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.3.12.tgz", + "integrity": "sha512-oPn/OVqONB2ZLNqN185LDyaVByELAA/u3l2CS2TS16x2j2XsmV4kd8U49+TMxmUsEU9d8fB/I10E6U7kB0L1BA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "license": "MIT", + "dependencies": { + "@csstools/cascade-layer-name-parser": "^1.0.13", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/utilities": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "listr-silent-renderer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", - "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=", - "dev": true - }, - "listr-update-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz", - "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "cli-truncate": "^0.2.1", - "elegant-spinner": "^1.0.1", - "figures": "^1.7.0", - "indent-string": "^3.0.0", - "log-symbols": "^1.0.2", - "log-update": "^2.3.0", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", - "dev": true, - "requires": { - "chalk": "^1.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } + "node_modules/postcss-custom-selectors": { + "version": "7.1.12", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-7.1.12.tgz", + "integrity": "sha512-ctIoprBMJwByYMGjXG0F7IT2iMF2hnamQ+aWZETyBM0aAlyaYdVZTeUkk8RB+9h9wP+NdN3f01lfvKl2ZSqC0g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "license": "MIT", + "dependencies": { + "@csstools/cascade-layer-name-parser": "^1.0.13", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "postcss-selector-parser": "^6.1.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "listr-verbose-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz", - "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==", + "node_modules/postcss-dir-pseudo-class": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-8.0.1.tgz", + "integrity": "sha512-uULohfWBBVoFiZXgsQA24JV6FdKIidQ+ZqxOouhWwdE+qJlALbkS5ScB43ZTjPK+xUZZhlaO/NjfCt5h4IKUfw==", "dev": true, - "requires": { - "chalk": "^2.4.1", - "cli-cursor": "^2.1.0", - "date-fns": "^1.27.2", - "figures": "^2.0.0" - }, - "dependencies": { - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^6.0.13" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "node_modules/postcss-double-position-gradients": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-5.0.7.tgz", + "integrity": "sha512-1xEhjV9u1s4l3iP5lRt1zvMjI/ya8492o9l/ivcxHhkO3nOz16moC4JpMxDUGrOs4R3hX+KWT7gKoV842cwRgg==", "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-9.0.1.tgz", + "integrity": "sha512-N2VQ5uPz3Z9ZcqI5tmeholn4d+1H14fKXszpjogZIrFbhaq0zNAtq8sAnw6VLiqGbL8YBzsnu7K9bBkTqaRimQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^6.0.13" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true + "node_modules/postcss-focus-within": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-8.0.1.tgz", + "integrity": "sha512-NFU3xcY/xwNaapVb+1uJ4n23XImoC86JNwkY/uduytSl2s9Ekc2EpzmRR63+ExitnW3Mab3Fba/wRPCT5oDILA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^6.0.13" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } }, - "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "postcss": "^8.1.0" } }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "node_modules/postcss-gap-properties": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-5.0.1.tgz", + "integrity": "sha512-k2z9Cnngc24c0KF4MtMuDdToROYqGMMUQGcE6V0odwjHyOHtaDBlLeRBV70y9/vF7KIbShrTRZ70JjsI1BZyWw==", "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true + "node_modules/postcss-image-set-function": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-6.0.3.tgz", + "integrity": "sha512-i2bXrBYzfbRzFnm+pVuxVePSTCRiNmlfssGI4H0tJQvDue+yywXwUxe68VyzXs7cGtMaH6MCLY6IbCShrSroCw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/utilities": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", - "dev": true + "node_modules/postcss-lab-function": { + "version": "6.0.19", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-6.0.19.tgz", + "integrity": "sha512-vwln/mgvFrotJuGV8GFhpAOu9iGf3pvTBr6dLPDmUcqVD5OsQpEFyQMAFTxSxWXGEzBj6ld4pZ/9GDfEpXvo0g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", - "dev": true + "node_modules/postcss-loader": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-8.1.1.tgz", + "integrity": "sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cosmiconfig": "^9.0.0", + "jiti": "^1.20.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } }, - "lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=", - "dev": true + "node_modules/postcss-loader/node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } }, - "lodash.ismatch": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", - "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=", - "dev": true - }, - "lodash.pad": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", - "integrity": "sha1-QzCUmoM6fI2iLMIPaibE1Z3runA=", - "dev": true - }, - "lodash.padend": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", - "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=", - "dev": true - }, - "lodash.padstart": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", - "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=", - "dev": true - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true + "node_modules/postcss-logical": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-7.0.1.tgz", + "integrity": "sha512-8GwUQZE0ri0K0HJHkDv87XOLC8DE0msc+HoWLeKdtjDZEwpZ5xuK3QdV6FhmHSQW40LPkg43QzvATRAI3LsRkg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } }, - "lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "dev": true, - "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "lodash.templatesettings": { + "node_modules/postcss-modules-local-by-default": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "dev": true, - "requires": { - "lodash._reinterpolate": "^3.0.0" + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", + "license": "MIT", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true + "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } }, - "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2" + "node_modules/postcss-modules-scope": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "log-update": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", - "integrity": "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "cli-cursor": "^2.0.0", - "wrap-ansi": "^3.0.1" + "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "license": "ISC", "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nesting": { + "version": "12.1.5", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-12.1.5.tgz", + "integrity": "sha512-N1NgI1PDCiAGWPTYrwqm8wpjv0bgDmkYHH72pNsqTCv9CObxjxftdYu6AKtGN+pnJa7FQjMm3v4sp8QJbFsYdQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" }, - "wrap-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", - "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0" - } + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-resolve-nested": "^1.1.0", + "@csstools/selector-specificity": "^3.1.1", + "postcss-selector-parser": "^6.1.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "node_modules/postcss-opacity-percentage": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-2.0.0.tgz", + "integrity": "sha512-lyDrCOtntq5Y1JZpBFzIWm2wG9kbEdujpNt4NLannF+J9c8CgFIzPa80YQfdza+Y+yFfzbYj/rfoOsYsooUWTQ==", "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "node_modules/postcss-overflow-shorthand": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-5.0.1.tgz", + "integrity": "sha512-XzjBYKLd1t6vHsaokMV9URBt2EwC9a7nDhpQpjoPk2HRTSQfokPfyAS/Q7AOrzUu6q+vp/GnrDBGuj/FCaRqrQ==", "dev": true, - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "license": "MIT", + "peerDependencies": { + "postcss": "^8" } }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "node_modules/postcss-place": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-9.0.1.tgz", + "integrity": "sha512-JfL+paQOgRQRMoYFc2f73pGuG/Aw3tt4vYMR6UA3cWVMxivviPTnMFnFTczUJOA4K2Zga6xgQVE+PcLs64WC8Q==", "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "node_modules/postcss-preset-env": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-9.6.0.tgz", + "integrity": "sha512-Lxfk4RYjUdwPCYkc321QMdgtdCP34AeI94z+/8kVmqnTIlD4bMRQeGcMZgwz8BxHrzQiFXYIR5d7k/9JMs2MEA==", "dev": true, - "requires": { - "tmpl": "1.0.x" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/postcss-cascade-layers": "^4.0.6", + "@csstools/postcss-color-function": "^3.0.19", + "@csstools/postcss-color-mix-function": "^2.0.19", + "@csstools/postcss-content-alt-text": "^1.0.0", + "@csstools/postcss-exponential-functions": "^1.0.9", + "@csstools/postcss-font-format-keywords": "^3.0.2", + "@csstools/postcss-gamut-mapping": "^1.0.11", + "@csstools/postcss-gradients-interpolation-method": "^4.0.20", + "@csstools/postcss-hwb-function": "^3.0.18", + "@csstools/postcss-ic-unit": "^3.0.7", + "@csstools/postcss-initial": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^4.0.8", + "@csstools/postcss-light-dark-function": "^1.0.8", + "@csstools/postcss-logical-float-and-clear": "^2.0.1", + "@csstools/postcss-logical-overflow": "^1.0.1", + "@csstools/postcss-logical-overscroll-behavior": "^1.0.1", + "@csstools/postcss-logical-resize": "^2.0.1", + "@csstools/postcss-logical-viewport-units": "^2.0.11", + "@csstools/postcss-media-minmax": "^1.1.8", + "@csstools/postcss-media-queries-aspect-ratio-number-values": "^2.0.11", + "@csstools/postcss-nested-calc": "^3.0.2", + "@csstools/postcss-normalize-display-values": "^3.0.2", + "@csstools/postcss-oklab-function": "^3.0.19", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/postcss-relative-color-syntax": "^2.0.19", + "@csstools/postcss-scope-pseudo-class": "^3.0.1", + "@csstools/postcss-stepped-value-functions": "^3.0.10", + "@csstools/postcss-text-decoration-shorthand": "^3.0.7", + "@csstools/postcss-trigonometric-functions": "^3.0.10", + "@csstools/postcss-unset-value": "^3.0.1", + "autoprefixer": "^10.4.19", + "browserslist": "^4.23.1", + "css-blank-pseudo": "^6.0.2", + "css-has-pseudo": "^6.0.5", + "css-prefers-color-scheme": "^9.0.1", + "cssdb": "^8.1.0", + "postcss-attribute-case-insensitive": "^6.0.3", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^6.0.14", + "postcss-color-hex-alpha": "^9.0.4", + "postcss-color-rebeccapurple": "^9.0.3", + "postcss-custom-media": "^10.0.8", + "postcss-custom-properties": "^13.3.12", + "postcss-custom-selectors": "^7.1.12", + "postcss-dir-pseudo-class": "^8.0.1", + "postcss-double-position-gradients": "^5.0.7", + "postcss-focus-visible": "^9.0.1", + "postcss-focus-within": "^8.0.1", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^5.0.1", + "postcss-image-set-function": "^6.0.3", + "postcss-lab-function": "^6.0.19", + "postcss-logical": "^7.0.1", + "postcss-nesting": "^12.1.5", + "postcss-opacity-percentage": "^2.0.0", + "postcss-overflow-shorthand": "^5.0.1", + "postcss-page-break": "^3.0.4", + "postcss-place": "^9.0.1", + "postcss-pseudo-class-any-link": "^9.0.2", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^7.0.2" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "mamacro": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", - "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", - "dev": true - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "node_modules/postcss-pseudo-class-any-link": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-9.0.2.tgz", + "integrity": "sha512-HFSsxIqQ9nA27ahyfH37cRWGk3SYyQLpk0LiWw/UGMV4VKT5YG2ONee4Pz/oFesnK0dn2AjcyequDbIjKJgB0g==", "dev": true, - "requires": { - "object-visit": "^1.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^6.0.13" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "license": "MIT", + "peerDependencies": { + "postcss": "^8.0.3" } }, - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "node_modules/postcss-selector-not": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-7.0.2.tgz", + "integrity": "sha512-/SSxf/90Obye49VZIfc0ls4H0P6i6V1iHv0pzZH8SdgvZOPFkF37ef1r5cyWcMflJSFJ5bfuoluTnFnBBFiuSA==", "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.13" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", - "dev": true - }, - "meow": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", - "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", - "dev": true, - "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0", - "yargs-parser": "^10.0.0" + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" } }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" }, - "merge2": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", - "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "micromist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromist/-/micromist-1.1.0.tgz", - "integrity": "sha512-+CQ76pabE9egniSEdmDuH+j2cYyIBKP97kujG8ZLZyLCRq5ExwtIy4DPHPFrq4jVbhMRBnyjuH50KU9Ohs8QCg==", + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, - "requires": { - "lodash.camelcase": "^4.3.0" + "license": "MIT", + "engines": { + "node": ">= 0.8.0" } }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "node_modules/prettier": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", + "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "mime": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", - "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", - "dev": true - }, - "mime-db": { - "version": "1.42.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz", - "integrity": "sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==", - "dev": true - }, - "mime-types": { - "version": "2.1.25", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz", - "integrity": "sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==", + "node_modules/pretty-format": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.0.tgz", + "integrity": "sha512-18NAOUr4ZOQiIR+BgI5NhQE7uREdx4ZyV0dyay5izh4yfQ+1T7BSvggxvRGoXocrRyevqW5OhScUjbi9GB8R8Q==", "dev": true, - "requires": { - "mime-db": "1.42.0" + "license": "MIT", + "dependencies": { + "@jest/schemas": "30.0.0", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "license": "MIT" }, - "minimalistic-crypto-utils": { + "node_modules/prr": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "license": "MIT", + "optional": true }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, - "requires": { - "brace-expansion": "^1.1.7" + "license": "MIT", + "engines": { + "node": ">=6" } }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + "node_modules/pure-rand": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-7.0.1.tgz", + "integrity": "sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT" }, - "minimist-options": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", - "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" + "license": "MIT", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" } }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } + ], + "license": "MIT" + }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, - "requires": { - "minimist": "0.0.8" - }, + "license": "MIT", "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } + "safe-buffer": "^5.1.0" } }, - "modify-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", - "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", - "dev": true + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" + "license": "MIT", + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "mrm-core": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/mrm-core/-/mrm-core-3.3.4.tgz", - "integrity": "sha512-vTywqjBrQIDlRuoww+xspvm/be272c2M54VY2GWY4NCZtSSG3uY6zyEuQekKANM5HEKc8WVn+jQGHmdETQCtww==", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "comment-json": "^1.1.3", - "detect-indent": "^5.0.0", - "editorconfig": "^0.15.0", - "find-up": "^3.0.0", - "fs-extra": "^7.0.0", - "js-yaml": "^3.13.0", - "kleur": "^2.0.2", - "listify": "^1.0.0", - "lodash": "^4.17.11", - "minimist": "^1.2.0", - "prop-ini": "^0.0.2", - "readme-badger": "^0.3.0", - "semver": "^5.5.1", - "smpltmpl": "^1.0.2", - "split-lines": "^2.0.0", - "strip-bom": "^3.0.0", - "webpack-merge": "^4.2.1" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - } + "node_modules/read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "mute-stream": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.6.tgz", - "integrity": "sha1-SJYrGeFp/R38JAs/HnMXYnu8R9s=", - "dev": true - }, - "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", "dev": true, - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } + "license": "MIT", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "dev": true - }, - "node-notifier": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", - "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", - "dev": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^1.1.0", - "semver": "^5.5.0", - "shellwords": "^0.1.1", - "which": "^1.3.0" + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node-releases": { - "version": "1.1.41", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.41.tgz", - "integrity": "sha512-+IctMa7wIs8Cfsa8iYzeaLTFwv5Y4r5jZud+4AnfymzeEXKBCavFX0KBgzVaPVqf0ywa6PrO8/b+bPqdwjGBSg==", + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, - "requires": { - "semver": "^6.3.0" - }, + "license": "MIT", "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" } }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "license": "MIT", + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" } }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "npm-run-all": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", - "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "chalk": "^2.4.1", - "cross-spawn": "^6.0.5", - "memorystream": "^0.3.1", - "minimatch": "^3.0.4", - "pidtree": "^0.3.0", - "read-pkg": "^3.0.0", - "shell-quote": "^1.6.1", - "string.prototype.padend": "^3.0.0" + "node_modules/read-pkg-up/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" } }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, - "requires": { - "path-key": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">=4" } }, - "npmlog": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", - "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=", + "node_modules/read-pkg/node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, - "requires": { - "ansi": "~0.3.1", - "are-we-there-yet": "~1.1.2", - "gauge": "~1.2.5" + "license": "MIT", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "null-check": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz", - "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=", - "dev": true - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "node_modules/read-pkg/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" } }, - "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, - "requires": { - "isobject": "^3.0.0" + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "license": "MIT", + "optional": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" } }, - "object.getownpropertydescriptors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", - "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dev": true, - "requires": { - "isobject": "^3.0.1" + "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "object.values": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", - "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", + "node_modules/redent/node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.12.0", - "function-bind": "^1.1.1", - "has": "^1.0.3" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", "dev": true, - "requires": { - "wrappy": "1" + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "onetime": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", - "dev": true - }, - "opencollective-postinstall": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz", - "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==", - "dev": true + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true, + "license": "MIT" }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "node_modules/regenerate-unicode-properties": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, + "license": "MIT", "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - } + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "node_modules/regexpu-core": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.12.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" } }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "dev": true, + "license": "MIT" }, - "os-shim": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", - "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", - "dev": true + "node_modules/regjsparser": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.0.2" + }, + "bin": { + "regjsparser": "bin/parser" + } }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true + "node_modules/regjsparser/node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } }, - "p-each-series": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", - "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true, - "requires": { - "p-reduce": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">=0.10" } }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, - "requires": { - "p-try": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, - "requires": { - "p-limit": "^1.1.0" + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "p-map": { + "node_modules/resolve-cwd": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, - "requires": { - "aggregate-error": "^3.0.0" + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "p-reduce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", - "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", - "dev": true - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "pako": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", - "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", - "dev": true + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "node_modules/restore-cursor/node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", "dev": true, - "requires": { - "callsites": "^3.0.0" + "license": "MIT", + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "parse-asn1": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", - "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "parse-git-config": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-1.1.1.tgz", - "integrity": "sha1-06mYQxcTL1c5hxK7pDjhKVkN34w=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "fs-exists-sync": "^0.1.0", - "git-config-path": "^1.0.1", - "ini": "^1.3.4" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "parse-github-repo-url": { + "node_modules/rfdc": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", - "integrity": "sha1-nn2LslKmy2ukJZUGC3v23z28H1A=", - "dev": true - }, - "parse-github-url": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz", - "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==", - "dev": true + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true, + "license": "MIT" }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true - }, - "parse5": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true + "node_modules/rrweb-cssom": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", + "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==", + "dev": true, + "license": "MIT" }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" } }, - "pbkdf2": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, - "picomatch": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.1.1.tgz", - "integrity": "sha512-OYMyqkKzK7blWO/+XZYP6w8hH0LDvkBvdvKukti+7kqYFCiEAk+gI3DWnryapc0Dau05ugGTy0foQ6mqn4AHYA==", - "dev": true + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "pidtree": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.0.tgz", - "integrity": "sha512-9CT4NFlDcosssyg8KVFltgokyKZIFjoBxw8CTGy+5F38Y1eQWrt8tRayiUOXE+zVKQnYu5BR8JjCtvK3BcnBhg==", - "dev": true + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true + "node_modules/safe-stable-stringify": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "node_modules/sass": { + "version": "1.89.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.89.2.tgz", + "integrity": "sha512-xCmtksBKd/jdJ9Bt9p7nPKiuqrlBMBuuGkQlkhZjjQk3Ty48lv93k5Dq6OPkKt4XwxDJ7tvlfrTa1MPA9bf+QA==", "dev": true, - "requires": { - "pinkie": "^2.0.0" + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" } }, - "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "node_modules/sass-loader": { + "version": "14.2.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-14.2.1.tgz", + "integrity": "sha512-G0VcnMYU18a4N7VoNDegg2OuMjYtxnqzQWARVWCIVSZwJeiL9kg8QMsuIZOplsJgTzZLF6jGxI3AClj8I9nRdQ==", "dev": true, - "requires": { - "node-modules-regexp": "^1.0.0" + "license": "MIT", + "dependencies": { + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "webpack": { + "optional": true + } } }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "node_modules/sass/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "dev": true, - "requires": { - "find-up": "^2.1.0" + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "please-upgrade-node": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", - "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "node_modules/sass/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", "dev": true, - "requires": { - "semver-compare": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, - "pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", - "dev": true - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "postcss": { - "version": "7.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.23.tgz", - "integrity": "sha512-hOlMf3ouRIFXD+j2VJecwssTwbvsPGJVMzupptg+85WA+i7MwyrydmQAgY3R+m0Bc0exunhbJmijy8u8+vufuQ==", - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "dev": true, + "license": "ISC", + "optional": true }, - "postcss-attribute-case-insensitive": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.1.tgz", - "integrity": "sha512-L2YKB3vF4PetdTIthQVeT+7YiSzMoNMLLYxPXXppOOP7NoazEAy45sh2LvJ8leCQjfBcfkYQs8TtCcQjeZTp8A==", + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dev": true, - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" } }, - "postcss-color-functional-notation": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", - "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "postcss-color-gray": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", - "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" } }, - "postcss-color-hex-alpha": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", - "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, - "requires": { - "postcss": "^7.0.14", - "postcss-values-parser": "^2.0.1" + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, - "postcss-color-mod-function": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", - "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dev": true, - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, - "postcss-color-rebeccapurple": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", - "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" } }, - "postcss-custom-media": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", - "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "requires": { - "postcss": "^7.0.14" + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "postcss-custom-properties": { - "version": "8.0.11", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", - "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "requires": { - "postcss": "^7.0.17", - "postcss-values-parser": "^2.0.1" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "postcss-custom-selectors": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", - "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" + "license": "MIT", + "engines": { + "node": ">= 0.4" }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dev": true, - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "postcss-dir-pseudo-class": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", - "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, + "license": "MIT", "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dev": true, - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "postcss-double-position-gradients": { + "node_modules/side-channel-list": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", - "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", "dev": true, - "requires": { - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "postcss-env-function": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", - "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "postcss-focus-visible": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", - "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", "dev": true, - "requires": { - "postcss": "^7.0.2" + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "postcss-focus-within": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", - "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true, - "requires": { - "postcss": "^7.0.2" - } + "license": "ISC" }, - "postcss-font-variant": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.0.tgz", - "integrity": "sha512-M8BFYKOvCrI2aITzDad7kWuXXTm0YhGdP9Q8HanmN4EF1Hmcgs1KK5rSHylt/lUJe8yLxiSwWAHdScoEiIxztg==", + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", "dev": true, - "requires": { - "postcss": "^7.0.2" + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.3.1" } }, - "postcss-gap-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", - "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", "dev": true, - "requires": { - "postcss": "^7.0.2" - } + "license": "MIT" }, - "postcss-image-set-function": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", - "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">=6" } }, - "postcss-initial": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.2.tgz", - "integrity": "sha512-ugA2wKonC0xeNHgirR4D3VWHs2JcU08WAi1KFLVcnb7IN89phID6Qtg2RIctWbnvp1TM2BOmDtX8GGLCKdR8YA==", + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", "dev": true, - "requires": { - "lodash.template": "^4.5.0", - "postcss": "^7.0.2" + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "postcss-lab-function": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", - "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "postcss-load-config": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", - "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", - "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "postcss-logical": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", - "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, - "requires": { - "postcss": "^7.0.2" + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "postcss-media-minmax": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", - "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, - "requires": { - "postcss": "^7.0.2" + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", - "requires": { - "postcss": "^7.0.5" - } + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true, + "license": "CC-BY-3.0" }, - "postcss-modules-local-by-default": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz", - "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==", - "requires": { - "icss-utils": "^4.1.1", - "postcss": "^7.0.16", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.0" + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "postcss-modules-scope": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.1.1.tgz", - "integrity": "sha512-OXRUPecnHCg8b9xWvldG/jUpRIGPNRka0r4D4j0ESUU2/5IOnpsjfPPmDprM3Ih8CgZ8FXjWqaniK5v4rWt3oQ==", - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" - } + "node_modules/spdx-license-ids": { + "version": "3.0.21", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz", + "integrity": "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==", + "dev": true, + "license": "CC0-1.0" }, - "postcss-modules-values": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", - "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", - "requires": { - "icss-utils": "^4.0.0", - "postcss": "^7.0.6" + "node_modules/split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" } }, - "postcss-nesting": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", - "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", "dev": true, - "requires": { - "postcss": "^7.0.2" + "license": "ISC", + "engines": { + "node": ">= 10.x" } }, - "postcss-overflow-shorthand": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", - "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true, - "requires": { - "postcss": "^7.0.2" - } + "license": "BSD-3-Clause" }, - "postcss-page-break": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", - "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", "dev": true, - "requires": { - "postcss": "^7.0.2" + "license": "MIT", + "engines": { + "node": "*" } }, - "postcss-place": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", - "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", - "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-preset-env": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", - "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", - "dev": true, - "requires": { - "autoprefixer": "^9.6.1", - "browserslist": "^4.6.4", - "caniuse-lite": "^1.0.30000981", - "css-blank-pseudo": "^0.1.4", - "css-has-pseudo": "^0.10.0", - "css-prefers-color-scheme": "^3.1.1", - "cssdb": "^4.4.0", - "postcss": "^7.0.17", - "postcss-attribute-case-insensitive": "^4.0.1", - "postcss-color-functional-notation": "^2.0.1", - "postcss-color-gray": "^5.0.0", - "postcss-color-hex-alpha": "^5.0.3", - "postcss-color-mod-function": "^3.0.3", - "postcss-color-rebeccapurple": "^4.0.1", - "postcss-custom-media": "^7.0.8", - "postcss-custom-properties": "^8.0.11", - "postcss-custom-selectors": "^5.1.2", - "postcss-dir-pseudo-class": "^5.0.0", - "postcss-double-position-gradients": "^1.0.0", - "postcss-env-function": "^2.0.2", - "postcss-focus-visible": "^4.0.0", - "postcss-focus-within": "^3.0.0", - "postcss-font-variant": "^4.0.0", - "postcss-gap-properties": "^2.0.0", - "postcss-image-set-function": "^3.0.1", - "postcss-initial": "^3.0.0", - "postcss-lab-function": "^2.0.1", - "postcss-logical": "^3.0.0", - "postcss-media-minmax": "^4.0.0", - "postcss-nesting": "^7.0.0", - "postcss-overflow-shorthand": "^2.0.0", - "postcss-page-break": "^2.0.0", - "postcss-place": "^4.0.1", - "postcss-pseudo-class-any-link": "^6.0.0", - "postcss-replace-overflow-wrap": "^3.0.0", - "postcss-selector-matches": "^4.0.0", - "postcss-selector-not": "^4.0.0" - } - }, - "postcss-pseudo-class-any-link": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", - "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, + "license": "MIT", "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dev": true, - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" } }, - "postcss-replace-overflow-wrap": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", - "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, - "requires": { - "postcss": "^7.0.2" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "postcss-selector-matches": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", - "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", + "node_modules/standard-version": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-9.5.0.tgz", + "integrity": "sha512-3zWJ/mmZQsOaO+fOlsa0+QK90pwhNd042qEcw6hKFNoLFs7peGyvPffpEBbK/DSGPbyOvli0mUIFv5A4qTjh2Q==", "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" + "license": "ISC", + "dependencies": { + "chalk": "^2.4.2", + "conventional-changelog": "3.1.25", + "conventional-changelog-config-spec": "2.1.0", + "conventional-changelog-conventionalcommits": "4.6.3", + "conventional-recommended-bump": "6.1.0", + "detect-indent": "^6.0.0", + "detect-newline": "^3.1.0", + "dotgitignore": "^2.1.0", + "figures": "^3.1.0", + "find-up": "^5.0.0", + "git-semver-tags": "^4.0.0", + "semver": "^7.1.1", + "stringify-package": "^1.0.1", + "yargs": "^16.0.0" + }, + "bin": { + "standard-version": "bin/cli.js" + }, + "engines": { + "node": ">=10" } }, - "postcss-selector-not": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz", - "integrity": "sha512-W+bkBZRhqJaYN8XAnbbZPLWMvZD1wKTu0UxtFKdhtGjWYmxhkUneoeOhRJKdAE5V7ZTlnbHfCR+6bNwK9e1dTQ==", + "node_modules/standard-version/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" } }, - "postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", - "requires": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "node_modules/standard-version/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "postcss-value-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz", - "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==" - }, - "postcss-values-parser": { + "node_modules/standard-version/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", - "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "requires": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "dev": true - }, - "pretty-format": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", - "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "ansi-regex": "^4.0.0", - "ansi-styles": "^3.2.0", - "react-is": "^16.8.4" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - } - } + "node_modules/standard-version/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" }, - "prettyjson": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prettyjson/-/prettyjson-1.2.1.tgz", - "integrity": "sha1-/P+rQdGcq0365eV15kJGYZsS0ok=", + "node_modules/standard-version/node_modules/conventional-changelog-conventionalcommits": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", + "integrity": "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==", "dev": true, - "requires": { - "colors": "^1.1.2", - "minimist": "^1.2.0" + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0", + "lodash": "^4.17.15", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" } }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true + "node_modules/standard-version/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" }, - "prompts": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.0.tgz", - "integrity": "sha512-NfbbPPg/74fT7wk2XYQ7hAIp9zJyZp5Fu19iRbORqqy1BhtrkZ0fPafBU+7bmn8ie69DpT0R6QpJIN2oisYjJg==", + "node_modules/standard-version/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.3" - }, - "dependencies": { - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - } + "license": "MIT", + "engines": { + "node": ">=0.8.0" } }, - "prop-ini": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/prop-ini/-/prop-ini-0.0.2.tgz", - "integrity": "sha1-ZzOny1JCrKsr5C5gdYPYEksXKls=", + "node_modules/standard-version/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, - "requires": { - "extend": "^3.0.0" + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "psl": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz", - "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "node_modules/standard-version/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" + "license": "MIT", + "engines": { + "node": ">=4" } }, - "pump": { + "node_modules/standard-version/node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "node_modules/standard-version/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, - "quick-lru": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "node_modules/standard-version/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "requires": { - "safe-buffer": "^5.1.0" + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "node_modules/standard-version/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "node_modules/standard-version/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "react-is": { - "version": "16.12.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.12.0.tgz", - "integrity": "sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q==", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "node_modules/standard-version/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "node_modules/standard-version/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "node_modules/standard-version/node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "node_modules/standard-version/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" } }, - "readme-badger": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/readme-badger/-/readme-badger-0.3.0.tgz", - "integrity": "sha512-+sMOLSs1imZUISZ2Rhz7qqVd77QtpcAPbGeIraFdgJmijb04YtdlPjGNBvDChTNtLbeQ6JNGQy3pOgslWfaP3g==", + "node_modules/standard-version/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, - "requires": { - "balanced-match": "^1.0.0" + "license": "ISC", + "engines": { + "node": ">=10" } }, - "realpath-native": { + "node_modules/stop-iteration-iterator": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", - "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", "dev": true, - "requires": { - "util.promisify": "^1.0.0" + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" } }, - "redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, - "requires": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" } }, - "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", - "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", + "node_modules/string-argv": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", "dev": true, - "requires": { - "regenerate": "^1.4.0" + "license": "MIT", + "engines": { + "node": ">=0.6.19" } }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } }, - "regenerator-transform": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", - "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, - "requires": { - "private": "^0.1.6" + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" }, - "regexpu-core": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", - "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", + "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.1.0", - "regjsgen": "^0.5.0", - "regjsparser": "^0.6.0", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.1.0" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "regjsgen": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", - "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", - "dev": true - }, - "regjsparser": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", - "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, - "requires": { - "jsesc": "~0.5.0" + "license": "MIT", + "engines": { + "node": ">=12" }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "remote-origin-url": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/remote-origin-url/-/remote-origin-url-1.0.0.tgz", - "integrity": "sha512-xHDM6IBqivpiQ1e4WOuFpM/T6rbzA/WBsu+3WLtgPOhHyjA0nYlijV3NprlTb4FcXlQ5+Q+z174sQ1NnUF5FwA==", + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, - "requires": { - "parse-git-config": "^1.1.1" + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true + "node_modules/string.prototype.padend": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.6.tgz", + "integrity": "sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, - "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.0", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "dev": true, - "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - } - } + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "request-promise-core": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", - "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", "dev": true, - "requires": { - "lodash": "^4.17.15" + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "request-promise-native": { + "node_modules/string.prototype.trimstart": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", - "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, - "requires": { - "request-promise-core": "1.1.3", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true + "node_modules/stringify-package": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz", + "integrity": "sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==", + "deprecated": "This module is not used anymore, and has been replaced by @npmcli/package-json", + "dev": true, + "license": "ISC" }, - "resolve": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.13.1.tgz", - "integrity": "sha512-CxqObCX8K8YtAhOBRg+lrcdn+LK+WYOS8tSjqSFbjtrI5PnS63QPhZl4+yKfrU9tdsbMu9Anr/amegT87M9Z6w==", + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "requires": { - "path-parse": "^1.0.6" + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "requires": { - "resolve-from": "^3.0.0" - }, + "license": "MIT", "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - } + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "resolve-global": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", - "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, - "requires": { - "global-dirs": "^0.1.1" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "restore-cursor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", - "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", "dev": true, - "requires": { - "exit-hook": "^1.0.0", - "onetime": "^1.0.0" + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" } }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true + "node_modules/style-loader": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", + "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "node_modules/stylus": { + "version": "0.63.0", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.63.0.tgz", + "integrity": "sha512-OMlgrTCPzE/ibtRMoeLVhOY0RcNuNWh0rhAVqeKnk/QwcuUKQbnqhZ1kg2vzD8VU/6h3FoPTq4RJPHgLBvX6Bw==", "dev": true, - "requires": { - "glob": "^7.1.3" + "license": "MIT", + "dependencies": { + "@adobe/css-tools": "~4.3.3", + "debug": "^4.3.2", + "glob": "^7.1.6", + "sax": "~1.3.0", + "source-map": "^0.7.3" + }, + "bin": { + "stylus": "bin/stylus" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://opencollective.com/stylus" } }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "node_modules/stylus-loader": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-8.1.1.tgz", + "integrity": "sha512-Ohe29p3gwJiu1kxq16P80g1qq0FxGtwQevKctLE4su8KUq+Ea06Q6lp7SpcJjaKNrWIuEZQGvESUPt8JpukKVw==", "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "license": "MIT", + "dependencies": { + "fast-glob": "^3.3.2", + "normalize-path": "^3.0.0" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "stylus": ">=0.52.4", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } } }, - "rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "dev": true + "node_modules/stylus/node_modules/sax": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", + "dev": true, + "license": "ISC" }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "node_modules/stylus/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, - "requires": { - "is-promise": "^2.1.0" + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" } }, - "run-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/run-node/-/run-node-1.0.0.tgz", - "integrity": "sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A==", - "dev": true - }, - "run-parallel": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", - "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", - "dev": true + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, - "requires": { - "aproba": "^1.1.1" + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "rx": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", - "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=", - "dev": true + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" }, - "rxjs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", - "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "node_modules/synckit": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.8.tgz", + "integrity": "sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==", "dev": true, - "requires": { - "tslib": "^1.9.0" + "license": "MIT", + "dependencies": { + "@pkgr/core": "^0.2.4" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/synckit" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "node_modules/tapable": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz", + "integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "node_modules/terser": { + "version": "5.42.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.42.0.tgz", + "integrity": "sha512-UYCvU9YQW2f/Vwl+P0GfhxJxbUGLwd+5QrrGgLajzWAtC/23AX0vcise32kkP7Eu0Wu9VlzzHAXkLObgjQfFlQ==", "dev": true, - "requires": { - "ret": "~0.1.10" + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.14.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" } }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "node_modules/terser-webpack-plugin": { + "version": "5.3.14", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", + "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } }, - "sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "node_modules/terser-webpack-plugin/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, - "requires": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "sass": { - "version": "1.23.7", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.23.7.tgz", - "integrity": "sha512-cYgc0fanwIpi0rXisGxl+/wadVQ/HX3RhpdRcjLdj2o2ye/sxUTpAxIhbmJy3PLQgRFbf6Pn8Jsrta2vdXcoOQ==", + "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, - "requires": { - "chokidar": ">=2.0.0 <4.0.0" + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" } }, - "sass-loader": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.0.tgz", - "integrity": "sha512-+qeMu563PN7rPdit2+n5uuYVR0SSVwm0JsOUsaJXzgYcClWSlmX0iHDnmeOobPkf5kUglVot3QS6SyLyaQoJ4w==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "loader-utils": "^1.2.3", - "neo-async": "^2.6.1", - "schema-utils": "^2.1.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" } }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "schema-utils": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.0.tgz", - "integrity": "sha512-UlPB1ME4i/71cih/Rv92gK8043CrJTc2mjkyxDp4pdJ7ZfzY0g0hdGjjDB23jX3X+NXSneCdQbScGhn6K2tbpQ==", - "requires": { - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "semver-compare": { + "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", - "dev": true - }, - "serialize-javascript": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", - "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", - "dev": true + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", + "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "node_modules/terser/node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, - "requires": { - "kind-of": "^6.0.2" + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" } }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "node_modules/text-extensions": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", + "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==", "dev": true, - "requires": { - "shebang-regex": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "shebang-regex": { + "node_modules/text-hex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", - "dev": true - }, - "shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true - }, - "sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "sisteransi": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.4.tgz", - "integrity": "sha512-/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig==", - "dev": true - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", + "dev": true, + "license": "MIT" }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - } + "license": "MIT" }, - "smpltmpl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/smpltmpl/-/smpltmpl-1.0.2.tgz", - "integrity": "sha512-Hq23NNgeZigOzIiX1dkb6W3gFn2/XQj43KhPxu65IMieG/gIwf/lQb1IudjYv0c/5LwJeS/mPayYzyo+8WJMxQ==", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0" - } - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } + "node_modules/thingies": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", + "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", + "dev": true, + "license": "Unlicense", + "engines": { + "node": ">=10.18" + }, + "peerDependencies": { + "tslib": "^2" } }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true, + "license": "MIT" }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, + "license": "MIT", "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "readable-stream": "3" } }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "node_modules/tinyexec": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.1.tgz", + "integrity": "sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==", + "dev": true, + "license": "MIT" }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "node_modules/tinyglobby": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", "dev": true, - "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" } }, - "source-map-support": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", - "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "node_modules/tldts": { + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", + "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==", "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "license": "MIT", + "dependencies": { + "tldts-core": "^6.1.86" + }, + "bin": { + "tldts": "bin/cli.js" } }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true + "node_modules/tldts-core": { + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", + "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==", + "dev": true, + "license": "MIT" }, - "spawn-sync": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", - "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true, - "requires": { - "concat-stream": "^1.4.7", - "os-shim": "^0.1.2" - } + "license": "BSD-3-Clause" }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "node_modules/tough-cookie": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", + "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^6.1.32" + }, + "engines": { + "node": ">=16" } }, - "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", - "dev": true - }, - "split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "node_modules/tr46": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", + "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", "dev": true, - "requires": { - "through": "2" + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=18" } }, - "split-lines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/split-lines/-/split-lines-2.0.0.tgz", - "integrity": "sha512-gaIdhbqxkB5/VflPXsJwZvEzh/kdwiRPF9iqpkxX4us+lzB8INedFwjCyo6vwuz5x2Ddlnav2zh270CEjCG8mA==", - "dev": true - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "node_modules/tree-dump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.3.tgz", + "integrity": "sha512-il+Cv80yVHFBwokQSfd4bldvr1Md951DpgAGfmhydt04L+YzHgubm2tQ7zueWDcGENKHq0ZvGFR/hjvNXilHEg==", "dev": true, - "requires": { - "extend-shallow": "^3.0.0" + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, - "split2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", - "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true, - "requires": { - "through2": "^2.0.2" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "node_modules/triple-beam": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" + "license": "MIT", + "engines": { + "node": ">= 14.0.0" } }, - "stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", - "dev": true + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } }, - "stack-utils": { + "node_modules/tsconfig-paths/node_modules/json5": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", - "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", - "dev": true - }, - "standard-version": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-7.0.1.tgz", - "integrity": "sha512-3GR9dPlNpC/osTwb9YsU2KQelGvSORMPUFN7zOUE3HN4yjCTsT57IJAFsyPXPP512QDMSxwwjhxa8Em5vF5F5Q==", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, - "requires": { - "chalk": "2.4.2", - "conventional-changelog": "3.1.12", - "conventional-changelog-config-spec": "2.1.0", - "conventional-recommended-bump": "6.0.2", - "detect-indent": "6.0.0", - "detect-newline": "3.0.0", - "dotgitignore": "2.1.0", - "figures": "3.0.0", - "find-up": "4.1.0", - "fs-access": "1.0.1", - "git-semver-tags": "3.0.0", - "semver": "6.3.0", - "stringify-package": "1.0.1", - "yargs": "14.2.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "detect-indent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", - "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", - "dev": true - }, - "detect-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.0.0.tgz", - "integrity": "sha512-JAP22dVPAqvhdRFFxK1G5GViIokyUn0UWXRNW0ztK96fsqi9cuM8w8ESbSk+T2w5OVorcMcL6m7yUg1RrX+2CA==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "figures": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.0.0.tgz", - "integrity": "sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "yargs": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.0.tgz", - "integrity": "sha512-/is78VKbKs70bVZH7w4YaZea6xcJWOAwkhbR0CFuZBmYtfTYF0xjGJF43AYd8g2Uii1yJwmS5GR2vBmrc32sbg==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^15.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - } - } - }, - "yargs-parser": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.0.tgz", - "integrity": "sha512-xLTUnCMc4JhxrPEPUYD5IBR1mWCK/aT6+RJ/K29JY2y1vD+FhtgKK0AXRWvI262q3QSffAQuTouFIKUuHX89wQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" } }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" } }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" } }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">=4" } }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "stream-shift": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", - "dev": true - }, - "string-argv": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", - "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", - "dev": true - }, - "string-length": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", - "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", "dev": true, - "requires": { - "astral-regex": "^1.0.0", - "strip-ansi": "^4.0.0" - }, + "license": "MIT", "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" } }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, + "license": "MIT", "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "string.prototype.padend": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz", - "integrity": "sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA=", + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.4.3", - "function-bind": "^1.0.2" + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "string.prototype.trimleft": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", - "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "string.prototype.trimright": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", - "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - } + "license": "MIT" }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true, - "requires": { - "safe-buffer": "~5.1.0" + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" } }, - "stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "node_modules/uglify-js": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", "dev": true, - "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" + "license": "BSD-2-Clause", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" } }, - "stringify-package": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz", - "integrity": "sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - }, + "license": "MIT", "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - } + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true + "node_modules/undici-types": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", + "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", + "dev": true, + "license": "MIT" }, - "strip-json-comments": { + "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": { - "has-flag": "^3.0.0" + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "dev": true + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", "dev": true, - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">=18" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unrs-resolver": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.9.0.tgz", + "integrity": "sha512-wqaRu4UnzBD2ABTC1kLfBjAqIDZ5YUTr/MLGa7By47JV1bJDSW7jq/ZSLigB7enLe7ubNaJhtnBXgrc/50cEhg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true + "napi-postinstall": "^0.2.2" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.9.0", + "@unrs/resolver-binding-android-arm64": "1.9.0", + "@unrs/resolver-binding-darwin-arm64": "1.9.0", + "@unrs/resolver-binding-darwin-x64": "1.9.0", + "@unrs/resolver-binding-freebsd-x64": "1.9.0", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.9.0", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.9.0", + "@unrs/resolver-binding-linux-arm64-gnu": "1.9.0", + "@unrs/resolver-binding-linux-arm64-musl": "1.9.0", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.9.0", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.9.0", + "@unrs/resolver-binding-linux-riscv64-musl": "1.9.0", + "@unrs/resolver-binding-linux-s390x-gnu": "1.9.0", + "@unrs/resolver-binding-linux-x64-gnu": "1.9.0", + "@unrs/resolver-binding-linux-x64-musl": "1.9.0", + "@unrs/resolver-binding-wasm32-wasi": "1.9.0", + "@unrs/resolver-binding-win32-arm64-msvc": "1.9.0", + "@unrs/resolver-binding-win32-ia32-msvc": "1.9.0", + "@unrs/resolver-binding-win32-x64-msvc": "1.9.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } + { + "type": "github", + "url": "https://github.com/sponsors/ai" } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "tabtab": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tabtab/-/tabtab-2.2.2.tgz", - "integrity": "sha1-egR/FDsBC0y9MfhX6ClhUSy/ThQ=", + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "requires": { - "debug": "^2.2.0", - "inquirer": "^1.0.2", - "lodash.difference": "^4.5.0", - "lodash.uniq": "^4.5.0", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "npmlog": "^2.0.3", - "object-assign": "^4.1.0" + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" } }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "terser": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.4.0.tgz", - "integrity": "sha512-oDG16n2WKm27JO8h4y/w3iqBGAOSCtq7k8dRmrn4Wf9NouL0b2WpMHGChFGZq4nFAQy1FsNJrVQHfurXOSTmOA==", + "node_modules/url-loader": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, + "license": "MIT", "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "file-loader": "*", + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "file-loader": { + "optional": true } } }, - "terser-webpack-plugin": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz", - "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^1.7.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "dependencies": { - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" }, - "test-exclude": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", - "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", + "node_modules/v8-to-istanbul": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", "dev": true, - "requires": { - "glob": "^7.1.3", - "minimatch": "^3.0.4", - "read-pkg-up": "^4.0.0", - "require-main-filename": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", - "dev": true, - "requires": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" - } - } + "license": "ISC", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" } }, - "text-extensions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", - "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", - "dev": true - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } }, - "throat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", - "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", - "dev": true + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", + "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==", + "dev": true, + "license": "MIT" }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true + "node_modules/vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "dev": true, + "license": "MIT" }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "license": "MIT", + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" } }, - "timers-browserify": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, - "requires": { - "setimmediate": "^1.0.4" + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" } }, - "tmp": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz", - "integrity": "sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA=", + "node_modules/watchpack": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", + "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", "dev": true, - "requires": { - "os-tmpdir": "~1.0.1" + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" } }, - "tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", - "dev": true - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } + "node_modules/webpack": { + "version": "5.99.9", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.99.9.tgz", + "integrity": "sha512-brOPwM3JnmOa+7kd3NsmOUOwbDAj8FT9xDsG3IW0MgbN9yZV7Oi/s/+MNQ/EcSMqw7qfoRyXPoeEWT8zLVdVGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.14.0", + "browserslist": "^4.24.0", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.2", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.11", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true } } }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "node_modules/webpack-sources": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.2.tgz", + "integrity": "sha512-ykKKus8lqlgXX/1WjudpIEjqsafjOTcOJqxnAbMLAu/KCsDCJ6GBtvscewvTkrn24HsnvFwrSCbenFrhtcCsAA==", "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "license": "MIT", + "engines": { + "node": ">=10.13.0" } }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "node_modules/webpack/node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "node_modules/webpack/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, - "requires": { - "punycode": "^2.1.0" + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" } }, - "trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", - "dev": true - }, - "trim-off-newlines": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", - "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", - "dev": true - }, - "tslib": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", - "dev": true - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, - "requires": { - "safe-buffer": "^5.0.1" + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" } }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, - "requires": { - "prelude-ls": "~1.1.2" + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" } }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true + "node_modules/webpack/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" }, - "uglify-js": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.0.tgz", - "integrity": "sha512-PC/ee458NEMITe1OufAjal65i6lB58R1HWMRcxwvdz1UopW0DYqlRL3xdu3IcTvTXsB02CRHykidkTRL+A3hQA==", + "node_modules/webpack/node_modules/schema-utils": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", + "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", "dev": true, - "optional": true, - "requires": { - "commander": "~2.20.3", - "source-map": "~0.6.1" - }, + "license": "MIT", "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "optional": true - } + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" } }, - "unicode-match-property-value-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", - "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", - "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", - "dev": true - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" + "license": "MIT", + "engines": { + "node": ">=18" } }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "node_modules/whatwg-url": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", + "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", "dev": true, - "requires": { - "unique-slug": "^2.0.0" + "license": "MIT", + "dependencies": { + "tr46": "^5.1.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=18" } }, - "unique-slug": { + "node_modules/which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "requires": { - "imurmurhash": "^0.1.4" + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "requires": { - "punycode": "^2.1.0" + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, + "license": "MIT", "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "url-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-3.0.0.tgz", - "integrity": "sha512-a84JJbIA5xTFTWyjjcPdnsu+41o/SNE8SpXMdUvXs6Q+LuhCD9E2+0VCiuDWqgo3GGXVlFHzArDmBpj9PgWn4A==", + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", "dev": true, - "requires": { - "loader-utils": "^1.2.3", - "mime": "^2.4.4", - "schema-utils": "^2.5.0" + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "user-meta": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/user-meta/-/user-meta-1.0.0.tgz", - "integrity": "sha512-Q/opMgFhVbBkdlTs44UKzV7L5Uj2zrJ4MVPXTTzJmrU1bHb2cX6wJzBIqEf1gROTzZIH8u39WmHsa5EvfnMPrw==", + "node_modules/winston": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.13.0.tgz", + "integrity": "sha512-rwidmA1w3SE4j0E5MuIufFhyJPBDG7Nu71RkZor1p2+qHvJSZ9GYDA81AyleQcZbh/+V6HjeBdfnTZJm9rSeQQ==", "dev": true, - "requires": { - "rc": "^1.2.1" + "license": "MIT", + "dependencies": { + "@colors/colors": "^1.6.0", + "@dabh/diagnostics": "^2.0.2", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.4.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.7.0" + }, + "engines": { + "node": ">= 12.0.0" } }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "node_modules/winston-transport": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.9.0.tgz", + "integrity": "sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==", "dev": true, - "requires": { - "inherits": "2.0.3" - }, + "license": "MIT", "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } + "logform": "^2.7.0", + "readable-stream": "^3.6.2", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" } }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "uuid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", - "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", - "dev": true - }, - "v8-compile-cache": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", - "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", - "dev": true + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true, + "license": "MIT" }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "w3c-hr-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", - "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "requires": { - "browser-process-hrtime": "^0.1.2" + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "requires": { - "makeerror": "1.0.x" + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "watchpack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", - "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, - "requires": { - "chokidar": "^2.0.2", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - } + "license": "MIT" }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "webpack": { - "version": "4.41.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.2.tgz", - "integrity": "sha512-Zhw69edTGfbz9/8JJoyRQ/pq8FYUoY0diOXqW0T6yhgdhCv6wr0hra5DwwWexNRns2Z2+gsnrNcbe9hbGBgk/A==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/wasm-edit": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "acorn": "^6.2.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.1", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.1", - "watchpack": "^1.6.0", - "webpack-sources": "^1.4.1" - }, - "dependencies": { - "acorn": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz", - "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==", - "dev": true - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" }, - "webpack-merge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", - "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "node_modules/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "requires": { - "lodash": "^4.17.15" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, - "requires": { - "iconv-lite": "0.4.24" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "whatwg-url": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", - "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, - "requires": { - "isexe": "^2.0.0" + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" }, - "winston": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.4.tgz", - "integrity": "sha512-NBo2Pepn4hK4V01UfcWcDlmiVTs7VTB1h7bgnB0rgP146bYhMxX0ypCz3lBOfNxCO4Zuek7yeT+y/zM1OfMw4Q==", - "dev": true, - "requires": { - "async": "~1.0.0", - "colors": "1.0.x", - "cycle": "1.0.x", - "eyes": "0.1.x", - "isstream": "0.1.x", - "stack-trace": "0.0.x" - }, - "dependencies": { - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "dev": true - } + "node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "requires": { - "errno": "~0.1.7" + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "node_modules/ws": { + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", + "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "license": "MIT", + "engines": { + "node": ">=10.0.0" }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } + "utf-8-validate": { + "optional": true } } }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "node_modules/xdg-basedir": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", + "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", "dev": true, - "requires": { - "mkdirp": "^0.5.1" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "write-file-atomic": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", - "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", + "node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "license": "Apache-2.0", + "engines": { + "node": ">=18" } }, - "ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - }, - "xml": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", - "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=", - "dev": true + "license": "MIT" }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "xtend": { + "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4" + } }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" }, - "yargs": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", - "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "node_modules/yaml": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", + "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "yargs-parser": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", - "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" } }, - "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, - "requires": { - "camelcase": "^4.1.0" + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - } + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } } } diff --git a/package.json b/package.json index a2acee79..506a4d1e 100644 --- a/package.json +++ b/package.json @@ -1,92 +1,106 @@ { "name": "css-loader", - "version": "3.2.1", + "version": "7.1.2", "description": "css loader module for webpack", "license": "MIT", "repository": "webpack-contrib/css-loader", "author": "Tobias Koppers @sokra", "homepage": "https://github.com/webpack-contrib/css-loader", "bugs": "https://github.com/webpack-contrib/css-loader/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, "main": "dist/cjs.js", "engines": { - "node": ">= 8.9.0" + "node": ">= 18.12.0" }, "scripts": { "start": "npm run build -- -w", - "prebuild": "npm run clean", - "build": "cross-env NODE_ENV=production babel src -d dist --ignore \"src/**/*.test.js\" --copy-files", + "clean": "del-cli dist", "validate:runtime": "es-check es5 \"dist/runtime/**/*.js\"", + "prebuild": "npm run clean", + "build": "cross-env NODE_ENV=production babel src -d dist --copy-files", "postbuild": "npm run validate:runtime", - "clean": "del-cli dist", "commitlint": "commitlint --from=master", - "lint:prettier": "prettier \"{**/*,*}.{js,json,md,yml,css}\" --list-different", - "lint:js": "eslint --cache src test", + "security": "npm audit --production", + "lint:prettier": "prettier --cache --list-different .", + "lint:js": "eslint --cache .", + "lint:spelling": "cspell --cache --no-must-find-files --quiet \"**/*.*\"", "lint": "npm-run-all -l -p \"lint:**\"", - "prepare": "npm run build", - "release": "standard-version", - "security": "npm audit", + "fix:js": "npm run lint:js -- --fix", + "fix:prettier": "npm run lint:prettier -- --write", + "fix": "npm-run-all -l fix:js fix:prettier", "test:only": "cross-env NODE_ENV=test jest", - "test:watch": "cross-env NODE_ENV=test jest --watch", - "test:coverage": "cross-env NODE_ENV=test jest --collectCoverageFrom=\"src/**/*.js\" --coverage", + "test:watch": "npm run test:only -- --watch", + "test:coverage": "npm run test:only -- --collectCoverageFrom=\"src/**/*.js\" --coverage", "pretest": "npm run lint", - "test": "cross-env NODE_ENV=test npm run test:coverage", - "defaults": "webpack-defaults" + "test": "npm run test:coverage", + "prepare": "husky && npm run build", + "release": "standard-version" }, "files": [ - "dist/", - "lib/", - "index.js" + "dist" ], "peerDependencies": { - "webpack": "^4.0.0" + "@rspack/core": "0.x || 1.x", + "webpack": "^5.27.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } }, "dependencies": { - "camelcase": "^5.3.1", - "cssesc": "^3.0.0", - "icss-utils": "^4.1.1", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.23", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^3.0.2", - "postcss-modules-scope": "^2.1.1", - "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.0.2", - "schema-utils": "^2.6.0" + "icss-utils": "^5.1.0", + "postcss": "^8.4.40", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.6.3" }, "devDependencies": { - "@babel/cli": "^7.7.4", - "@babel/core": "^7.7.4", - "@babel/preset-env": "^7.7.4", - "@commitlint/cli": "^8.2.0", - "@commitlint/config-conventional": "^8.2.0", - "@webpack-contrib/defaults": "^5.0.2", + "@babel/cli": "^7.24.8", + "@babel/core": "^7.25.2", + "@babel/preset-env": "^7.25.3", + "@commitlint/cli": "^19.3.0", + "@commitlint/config-conventional": "^19.2.2", "@webpack-contrib/eslint-config-webpack": "^3.0.0", - "babel-jest": "^24.9.0", - "commitlint-azure-pipelines-cli": "^1.0.2", - "cross-env": "^6.0.3", - "del": "^5.1.0", - "del-cli": "^3.0.0", - "es-check": "^5.1.0", - "eslint": "^6.7.1", - "eslint-config-prettier": "^6.7.0", - "eslint-plugin-import": "^2.18.2", - "file-loader": "^5.0.2", - "husky": "^3.1.0", - "jest": "^24.9.0", - "jest-junit": "^9.0.0", - "lint-staged": "^9.5.0", - "memory-fs": "^0.5.0", + "babel-jest": "^30.0.0", + "cross-env": "^7.0.3", + "cspell": "^8.13.1", + "del-cli": "^5.1.0", + "es-check": "^7.2.1", + "eslint": "^8.54.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-import": "^2.29.0", + "file-loader": "^6.2.0", + "husky": "^9.1.4", + "jest": "^30.0.0", + "jest-environment-jsdom": "^30.0.0", + "less": "^4.2.0", + "less-loader": "^12.2.0", + "lint-staged": "^15.2.8", + "memfs": "^4.11.1", + "mini-css-extract-plugin": "^2.9.0", "npm-run-all": "^4.1.5", - "postcss-loader": "^3.0.0", - "postcss-preset-env": "^6.7.0", - "prettier": "^1.19.1", - "sass": "^1.23.7", - "sass-loader": "^8.0.0", - "standard-version": "^7.0.1", + "postcss-loader": "^8.1.1", + "postcss-preset-env": "^9.6.0", + "prettier": "^3.3.3", + "sass": "^1.77.8", + "sass-loader": "^14.2.1", + "standard-version": "^9.5.0", "strip-ansi": "^6.0.0", - "url-loader": "^3.0.0", - "webpack": "^4.41.2" + "style-loader": "^3.3.4", + "stylus": "^0.63.0", + "stylus-loader": "^8.1.0", + "url-loader": "^4.1.1", + "webpack": "^5.93.0" }, "keywords": [ "webpack", diff --git a/src/CssSyntaxError.js b/src/CssSyntaxError.js deleted file mode 100644 index 95f80f87..00000000 --- a/src/CssSyntaxError.js +++ /dev/null @@ -1,28 +0,0 @@ -export default class CssSyntaxError extends Error { - constructor(error) { - super(error); - - const { reason, line, column } = error; - - this.name = 'CssSyntaxError'; - - // Based on https://github.com/postcss/postcss/blob/master/lib/css-syntax-error.es6#L132 - // We don't need `plugin` and `file` properties. - this.message = `${this.name}\n\n`; - - if (typeof line !== 'undefined') { - this.message += `(${line}:${column}) `; - } - - this.message += `${reason}`; - - const code = error.showSourceCode(); - - if (code) { - this.message += `\n\n${code}\n`; - } - - // We don't need stack https://github.com/postcss/postcss/blob/master/docs/guidelines/runner.md#31-dont-show-js-stack-for-csssyntaxerror - this.stack = false; - } -} diff --git a/src/Warning.js b/src/Warning.js deleted file mode 100644 index 93b86399..00000000 --- a/src/Warning.js +++ /dev/null @@ -1,20 +0,0 @@ -export default class Warning extends Error { - constructor(warning) { - super(warning); - const { text, line, column } = warning; - this.name = 'Warning'; - - // Based on https://github.com/postcss/postcss/blob/master/lib/warning.es6#L74 - // We don't need `plugin` properties. - this.message = `${this.name}\n\n`; - - if (typeof line !== 'undefined') { - this.message += `(${line}:${column}) `; - } - - this.message += `${text}`; - - // We don't need stack https://github.com/postcss/postcss/blob/master/docs/guidelines/runner.md#31-dont-show-js-stack-for-csssyntaxerror - this.stack = false; - } -} diff --git a/src/cjs.js b/src/cjs.js index 90fe4df1..feb36178 100644 --- a/src/cjs.js +++ b/src/cjs.js @@ -1,3 +1,5 @@ -const loader = require('./index'); +const loader = require("./index"); module.exports = loader.default; + +module.exports.defaultGetLocalIdent = require("./utils").defaultGetLocalIdent; diff --git a/src/index.js b/src/index.js index 99583eda..3c89c371 100644 --- a/src/index.js +++ b/src/index.js @@ -2,140 +2,273 @@ MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ -import validateOptions from 'schema-utils'; -import postcss from 'postcss'; -import postcssPkg from 'postcss/package.json'; -import { getOptions, isUrlRequest } from 'loader-utils'; +import postcss from "postcss"; +import postcssPkg from "postcss/package.json"; +import { satisfies } from "semver"; -import schema from './options.json'; -import { importParser, icssParser, urlParser } from './plugins'; +import schema from "./options.json"; +import { icssParser, importParser, urlParser } from "./plugins"; import { - normalizeSourceMap, - getModulesPlugins, + normalizeOptions, + shouldUseModulesPlugins, + shouldUseImportPlugin, + shouldUseURLPlugin, + shouldUseIcssPlugin, + getPreRequester, + getExportCode, getFilter, - getApiCode, getImportCode, getModuleCode, - getExportCode, -} from './utils'; -import Warning from './Warning'; -import CssSyntaxError from './CssSyntaxError'; + getModulesPlugins, + normalizeSourceMap, + sort, + combineRequests, + stringifyRequest, + warningFactory, + syntaxErrorFactory, + supportTemplateLiteral, +} from "./utils"; -export default function loader(content, map, meta) { - const options = getOptions(this) || {}; +export default async function loader(content, map, meta) { + const rawOptions = this.getOptions(schema); + const callback = this.async(); - validateOptions(schema, options, { - name: 'CSS Loader', - baseDataPath: 'options', - }); + if ( + this._compiler && + this._compiler.options && + this._compiler.options.experiments && + this._compiler.options.experiments.css && + this._module && + (this._module.type === "css" || + this._module.type === "css/auto" || + this._module.type === "css/global" || + this._module.type === "css/module") + ) { + this.emitWarning( + new Error( + 'You can\'t use `experiments.css` (`experiments.futureDefaults` enable built-in CSS support by default) and `css-loader` together, please set `experiments.css` to `false` or set `{ type: "javascript/auto" }` for rules with `css-loader` in your webpack config (now css-loader does nothing).', + ), + ); - const callback = this.async(); - const sourceMap = options.sourceMap || false; + callback(null, content, map, meta); - // Some loaders (example `"postcss-loader": "1.x.x"`) always generates source map, we should remove it - // eslint-disable-next-line no-param-reassign - map = sourceMap && map ? normalizeSourceMap(map) : null; + return; + } - // Reuse CSS AST (PostCSS AST e.g 'postcss-loader') to avoid reparsing - if (meta) { - const { ast } = meta; + let options; - if (ast && ast.type === 'postcss' && ast.version === postcssPkg.version) { - // eslint-disable-next-line no-param-reassign - content = ast.root; - } + try { + options = normalizeOptions(rawOptions, this); + } catch (error) { + callback(error); + + return; } const plugins = []; + const replacements = []; + const exports = []; - if (options.modules) { + if (shouldUseModulesPlugins(options)) { plugins.push(...getModulesPlugins(options, this)); } - const exportType = options.onlyLocals ? 'locals' : 'full'; + const importPluginImports = []; + const importPluginApi = []; + + let isSupportAbsoluteURL = false; - plugins.push(icssParser()); + // TODO enable by default in the next major release + if ( + this._compilation && + this._compilation.options && + this._compilation.options.experiments && + this._compilation.options.experiments.buildHttp + ) { + isSupportAbsoluteURL = true; + } - if (options.import !== false && exportType === 'full') { + if (shouldUseImportPlugin(options)) { plugins.push( importParser({ - filter: getFilter(options.import, this.resourcePath), - }) + // TODO need to fix on webpack side, webpack tries to resolve `./runtime/api.js paths like `http://site.com/runtime/api.js`, maybe we should try first request like absolute, the second like a relative to context + isSupportAbsoluteURL: false, + isSupportDataURL: false, + isCSSStyleSheet: options.exportType === "css-style-sheet", + loaderContext: this, + imports: importPluginImports, + api: importPluginApi, + filter: options.import.filter, + urlHandler: (url) => + stringifyRequest( + this, + combineRequests(getPreRequester(this)(options.importLoaders), url), + ), + }), ); } - if (options.url !== false && exportType === 'full') { + const urlPluginImports = []; + + if (shouldUseURLPlugin(options)) { + const needToResolveURL = !options.esModule; + plugins.push( urlParser({ - filter: getFilter(options.url, this.resourcePath, (value) => - isUrlRequest(value) - ), - }) + isSupportAbsoluteURL, + isSupportDataURL: options.esModule, + imports: urlPluginImports, + replacements, + context: this.context, + rootContext: this.rootContext, + filter: getFilter(options.url.filter, this.resourcePath), + resolver: needToResolveURL + ? this.getResolve({ mainFiles: [], extensions: [] }) + : // eslint-disable-next-line no-undefined + undefined, + urlHandler: (url) => stringifyRequest(this, url), + // Support data urls as input in new URL added in webpack@5.38.0 + }), + ); + } + + const icssPluginImports = []; + const icssPluginApi = []; + + const needToUseIcssPlugin = shouldUseIcssPlugin(options); + + if (needToUseIcssPlugin) { + plugins.push( + icssParser({ + loaderContext: this, + imports: icssPluginImports, + api: icssPluginApi, + replacements, + exports, + urlHandler: (url) => + stringifyRequest( + this, + combineRequests(getPreRequester(this)(options.importLoaders), url), + ), + }), ); } - postcss(plugins) - .process(content, { - from: this.remainingRequest.split('!').pop(), - to: this.currentRequest.split('!').pop(), + // Reuse CSS AST (PostCSS AST e.g 'postcss-loader') to avoid reparsing + if (meta) { + const { ast } = meta; + + if ( + ast && + ast.type === "postcss" && + satisfies(ast.version, `^${postcssPkg.version}`) + ) { + // eslint-disable-next-line no-param-reassign + content = ast.root; + } + } + + const { resourcePath } = this; + + let result; + + try { + result = await postcss(plugins).process(content, { + hideNothingWarning: true, + from: resourcePath, + to: resourcePath, map: options.sourceMap - ? { prev: map, inline: false, annotation: false } + ? { + prev: map ? normalizeSourceMap(map, resourcePath) : null, + inline: false, + annotation: false, + } : false, - }) - .then((result) => { - result - .warnings() - .forEach((warning) => this.emitWarning(new Warning(warning))); - - const imports = []; - const exports = []; - const replacers = []; - - for (const message of result.messages) { - // eslint-disable-next-line default-case - switch (message.type) { - case 'import': - imports.push(message.value); - break; - case 'export': - exports.push(message.value); - break; - case 'replacer': - replacers.push(message.value); - break; - } - } - - // Run other loader (`postcss-loader`, `sass-loader` and etc) for importing CSS - const apiCode = exportType === 'full' ? getApiCode(this, sourceMap) : ''; - const importCode = - imports.length > 0 - ? getImportCode(this, imports, { - importLoaders: options.importLoaders, - exportType, - }) - : ''; - const moduleCode = - exportType === 'full' - ? getModuleCode(this, result, replacers, sourceMap) - : ''; - const exportCode = - exports.length > 0 - ? getExportCode(this, exports, replacers, { - localsConvention: options.localsConvention, - exportType, - }) - : ''; - - return callback( - null, - [apiCode, importCode, moduleCode, exportCode].join('') - ); - }) - .catch((error) => { - callback( - error.name === 'CssSyntaxError' ? new CssSyntaxError(error) : error - ); }); + } catch (error) { + if (error.file) { + this.addDependency(error.file); + } + + callback( + error.name === "CssSyntaxError" ? syntaxErrorFactory(error) : error, + ); + + return; + } + + for (const warning of result.warnings()) { + this.emitWarning(warningFactory(warning)); + } + + const imports = [] + .concat(icssPluginImports.sort(sort)) + .concat(importPluginImports.sort(sort)) + .concat(urlPluginImports.sort(sort)); + const api = [] + .concat(importPluginApi.sort(sort)) + .concat(icssPluginApi.sort(sort)); + + if (options.modules.exportOnlyLocals !== true) { + imports.unshift({ + type: "api_import", + importName: "___CSS_LOADER_API_IMPORT___", + url: stringifyRequest(this, require.resolve("./runtime/api")), + }); + + if (options.sourceMap) { + imports.unshift({ + importName: "___CSS_LOADER_API_SOURCEMAP_IMPORT___", + url: stringifyRequest(this, require.resolve("./runtime/sourceMaps")), + }); + } else { + imports.unshift({ + importName: "___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___", + url: stringifyRequest(this, require.resolve("./runtime/noSourceMaps")), + }); + } + } + + const isTemplateLiteralSupported = supportTemplateLiteral(this); + const importCode = getImportCode(imports, options); + + let moduleCode; + + try { + moduleCode = getModuleCode( + result, + api, + replacements, + options, + isTemplateLiteralSupported, + this, + ); + } catch (error) { + callback(error); + + return; + } + + const exportCode = getExportCode( + exports, + replacements, + needToUseIcssPlugin, + options, + isTemplateLiteralSupported, + ); + + const { getJSON } = options.modules; + + if (typeof getJSON === "function") { + try { + await getJSON({ resourcePath, imports, exports, replacements }); + } catch (error) { + callback(error); + + return; + } + } + + callback(null, `${importCode}${moduleCode}${exportCode}`); } diff --git a/src/options.json b/src/options.json index 2e90393a..22773c7b 100644 --- a/src/options.json +++ b/src/options.json @@ -1,99 +1,217 @@ { + "title": "CSS Loader options", "additionalProperties": false, "properties": { "url": { - "description": "Enables/Disables 'url'/'image-set' functions handling (https://github.com/webpack-contrib/css-loader#url).", + "description": "Allows to enables/disables `url()`/`image-set()` functions handling.", + "link": "https://github.com/webpack-contrib/css-loader#url", "anyOf": [ { "type": "boolean" }, { - "instanceof": "Function" + "type": "object", + "properties": { + "filter": { + "instanceof": "Function" + } + }, + "additionalProperties": false } ] }, "import": { - "description": "Enables/Disables '@import' at-rules handling (https://github.com/webpack-contrib/css-loader#import).", + "description": "Allows to enables/disables `@import` at-rules handling.", + "link": "https://github.com/webpack-contrib/css-loader#import", "anyOf": [ { "type": "boolean" }, { - "instanceof": "Function" + "type": "object", + "properties": { + "filter": { + "instanceof": "Function" + } + }, + "additionalProperties": false } ] }, "modules": { - "description": "Enables/Disables CSS Modules and their configuration (https://github.com/webpack-contrib/css-loader#modules).", + "description": "Allows to enable/disable CSS Modules or ICSS and setup configuration.", + "link": "https://github.com/webpack-contrib/css-loader#modules", "anyOf": [ { "type": "boolean" }, { - "enum": ["local", "global"] + "enum": ["local", "global", "pure", "icss"] }, { "type": "object", "additionalProperties": false, "properties": { + "auto": { + "description": "Allows auto enable CSS modules based on filename.", + "link": "https://github.com/webpack-contrib/css-loader#auto", + "anyOf": [ + { + "instanceof": "RegExp" + }, + { + "instanceof": "Function" + }, + { + "type": "boolean" + } + ] + }, "mode": { - "enum": ["local", "global"] + "description": "Setup `mode` option.", + "link": "https://github.com/webpack-contrib/css-loader#mode", + "anyOf": [ + { + "enum": ["local", "global", "pure", "icss"] + }, + { + "instanceof": "Function" + } + ] }, "localIdentName": { - "type": "string" + "description": "Allows to configure the generated local ident name.", + "link": "https://github.com/webpack-contrib/css-loader#localidentname", + "type": "string", + "minLength": 1 + }, + "localIdentContext": { + "description": "Allows to redefine basic loader context for local ident name.", + "link": "https://github.com/webpack-contrib/css-loader#localidentcontext", + "type": "string", + "minLength": 1 + }, + "localIdentHashSalt": { + "description": "Allows to add custom hash to generate more unique classes.", + "link": "https://github.com/webpack-contrib/css-loader#localidenthashsalt", + "type": "string", + "minLength": 1 + }, + "localIdentHashFunction": { + "description": "Allows to specify hash function to generate classes.", + "link": "https://github.com/webpack-contrib/css-loader#localidenthashfunction", + "type": "string", + "minLength": 1 + }, + "localIdentHashDigest": { + "description": "Allows to specify hash digest to generate classes.", + "link": "https://github.com/webpack-contrib/css-loader#localidenthashdigest", + "type": "string", + "minLength": 1 + }, + "localIdentHashDigestLength": { + "description": "Allows to specify hash digest length to generate classes.", + "link": "https://github.com/webpack-contrib/css-loader#localidenthashdigestlength", + "type": "number" + }, + "hashStrategy": { + "description": "Allows to specify should localName be used when computing the hash.", + "link": "https://github.com/webpack-contrib/css-loader#hashstrategy", + "enum": ["resource-path-and-local-name", "minimal-subset"] }, "localIdentRegExp": { + "description": "Allows to specify custom RegExp for local ident name.", + "link": "https://github.com/webpack-contrib/css-loader#localidentregexp", "anyOf": [ { - "type": "string" + "type": "string", + "minLength": 1 }, { "instanceof": "RegExp" } ] }, - "context": { - "type": "string" + "getLocalIdent": { + "description": "Allows to specify a function to generate the classname.", + "link": "https://github.com/webpack-contrib/css-loader#getlocalident", + "instanceof": "Function" }, - "hashPrefix": { - "type": "string" + "namedExport": { + "description": "Enables/disables ES modules named export for locals.", + "link": "https://github.com/webpack-contrib/css-loader#namedexport", + "type": "boolean" }, - "getLocalIdent": { + "exportGlobals": { + "description": "Allows to export names from global class or id, so you can use that as local name.", + "link": "https://github.com/webpack-contrib/css-loader#exportglobals", + "type": "boolean" + }, + "exportLocalsConvention": { + "description": "Style of exported classnames.", + "link": "https://github.com/webpack-contrib/css-loader#localsconvention", "anyOf": [ { - "type": "boolean" + "enum": [ + "asIs", + "as-is", + "camelCase", + "camel-case", + "camelCaseOnly", + "camel-case-only", + "dashes", + "dashesOnly", + "dashes-only" + ] }, { "instanceof": "Function" } ] + }, + "exportOnlyLocals": { + "description": "Export only locals.", + "link": "https://github.com/webpack-contrib/css-loader#exportonlylocals", + "type": "boolean" + }, + "getJSON": { + "description": "Allows outputting of CSS modules mapping through a callback.", + "link": "https://github.com/webpack-contrib/css-loader#getJSON", + "instanceof": "Function" } } } ] }, "sourceMap": { - "description": "Enables/Disables generation of source maps (https://github.com/webpack-contrib/css-loader#sourcemap).", + "description": "Allows to enable/disable source maps.", + "link": "https://github.com/webpack-contrib/css-loader#sourcemap", "type": "boolean" }, "importLoaders": { - "description": "Enables/Disables or setups number of loaders applied before CSS loader (https://github.com/webpack-contrib/css-loader#importloaders).", + "description": "Allows enables/disables or setups number of loaders applied before CSS loader for `@import`/CSS Modules and ICSS imports.", + "link": "https://github.com/webpack-contrib/css-loader#importloaders", "anyOf": [ { "type": "boolean" }, { - "type": "number" + "type": "string" + }, + { + "type": "integer" } ] }, - "localsConvention": { - "description": "Style of exported classnames (https://github.com/webpack-contrib/css-loader#localsconvention).", - "enum": ["asIs", "camelCase", "camelCaseOnly", "dashes", "dashesOnly"] - }, - "onlyLocals": { - "description": "Export only locals (https://github.com/webpack-contrib/css-loader#onlylocals).", + "esModule": { + "description": "Use the ES modules syntax.", + "link": "https://github.com/webpack-contrib/css-loader#esmodule", "type": "boolean" + }, + "exportType": { + "description": "Allows exporting styles as array with modules, string or constructable stylesheet (i.e. `CSSStyleSheet`).", + "link": "https://github.com/webpack-contrib/css-loader#exporttype", + "enum": ["array", "string", "css-style-sheet"] } }, "type": "object" diff --git a/src/plugins/index.js b/src/plugins/index.js index 21e47631..22e1bf60 100644 --- a/src/plugins/index.js +++ b/src/plugins/index.js @@ -1,5 +1,5 @@ -import importParser from './postcss-import-parser'; -import icssParser from './postcss-icss-parser'; -import urlParser from './postcss-url-parser'; +import importParser from "./postcss-import-parser"; +import icssParser from "./postcss-icss-parser"; +import urlParser from "./postcss-url-parser"; export { importParser, icssParser, urlParser }; diff --git a/src/plugins/postcss-icss-parser.js b/src/plugins/postcss-icss-parser.js index cc349fff..a40b4412 100644 --- a/src/plugins/postcss-icss-parser.js +++ b/src/plugins/postcss-icss-parser.js @@ -1,59 +1,124 @@ -import postcss from 'postcss'; -import { extractICSS, replaceValueSymbols, replaceSymbols } from 'icss-utils'; +import { extractICSS, replaceValueSymbols, replaceSymbols } from "icss-utils"; -const pluginName = 'postcss-icss-parser'; +import { normalizeUrl, resolveRequests, requestify } from "../utils"; -export default postcss.plugin( - pluginName, - () => - function process(css, result) { +const plugin = (options = {}) => { + return { + postcssPlugin: "postcss-icss-parser", + async OnceExit(root) { const importReplacements = Object.create(null); - const { icssImports, icssExports } = extractICSS(css); + const { icssImports, icssExports } = extractICSS(root); + const imports = new Map(); + const tasks = []; - Object.keys(icssImports).forEach((url, importIndex) => { - const tokens = Object.keys(icssImports[url]); + const { loaderContext } = options; + const resolver = loaderContext.getResolve({ + dependencyType: "icss", + conditionNames: ["style"], + extensions: ["..."], + mainFields: ["css", "style", "main", "..."], + mainFiles: ["index", "..."], + preferRelative: true, + }); + + // eslint-disable-next-line guard-for-in + for (const url in icssImports) { + const tokens = icssImports[url]; - if (tokens.length === 0) { - return; + if (Object.keys(tokens).length === 0) { + // eslint-disable-next-line no-continue + continue; } - const importName = `___CSS_LOADER_ICSS_IMPORT_${importIndex}___`; + let normalizedUrl = url; + let prefix = ""; + + const queryParts = normalizedUrl.split("!"); + + if (queryParts.length > 1) { + normalizedUrl = queryParts.pop(); + prefix = queryParts.join("!"); + } + + const request = requestify( + normalizeUrl(normalizedUrl, true), + loaderContext.rootContext, + ); + const doResolve = async () => { + const resolvedUrl = await resolveRequests( + resolver, + loaderContext.context, + [...new Set([normalizedUrl, request])], + ); + + if (!resolvedUrl) { + return; + } + + // eslint-disable-next-line consistent-return + return { url: resolvedUrl, prefix, tokens }; + }; + + tasks.push(doResolve()); + } + + const results = await Promise.all(tasks); + + for (let index = 0; index <= results.length - 1; index++) { + const item = results[index]; - result.messages.push({ - pluginName, - type: 'import', - value: { type: 'icss-import', name: importName, url }, - }); + if (!item) { + // eslint-disable-next-line no-continue + continue; + } - tokens.forEach((token, replacementIndex) => { - const name = `___CSS_LOADER_ICSS_IMPORT_${importIndex}_REPLACEMENT_${replacementIndex}___`; - const localName = icssImports[url][token]; + const newUrl = item.prefix ? `${item.prefix}!${item.url}` : item.url; + const importKey = newUrl; + let importName = imports.get(importKey); - importReplacements[token] = name; + if (!importName) { + importName = `___CSS_LOADER_ICSS_IMPORT_${imports.size}___`; + imports.set(importKey, importName); - result.messages.push({ - pluginName, - type: 'replacer', - value: { type: 'icss-import', name, importName, localName }, + options.imports.push({ + type: "icss_import", + importName, + url: options.urlHandler(newUrl), + icss: true, + index, }); - }); - }); + + options.api.push({ importName, dedupe: true, index }); + } + + for (const [replacementIndex, token] of Object.keys( + item.tokens, + ).entries()) { + const replacementName = `___CSS_LOADER_ICSS_IMPORT_${index}_REPLACEMENT_${replacementIndex}___`; + const localName = item.tokens[token]; + + importReplacements[token] = replacementName; + + options.replacements.push({ replacementName, importName, localName }); + } + } if (Object.keys(importReplacements).length > 0) { - replaceSymbols(css, importReplacements); + replaceSymbols(root, importReplacements); } - Object.keys(icssExports).forEach((name) => { + for (const name of Object.keys(icssExports)) { const value = replaceValueSymbols( icssExports[name], - importReplacements + importReplacements, ); - result.messages.push({ - pluginName, - type: 'export', - value: { name, value }, - }); - }); - } -); + options.exports.push({ name, value }); + } + }, + }; +}; + +plugin.postcss = true; + +export default plugin; diff --git a/src/plugins/postcss-import-parser.js b/src/plugins/postcss-import-parser.js index daeae3fc..142e105f 100644 --- a/src/plugins/postcss-import-parser.js +++ b/src/plugins/postcss-import-parser.js @@ -1,119 +1,362 @@ -import postcss from 'postcss'; -import valueParser from 'postcss-value-parser'; +import valueParser from "postcss-value-parser"; -const pluginName = 'postcss-import-parser'; +import { + normalizeUrl, + resolveRequests, + isURLRequestable, + requestify, + WEBPACK_IGNORE_COMMENT_REGEXP, +} from "../utils"; -function getArg(nodes) { - return nodes.length !== 0 && nodes[0].type === 'string' - ? nodes[0].value - : valueParser.stringify(nodes); -} +function isIgnoredAfterName(atRule) { + if ( + atRule.raws && + atRule.raws.afterName && + atRule.raws.afterName.trim().length > 0 + ) { + const lastCommentIndex = atRule.raws.afterName.lastIndexOf("/*"); + const matched = atRule.raws.afterName + .slice(lastCommentIndex) + .match(WEBPACK_IGNORE_COMMENT_REGEXP); -function getUrl(node) { - if (node.type === 'function' && node.value.toLowerCase() === 'url') { - return getArg(node.nodes); + if (matched && matched[2] === "true") { + return true; + } } - if (node.type === 'string') { - return node.value; + return false; +} + +function isIgnoredPrevNode(atRule) { + const prevNode = atRule.prev(); + + if (prevNode && prevNode.type === "comment") { + const matched = prevNode.text.match(WEBPACK_IGNORE_COMMENT_REGEXP); + + if (matched && matched[2] === "true") { + return true; + } } - return null; + return false; } -function parseImport(params) { - const { nodes } = valueParser(params); +function parseNode(atRule, key, options) { + // Convert only top-level @import + if (atRule.parent.type !== "root") { + return; + } + + const isIgnored = isIgnoredAfterName(atRule) || isIgnoredPrevNode(atRule); + + // Nodes do not exists - `@import url('http://') :root {}` + if (atRule.nodes) { + const error = new Error( + "It looks like you didn't end your @import statement correctly. Child nodes are attached to it.", + ); - if (nodes.length === 0) { - return null; + error.node = atRule; + + throw error; } - const url = getUrl(nodes[0]); + const rawParams = + atRule.raws && + atRule.raws[key] && + typeof atRule.raws[key].raw !== "undefined" + ? atRule.raws[key].raw + : atRule[key]; + const { nodes: paramsNodes } = valueParser(rawParams); + + // No nodes - `@import ;` + // Invalid type - `@import foo-bar;` + if ( + paramsNodes.length === 0 || + (paramsNodes[0].type !== "string" && paramsNodes[0].type !== "function") + ) { + const error = new Error(`Unable to find uri in "${atRule.toString()}"`); + + error.node = atRule; - if (!url || url.trim().length === 0) { - return null; + throw error; } - return { - url, - media: valueParser - .stringify(nodes.slice(1)) - .trim() - .toLowerCase(), - }; -} + let isStringValue; + let url; -function walkAtRules(css, result, filter) { - const items = new Map(); + if (paramsNodes[0].type === "string") { + isStringValue = true; + url = paramsNodes[0].value; + } else { + // Invalid function - `@import nourl(test.css);` + if (paramsNodes[0].value.toLowerCase() !== "url") { + const error = new Error(`Unable to find uri in "${atRule.toString()}"`); - css.walkAtRules(/^import$/i, (atRule) => { - // Convert only top-level @import - if (atRule.parent.type !== 'root') { - return; - } + error.node = atRule; - if (atRule.nodes) { - result.warn( - "It looks like you didn't end your @import statement correctly. " + - 'Child nodes are attached to it.', - { node: atRule } - ); - return; + throw error; } - const parsed = parseImport(atRule.params); + isStringValue = + paramsNodes[0].nodes.length !== 0 && + paramsNodes[0].nodes[0].type === "string"; + url = isStringValue + ? paramsNodes[0].nodes[0].value + : valueParser.stringify(paramsNodes[0].nodes); + } - if (!parsed) { - // eslint-disable-next-line consistent-return - return result.warn(`Unable to find uri in '${atRule.toString()}'`, { - node: atRule, - }); - } + url = normalizeUrl(url, isStringValue); + + let requestable = false; + let needResolve = false; + + if (!isIgnored) { + ({ requestable, needResolve } = isURLRequestable(url, options)); + } + + let prefix; - if (filter && !filter(parsed)) { - return; + if (requestable && needResolve) { + const queryParts = url.split("!"); + + if (queryParts.length > 1) { + url = queryParts.pop(); + prefix = queryParts.join("!"); } + } + + // Empty url - `@import "";` or `@import url();` + if (url.trim().length === 0) { + const error = new Error(`Unable to find uri in "${atRule.toString()}"`); + + error.node = atRule; - atRule.remove(); + throw error; + } + + const additionalNodes = paramsNodes.slice(1); + + let supports; + let layer; + let media; + + if (additionalNodes.length > 0) { + let nodes = []; + + for (const node of additionalNodes) { + nodes.push(node); - const { url, media } = parsed; - const value = items.get(url); + const isLayerFunction = + node.type === "function" && node.value.toLowerCase() === "layer"; + const isLayerWord = + node.type === "word" && node.value.toLowerCase() === "layer"; - if (!value) { - items.set(url, new Set([media])); - } else { - value.add(media); + if (isLayerFunction || isLayerWord) { + if (isLayerFunction) { + nodes.splice(nodes.length - 1, 1, ...node.nodes); + } else { + nodes.splice(nodes.length - 1, 1, { + type: "string", + value: "", + unclosed: false, + }); + } + + layer = valueParser.stringify(nodes).trim().toLowerCase(); + nodes = []; + } else if ( + node.type === "function" && + node.value.toLowerCase() === "supports" + ) { + nodes.splice(nodes.length - 1, 1, ...node.nodes); + + supports = valueParser.stringify(nodes).trim().toLowerCase(); + nodes = []; + } } - }); - return items; + if (nodes.length > 0) { + media = valueParser.stringify(nodes).trim().toLowerCase(); + } + } + + // eslint-disable-next-line consistent-return + return { + atRule, + prefix, + url, + layer, + supports, + media, + requestable, + needResolve, + }; } -export default postcss.plugin( - pluginName, - (options) => - function process(css, result) { - const items = walkAtRules(css, result, options.filter); +const plugin = (options = {}) => { + return { + postcssPlugin: "postcss-import-parser", + prepare(result) { + const parsedAtRules = []; - [...items] - .reduce((accumulator, currentValue) => { - const [url, medias] = currentValue; + return { + AtRule: { + import(atRule) { + if (options.isCSSStyleSheet) { + options.loaderContext.emitError( + new Error( + atRule.error( + "'@import' rules are not allowed here and will not be processed", + ).message, + ), + ); - medias.forEach((media) => { - accumulator.push({ url, media }); - }); + return; + } + + const { isSupportDataURL, isSupportAbsoluteURL } = options; + + let parsedAtRule; - return accumulator; - }, []) - .forEach((item, index) => { - const { url, media } = item; - const name = `___CSS_LOADER_AT_RULE_IMPORT_${index}___`; + try { + parsedAtRule = parseNode(atRule, "params", { + isSupportAbsoluteURL, + isSupportDataURL, + }); + } catch (error) { + result.warn(error.message, { node: error.node }); + } - result.messages.push({ - pluginName, - type: 'import', - value: { type: '@import', name, url, media }, + if (!parsedAtRule) { + return; + } + + parsedAtRules.push(parsedAtRule); + }, + }, + async OnceExit() { + if (parsedAtRules.length === 0) { + return; + } + + const { loaderContext } = options; + const resolver = loaderContext.getResolve({ + dependencyType: "css", + conditionNames: ["style"], + mainFields: ["css", "style", "main", "..."], + mainFiles: ["index", "..."], + extensions: [".css", "..."], + preferRelative: true, }); - }); - } -); + + const resolvedAtRules = await Promise.all( + parsedAtRules.map(async (parsedAtRule) => { + const { + atRule, + requestable, + needResolve, + prefix, + url, + layer, + supports, + media, + } = parsedAtRule; + + if (options.filter) { + const needKeep = await options.filter( + url, + media, + loaderContext.resourcePath, + supports, + layer, + ); + + if (!needKeep) { + return; + } + } + + if (needResolve) { + const request = requestify(url, loaderContext.rootContext); + const resolvedUrl = await resolveRequests( + resolver, + loaderContext.context, + [...new Set([request, url])], + ); + + if (!resolvedUrl) { + return; + } + + if (resolvedUrl === loaderContext.resourcePath) { + atRule.remove(); + + return; + } + + atRule.remove(); + + // eslint-disable-next-line consistent-return + return { + url: resolvedUrl, + layer, + supports, + media, + prefix, + requestable, + }; + } + + atRule.remove(); + + // eslint-disable-next-line consistent-return + return { url, layer, supports, media, prefix, requestable }; + }), + ); + + const urlToNameMap = new Map(); + + for (let index = 0; index <= resolvedAtRules.length - 1; index++) { + const resolvedAtRule = resolvedAtRules[index]; + + if (!resolvedAtRule) { + // eslint-disable-next-line no-continue + continue; + } + + const { url, requestable, layer, supports, media } = resolvedAtRule; + + if (!requestable) { + options.api.push({ url, layer, supports, media, index }); + + // eslint-disable-next-line no-continue + continue; + } + + const { prefix } = resolvedAtRule; + const newUrl = prefix ? `${prefix}!${url}` : url; + let importName = urlToNameMap.get(newUrl); + + if (!importName) { + importName = `___CSS_LOADER_AT_RULE_IMPORT_${urlToNameMap.size}___`; + urlToNameMap.set(newUrl, importName); + + options.imports.push({ + type: "rule_import", + importName, + url: options.urlHandler(newUrl), + index, + }); + } + + options.api.push({ importName, layer, supports, media, index }); + } + }, + }; + }, + }; +}; + +plugin.postcss = true; + +export default plugin; diff --git a/src/plugins/postcss-url-parser.js b/src/plugins/postcss-url-parser.js index c206b8c2..4e24e926 100644 --- a/src/plugins/postcss-url-parser.js +++ b/src/plugins/postcss-url-parser.js @@ -1,174 +1,447 @@ -import postcss from 'postcss'; -import valueParser from 'postcss-value-parser'; +import valueParser from "postcss-value-parser"; -const pluginName = 'postcss-url-parser'; +import { + resolveRequests, + normalizeUrl, + requestify, + isURLRequestable, + WEBPACK_IGNORE_COMMENT_REGEXP, +} from "../utils"; const isUrlFunc = /url/i; const isImageSetFunc = /^(?:-webkit-)?image-set$/i; -const needParseDecl = /(?:url|(?:-webkit-)?image-set)\(/i; +const needParseDeclaration = /(?:url|(?:-webkit-)?image-set)\(/i; function getNodeFromUrlFunc(node) { return node.nodes && node.nodes[0]; } -function getUrlFromUrlFunc(node) { - return node.nodes.length !== 0 && node.nodes[0].type === 'string' - ? node.nodes[0].value - : valueParser.stringify(node.nodes); -} +function getWebpackIgnoreCommentValue(index, nodes, inBetween) { + if (index === 0 && typeof inBetween !== "undefined") { + return inBetween; + } -function walkUrls(parsed, callback) { - parsed.walk((node) => { - if (node.type !== 'function') { - return; - } + let prevValueNode = nodes[index - 1]; - if (isUrlFunc.test(node.value)) { - callback(getNodeFromUrlFunc(node), getUrlFromUrlFunc(node), false); + if (!prevValueNode) { + // eslint-disable-next-line consistent-return + return; + } - // Do not traverse inside `url` + if (prevValueNode.type === "space") { + if (!nodes[index - 2]) { // eslint-disable-next-line consistent-return - return false; + return; } - if (isImageSetFunc.test(node.value)) { - node.nodes.forEach((nNode) => { - if (nNode.type === 'function' && isUrlFunc.test(nNode.value)) { - callback(getNodeFromUrlFunc(nNode), getUrlFromUrlFunc(nNode), false); - } + prevValueNode = nodes[index - 2]; + } - if (nNode.type === 'string') { - callback(nNode, nNode.value, true); - } - }); + if (prevValueNode.type !== "comment") { + // eslint-disable-next-line consistent-return + return; + } - // Do not traverse inside `image-set` - // eslint-disable-next-line consistent-return - return false; - } - }); + const matched = prevValueNode.value.match(WEBPACK_IGNORE_COMMENT_REGEXP); + + return matched && matched[2] === "true"; } -function getUrlsFromValue(value, result, filter, decl) { - if (!needParseDecl.test(value)) { +function shouldHandleURL(url, declaration, result, options) { + if (url.length === 0) { + result.warn(`Unable to find uri in '${declaration.toString()}'`, { + node: declaration, + }); + + return { requestable: false, needResolve: false }; + } + + return isURLRequestable(url, options); +} + +function parseDeclaration(declaration, key, result, options) { + if (!needParseDeclaration.test(declaration[key])) { return; } - const parsed = valueParser(value); - const urls = []; + const parsed = valueParser( + declaration.raws && declaration.raws.value && declaration.raws.value.raw + ? declaration.raws.value.raw + : declaration[key], + ); - walkUrls(parsed, (node, url, needQuotes) => { - if (url.trim().replace(/\\[\r\n]/g, '').length === 0) { - result.warn(`Unable to find uri in '${decl ? decl.toString() : value}'`, { - node: decl, - }); + let inBetween; - return; - } + if (declaration.raws && declaration.raws.between) { + const lastCommentIndex = declaration.raws.between.lastIndexOf("/*"); - if (filter && !filter(url)) { - return; + const matched = declaration.raws.between + .slice(lastCommentIndex) + .match(WEBPACK_IGNORE_COMMENT_REGEXP); + + if (matched) { + inBetween = matched[2] === "true"; } + } - const [normalizedUrl, singleQuery, hashValue] = url.split(/(\?)?#/); - const hash = - singleQuery || hashValue - ? `${singleQuery ? '?' : ''}${hashValue ? `#${hashValue}` : ''}` - : ''; + let isIgnoreOnDeclaration = false; - urls.push({ node, url: normalizedUrl, hash, needQuotes }); - }); + const prevNode = declaration.prev(); - // eslint-disable-next-line consistent-return - return { parsed, urls }; -} + if (prevNode && prevNode.type === "comment") { + const matched = prevNode.text.match(WEBPACK_IGNORE_COMMENT_REGEXP); + + if (matched) { + isIgnoreOnDeclaration = matched[2] === "true"; + } + } -function walkDecls(css, result, filter) { - const items = []; + let needIgnore; - css.walkDecls((decl) => { - const item = getUrlsFromValue(decl.value, result, filter, decl); + const parsedURLs = []; - if (!item || item.urls.length === 0) { + parsed.walk((valueNode, index, valueNodes) => { + if (valueNode.type !== "function") { return; } - items.push({ decl, parsed: item.parsed, urls: item.urls }); - }); + if (isUrlFunc.test(valueNode.value)) { + needIgnore = getWebpackIgnoreCommentValue(index, valueNodes, inBetween); - return items; -} + if ( + (isIgnoreOnDeclaration && typeof needIgnore === "undefined") || + needIgnore + ) { + if (needIgnore) { + // eslint-disable-next-line no-undefined + needIgnore = undefined; + } -function flatten(array) { - return array.reduce((a, b) => a.concat(b), []); -} + return; + } -function collectUniqueUrlsWithNodes(array) { - return array.reduce((accumulator, currentValue) => { - const { url, needQuotes, hash, node } = currentValue; - const found = accumulator.find( - (item) => - url === item.url && needQuotes === item.needQuotes && hash === item.hash - ); - - if (!found) { - accumulator.push({ url, hash, needQuotes, nodes: [node] }); - } else { - found.nodes.push(node); - } + const { nodes } = valueNode; + const isStringValue = nodes.length !== 0 && nodes[0].type === "string"; + let url = isStringValue ? nodes[0].value : valueParser.stringify(nodes); - return accumulator; - }, []); -} + url = normalizeUrl(url, isStringValue); -export default postcss.plugin( - pluginName, - (options) => - function process(css, result) { - const traversed = walkDecls(css, result, options.filter); - const paths = collectUniqueUrlsWithNodes( - flatten(traversed.map((item) => item.urls)) + const { requestable, needResolve } = shouldHandleURL( + url, + declaration, + result, + options, ); - const replacers = new Map(); - - paths.forEach((path, index) => { - const { url, hash, needQuotes, nodes } = path; - const name = `___CSS_LOADER_URL_IMPORT_${index}___`; - - result.messages.push( - { - pluginName, - type: 'import', - value: { type: 'url', name, url, needQuotes, hash, index }, - }, - { - pluginName, - type: 'replacer', - value: { type: 'url', name }, - } - ); - nodes.forEach((node) => { - replacers.set(node, name); - }); + // Do not traverse inside `url` + if (!requestable) { + // eslint-disable-next-line consistent-return + return false; + } + + const queryParts = url.split("!"); + + let prefix; + + if (queryParts.length > 1) { + url = queryParts.pop(); + prefix = queryParts.join("!"); + } + + parsedURLs.push({ + declaration, + parsed, + node: getNodeFromUrlFunc(valueNode), + prefix, + url, + needQuotes: false, + needResolve, }); - traversed.forEach((item) => { - walkUrls(item.parsed, (node) => { - const name = replacers.get(node); + // eslint-disable-next-line consistent-return + return false; + } else if (isImageSetFunc.test(valueNode.value)) { + for (const [innerIndex, nNode] of valueNode.nodes.entries()) { + const { type, value } = nNode; + + if (type === "function" && isUrlFunc.test(value)) { + needIgnore = getWebpackIgnoreCommentValue( + innerIndex, + valueNode.nodes, + ); + + if ( + (isIgnoreOnDeclaration && typeof needIgnore === "undefined") || + needIgnore + ) { + if (needIgnore) { + // eslint-disable-next-line no-undefined + needIgnore = undefined; + } + + // eslint-disable-next-line no-continue + continue; + } - if (!name) { - return; + const { nodes } = nNode; + const isStringValue = + nodes.length !== 0 && nodes[0].type === "string"; + let url = isStringValue + ? nodes[0].value + : valueParser.stringify(nodes); + + url = normalizeUrl(url, isStringValue); + + const { requestable, needResolve } = shouldHandleURL( + url, + declaration, + result, + options, + ); + + // Do not traverse inside `url` + if (!requestable) { + // eslint-disable-next-line consistent-return + return false; } - // eslint-disable-next-line no-param-reassign - node.type = 'word'; - // eslint-disable-next-line no-param-reassign - node.value = name; - }); + const queryParts = url.split("!"); - // eslint-disable-next-line no-param-reassign - item.decl.value = item.parsed.toString(); - }); + let prefix; + + if (queryParts.length > 1) { + url = queryParts.pop(); + prefix = queryParts.join("!"); + } + + parsedURLs.push({ + declaration, + parsed, + node: getNodeFromUrlFunc(nNode), + prefix, + url, + needQuotes: false, + needResolve, + }); + } else if (type === "string") { + needIgnore = getWebpackIgnoreCommentValue( + innerIndex, + valueNode.nodes, + ); + + if ( + (isIgnoreOnDeclaration && typeof needIgnore === "undefined") || + needIgnore + ) { + if (needIgnore) { + // eslint-disable-next-line no-undefined + needIgnore = undefined; + } + + // eslint-disable-next-line no-continue + continue; + } + + let url = normalizeUrl(value, true); + + const { requestable, needResolve } = shouldHandleURL( + url, + declaration, + result, + options, + ); + + // Do not traverse inside `url` + if (!requestable) { + // eslint-disable-next-line consistent-return + return false; + } + + const queryParts = url.split("!"); + + let prefix; + + if (queryParts.length > 1) { + url = queryParts.pop(); + prefix = queryParts.join("!"); + } + + parsedURLs.push({ + declaration, + parsed, + node: nNode, + prefix, + url, + needQuotes: true, + needResolve, + }); + } + } + + // Do not traverse inside `image-set` + // eslint-disable-next-line consistent-return + return false; } -); + }); + + // eslint-disable-next-line consistent-return + return parsedURLs; +} + +const plugin = (options = {}) => { + return { + postcssPlugin: "postcss-url-parser", + prepare(result) { + const parsedDeclarations = []; + + return { + Declaration(declaration) { + const { isSupportDataURL, isSupportAbsoluteURL } = options; + const parsedURL = parseDeclaration(declaration, "value", result, { + isSupportDataURL, + isSupportAbsoluteURL, + }); + + if (!parsedURL) { + return; + } + + parsedDeclarations.push(...parsedURL); + }, + async OnceExit() { + if (parsedDeclarations.length === 0) { + return; + } + + const resolvedDeclarations = await Promise.all( + parsedDeclarations.map(async (parsedDeclaration) => { + const { url, needResolve } = parsedDeclaration; + + if (options.filter) { + const needKeep = await options.filter(url); + + if (!needKeep) { + // eslint-disable-next-line consistent-return + return; + } + } + + if (!needResolve) { + // eslint-disable-next-line consistent-return + return parsedDeclaration; + } + + const splittedUrl = url.split(/(\?)?#/); + const [pathname, query, hashOrQuery] = splittedUrl; + + let hash = query ? "?" : ""; + hash += hashOrQuery ? `#${hashOrQuery}` : ""; + + const { resolver, rootContext } = options; + const request = requestify( + pathname, + rootContext, + Boolean(resolver), + ); + + if (!resolver) { + // eslint-disable-next-line consistent-return + return { ...parsedDeclaration, url: request, hash }; + } + + const resolvedURL = await resolveRequests( + resolver, + options.context, + [...new Set([request, url])], + ); + + if (!resolvedURL) { + // eslint-disable-next-line consistent-return + return; + } + + // eslint-disable-next-line consistent-return + return { ...parsedDeclaration, url: resolvedURL, hash }; + }), + ); + + const urlToNameMap = new Map(); + const urlToReplacementMap = new Map(); + + let hasUrlImportHelper = false; + + for ( + let index = 0; + index <= resolvedDeclarations.length - 1; + index++ + ) { + const item = resolvedDeclarations[index]; + + if (!item) { + // eslint-disable-next-line no-continue + continue; + } + + if (!hasUrlImportHelper) { + options.imports.push({ + type: "get_url_import", + importName: "___CSS_LOADER_GET_URL_IMPORT___", + url: options.urlHandler( + require.resolve("../runtime/getUrl.js"), + ), + index: -1, + }); + + hasUrlImportHelper = true; + } + + const { url, prefix } = item; + const newUrl = prefix ? `${prefix}!${url}` : url; + let importName = urlToNameMap.get(newUrl); + + if (!importName) { + importName = `___CSS_LOADER_URL_IMPORT_${urlToNameMap.size}___`; + urlToNameMap.set(newUrl, importName); + + options.imports.push({ + type: "url", + importName, + url: options.resolver + ? options.urlHandler(newUrl) + : JSON.stringify(newUrl), + index, + }); + } + + const { hash, needQuotes } = item; + const replacementKey = JSON.stringify({ newUrl, hash, needQuotes }); + let replacementName = urlToReplacementMap.get(replacementKey); + + if (!replacementName) { + replacementName = `___CSS_LOADER_URL_REPLACEMENT_${urlToReplacementMap.size}___`; + urlToReplacementMap.set(replacementKey, replacementName); + + options.replacements.push({ + replacementName, + importName, + hash, + needQuotes, + }); + } + + // eslint-disable-next-line no-param-reassign + item.node.type = "word"; + // eslint-disable-next-line no-param-reassign + item.node.value = replacementName; + // eslint-disable-next-line no-param-reassign + item.declaration.value = item.parsed.toString(); + } + }, + }; + }, + }; +}; + +plugin.postcss = true; + +export default plugin; diff --git a/src/runtime/api.js b/src/runtime/api.js index 117f5263..21d4def7 100644 --- a/src/runtime/api.js +++ b/src/runtime/api.js @@ -2,94 +2,103 @@ MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ -// css base code, injected by the css-loader -// eslint-disable-next-line func-names -module.exports = function(useSourceMap) { +module.exports = (cssWithMappingToString) => { const list = []; // return the list of modules as css string list.toString = function toString() { return this.map((item) => { - const content = cssWithMappingToString(item, useSourceMap); + let content = ""; + + const needLayer = typeof item[5] !== "undefined"; + + if (item[4]) { + content += `@supports (${item[4]}) {`; + } + + if (item[2]) { + content += `@media ${item[2]} {`; + } + + if (needLayer) { + content += `@layer${item[5].length > 0 ? ` ${item[5]}` : ""} {`; + } + + content += cssWithMappingToString(item); + + if (needLayer) { + content += "}"; + } if (item[2]) { - return `@media ${item[2]}{${content}}`; + content += "}"; + } + + if (item[4]) { + content += "}"; } return content; - }).join(''); + }).join(""); }; // import a list of modules into the list - // eslint-disable-next-line func-names - list.i = function(modules, mediaQuery) { - if (typeof modules === 'string') { - // eslint-disable-next-line no-param-reassign - modules = [[null, modules, '']]; + list.i = function i(modules, media, dedupe, supports, layer) { + if (typeof modules === "string") { + modules = [[null, modules, undefined]]; } const alreadyImportedModules = {}; - for (let i = 0; i < this.length; i++) { - // eslint-disable-next-line prefer-destructuring - const id = this[i][0]; + if (dedupe) { + for (let k = 0; k < this.length; k++) { + const id = this[k][0]; - if (id != null) { - alreadyImportedModules[id] = true; + if (id != null) { + alreadyImportedModules[id] = true; + } } } - for (let i = 0; i < modules.length; i++) { - const item = modules[i]; - - // skip already imported module - // this implementation is not 100% perfect for weird media query combinations - // when a module is imported multiple times with different media queries. - // I hope this will never occur (Hey this way we have smaller bundles) - if (item[0] == null || !alreadyImportedModules[item[0]]) { - if (mediaQuery && !item[2]) { - item[2] = mediaQuery; - } else if (mediaQuery) { - item[2] = `(${item[2]}) and (${mediaQuery})`; + for (let k = 0; k < modules.length; k++) { + const item = [].concat(modules[k]); + + if (dedupe && alreadyImportedModules[item[0]]) { + continue; + } + + if (typeof layer !== "undefined") { + if (typeof item[5] === "undefined") { + item[5] = layer; + } else { + item[1] = `@layer${item[5].length > 0 ? ` ${item[5]}` : ""} {${ + item[1] + }}`; + item[5] = layer; + } + } + + if (media) { + if (!item[2]) { + item[2] = media; + } else { + item[1] = `@media ${item[2]} {${item[1]}}`; + item[2] = media; } + } - list.push(item); + if (supports) { + if (!item[4]) { + item[4] = `${supports}`; + } else { + item[1] = `@supports (${item[4]}) {${item[1]}}`; + item[4] = supports; + } } + + list.push(item); } }; return list; }; - -function cssWithMappingToString(item, useSourceMap) { - const content = item[1] || ''; - // eslint-disable-next-line prefer-destructuring - const cssMapping = item[3]; - - if (!cssMapping) { - return content; - } - - if (useSourceMap && typeof btoa === 'function') { - const sourceMapping = toComment(cssMapping); - const sourceURLs = cssMapping.sources.map( - (source) => `/*# sourceURL=${cssMapping.sourceRoot}${source} */` - ); - - return [content] - .concat(sourceURLs) - .concat([sourceMapping]) - .join('\n'); - } - - return [content].join('\n'); -} - -// Adapted from convert-source-map (MIT) -function toComment(sourceMap) { - // eslint-disable-next-line no-undef - const base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); - const data = `sourceMappingURL=data:application/json;charset=utf-8;base64,${base64}`; - - return `/*# ${data} */`; -} diff --git a/src/runtime/getUrl.js b/src/runtime/getUrl.js index c2e3d506..6c70a337 100644 --- a/src/runtime/getUrl.js +++ b/src/runtime/getUrl.js @@ -1,31 +1,27 @@ module.exports = (url, options) => { if (!options) { - // eslint-disable-next-line no-param-reassign options = {}; } - // eslint-disable-next-line no-underscore-dangle, no-param-reassign - url = url.__esModule ? url.default : url; - - if (typeof url !== 'string') { + if (!url) { return url; } + url = String(url.__esModule ? url.default : url); + // If url is already wrapped in quotes, remove them if (/^['"].*['"]$/.test(url)) { - // eslint-disable-next-line no-param-reassign url = url.slice(1, -1); } if (options.hash) { - // eslint-disable-next-line no-param-reassign url += options.hash; } // Should url be wrapped? // See https://drafts.csswg.org/css-values-3/#urls - if (/["'() \t\n]/.test(url) || options.needQuotes) { - return `"${url.replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`; + if (/["'() \t\n]|(%20)/.test(url) || options.needQuotes) { + return `"${url.replace(/"/g, '\\"').replace(/\n/g, "\\n")}"`; } return url; diff --git a/src/runtime/noSourceMaps.js b/src/runtime/noSourceMaps.js new file mode 100644 index 00000000..f0892949 --- /dev/null +++ b/src/runtime/noSourceMaps.js @@ -0,0 +1 @@ +module.exports = (i) => i[1]; diff --git a/src/runtime/sourceMaps.js b/src/runtime/sourceMaps.js new file mode 100644 index 00000000..db27c48c --- /dev/null +++ b/src/runtime/sourceMaps.js @@ -0,0 +1,20 @@ +module.exports = (item) => { + const content = item[1]; + const cssMapping = item[3]; + + if (!cssMapping) { + return content; + } + + if (typeof btoa === "function") { + const base64 = btoa( + unescape(encodeURIComponent(JSON.stringify(cssMapping))), + ); + const data = `sourceMappingURL=data:application/json;charset=utf-8;base64,${base64}`; + const sourceMapping = `/*# ${data} */`; + + return [content].concat([sourceMapping]).join("\n"); + } + + return [content].join("\n"); +}; diff --git a/src/utils.js b/src/utils.js index f993d3da..86866702 100644 --- a/src/utils.js +++ b/src/utils.js @@ -2,377 +2,1500 @@ MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ -import path from 'path'; +import { fileURLToPath } from "url"; +import path from "path"; + +import modulesValues from "postcss-modules-values"; +import localByDefault from "postcss-modules-local-by-default"; +import extractImports from "postcss-modules-extract-imports"; +import modulesScope from "postcss-modules-scope"; + +const WEBPACK_IGNORE_COMMENT_REGEXP = /webpackIgnore:(\s+)?(true|false)/; + +function stringifyRequest(loaderContext, request) { + return JSON.stringify( + loaderContext.utils.contextify( + loaderContext.context || loaderContext.rootContext, + request, + ), + ); +} -import loaderUtils, { - isUrlRequest, - stringifyRequest, - urlToRequest, -} from 'loader-utils'; -import normalizePath from 'normalize-path'; -import cssesc from 'cssesc'; -import modulesValues from 'postcss-modules-values'; -import localByDefault from 'postcss-modules-local-by-default'; -import extractImports from 'postcss-modules-extract-imports'; -import modulesScope from 'postcss-modules-scope'; -import camelCase from 'camelcase'; - -function getImportPrefix(loaderContext, importLoaders) { - if (importLoaders === false) { - return ''; - } - - const numberImportedLoaders = parseInt(importLoaders, 10) || 0; - const loadersRequest = loaderContext.loaders - .slice( - loaderContext.loaderIndex, - loaderContext.loaderIndex + 1 + numberImportedLoaders - ) - .map((x) => x.request) - .join('!'); - - return `-!${loadersRequest}!`; -} - -const whitespace = '[\\x20\\t\\r\\n\\f]'; -const unescapeRegExp = new RegExp( - `\\\\([\\da-f]{1,6}${whitespace}?|(${whitespace})|.)`, - 'ig' -); +// We can't use path.win32.isAbsolute because it also matches paths starting with a forward slash +const IS_NATIVE_WIN32_PATH = /^[a-z]:[/\\]|^\\\\/i; +const IS_MODULE_REQUEST = /^[^?]*~/; + +function urlToRequest(url, root) { + let request; + + if (IS_NATIVE_WIN32_PATH.test(url)) { + // absolute windows path, keep it + request = url; + } else if (typeof root !== "undefined" && /^\//.test(url)) { + request = root + url; + } else if (/^\.\.?\//.test(url)) { + // A relative url stays + request = url; + } else { + // every other url is threaded like a relative url + request = `./${url}`; + } -function unescape(str) { - return str.replace(unescapeRegExp, (_, escaped, escapedWhitespace) => { - const high = `0x${escaped}` - 0x10000; - - /* eslint-disable line-comment-position */ - // NaN means non-codepoint - // Workaround erroneous numeric interpretation of +"0x" - // eslint-disable-next-line no-self-compare - return high !== high || escapedWhitespace - ? escaped - : high < 0 - ? // BMP codepoint - String.fromCharCode(high + 0x10000) - : // Supplemental Plane codepoint (surrogate pair) - // eslint-disable-next-line no-bitwise - String.fromCharCode((high >> 10) | 0xd800, (high & 0x3ff) | 0xdc00); - /* eslint-enable line-comment-position */ + // A `~` makes the url an module + if (IS_MODULE_REQUEST.test(request)) { + request = request.replace(IS_MODULE_REQUEST, ""); + } + + return request; +} + +// eslint-disable-next-line no-useless-escape +const regexSingleEscape = /[ -,.\/:-@[\]\^`{-~]/; +const regexExcessiveSpaces = + /(^|\\+)?(\\[A-F0-9]{1,6})\x20(?![a-fA-F0-9\x20])/g; + +const preserveCamelCase = (string) => { + let result = string; + let isLastCharLower = false; + let isLastCharUpper = false; + let isLastLastCharUpper = false; + + for (let i = 0; i < result.length; i++) { + const character = result[i]; + + if (isLastCharLower && /[\p{Lu}]/u.test(character)) { + result = `${result.slice(0, i)}-${result.slice(i)}`; + isLastCharLower = false; + isLastLastCharUpper = isLastCharUpper; + isLastCharUpper = true; + i += 1; + } else if ( + isLastCharUpper && + isLastLastCharUpper && + /[\p{Ll}]/u.test(character) + ) { + result = `${result.slice(0, i - 1)}-${result.slice(i - 1)}`; + isLastLastCharUpper = isLastCharUpper; + isLastCharUpper = false; + isLastCharLower = true; + } else { + isLastCharLower = + character.toLowerCase() === character && + character.toUpperCase() !== character; + isLastLastCharUpper = isLastCharUpper; + isLastCharUpper = + character.toUpperCase() === character && + character.toLowerCase() !== character; + } + } + + return result; +}; + +function camelCase(input) { + let result = input.trim(); + + if (result.length === 0) { + return ""; + } + + if (result.length === 1) { + return result.toLowerCase(); + } + + const hasUpperCase = result !== result.toLowerCase(); + + if (hasUpperCase) { + result = preserveCamelCase(result); + } + + return result + .replace(/^[_.\- ]+/, "") + .toLowerCase() + .replace(/[_.\- ]+([\p{Alpha}\p{N}_]|$)/gu, (_, p1) => p1.toUpperCase()) + .replace(/\d+([\p{Alpha}\p{N}_]|$)/gu, (m) => m.toUpperCase()); +} + +function escape(string) { + let output = ""; + let counter = 0; + + while (counter < string.length) { + // eslint-disable-next-line no-plusplus + const character = string.charAt(counter++); + + let value; + + // eslint-disable-next-line no-control-regex + if (/[\t\n\f\r\x0B]/.test(character)) { + const codePoint = character.charCodeAt(); + + value = `\\${codePoint.toString(16).toUpperCase()} `; + } else if (character === "\\" || regexSingleEscape.test(character)) { + value = `\\${character}`; + } else { + value = character; + } + + output += value; + } + + const firstChar = string.charAt(0); + + if (/^-[-\d]/.test(output)) { + output = `\\-${output.slice(1)}`; + } else if (/\d/.test(firstChar)) { + output = `\\3${firstChar} ${output.slice(1)}`; + } + + // Remove spaces after `\HEX` escapes that are not followed by a hex digit, + // since they’re redundant. Note that this is only possible if the escape + // sequence isn’t preceded by an odd number of backslashes. + output = output.replace(regexExcessiveSpaces, ($0, $1, $2) => { + if ($1 && $1.length % 2) { + // It’s not safe to remove the space, so don’t. + return $0; + } + + // Strip the space. + return ($1 || "") + $2; }); + + return output; +} + +function gobbleHex(str) { + const lower = str.toLowerCase(); + let hex = ""; + let spaceTerminated = false; + + // eslint-disable-next-line no-undefined + for (let i = 0; i < 6 && lower[i] !== undefined; i++) { + const code = lower.charCodeAt(i); + // check to see if we are dealing with a valid hex char [a-f|0-9] + const valid = (code >= 97 && code <= 102) || (code >= 48 && code <= 57); + // https://drafts.csswg.org/css-syntax/#consume-escaped-code-point + spaceTerminated = code === 32; + + if (!valid) { + break; + } + + hex += lower[i]; + } + + if (hex.length === 0) { + // eslint-disable-next-line no-undefined + return undefined; + } + + const codePoint = parseInt(hex, 16); + + const isSurrogate = codePoint >= 0xd800 && codePoint <= 0xdfff; + // Add special case for + // "If this number is zero, or is for a surrogate, or is greater than the maximum allowed code point" + // https://drafts.csswg.org/css-syntax/#maximum-allowed-code-point + if (isSurrogate || codePoint === 0x0000 || codePoint > 0x10ffff) { + return ["\uFFFD", hex.length + (spaceTerminated ? 1 : 0)]; + } + + return [ + String.fromCodePoint(codePoint), + hex.length + (spaceTerminated ? 1 : 0), + ]; +} + +const CONTAINS_ESCAPE = /\\/; + +function unescape(str) { + const needToProcess = CONTAINS_ESCAPE.test(str); + + if (!needToProcess) { + return str; + } + + let ret = ""; + + for (let i = 0; i < str.length; i++) { + if (str[i] === "\\") { + const gobbled = gobbleHex(str.slice(i + 1, i + 7)); + + // eslint-disable-next-line no-undefined + if (gobbled !== undefined) { + ret += gobbled[0]; + i += gobbled[1]; + + // eslint-disable-next-line no-continue + continue; + } + + // Retain a pair of \\ if double escaped `\\\\` + // https://github.com/postcss/postcss-selector-parser/commit/268c9a7656fb53f543dc620aa5b73a30ec3ff20e + if (str[i + 1] === "\\") { + ret += "\\"; + i += 1; + + // eslint-disable-next-line no-continue + continue; + } + + // if \\ is at the end of the string retain it + // https://github.com/postcss/postcss-selector-parser/commit/01a6b346e3612ce1ab20219acc26abdc259ccefb + if (str.length === i + 1) { + ret += str[i]; + } + + // eslint-disable-next-line no-continue + continue; + } + + ret += str[i]; + } + + return ret; +} + +function normalizePath(file) { + return path.sep === "\\" ? file.replace(/\\/g, "/") : file; } // eslint-disable-next-line no-control-regex -const filenameReservedRegex = /[<>:"/\\|?*\x00-\x1F]/g; +const filenameReservedRegex = /[<>:"/\\|?*]/g; // eslint-disable-next-line no-control-regex const reControlChars = /[\u0000-\u001f\u0080-\u009f]/g; -const reRelativePath = /^\.+/; -function getLocalIdent(loaderContext, localIdentName, localName, options) { - if (!options.context) { - // eslint-disable-next-line no-param-reassign - options.context = loaderContext.rootContext; - } +function escapeLocalIdent(localident) { + // TODO simplify? + return escape( + localident + // For `[hash]` placeholder + .replace(/^((-?[0-9])|--)/, "_$1") + .replace(filenameReservedRegex, "-") + .replace(reControlChars, "-") + .replace(/\./g, "-"), + ); +} - const request = normalizePath( - path.relative(options.context || '', loaderContext.resourcePath) +function defaultGetLocalIdent( + loaderContext, + localIdentName, + localName, + options, +) { + const { context, hashSalt, hashStrategy } = options; + const { resourcePath } = loaderContext; + let relativeResourcePath = normalizePath( + path.relative(context, resourcePath), ); + // eslint-disable-next-line no-underscore-dangle + if (loaderContext._module && loaderContext._module.matchResource) { + relativeResourcePath = `${normalizePath( + // eslint-disable-next-line no-underscore-dangle + path.relative(context, loaderContext._module.matchResource), + )}`; + } + // eslint-disable-next-line no-param-reassign - options.content = `${options.hashPrefix + request}+${unescape(localName)}`; + options.content = + hashStrategy === "minimal-subset" && /\[local\]/.test(localIdentName) + ? relativeResourcePath + : `${relativeResourcePath}\x00${localName}`; + + let { hashFunction, hashDigest, hashDigestLength } = options; + const matches = localIdentName.match( + /\[(?:([^:\]]+):)?(?:(hash|contenthash|fullhash))(?::([a-z]+\d*))?(?::(\d+))?\]/i, + ); - // Using `[path]` placeholder outputs `/` we need escape their - // Also directories can contains invalid characters for css we need escape their too - return cssesc( - loaderUtils - .interpolateName(loaderContext, localIdentName, options) - // For `[hash]` placeholder - .replace(/^((-?[0-9])|--)/, '_$1') - .replace(filenameReservedRegex, '-') - .replace(reControlChars, '-') - .replace(reRelativePath, '-') - .replace(/\./g, '-'), - { isIdentifier: true } - ).replace(/\\\[local\\\]/gi, localName); -} - -function getFilter(filter, resourcePath, defaultFilter = null) { - return (item) => { - if (defaultFilter && !defaultFilter(item)) { - return false; + if (matches) { + const hashName = matches[2] || hashFunction; + + hashFunction = matches[1] || hashFunction; + hashDigest = matches[3] || hashDigest; + hashDigestLength = matches[4] || hashDigestLength; + + // `hash` and `contenthash` are same in `loader-utils` context + // let's keep `hash` for backward compatibility + + // eslint-disable-next-line no-param-reassign + localIdentName = localIdentName.replace( + /\[(?:([^:\]]+):)?(?:hash|contenthash|fullhash)(?::([a-z]+\d*))?(?::(\d+))?\]/gi, + () => (hashName === "fullhash" ? "[fullhash]" : "[contenthash]"), + ); + } + + let localIdentHash = ""; + + for (let tier = 0; localIdentHash.length < hashDigestLength; tier++) { + const hash = ( + loaderContext.utils.createHash || + // TODO remove in the next major release + // eslint-disable-next-line no-underscore-dangle + loaderContext._compiler.webpack.util.createHash + )(hashFunction); + + if (hashSalt) { + hash.update(hashSalt); + } + + const tierSalt = Buffer.allocUnsafe(4); + + tierSalt.writeUInt32LE(tier); + + hash.update(tierSalt); + // TODO: bug in webpack with unicode characters with strings + hash.update(Buffer.from(options.content, "utf8")); + + localIdentHash = (localIdentHash + hash.digest(hashDigest)) + // Remove all leading digits + .replace(/^\d+/, "") + // Replace all slashes with underscores (same as in base64url) + .replace(/\//g, "_") + // Remove everything that is not an alphanumeric or underscore + .replace(/[^A-Za-z0-9_]+/g, "") + .slice(0, hashDigestLength); + } + + // TODO need improve on webpack side, we should allow to pass hash/contentHash without chunk property, also `data` for `getPath` should be looks good without chunk property + const ext = path.extname(resourcePath); + const base = path.basename(resourcePath); + const name = base.slice(0, base.length - ext.length); + const data = { + filename: path.relative(context, resourcePath), + contentHash: localIdentHash, + chunk: { + name, + hash: localIdentHash, + contentHash: localIdentHash, + }, + }; + + // eslint-disable-next-line no-underscore-dangle + let result = loaderContext._compilation.getPath(localIdentName, data); + + if (/\[folder\]/gi.test(result)) { + const dirname = path.dirname(resourcePath); + let directory = normalizePath( + path.relative(context, `${dirname + path.sep}_`), + ); + + directory = directory.substring(0, directory.length - 1); + + let folder = ""; + + if (directory.length > 1) { + folder = path.basename(directory); } - if (typeof filter === 'function') { - return filter(item, resourcePath); + result = result.replace(/\[folder\]/gi, () => folder); + } + + if (options.regExp) { + const match = resourcePath.match(options.regExp); + + if (match) { + match.forEach((matched, i) => { + result = result.replace(new RegExp(`\\[${i}\\]`, "ig"), matched); + }); } + } + + return result; +} +function fixedEncodeURIComponent(str) { + return str.replace(/[!'()*]/g, (c) => `%${c.charCodeAt(0).toString(16)}`); +} + +function isDataUrl(url) { + if (/^data:/i.test(url)) { return true; - }; + } + + return false; } -function getModulesPlugins(options, loaderContext) { - let modulesOptions = { - mode: 'local', - localIdentName: '[hash:base64]', - getLocalIdent, - hashPrefix: '', - localIdentRegExp: null, +const NATIVE_WIN32_PATH = /^[A-Z]:[/\\]|^\\\\/i; + +function normalizeUrl(url, isStringValue) { + let normalizedUrl = url + .replace(/^( |\t\n|\r\n|\r|\f)*/g, "") + .replace(/( |\t\n|\r\n|\r|\f)*$/g, ""); + + if (isStringValue && /\\(\n|\r\n|\r|\f)/.test(normalizedUrl)) { + normalizedUrl = normalizedUrl.replace(/\\(\n|\r\n|\r|\f)/g, ""); + } + + if (NATIVE_WIN32_PATH.test(url)) { + try { + normalizedUrl = decodeURI(normalizedUrl); + } catch (error) { + // Ignore + } + + return normalizedUrl; + } + + normalizedUrl = unescape(normalizedUrl); + + if (isDataUrl(url)) { + // Todo fixedEncodeURIComponent is workaround. Webpack resolver shouldn't handle "!" in dataURL + return fixedEncodeURIComponent(normalizedUrl); + } + + try { + normalizedUrl = decodeURI(normalizedUrl); + } catch (error) { + // Ignore + } + + return normalizedUrl; +} + +function requestify(url, rootContext, needToResolveURL = true) { + if (needToResolveURL) { + if (/^file:/i.test(url)) { + return fileURLToPath(url); + } + + return url.charAt(0) === "/" + ? urlToRequest(url, rootContext) + : urlToRequest(url); + } + + if (url.charAt(0) === "/" || /^file:/i.test(url)) { + return url; + } + + // A `~` makes the url an module + if (IS_MODULE_REQUEST.test(url)) { + return url.replace(IS_MODULE_REQUEST, ""); + } + + return url; +} + +function getFilter(filter, resourcePath) { + return (...args) => { + if (typeof filter === "function") { + return filter(...args, resourcePath); + } + + return true; }; +} - if ( - typeof options.modules === 'boolean' || - typeof options.modules === 'string' - ) { - modulesOptions.mode = - typeof options.modules === 'string' ? options.modules : 'local'; +function getValidLocalName(localName, exportLocalsConvention) { + const result = exportLocalsConvention(localName); + + return Array.isArray(result) ? result[0] : result; +} + +const IS_MODULES = /\.module(s)?\.\w+$/i; +const IS_ICSS = /\.icss\.\w+$/i; + +function getModulesOptions(rawOptions, esModule, exportType, loaderContext) { + if (typeof rawOptions.modules === "boolean" && rawOptions.modules === false) { + return false; + } + + const resourcePath = + // eslint-disable-next-line no-underscore-dangle + (loaderContext._module && loaderContext._module.matchResource) || + loaderContext.resourcePath; + + let auto; + let rawModulesOptions; + + if (typeof rawOptions.modules === "undefined") { + rawModulesOptions = {}; + auto = true; + } else if (typeof rawOptions.modules === "boolean") { + rawModulesOptions = {}; + } else if (typeof rawOptions.modules === "string") { + rawModulesOptions = { mode: rawOptions.modules }; } else { - modulesOptions = Object.assign({}, modulesOptions, options.modules); + rawModulesOptions = rawOptions.modules; + ({ auto } = rawModulesOptions); } - return [ - modulesValues, - localByDefault({ mode: modulesOptions.mode }), - extractImports(), - modulesScope({ - generateScopedName: function generateScopedName(exportName) { - let localIdent = modulesOptions.getLocalIdent( - loaderContext, - modulesOptions.localIdentName, - exportName, - { - context: modulesOptions.context, - hashPrefix: modulesOptions.hashPrefix, - regExp: modulesOptions.localIdentRegExp, - } - ); + const needNamedExport = + exportType === "css-style-sheet" || exportType === "string"; + const namedExport = + typeof rawModulesOptions.namedExport !== "undefined" + ? rawModulesOptions.namedExport + : needNamedExport || esModule; + const exportLocalsConvention = + typeof rawModulesOptions.exportLocalsConvention !== "undefined" + ? rawModulesOptions.exportLocalsConvention + : namedExport + ? "as-is" + : "camel-case-only"; + const modulesOptions = { + auto, + mode: "local", + exportGlobals: false, + localIdentName: "[hash:base64]", + localIdentContext: loaderContext.rootContext, + // eslint-disable-next-line no-underscore-dangle + localIdentHashSalt: + loaderContext.hashSalt || + // TODO remove in the next major release + // eslint-disable-next-line no-underscore-dangle + loaderContext._compilation.outputOptions.hashSalt, + localIdentHashFunction: + loaderContext.hashFunction || + // TODO remove in the next major release + // eslint-disable-next-line no-underscore-dangle + loaderContext._compilation.outputOptions.hashFunction, + localIdentHashDigest: + loaderContext.hashDigest || + // TODO remove in the next major release + // eslint-disable-next-line no-underscore-dangle + loaderContext._compilation.outputOptions.hashDigest, + localIdentHashDigestLength: + loaderContext.hashDigestLength || + // TODO remove in the next major release + // eslint-disable-next-line no-underscore-dangle + loaderContext._compilation.outputOptions.hashDigestLength, + // eslint-disable-next-line no-undefined + localIdentRegExp: undefined, + // eslint-disable-next-line no-undefined + getLocalIdent: undefined, + // TODO improve me and enable by default + exportOnlyLocals: false, + ...rawModulesOptions, + exportLocalsConvention, + namedExport, + }; - if (!localIdent) { - localIdent = getLocalIdent( - loaderContext, - modulesOptions.localIdentName, - exportName, - { - context: modulesOptions.context, - hashPrefix: modulesOptions.hashPrefix, - regExp: modulesOptions.localIdentRegExp, - } - ); + if (typeof modulesOptions.exportLocalsConvention === "string") { + // eslint-disable-next-line no-shadow + const { exportLocalsConvention } = modulesOptions; + + modulesOptions.exportLocalsConvention = (name) => { + switch (exportLocalsConvention) { + case "camel-case": + case "camelCase": { + return [name, camelCase(name)]; + } + case "camel-case-only": + case "camelCaseOnly": { + return camelCase(name); + } + case "dashes": { + return [name, dashesCamelCase(name)]; + } + case "dashes-only": + case "dashesOnly": { + return dashesCamelCase(name); } + case "as-is": + case "asIs": + default: + return name; + } + }; + } - return localIdent; - }, - }), - ]; + if (typeof modulesOptions.auto === "boolean") { + const isModules = modulesOptions.auto && IS_MODULES.test(resourcePath); + + let isIcss; + + if (!isModules) { + isIcss = IS_ICSS.test(resourcePath); + + if (isIcss) { + modulesOptions.mode = "icss"; + } + } + + if (!isModules && !isIcss) { + return false; + } + } else if (modulesOptions.auto instanceof RegExp) { + const isModules = modulesOptions.auto.test(resourcePath); + + if (!isModules) { + return false; + } + } else if (typeof modulesOptions.auto === "function") { + const { resourceQuery, resourceFragment } = loaderContext; + const isModule = modulesOptions.auto( + resourcePath, + resourceQuery, + resourceFragment, + ); + + if (!isModule) { + return false; + } + } + + if (typeof modulesOptions.mode === "function") { + modulesOptions.mode = modulesOptions.mode( + loaderContext.resourcePath, + loaderContext.resourceQuery, + loaderContext.resourceFragment, + ); + } + + if (needNamedExport) { + if (esModule === false) { + throw new Error( + "The 'exportType' option with the 'css-style-sheet' or 'string' value requires the 'esModule' option to be enabled", + ); + } + + if (modulesOptions.namedExport === false) { + throw new Error( + "The 'exportType' option with the 'css-style-sheet' or 'string' value requires the 'modules.namedExport' option to be enabled", + ); + } + } + + if (modulesOptions.namedExport === true && esModule === false) { + throw new Error( + "The 'modules.namedExport' option requires the 'esModule' option to be enabled", + ); + } + + return modulesOptions; +} + +function normalizeOptions(rawOptions, loaderContext) { + const exportType = + typeof rawOptions.exportType === "undefined" + ? "array" + : rawOptions.exportType; + const esModule = + typeof rawOptions.esModule === "undefined" ? true : rawOptions.esModule; + const modulesOptions = getModulesOptions( + rawOptions, + esModule, + exportType, + loaderContext, + ); + + return { + url: typeof rawOptions.url === "undefined" ? true : rawOptions.url, + import: typeof rawOptions.import === "undefined" ? true : rawOptions.import, + modules: modulesOptions, + sourceMap: + typeof rawOptions.sourceMap === "boolean" + ? rawOptions.sourceMap + : loaderContext.sourceMap, + importLoaders: + typeof rawOptions.importLoaders === "string" + ? parseInt(rawOptions.importLoaders, 10) + : rawOptions.importLoaders, + esModule, + exportType, + }; +} + +function shouldUseImportPlugin(options) { + if (options.modules.exportOnlyLocals) { + return false; + } + + if (typeof options.import === "boolean") { + return options.import; + } + + return true; +} + +function shouldUseURLPlugin(options) { + if (options.modules.exportOnlyLocals) { + return false; + } + + if (typeof options.url === "boolean") { + return options.url; + } + + return true; +} + +function shouldUseModulesPlugins(options) { + if (typeof options.modules === "boolean" && options.modules === false) { + return false; + } + + return options.modules.mode !== "icss"; +} + +function shouldUseIcssPlugin(options) { + return Boolean(options.modules); +} + +function getModulesPlugins(options, loaderContext) { + const { + mode, + getLocalIdent, + localIdentName, + localIdentContext, + localIdentHashSalt, + localIdentHashFunction, + localIdentHashDigest, + localIdentHashDigestLength, + localIdentRegExp, + hashStrategy, + } = options.modules; + + let plugins = []; + + try { + plugins = [ + modulesValues, + localByDefault({ mode }), + extractImports(), + modulesScope({ + generateScopedName(exportName, resourceFile, rawCss, node) { + let localIdent; + + if (typeof getLocalIdent !== "undefined") { + localIdent = getLocalIdent( + loaderContext, + localIdentName, + unescape(exportName), + { + context: localIdentContext, + hashSalt: localIdentHashSalt, + hashFunction: localIdentHashFunction, + hashDigest: localIdentHashDigest, + hashDigestLength: localIdentHashDigestLength, + hashStrategy, + regExp: localIdentRegExp, + node, + }, + ); + } + + // A null/undefined value signals that we should invoke the default + // getLocalIdent method. + if (typeof localIdent === "undefined" || localIdent === null) { + localIdent = defaultGetLocalIdent( + loaderContext, + localIdentName, + unescape(exportName), + { + context: localIdentContext, + hashSalt: localIdentHashSalt, + hashFunction: localIdentHashFunction, + hashDigest: localIdentHashDigest, + hashDigestLength: localIdentHashDigestLength, + hashStrategy, + regExp: localIdentRegExp, + node, + }, + ); + + return escapeLocalIdent(localIdent).replace( + /\\\[local\\]/gi, + exportName, + ); + } + + return escapeLocalIdent(localIdent); + }, + exportGlobals: options.modules.exportGlobals, + }), + ]; + } catch (error) { + loaderContext.emitError(error); + } + + return plugins; +} + +const ABSOLUTE_SCHEME = /^[a-z0-9+\-.]+:/i; + +function getURLType(source) { + if (source[0] === "/") { + if (source[1] === "/") { + return "scheme-relative"; + } + + return "path-absolute"; + } + + if (IS_NATIVE_WIN32_PATH.test(source)) { + return "path-absolute"; + } + + return ABSOLUTE_SCHEME.test(source) ? "absolute" : "path-relative"; } -function normalizeSourceMap(map) { +function normalizeSourceMap(map, resourcePath) { let newMap = map; // Some loader emit source map as string // Strip any JSON XSSI avoidance prefix from the string (as documented in the source maps specification), and then parse the string as JSON. - if (typeof newMap === 'string') { - newMap = JSON.parse(newMap.replace(/^\)]}'[^\n]*\n/, '')); + if (typeof newMap === "string") { + newMap = JSON.parse(newMap); } - // Source maps should use forward slash because it is URLs (https://github.com/mozilla/source-map/issues/91) - // We should normalize path because previous loaders like `sass-loader` using backslash when generate source map + delete newMap.file; - if (newMap.file) { - newMap.file = normalizePath(newMap.file); - } + const { sourceRoot } = newMap; - if (newMap.sourceRoot) { - newMap.sourceRoot = normalizePath(newMap.sourceRoot); - } + delete newMap.sourceRoot; if (newMap.sources) { - newMap.sources = newMap.sources.map((source) => normalizePath(source)); + // Source maps should use forward slash because it is URLs (https://github.com/mozilla/source-map/issues/91) + // We should normalize path because previous loaders like `sass-loader` using backslash when generate source map + newMap.sources = newMap.sources.map((source) => { + // Non-standard syntax from `postcss` + if (source.indexOf("<") === 0) { + return source; + } + + const sourceType = getURLType(source); + + // Do no touch `scheme-relative` and `absolute` URLs + if (sourceType === "path-relative" || sourceType === "path-absolute") { + const absoluteSource = + sourceType === "path-relative" && sourceRoot + ? path.resolve(sourceRoot, normalizePath(source)) + : normalizePath(source); + + return path.relative(path.dirname(resourcePath), absoluteSource); + } + + return source; + }); } return newMap; } -function getApiCode(loaderContext, sourceMap) { - const url = stringifyRequest(loaderContext, require.resolve('./runtime/api')); +function getPreRequester({ loaders, loaderIndex }) { + const cache = Object.create(null); + + return (number) => { + if (cache[number]) { + return cache[number]; + } + + if (number === false) { + cache[number] = ""; + } else { + const loadersRequest = loaders + .slice( + loaderIndex, + loaderIndex + 1 + (typeof number !== "number" ? 0 : number), + ) + .map((x) => x.request) + .join("!"); + + cache[number] = `-!${loadersRequest}!`; + } + + return cache[number]; + }; +} + +function getImportCode(imports, options) { + let code = ""; + + for (const item of imports) { + const { importName, url, icss, type } = item; + + if (options.esModule) { + if (icss && options.modules.namedExport) { + code += `import ${ + options.modules.exportOnlyLocals ? "" : `${importName}, ` + }* as ${importName}_NAMED___ from ${url};\n`; + } else { + code += + type === "url" + ? `var ${importName} = new URL(${url}, import.meta.url);\n` + : `import ${importName} from ${url};\n`; + } + } else { + code += `var ${importName} = require(${url});\n`; + } + } - return `exports = module.exports = require(${url})(${sourceMap});\n`; + return code ? `// Imports\n${code}` : ""; } -function getImportCode(loaderContext, imports, options) { - const importItems = []; - const codeItems = []; - const urlImportNames = new Map(); +function normalizeSourceMapForRuntime(map, loaderContext) { + const resultMap = map ? map.toJSON() : null; - let hasUrlHelperCode = false; - let importPrefix; + if (resultMap) { + delete resultMap.file; - imports.forEach((item) => { - if (item.type === '@import' || item.type === 'icss-import') { - const media = item.media ? `, ${JSON.stringify(item.media)}` : ''; + /* eslint-disable no-underscore-dangle */ + if ( + loaderContext._compilation && + loaderContext._compilation.options && + loaderContext._compilation.options.devtool && + loaderContext._compilation.options.devtool.includes("nosources") + ) { + /* eslint-enable no-underscore-dangle */ - if (!isUrlRequest(item.url)) { - const url = JSON.stringify(`@import url(${item.url});`); - codeItems.push(`exports.push([module.id, ${url}${media}]);`); + delete resultMap.sourcesContent; + } - return; + resultMap.sourceRoot = ""; + resultMap.sources = resultMap.sources.map((source) => { + // Non-standard syntax from `postcss` + if (source.indexOf("<") === 0) { + return source; } - if (!importPrefix) { - importPrefix = getImportPrefix(loaderContext, options.importLoaders); + const sourceType = getURLType(source); + + if (sourceType !== "path-relative") { + return source; } - const url = stringifyRequest( - loaderContext, - importPrefix + urlToRequest(item.url) + const resourceDirname = path.dirname(loaderContext.resourcePath); + const absoluteSource = path.resolve(resourceDirname, source); + const contextifyPath = normalizePath( + path.relative(loaderContext.rootContext, absoluteSource), ); - importItems.push(`var ${item.name} = require(${url});`); + return `webpack://./${contextifyPath}`; + }); + } - if (options.exportType === 'full') { - codeItems.push(`exports.i(${item.name}${media});`); - } - } + return JSON.stringify(resultMap); +} - if (item.type === 'url') { - if (!hasUrlHelperCode) { - const pathToGetUrl = require.resolve('./runtime/getUrl.js'); - const url = stringifyRequest(loaderContext, pathToGetUrl); +function printParams(media, dedupe, supports, layer) { + let result = ""; - importItems.push( - `var ___CSS_LOADER_GET_URL_IMPORT___ = require(${url});` - ); + if (typeof layer !== "undefined") { + result = `, ${JSON.stringify(layer)}`; + } - hasUrlHelperCode = true; - } + if (typeof supports !== "undefined") { + result = `, ${JSON.stringify(supports)}${result}`; + } else if (result.length > 0) { + result = `, undefined${result}`; + } - const { name, url, hash, needQuotes, index } = item; + if (dedupe) { + result = `, true${result}`; + } else if (result.length > 0) { + result = `, false${result}`; + } + + if (media) { + result = `${JSON.stringify(media)}${result}`; + } else if (result.length > 0) { + result = `""${result}`; + } - let importName = urlImportNames.get(url); + return result; +} - if (!importName) { - const preparedUrl = stringifyRequest(loaderContext, urlToRequest(url)); +function getModuleCode( + result, + api, + replacements, + options, + isTemplateLiteralSupported, + loaderContext, +) { + if (options.modules.exportOnlyLocals === true) { + return ""; + } - importName = `___CSS_LOADER_URL_PURE_IMPORT_${index}___`; - importItems.push(`var ${importName} = require(${preparedUrl});`); - urlImportNames.set(url, importName); - } + let sourceMapValue = ""; + + if (options.sourceMap) { + const sourceMap = result.map; + + sourceMapValue = `,${normalizeSourceMapForRuntime( + sourceMap, + loaderContext, + )}`; + } + + let code = isTemplateLiteralSupported + ? convertToTemplateLiteral(result.css) + : JSON.stringify(result.css); + + let beforeCode = `var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(${ + options.sourceMap + ? "___CSS_LOADER_API_SOURCEMAP_IMPORT___" + : "___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___" + });\n`; + + for (const item of api) { + const { url, layer, supports, media, dedupe } = item; + + if (url) { + // eslint-disable-next-line no-undefined + const printedParam = printParams(media, undefined, supports, layer); + + beforeCode += `___CSS_LOADER_EXPORT___.push([module.id, ${JSON.stringify( + `@import url(${url});`, + )}${printedParam.length > 0 ? `, ${printedParam}` : ""}]);\n`; + } else { + const printedParam = printParams(media, dedupe, supports, layer); + + beforeCode += `___CSS_LOADER_EXPORT___.i(${item.importName}${ + printedParam.length > 0 ? `, ${printedParam}` : "" + });\n`; + } + } + for (const item of replacements) { + const { replacementName, importName, localName } = item; + + if (localName) { + code = code.replace(new RegExp(replacementName, "g"), () => + options.modules.namedExport + ? isTemplateLiteralSupported + ? `\${ ${importName}_NAMED___[${JSON.stringify( + getValidLocalName( + localName, + options.modules.exportLocalsConvention, + ), + )}] }` + : `" + ${importName}_NAMED___[${JSON.stringify( + getValidLocalName( + localName, + options.modules.exportLocalsConvention, + ), + )}] + "` + : isTemplateLiteralSupported + ? `\${${importName}.locals[${JSON.stringify(localName)}]}` + : `" + ${importName}.locals[${JSON.stringify(localName)}] + "`, + ); + } else { + const { hash, needQuotes } = item; const getUrlOptions = [] .concat(hash ? [`hash: ${JSON.stringify(hash)}`] : []) - .concat(needQuotes ? 'needQuotes: true' : []); + .concat(needQuotes ? "needQuotes: true" : []); const preparedOptions = - getUrlOptions.length > 0 ? `, { ${getUrlOptions.join(', ')} }` : ''; + getUrlOptions.length > 0 ? `, { ${getUrlOptions.join(", ")} }` : ""; - codeItems.push( - `var ${name} = ___CSS_LOADER_GET_URL_IMPORT___(${importName}${preparedOptions});` + beforeCode += `var ${replacementName} = ___CSS_LOADER_GET_URL_IMPORT___(${importName}${preparedOptions});\n`; + code = code.replace(new RegExp(replacementName, "g"), () => + isTemplateLiteralSupported + ? `\${${replacementName}}` + : `" + ${replacementName} + "`, ); } - }); + } - return `// Imports\n${importItems.join('\n')}\n${codeItems.join('\n')}\n`; + // Indexes description: + // 0 - module id + // 1 - CSS code + // 2 - media + // 3 - source map + // 4 - supports + // 5 - layer + return `${beforeCode}// Module\n___CSS_LOADER_EXPORT___.push([module.id, ${code}, ""${sourceMapValue}]);\n`; } -function getModuleCode(loaderContext, result, replacers, sourceMap) { - const { css, map } = result; - const sourceMapValue = sourceMap && map ? `,${map}` : ''; - let cssCode = JSON.stringify(css); +const SLASH = "\\".charCodeAt(0); +const BACKTICK = "`".charCodeAt(0); +const DOLLAR = "$".charCodeAt(0); - replacers.forEach((replacer) => { - const { type, name } = replacer; +function convertToTemplateLiteral(str) { + let escapedString = ""; - if (type === 'url') { - cssCode = cssCode.replace(new RegExp(name, 'g'), () => `" + ${name} + "`); - } - - if (type === 'icss-import') { - const { importName, localName } = replacer; + for (let i = 0; i < str.length; i++) { + const code = str.charCodeAt(i); - cssCode = cssCode.replace( - new RegExp(name, 'g'), - () => `" + ${importName}.locals[${JSON.stringify(localName)}] + "` - ); - } - }); + escapedString += + code === SLASH || code === BACKTICK || code === DOLLAR + ? `\\${str[i]}` + : str[i]; + } - return `// Module\nexports.push([module.id, ${cssCode}, ""${sourceMapValue}]);\n`; + return `\`${escapedString}\``; } function dashesCamelCase(str) { return str.replace(/-+(\w)/g, (match, firstLetter) => - firstLetter.toUpperCase() + firstLetter.toUpperCase(), ); } -function getExportCode(loaderContext, exports, replacers, options) { - const items = []; - - function addExportedItem(name, value) { - items.push(`\t${JSON.stringify(name)}: ${JSON.stringify(value)}`); - } +const validIdentifier = /^[a-zA-Z_$][a-zA-Z0-9_$]*$/u; +const keywords = new Set([ + "abstract", + "boolean", + "break", + "byte", + "case", + "catch", + "char", + "class", + "const", + "continue", + "debugger", + "default", + "delete", + "do", + "double", + "else", + "enum", + "export", + "extends", + "false", + "final", + "finally", + "float", + "for", + "function", + "goto", + "if", + "implements", + "import", + "in", + "instanceof", + "int", + "interface", + "long", + "native", + "new", + "null", + "package", + "private", + "protected", + "public", + "return", + "short", + "static", + "super", + "switch", + "synchronized", + "this", + "throw", + "throws", + "transient", + "true", + "try", + "typeof", + "var", + "void", + "volatile", + "while", + "with", +]); + +function getExportCode( + exports, + replacements, + icssPluginUsed, + options, + isTemplateLiteralSupported, +) { + let code = "// Exports\n"; + + if (icssPluginUsed) { + let localsCode = ""; + let identifierId = 0; + + const addExportToLocalsCode = (names, value) => { + const normalizedNames = Array.isArray(names) + ? new Set(names) + : new Set([names]); + + for (let name of normalizedNames) { + const serializedValue = isTemplateLiteralSupported + ? convertToTemplateLiteral(value) + : JSON.stringify(value); + + if (options.modules.namedExport) { + if (name === "default") { + name = `_${name}`; + } - exports.forEach((item) => { - const { name, value } = item; + if (!validIdentifier.test(name) || keywords.has(name)) { + identifierId += 1; - switch (options.localsConvention) { - case 'camelCase': { - addExportedItem(name, value); + const id = `_${identifierId.toString(16)}`; - const modifiedName = camelCase(name); + localsCode += `var ${id} = ${serializedValue};\n`; + localsCode += `export { ${id} as ${JSON.stringify(name)} };\n`; + } else { + localsCode += `export var ${name} = ${serializedValue};\n`; + } + } else { + if (localsCode) { + localsCode += `,\n`; + } - if (modifiedName !== name) { - addExportedItem(modifiedName, value); + localsCode += `\t${JSON.stringify(name)}: ${serializedValue}`; } - break; - } - case 'camelCaseOnly': { - addExportedItem(camelCase(name), value); - break; } - case 'dashes': { - addExportedItem(name, value); + }; - const modifiedName = dashesCamelCase(name); + for (const { name, value } of exports) { + addExportToLocalsCode( + options.modules.exportLocalsConvention(name), + value, + ); + } - if (modifiedName !== name) { - addExportedItem(modifiedName, value); - } - break; + for (const item of replacements) { + const { replacementName, localName } = item; + + if (localName) { + const { importName } = item; + + localsCode = localsCode.replace( + new RegExp(replacementName, "g"), + () => { + if (options.modules.namedExport) { + return isTemplateLiteralSupported + ? `\${${importName}_NAMED___[${JSON.stringify( + getValidLocalName( + localName, + options.modules.exportLocalsConvention, + ), + )}]}` + : `" + ${importName}_NAMED___[${JSON.stringify( + getValidLocalName( + localName, + options.modules.exportLocalsConvention, + ), + )}] + "`; + } else if (options.modules.exportOnlyLocals) { + return isTemplateLiteralSupported + ? `\${${importName}[${JSON.stringify(localName)}]}` + : `" + ${importName}[${JSON.stringify(localName)}] + "`; + } + + return isTemplateLiteralSupported + ? `\${${importName}.locals[${JSON.stringify(localName)}]}` + : `" + ${importName}.locals[${JSON.stringify(localName)}] + "`; + }, + ); + } else { + localsCode = localsCode.replace(new RegExp(replacementName, "g"), () => + isTemplateLiteralSupported + ? `\${${replacementName}}` + : `" + ${replacementName} + "`, + ); } - case 'dashesOnly': { - addExportedItem(dashesCamelCase(name), value); - break; + } + + if (options.modules.exportOnlyLocals) { + code += options.modules.namedExport + ? localsCode + : `${ + options.esModule ? "export default" : "module.exports =" + } {\n${localsCode}\n};\n`; + + return code; + } + + code += options.modules.namedExport + ? localsCode + : `___CSS_LOADER_EXPORT___.locals = {${ + localsCode ? `\n${localsCode}\n` : "" + }};\n`; + } + + const isCSSStyleSheetExport = options.exportType === "css-style-sheet"; + + if (isCSSStyleSheetExport) { + code += "var ___CSS_LOADER_STYLE_SHEET___ = new CSSStyleSheet();\n"; + code += + "___CSS_LOADER_STYLE_SHEET___.replaceSync(___CSS_LOADER_EXPORT___.toString());\n"; + } + + let finalExport; + + switch (options.exportType) { + case "string": + finalExport = "___CSS_LOADER_EXPORT___.toString()"; + break; + case "css-style-sheet": + finalExport = "___CSS_LOADER_STYLE_SHEET___"; + break; + default: + case "array": + finalExport = "___CSS_LOADER_EXPORT___"; + break; + } + + code += `${ + options.esModule ? "export default" : "module.exports =" + } ${finalExport};\n`; + + return code; +} + +async function resolveRequests(resolve, context, possibleRequests) { + return resolve(context, possibleRequests[0]) + .then((result) => result) + .catch((error) => { + const [, ...tailPossibleRequests] = possibleRequests; + + if (tailPossibleRequests.length === 0) { + throw error; } - case 'asIs': - default: - addExportedItem(name, value); - break; + + return resolveRequests(resolve, context, tailPossibleRequests); + }); +} + +function isURLRequestable(url, options = {}) { + // Protocol-relative URLs + if (/^\/\//.test(url)) { + return { requestable: false, needResolve: false }; + } + + // `#` URLs + if (/^#/.test(url)) { + return { requestable: false, needResolve: false }; + } + + // Data URI + if (isDataUrl(url) && options.isSupportDataURL) { + try { + decodeURIComponent(url); + } catch (ignoreError) { + return { requestable: false, needResolve: false }; } - }); - let exportCode = `// Exports\n${ - options.exportType === 'locals' ? 'module.exports' : 'exports.locals' - } = {\n${items.join(',\n')}\n};`; + return { requestable: true, needResolve: false }; + } - replacers.forEach((replacer) => { - if (replacer.type === 'icss-import') { - const { name, importName } = replacer; - const localName = JSON.stringify(replacer.localName); + // `file:` protocol + if (/^file:/i.test(url)) { + return { requestable: true, needResolve: true }; + } - exportCode = exportCode.replace(new RegExp(name, 'g'), () => - options.exportType === 'locals' - ? `" + ${importName}[${localName}] + "` - : `" + ${importName}.locals[${localName}] + "` - ); + // Absolute URLs + if (/^[a-z][a-z0-9+.-]*:/i.test(url) && !NATIVE_WIN32_PATH.test(url)) { + if (options.isSupportAbsoluteURL && /^https?:/i.test(url)) { + return { requestable: true, needResolve: false }; } - }); - return exportCode; + return { requestable: false, needResolve: false }; + } + + return { requestable: true, needResolve: true }; +} + +function sort(a, b) { + return a.index - b.index; +} + +function combineRequests(preRequest, url) { + const idx = url.indexOf("!=!"); + + return idx !== -1 + ? url.slice(0, idx + 3) + preRequest + url.slice(idx + 3) + : preRequest + url; +} + +function warningFactory(warning) { + let message = ""; + + if (typeof warning.line !== "undefined") { + message += `(${warning.line}:${warning.column}) `; + } + + if (typeof warning.plugin !== "undefined") { + message += `from "${warning.plugin}" plugin: `; + } + + message += warning.text; + + if (warning.node) { + message += `\n\nCode:\n ${warning.node.toString()}\n`; + } + + const obj = new Error(message, { cause: warning }); + + obj.stack = null; + + return obj; +} + +function syntaxErrorFactory(error) { + let message = "\nSyntaxError\n\n"; + + if (typeof error.line !== "undefined") { + message += `(${error.line}:${error.column}) `; + } + + if (typeof error.plugin !== "undefined") { + message += `from "${error.plugin}" plugin: `; + } + + message += error.file ? `${error.file} ` : " "; + message += `${error.reason}`; + + const code = error.showSourceCode(); + + if (code) { + message += `\n\n${code}\n`; + } + + const obj = new Error(message, { cause: error }); + + obj.stack = null; + + return obj; +} + +function supportTemplateLiteral(loaderContext) { + if (loaderContext.environment && loaderContext.environment.templateLiteral) { + return true; + } + + // TODO remove in the next major release + if ( + // eslint-disable-next-line no-underscore-dangle + loaderContext._compilation && + // eslint-disable-next-line no-underscore-dangle + loaderContext._compilation.options && + // eslint-disable-next-line no-underscore-dangle + loaderContext._compilation.options.output && + // eslint-disable-next-line no-underscore-dangle + loaderContext._compilation.options.output.environment && + // eslint-disable-next-line no-underscore-dangle + loaderContext._compilation.options.output.environment.templateLiteral + ) { + return true; + } + + return false; } export { + normalizeOptions, + shouldUseModulesPlugins, + shouldUseImportPlugin, + shouldUseURLPlugin, + shouldUseIcssPlugin, + normalizeUrl, + requestify, getFilter, + getModulesOptions, getModulesPlugins, normalizeSourceMap, - getApiCode, + getPreRequester, getImportCode, getModuleCode, getExportCode, + resolveRequests, + isURLRequestable, + sort, + WEBPACK_IGNORE_COMMENT_REGEXP, + combineRequests, + camelCase, + stringifyRequest, + isDataUrl, + defaultGetLocalIdent, + warningFactory, + syntaxErrorFactory, + supportTemplateLiteral, }; diff --git a/test/__snapshots__/camelCase.test.js.snap b/test/__snapshots__/camelCase.test.js.snap new file mode 100644 index 00000000..0c42185c --- /dev/null +++ b/test/__snapshots__/camelCase.test.js.snap @@ -0,0 +1,63 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`camelCase should transform 1`] = `""`; + +exports[`camelCase should transform: foo bar 1`] = `"fooBar"`; + +exports[`camelCase should transform: __foo__bar__ 1`] = `"fooBar"`; + +exports[`camelCase should transform: - 1`] = `"-"`; + +exports[`camelCase should transform: --__--_--_ 1`] = `""`; + +exports[`camelCase should transform: --foo..bar 1`] = `"fooBar"`; + +exports[`camelCase should transform: --foo---bar 1`] = `"fooBar"`; + +exports[`camelCase should transform: --foo---bar-- 1`] = `"fooBar"`; + +exports[`camelCase should transform: --foo--1 1`] = `"foo1"`; + +exports[`camelCase should transform: --foo-bar 1`] = `"fooBar"`; + +exports[`camelCase should transform: 1Hello 1`] = `"1Hello"`; + +exports[`camelCase should transform: A::a 1`] = `"a::a"`; + +exports[`camelCase should transform: F 1`] = `"f"`; + +exports[`camelCase should transform: FOO-BAR 1`] = `"fooBar"`; + +exports[`camelCase should transform: FOÈ-BAR 1`] = `"foèBar"`; + +exports[`camelCase should transform: FOÈ-BAr 1`] = `"foèBAr"`; + +exports[`camelCase should transform: Hello1World11foo 1`] = `"hello1World11Foo"`; + +exports[`camelCase should transform: foo 1`] = `"foo"`; + +exports[`camelCase should transform: foo bar 1`] = `"fooBar"`; + +exports[`camelCase should transform: foo bar! 1`] = `"fooBar!"`; + +exports[`camelCase should transform: foo bar# 1`] = `"fooBar#"`; + +exports[`camelCase should transform: foo bar? 1`] = `"fooBar?"`; + +exports[`camelCase should transform: foo_bar 1`] = `"fooBar"`; + +exports[`camelCase should transform: foo--bar 1`] = `"fooBar"`; + +exports[`camelCase should transform: foo-bar 1`] = `"fooBar"`; + +exports[`camelCase should transform: foo-bar-baz 1`] = `"fooBarBaz"`; + +exports[`camelCase should transform: fooBar 1`] = `"fooBar"`; + +exports[`camelCase should transform: fooBar-baz 1`] = `"fooBarBaz"`; + +exports[`camelCase should transform: fooBarBaz-bazzy 1`] = `"fooBarBazBazzy"`; + +exports[`camelCase should transform: h2w 1`] = `"h2W"`; + +exports[`camelCase should transform: mGridCol6@md 1`] = `"mGridCol6@md"`; diff --git a/test/__snapshots__/esModule-option.test.js.snap b/test/__snapshots__/esModule-option.test.js.snap new file mode 100644 index 00000000..96ec754f --- /dev/null +++ b/test/__snapshots__/esModule-option.test.js.snap @@ -0,0 +1,375 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`"esModule" option should work when not specified: errors 1`] = `[]`; + +exports[`"esModule" option should work when not specified: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./imported.css"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./img.png", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@charset "UTF-8"; + +/* Comment */ + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"esModule" option should work when not specified: result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./es-module/imported.css", + ".foo { + color: red; +} +", + "", + ], + [ + "./es-module/source.css", + "@charset "UTF-8"; + +/* Comment */ + +.class { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} +", + "", + ], +] +`; + +exports[`"esModule" option should work when not specified: warnings 1`] = `[]`; + +exports[`"esModule" option should work with a value equal to "false": errors 1`] = `[]`; + +exports[`"esModule" option should work with a value equal to "false": module 1`] = ` +"// Imports +var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require("../../../src/runtime/noSourceMaps.js"); +var ___CSS_LOADER_API_IMPORT___ = require("../../../src/runtime/api.js"); +var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require("-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./imported.css"); +var ___CSS_LOADER_GET_URL_IMPORT___ = require("../../../src/runtime/getUrl.js"); +var ___CSS_LOADER_URL_IMPORT_0___ = require("./img.png"); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@charset "UTF-8"; + +/* Comment */ + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} +\`, ""]); +// Exports +module.exports = ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"esModule" option should work with a value equal to "false": result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./es-module/imported.css", + ".foo { + color: red; +} +", + "", + ], + [ + "./es-module/source.css", + "@charset "UTF-8"; + +/* Comment */ + +.class { + color: red; + background: url(/webpack/public/path/img.png); +} +", + "", + ], +] +`; + +exports[`"esModule" option should work with a value equal to "false": warnings 1`] = `[]`; + +exports[`"esModule" option should work with a value equal to "true" and the "mode" value equal to "global": errors 1`] = `[]`; + +exports[`"esModule" option should work with a value equal to "true" and the "mode" value equal to "global": module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./imported.css"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./img.png", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@charset "UTF-8"; + +/* Comment */ + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"esModule" option should work with a value equal to "true" and the "mode" value equal to "global": result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./es-module/imported.css", + ".foo { + color: red; +} +", + "", + ], + [ + "./es-module/source.css", + "@charset "UTF-8"; + +/* Comment */ + +.class { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} +", + "", + ], +] +`; + +exports[`"esModule" option should work with a value equal to "true" and the "mode" value equal to "global": warnings 1`] = `[]`; + +exports[`"esModule" option should work with a value equal to "true" and the "mode" value equal to "local": errors 1`] = `[]`; + +exports[`"esModule" option should work with a value equal to "true" and the "mode" value equal to "local": module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./imported.css"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./img.png", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@charset "UTF-8"; + +/* Comment */ + +.OZJqogC5EaF_wROug7zE { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} +\`, ""]); +// Exports +var _1 = \`OZJqogC5EaF_wROug7zE\`; +export { _1 as "class" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"esModule" option should work with a value equal to "true" and the "mode" value equal to "local": result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./es-module/imported.css", + ".EB7DBFwH4lzwZcKIj2OA { + color: red; +} +", + "", + ], + [ + "./es-module/source.css", + "@charset "UTF-8"; + +/* Comment */ + +.OZJqogC5EaF_wROug7zE { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} +", + "", + ], +] +`; + +exports[`"esModule" option should work with a value equal to "true" and the "mode" value equal to "local": warnings 1`] = `[]`; + +exports[`"esModule" option should work with a value equal to "true" and the "mode" value equal to "pure": errors 1`] = `[]`; + +exports[`"esModule" option should work with a value equal to "true" and the "mode" value equal to "pure": module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./imported.css"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./img.png", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@charset "UTF-8"; + +/* Comment */ + +.OZJqogC5EaF_wROug7zE { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} +\`, ""]); +// Exports +var _1 = \`OZJqogC5EaF_wROug7zE\`; +export { _1 as "class" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"esModule" option should work with a value equal to "true" and the "mode" value equal to "pure": result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./es-module/imported.css", + ".EB7DBFwH4lzwZcKIj2OA { + color: red; +} +", + "", + ], + [ + "./es-module/source.css", + "@charset "UTF-8"; + +/* Comment */ + +.OZJqogC5EaF_wROug7zE { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} +", + "", + ], +] +`; + +exports[`"esModule" option should work with a value equal to "true" and the "mode" value equal to "pure": warnings 1`] = `[]`; + +exports[`"esModule" option should work with a value equal to "true": errors 1`] = `[]`; + +exports[`"esModule" option should work with a value equal to "true": module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./imported.css"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./img.png", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@charset "UTF-8"; + +/* Comment */ + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"esModule" option should work with a value equal to "true": result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./es-module/imported.css", + ".foo { + color: red; +} +", + "", + ], + [ + "./es-module/source.css", + "@charset "UTF-8"; + +/* Comment */ + +.class { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} +", + "", + ], +] +`; + +exports[`"esModule" option should work with a value equal to "true": warnings 1`] = `[]`; + +exports[`"esModule" option should work with commonjs css-loader + commonjs mini-css-extract-plugin: errors 1`] = `[]`; + +exports[`"esModule" option should work with commonjs css-loader + commonjs mini-css-extract-plugin: result 1`] = `undefined`; + +exports[`"esModule" option should work with commonjs css-loader + commonjs mini-css-extract-plugin: warnings 1`] = `[]`; + +exports[`"esModule" option should work with commonjs css-loader + commonjs style-loader: errors 1`] = `[]`; + +exports[`"esModule" option should work with commonjs css-loader + commonjs style-loader: warnings 1`] = `[]`; + +exports[`"esModule" option should work with commonjs css-loader + esModule mini-css-extract-plugin: errors 1`] = `[]`; + +exports[`"esModule" option should work with commonjs css-loader + esModule mini-css-extract-plugin: result 1`] = `undefined`; + +exports[`"esModule" option should work with commonjs css-loader + esModule mini-css-extract-plugin: warnings 1`] = `[]`; + +exports[`"esModule" option should work with commonjs css-loader + esModule style-loader: errors 1`] = `[]`; + +exports[`"esModule" option should work with commonjs css-loader + esModule style-loader: warnings 1`] = `[]`; + +exports[`"esModule" option should work with esModule css-loader + commonjs mini-css-extract-plugin: errors 1`] = `[]`; + +exports[`"esModule" option should work with esModule css-loader + commonjs mini-css-extract-plugin: result 1`] = `undefined`; + +exports[`"esModule" option should work with esModule css-loader + commonjs mini-css-extract-plugin: warnings 1`] = `[]`; + +exports[`"esModule" option should work with esModule css-loader + commonjs style-loader: errors 1`] = `[]`; + +exports[`"esModule" option should work with esModule css-loader + commonjs style-loader: warnings 1`] = `[]`; + +exports[`"esModule" option should work with esModule css-loader + esModule mini-css-extract-plugin: errors 1`] = `[]`; + +exports[`"esModule" option should work with esModule css-loader + esModule mini-css-extract-plugin: result 1`] = `undefined`; + +exports[`"esModule" option should work with esModule css-loader + esModule mini-css-extract-plugin: warnings 1`] = `[]`; + +exports[`"esModule" option should work with esModule css-loader + esModule style-loader: errors 1`] = `[]`; + +exports[`"esModule" option should work with esModule css-loader + esModule style-loader: warnings 1`] = `[]`; diff --git a/test/__snapshots__/exportType.test.js.snap b/test/__snapshots__/exportType.test.js.snap new file mode 100644 index 00000000..a0629c92 --- /dev/null +++ b/test/__snapshots__/exportType.test.js.snap @@ -0,0 +1,5172 @@ +// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing + +exports[`'exportType' option should throw an error with 'css-style-sheet' value for CSS modules when \`esModule\` disabled, but 'modules.namedExport' enabled: errors 1`] = ` +[ + "ModuleBuildError: Module build failed (from \`replaced original path\`): +Error: The 'exportType' option with the 'css-style-sheet' or 'string' value requires the 'esModule' option to be enabled", +] +`; + +exports[`'exportType' option should throw an error with 'css-style-sheet' value for CSS modules when \`esModule\` disabled, but 'modules.namedExport' enabled: warnings 1`] = `[]`; + +exports[`'exportType' option should throw an error with 'css-style-sheet' value for CSS modules when \`esModule\` disabled: errors 1`] = ` +[ + "ModuleBuildError: Module build failed (from \`replaced original path\`): +Error: The 'exportType' option with the 'css-style-sheet' or 'string' value requires the 'esModule' option to be enabled", +] +`; + +exports[`'exportType' option should throw an error with 'css-style-sheet' value for CSS modules when \`esModule\` disabled: warnings 1`] = `[]`; + +exports[`'exportType' option should throw an error with 'css-style-sheet' value for CSS modules when named export disabled: errors 1`] = ` +[ + "ModuleBuildError: Module build failed (from \`replaced original path\`): +Error: The 'exportType' option with the 'css-style-sheet' or 'string' value requires the 'modules.namedExport' option to be enabled", +] +`; + +exports[`'exportType' option should throw an error with 'css-style-sheet' value for CSS modules when named export disabled: warnings 1`] = `[]`; + +exports[`'exportType' option should work and export 'array' by default: errors 1`] = `[]`; + +exports[`'exportType' option should work and export 'array' by default: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../src/runtime/api.js"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./url/img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_1___ = new URL("data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@charset "UTF-8"; + + +/* Comment */ + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class-duplicate-url { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\\\+ { a: b c d; } + +.class { content: "\\\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\\\2193"; + content: "\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193"; + content: "\\\\2193\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193 \\\\2193"; +} + +.-top {} +.\\\\-top {} + +#\\\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\\\-middle { + align-items: center; +} +.grid.\\\\-bottom { + align-items: flex-end; +} + +.u-m\\\\00002b {} + +.u-m00002b {} + +#u-m\\\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\\\e901'; +} + +.myStyle { + content: '\\\\E901'; +} + +.♫ {} + +.\\\\3A \\\\\\\`\\\\( {} /* matches elements with class=":\\\`(" */ +.\\\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +\\\\.\\\\\\\` { + color: aliceblue; +} + +\\\\.\\\\\\$\\\\{foo\\\\} { + color: aliceblue; +} + +/* \\\` */ +/* \\\`\\\` */ +/* \\\`\\\`\\\` */ +/* \\\${} */ +/* \\\\\\\\\\\` */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\\\2014\\\\A0"; + content: "\\\\2014 \\\\A0"; + content: "\\\\A0 \\\\2014"; + content: "\\\\A0\\\\2014"; + margin-top: 1px\\\\9; + background-color: #000\\\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_1___}); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`'exportType' option should work and export 'array' by default: result 1`] = ` +[ + [ + "./basic.css", + "@charset "UTF-8"; + + +/* Comment */ + +.class { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} + +.class-duplicate-url { + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\+ { a: b c d; } + +.class { content: "\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\2193"; + content: "\\2193\\2193"; + content: "\\2193 \\2193"; + content: "\\2193\\2193\\2193"; + content: "\\2193 \\2193 \\2193"; +} + +.-top {} +.\\-top {} + +#\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\-middle { + align-items: center; +} +.grid.\\-bottom { + align-items: flex-end; +} + +.u-m\\00002b {} + +.u-m00002b {} + +#u-m\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\e901'; +} + +.myStyle { + content: '\\E901'; +} + +.♫ {} + +.\\3A \\\`\\( {} /* matches elements with class=":\`(" */ +.\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +\\.\\\` { + color: aliceblue; +} + +\\.\\$\\{foo\\} { + color: aliceblue; +} + +/* \` */ +/* \`\` */ +/* \`\`\` */ +/* \${} */ +/* \\\\\` */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\2014\\A0"; + content: "\\2014 \\A0"; + content: "\\A0 \\2014"; + content: "\\A0\\2014"; + margin-top: 1px\\9; + background-color: #000\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +", + "", + ], +] +`; + +exports[`'exportType' option should work and export 'array' by default: warnings 1`] = `[]`; + +exports[`'exportType' option should work with 'array' value: errors 1`] = `[]`; + +exports[`'exportType' option should work with 'array' value: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../src/runtime/api.js"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./url/img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_1___ = new URL("data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@charset "UTF-8"; + + +/* Comment */ + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class-duplicate-url { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\\\+ { a: b c d; } + +.class { content: "\\\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\\\2193"; + content: "\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193"; + content: "\\\\2193\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193 \\\\2193"; +} + +.-top {} +.\\\\-top {} + +#\\\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\\\-middle { + align-items: center; +} +.grid.\\\\-bottom { + align-items: flex-end; +} + +.u-m\\\\00002b {} + +.u-m00002b {} + +#u-m\\\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\\\e901'; +} + +.myStyle { + content: '\\\\E901'; +} + +.♫ {} + +.\\\\3A \\\\\\\`\\\\( {} /* matches elements with class=":\\\`(" */ +.\\\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +\\\\.\\\\\\\` { + color: aliceblue; +} + +\\\\.\\\\\\$\\\\{foo\\\\} { + color: aliceblue; +} + +/* \\\` */ +/* \\\`\\\` */ +/* \\\`\\\`\\\` */ +/* \\\${} */ +/* \\\\\\\\\\\` */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\\\2014\\\\A0"; + content: "\\\\2014 \\\\A0"; + content: "\\\\A0 \\\\2014"; + content: "\\\\A0\\\\2014"; + margin-top: 1px\\\\9; + background-color: #000\\\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_1___}); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`'exportType' option should work with 'array' value: result 1`] = ` +[ + [ + "./basic.css", + "@charset "UTF-8"; + + +/* Comment */ + +.class { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} + +.class-duplicate-url { + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\+ { a: b c d; } + +.class { content: "\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\2193"; + content: "\\2193\\2193"; + content: "\\2193 \\2193"; + content: "\\2193\\2193\\2193"; + content: "\\2193 \\2193 \\2193"; +} + +.-top {} +.\\-top {} + +#\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\-middle { + align-items: center; +} +.grid.\\-bottom { + align-items: flex-end; +} + +.u-m\\00002b {} + +.u-m00002b {} + +#u-m\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\e901'; +} + +.myStyle { + content: '\\E901'; +} + +.♫ {} + +.\\3A \\\`\\( {} /* matches elements with class=":\`(" */ +.\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +\\.\\\` { + color: aliceblue; +} + +\\.\\$\\{foo\\} { + color: aliceblue; +} + +/* \` */ +/* \`\` */ +/* \`\`\` */ +/* \${} */ +/* \\\\\` */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\2014\\A0"; + content: "\\2014 \\A0"; + content: "\\A0 \\2014"; + content: "\\A0\\2014"; + margin-top: 1px\\9; + background-color: #000\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +", + "", + ], +] +`; + +exports[`'exportType' option should work with 'array' value: warnings 1`] = `[]`; + +exports[`'exportType' option should work with 'css-style-sheet' and 'array' values: errors 1`] = `[]`; + +exports[`'exportType' option should work with 'css-style-sheet' and 'array' values: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../src/runtime/api.js"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./url/img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_1___ = new URL("data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@charset "UTF-8"; + +/* Comment */ + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class-duplicate-url { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\\\+ { a: b c d; } + +.class { content: "\\\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\\\2193"; + content: "\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193"; + content: "\\\\2193\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193 \\\\2193"; +} + +.-top {} +.\\\\-top {} + +#\\\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\\\-middle { + align-items: center; +} +.grid.\\\\-bottom { + align-items: flex-end; +} + +.u-m\\\\00002b {} + +.u-m00002b {} + +#u-m\\\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\\\e901'; +} + +.myStyle { + content: '\\\\E901'; +} + +.♫ {} + +.\\\\3A \\\\\\\`\\\\( {} /* matches elements with class=":\\\`(" */ +.\\\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\\\2014\\\\A0"; + content: "\\\\2014 \\\\A0"; + content: "\\\\A0 \\\\2014"; + content: "\\\\A0\\\\2014"; + margin-top: 1px\\\\9; + background-color: #000\\\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_1___}); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +\`, ""]); +// Exports +var ___CSS_LOADER_STYLE_SHEET___ = new CSSStyleSheet(); +___CSS_LOADER_STYLE_SHEET___.replaceSync(___CSS_LOADER_EXPORT___.toString()); +export default ___CSS_LOADER_STYLE_SHEET___; +" +`; + +exports[`'exportType' option should work with 'css-style-sheet' and 'array' values: module 2`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../src/runtime/api.js"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./url/img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_1___ = new URL("data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@charset "UTF-8"; + + +/* Comment */ + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class-duplicate-url { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\\\+ { a: b c d; } + +.class { content: "\\\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\\\2193"; + content: "\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193"; + content: "\\\\2193\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193 \\\\2193"; +} + +.-top {} +.\\\\-top {} + +#\\\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\\\-middle { + align-items: center; +} +.grid.\\\\-bottom { + align-items: flex-end; +} + +.u-m\\\\00002b {} + +.u-m00002b {} + +#u-m\\\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\\\e901'; +} + +.myStyle { + content: '\\\\E901'; +} + +.♫ {} + +.\\\\3A \\\\\\\`\\\\( {} /* matches elements with class=":\\\`(" */ +.\\\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +\\\\.\\\\\\\` { + color: aliceblue; +} + +\\\\.\\\\\\$\\\\{foo\\\\} { + color: aliceblue; +} + +/* \\\` */ +/* \\\`\\\` */ +/* \\\`\\\`\\\` */ +/* \\\${} */ +/* \\\\\\\\\\\` */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\\\2014\\\\A0"; + content: "\\\\2014 \\\\A0"; + content: "\\\\A0 \\\\2014"; + content: "\\\\A0\\\\2014"; + margin-top: 1px\\\\9; + background-color: #000\\\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_1___}); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`'exportType' option should work with 'css-style-sheet' and 'array' values: result 1`] = ` +[ + CSSStyleSheet { + "text": "@charset "UTF-8"; + +/* Comment */ + +.class { + color: red; + background: url(file:///webpack/public/path/img.png); +} + +.class-duplicate-url { + background: url(file:///webpack/public/path/img.png); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\+ { a: b c d; } + +.class { content: "\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\2193"; + content: "\\2193\\2193"; + content: "\\2193 \\2193"; + content: "\\2193\\2193\\2193"; + content: "\\2193 \\2193 \\2193"; +} + +.-top {} +.\\-top {} + +#\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\-middle { + align-items: center; +} +.grid.\\-bottom { + align-items: flex-end; +} + +.u-m\\00002b {} + +.u-m00002b {} + +#u-m\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\e901'; +} + +.myStyle { + content: '\\E901'; +} + +.♫ {} + +.\\3A \\\`\\( {} /* matches elements with class=":\`(" */ +.\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\2014\\A0"; + content: "\\2014 \\A0"; + content: "\\A0 \\2014"; + content: "\\A0\\2014"; + margin-top: 1px\\9; + background-color: #000\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +", + }, + [ + [ + "./basic.css?foo=1", + "@charset "UTF-8"; + + +/* Comment */ + +.class { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} + +.class-duplicate-url { + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\+ { a: b c d; } + +.class { content: "\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\2193"; + content: "\\2193\\2193"; + content: "\\2193 \\2193"; + content: "\\2193\\2193\\2193"; + content: "\\2193 \\2193 \\2193"; +} + +.-top {} +.\\-top {} + +#\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\-middle { + align-items: center; +} +.grid.\\-bottom { + align-items: flex-end; +} + +.u-m\\00002b {} + +.u-m00002b {} + +#u-m\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\e901'; +} + +.myStyle { + content: '\\E901'; +} + +.♫ {} + +.\\3A \\\`\\( {} /* matches elements with class=":\`(" */ +.\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +\\.\\\` { + color: aliceblue; +} + +\\.\\$\\{foo\\} { + color: aliceblue; +} + +/* \` */ +/* \`\` */ +/* \`\`\` */ +/* \${} */ +/* \\\\\` */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\2014\\A0"; + content: "\\2014 \\A0"; + content: "\\A0 \\2014"; + content: "\\A0\\2014"; + margin-top: 1px\\9; + background-color: #000\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +", + "", + ], + ], +] +`; + +exports[`'exportType' option should work with 'css-style-sheet' and 'array' values: warnings 1`] = `[]`; + +exports[`'exportType' option should work with 'css-style-sheet' value and CSS modules and still emit error on '@import' at-rules: errors 1`] = ` +[ + "ModuleError: Module Error (from \`replaced original path\`): +/test/fixtures/modules/composes/composes.css:1:1: '@import' rules are not allowed here and will not be processed", +] +`; + +exports[`'exportType' option should work with 'css-style-sheet' value and CSS modules and still emit error on '@import' at-rules: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +import ___CSS_LOADER_ICSS_IMPORT_0___, * as ___CSS_LOADER_ICSS_IMPORT_0____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./values.css"; +import ___CSS_LOADER_ICSS_IMPORT_1___, * as ___CSS_LOADER_ICSS_IMPORT_1____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css"; +import ___CSS_LOADER_ICSS_IMPORT_2___, * as ___CSS_LOADER_ICSS_IMPORT_2____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./imported-simple.css"; +import ___CSS_LOADER_ICSS_IMPORT_3___, * as ___CSS_LOADER_ICSS_IMPORT_3____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./relative.css"; +import ___CSS_LOADER_ICSS_IMPORT_4___, * as ___CSS_LOADER_ICSS_IMPORT_4____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./top-relative.css"; +import ___CSS_LOADER_ICSS_IMPORT_5___, * as ___CSS_LOADER_ICSS_IMPORT_5____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!../issue-861/node_modules/package/style.css"; +import ___CSS_LOADER_ICSS_IMPORT_6___, * as ___CSS_LOADER_ICSS_IMPORT_6____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./alias.css"; +import ___CSS_LOADER_ICSS_IMPORT_7___, * as ___CSS_LOADER_ICSS_IMPORT_7____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!sass-loader!./scss-file.scss"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("../../url/img.png", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, "", true); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_1___, "", true); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_2___, "", true); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_3___, "", true); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_4___, "", true); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_5___, "", true); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_6___, "", true); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_7___, "", true); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@import url(./test-other.css) (min-width: 100px); + +.ozGmfTedr1GnFJDWqNUH { + color: \${ ___CSS_LOADER_ICSS_IMPORT_0____NAMED___["v-def"] }; +} + +.zchqshjqLbPAHaRvIBET { + color: blue; +} + +.WZBxXqS2GytaA3IBhhnd { + display: block; +} + +.W51zcAMuJMsNFi1CXgWr { + width: \${ ___CSS_LOADER_ICSS_IMPORT_1____NAMED___["v-something"] }; +} + +.KEl5ZxzNkpjfWorrBglC { + color: \${ ___CSS_LOADER_ICSS_IMPORT_0____NAMED___["v-other"] }; +} + +.ecAEWh2vww9pNEdyj9Jn { + prop: \${ ___CSS_LOADER_ICSS_IMPORT_0____NAMED___["v-def"] }; + duplicate: \${ ___CSS_LOADER_ICSS_IMPORT_0____NAMED___["v-other"] }; +} + +.CBlowYk8qiAgWWzFeXRA { + color: red; +} + +.c_NHnDcX1bd_kuxgsuYi { + color: yellow; +} + +.S0Kwou8pVmsENtBP3hYm { + color: gray; +} + +.rq663Pq_zV0CjpwttvK4 { + color: gray; +} + +.fadRMHArJofp7sWEbPVR { + color: gainsboro; +} + +.sg1HlXqlWy6l6_Wm5iA7 { + color: gainsboro; +} + +.bnRUswvicYag6u0SPnvI { + color: #BF4040; +} + +.kEJRwpukB2OtmkGTknbU { + color: black; +} + +@media (min-width: 960px) { + .hY2PI5vC9ABuJY1nkWnf { + padding: 0 20px; + } +} + +.\${ ___CSS_LOADER_ICSS_IMPORT_0____NAMED___["s-white"] } { + color: white; +} + +@media \${ ___CSS_LOADER_ICSS_IMPORT_0____NAMED___["m-small"] } { + .hY2PI5vC9ABuJY1nkWnf { + padding: 20px 20px; + } +} + +.q8mv0HutzqdsVWjl8mAz { + v-ident: validIdent; + v-pre-defined-ident: left; + v-string: 'content'; + v-string-1: ''; + v-url: url(https://www.exammple.com/images/my-background.png); + v-url-1: url('https://www.exammple.com/images/my-background.png'); + v-url-2: url("https://www.exammple.com/images/my-background.png"); + v-integer: 100; + v-integer-1: -100; + v-integer-2: +100; + v-number: .60; + v-number-1: -456.8; + v-number-2: -3.4e-2; + v-dimension: 12px; + v-percentage: 100%; + v-hex: #fff; + v-comment: /* comment */ 10px /* comment */; + v-function: rgb(0,0,0); + v-unicode-range: U+0025-00FF; + mutliple: #fff .60 100%; +} + + +a { + content: 'content'; +} + +@supports (content: 'content') { + a { + content: 'content'; + } +} + +[class~='content'] { + color:green; +} + +.xajoqP1d3SwrjJ4WEM8g { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.Ix5nEHiVOsWuWxdx0twz { + background: red; +} +\`, ""]); +// Exports +var _1 = \`\${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["v-def"]}\`; +export { _1 as "v-def" }; +var _2 = \`\${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["v-other"]}\`; +export { _2 as "v-other" }; +var _3 = \`\${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["s-white"]}\`; +export { _3 as "s-white" }; +var _4 = \`\${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["m-small"]}\`; +export { _4 as "m-small" }; +var _5 = \`\${___CSS_LOADER_ICSS_IMPORT_1____NAMED___["v-something"]}\`; +export { _5 as "v-something" }; +var _6 = \`blue\`; +export { _6 as "v-foo" }; +var _7 = \`block\`; +export { _7 as "v-bar" }; +var _8 = \`#BF4040\`; +export { _8 as "v-primary" }; +var _9 = \`black-selector\`; +export { _9 as "s-black" }; +var _a = \`(min-width: 960px)\`; +export { _a as "m-large" }; +var _b = \`validIdent\`; +export { _b as "v-ident" }; +var _c = \`left\`; +export { _c as "v-pre-defined-ident" }; +var _d = \`'content'\`; +export { _d as "v-string" }; +var _e = \`''\`; +export { _e as "v-string-1" }; +var _f = \`url(https://www.exammple.com/images/my-background.png)\`; +export { _f as "v-url" }; +var _10 = \`url('https://www.exammple.com/images/my-background.png')\`; +export { _10 as "v-url-1" }; +var _11 = \`url("https://www.exammple.com/images/my-background.png")\`; +export { _11 as "v-url-2" }; +var _12 = \`100\`; +export { _12 as "v-integer" }; +var _13 = \`-100\`; +export { _13 as "v-integer-1" }; +var _14 = \`+100\`; +export { _14 as "v-integer-2" }; +var _15 = \`.60\`; +export { _15 as "v-number" }; +var _16 = \`-456.8\`; +export { _16 as "v-number-1" }; +var _17 = \`-3.4e-2\`; +export { _17 as "v-number-2" }; +var _18 = \`12px\`; +export { _18 as "v-dimension" }; +var _19 = \`100%\`; +export { _19 as "v-percentage" }; +var _1a = \`#fff\`; +export { _1a as "v-hex" }; +var _1b = \` /* comment */\`; +export { _1b as "v-comment" }; +var _1c = \`rgb(0,0,0)\`; +export { _1c as "v-function" }; +var _1d = \`U+0025-00FF\`; +export { _1d as "v-unicode-range" }; +export var ghi = \`ozGmfTedr1GnFJDWqNUH\`; +var _1e = \`zchqshjqLbPAHaRvIBET\`; +export { _1e as "my-class" }; +export var other = \`WZBxXqS2GytaA3IBhhnd\`; +var _1f = \`W51zcAMuJMsNFi1CXgWr\`; +export { _1f as "other-other" }; +export var green = \`KEl5ZxzNkpjfWorrBglC\`; +export var foo = \`ecAEWh2vww9pNEdyj9Jn\`; +export var simple = \`CBlowYk8qiAgWWzFeXRA \${___CSS_LOADER_ICSS_IMPORT_2____NAMED___["imported-simple"]}\`; +export var relative = \`c_NHnDcX1bd_kuxgsuYi \${___CSS_LOADER_ICSS_IMPORT_3____NAMED___["imported-relative"]}\`; +var _20 = \`S0Kwou8pVmsENtBP3hYm \${___CSS_LOADER_ICSS_IMPORT_4____NAMED___["imported-relative"]}\`; +export { _20 as "top-relative" }; +var _21 = \`rq663Pq_zV0CjpwttvK4 \${___CSS_LOADER_ICSS_IMPORT_5____NAMED___["imported-module"]}\`; +export { _21 as "my-module" }; +export var alias = \`fadRMHArJofp7sWEbPVR \${___CSS_LOADER_ICSS_IMPORT_6____NAMED___["imported-alias"]}\`; +var _22 = \`sg1HlXqlWy6l6_Wm5iA7 \${___CSS_LOADER_ICSS_IMPORT_6____NAMED___["imported-alias"]}\`; +export { _22 as "alias-duplicate" }; +var _23 = \`bnRUswvicYag6u0SPnvI\`; +export { _23 as "primary-selector" }; +var _24 = \`kEJRwpukB2OtmkGTknbU\`; +export { _24 as "black-selector" }; +export var header = \`hY2PI5vC9ABuJY1nkWnf\`; +export var foobarbaz = \`q8mv0HutzqdsVWjl8mAz\`; +export var url = \`xajoqP1d3SwrjJ4WEM8g\`; +export var main = \`Ix5nEHiVOsWuWxdx0twz \${___CSS_LOADER_ICSS_IMPORT_7____NAMED___["scssClass"]}\`; +var ___CSS_LOADER_STYLE_SHEET___ = new CSSStyleSheet(); +___CSS_LOADER_STYLE_SHEET___.replaceSync(___CSS_LOADER_EXPORT___.toString()); +export default ___CSS_LOADER_STYLE_SHEET___; +" +`; + +exports[`'exportType' option should work with 'css-style-sheet' value and CSS modules and still emit error on '@import' at-rules: result 1`] = ` +CSSStyleSheet { + "named": { + "alias": "fadRMHArJofp7sWEbPVR dnhKs1AYKq4KodZdfzcx", + "alias-duplicate": "sg1HlXqlWy6l6_Wm5iA7 dnhKs1AYKq4KodZdfzcx", + "black-selector": "kEJRwpukB2OtmkGTknbU", + "default": [Circular], + "foo": "ecAEWh2vww9pNEdyj9Jn", + "foobarbaz": "q8mv0HutzqdsVWjl8mAz", + "ghi": "ozGmfTedr1GnFJDWqNUH", + "green": "KEl5ZxzNkpjfWorrBglC", + "header": "hY2PI5vC9ABuJY1nkWnf", + "m-large": "(min-width: 960px)", + "m-small": "(min-width: 320px)", + "main": "Ix5nEHiVOsWuWxdx0twz oNU7JF6MtPAFrlrthaOD", + "my-class": "zchqshjqLbPAHaRvIBET", + "my-module": "rq663Pq_zV0CjpwttvK4 q49Ogfvno__tAgAiYJcD", + "other": "WZBxXqS2GytaA3IBhhnd", + "other-other": "W51zcAMuJMsNFi1CXgWr", + "primary-selector": "bnRUswvicYag6u0SPnvI", + "relative": "c_NHnDcX1bd_kuxgsuYi o0pMg4suYQOIzdBIQJv1", + "s-black": "black-selector", + "s-white": "white", + "simple": "CBlowYk8qiAgWWzFeXRA pCAAqHK9Lcplw9QM7Rj0", + "top-relative": "S0Kwou8pVmsENtBP3hYm l9CmW32NEl99tuNLdbzp", + "url": "xajoqP1d3SwrjJ4WEM8g", + "v-bar": "block", + "v-comment": " /* comment */", + "v-def": "red", + "v-dimension": "12px", + "v-foo": "blue", + "v-function": "rgb(0,0,0)", + "v-hex": "#fff", + "v-ident": "validIdent", + "v-integer": "100", + "v-integer-1": "-100", + "v-integer-2": "+100", + "v-number": ".60", + "v-number-1": "-456.8", + "v-number-2": "-3.4e-2", + "v-other": "green", + "v-percentage": "100%", + "v-pre-defined-ident": "left", + "v-primary": "#BF4040", + "v-something": "2112moon", + "v-string": "'content'", + "v-string-1": "''", + "v-unicode-range": "U+0025-00FF", + "v-url": "url(https://www.exammple.com/images/my-background.png)", + "v-url-1": "url('https://www.exammple.com/images/my-background.png')", + "v-url-2": "url("https://www.exammple.com/images/my-background.png")", + }, + "text": "@import url(./test-other.css) (min-width: 100px); + +.ozGmfTedr1GnFJDWqNUH { + color: red; +} + +.zchqshjqLbPAHaRvIBET { + color: blue; +} + +.WZBxXqS2GytaA3IBhhnd { + display: block; +} + +.W51zcAMuJMsNFi1CXgWr { + width: 2112moon; +} + +.KEl5ZxzNkpjfWorrBglC { + color: green; +} + +.ecAEWh2vww9pNEdyj9Jn { + prop: red; + duplicate: green; +} + +.CBlowYk8qiAgWWzFeXRA { + color: red; +} + +.c_NHnDcX1bd_kuxgsuYi { + color: yellow; +} + +.S0Kwou8pVmsENtBP3hYm { + color: gray; +} + +.rq663Pq_zV0CjpwttvK4 { + color: gray; +} + +.fadRMHArJofp7sWEbPVR { + color: gainsboro; +} + +.sg1HlXqlWy6l6_Wm5iA7 { + color: gainsboro; +} + +.bnRUswvicYag6u0SPnvI { + color: #BF4040; +} + +.kEJRwpukB2OtmkGTknbU { + color: black; +} + +@media (min-width: 960px) { + .hY2PI5vC9ABuJY1nkWnf { + padding: 0 20px; + } +} + +.white { + color: white; +} + +@media (min-width: 320px) { + .hY2PI5vC9ABuJY1nkWnf { + padding: 20px 20px; + } +} + +.q8mv0HutzqdsVWjl8mAz { + v-ident: validIdent; + v-pre-defined-ident: left; + v-string: 'content'; + v-string-1: ''; + v-url: url(https://www.exammple.com/images/my-background.png); + v-url-1: url('https://www.exammple.com/images/my-background.png'); + v-url-2: url("https://www.exammple.com/images/my-background.png"); + v-integer: 100; + v-integer-1: -100; + v-integer-2: +100; + v-number: .60; + v-number-1: -456.8; + v-number-2: -3.4e-2; + v-dimension: 12px; + v-percentage: 100%; + v-hex: #fff; + v-comment: /* comment */ 10px /* comment */; + v-function: rgb(0,0,0); + v-unicode-range: U+0025-00FF; + mutliple: #fff .60 100%; +} + + +a { + content: 'content'; +} + +@supports (content: 'content') { + a { + content: 'content'; + } +} + +[class~='content'] { + color:green; +} + +.xajoqP1d3SwrjJ4WEM8g { + background: url(file:///webpack/public/path/img.png); +} + +.Ix5nEHiVOsWuWxdx0twz { + background: red; +} +", +} +`; + +exports[`'exportType' option should work with 'css-style-sheet' value and CSS modules and still emit error on '@import' at-rules: warnings 1`] = ` +[ + "ModuleWarning: Module Warning (from \`replaced original path\`): +Deprecation The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0. + +More info: https://sass-lang.com/d/legacy-js-api", +] +`; + +exports[`'exportType' option should work with 'css-style-sheet' value and CommonJS modules: errors 1`] = `[]`; + +exports[`'exportType' option should work with 'css-style-sheet' value and CommonJS modules: module 1`] = ` +"// Imports +var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require("../../src/runtime/noSourceMaps.js"); +var ___CSS_LOADER_API_IMPORT___ = require("../../src/runtime/api.js"); +var ___CSS_LOADER_GET_URL_IMPORT___ = require("../../src/runtime/getUrl.js"); +var ___CSS_LOADER_URL_IMPORT_0___ = require("./url/img.png"); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@charset "UTF-8"; + +/* Comment */ + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class-duplicate-url { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\\\+ { a: b c d; } + +.class { content: "\\\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\\\2193"; + content: "\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193"; + content: "\\\\2193\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193 \\\\2193"; +} + +.-top {} +.\\\\-top {} + +#\\\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\\\-middle { + align-items: center; +} +.grid.\\\\-bottom { + align-items: flex-end; +} + +.u-m\\\\00002b {} + +.u-m00002b {} + +#u-m\\\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\\\e901'; +} + +.myStyle { + content: '\\\\E901'; +} + +.♫ {} + +.\\\\3A \\\\\\\`\\\\( {} /* matches elements with class=":\\\`(" */ +.\\\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\\\2014\\\\A0"; + content: "\\\\2014 \\\\A0"; + content: "\\\\A0 \\\\2014"; + content: "\\\\A0\\\\2014"; + margin-top: 1px\\\\9; + background-color: #000\\\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +\`, ""]); +// Exports +var ___CSS_LOADER_STYLE_SHEET___ = new CSSStyleSheet(); +___CSS_LOADER_STYLE_SHEET___.replaceSync(___CSS_LOADER_EXPORT___.toString()); +module.exports = ___CSS_LOADER_STYLE_SHEET___; +" +`; + +exports[`'exportType' option should work with 'css-style-sheet' value and CommonJS modules: result 1`] = ` +CSSStyleSheet { + "text": "@charset "UTF-8"; + +/* Comment */ + +.class { + color: red; + background: url(/webpack/public/path/img.png); +} + +.class-duplicate-url { + background: url(/webpack/public/path/img.png); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\+ { a: b c d; } + +.class { content: "\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\2193"; + content: "\\2193\\2193"; + content: "\\2193 \\2193"; + content: "\\2193\\2193\\2193"; + content: "\\2193 \\2193 \\2193"; +} + +.-top {} +.\\-top {} + +#\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\-middle { + align-items: center; +} +.grid.\\-bottom { + align-items: flex-end; +} + +.u-m\\00002b {} + +.u-m00002b {} + +#u-m\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\e901'; +} + +.myStyle { + content: '\\E901'; +} + +.♫ {} + +.\\3A \\\`\\( {} /* matches elements with class=":\`(" */ +.\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\2014\\A0"; + content: "\\2014 \\A0"; + content: "\\A0 \\2014"; + content: "\\A0\\2014"; + margin-top: 1px\\9; + background-color: #000\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +", +} +`; + +exports[`'exportType' option should work with 'css-style-sheet' value and CommonJS modules: warnings 1`] = `[]`; + +exports[`'exportType' option should work with 'css-style-sheet' value and ECMA modules: errors 1`] = `[]`; + +exports[`'exportType' option should work with 'css-style-sheet' value and ECMA modules: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../src/runtime/api.js"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./url/img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_1___ = new URL("data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@charset "UTF-8"; + +/* Comment */ + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class-duplicate-url { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\\\+ { a: b c d; } + +.class { content: "\\\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\\\2193"; + content: "\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193"; + content: "\\\\2193\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193 \\\\2193"; +} + +.-top {} +.\\\\-top {} + +#\\\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\\\-middle { + align-items: center; +} +.grid.\\\\-bottom { + align-items: flex-end; +} + +.u-m\\\\00002b {} + +.u-m00002b {} + +#u-m\\\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\\\e901'; +} + +.myStyle { + content: '\\\\E901'; +} + +.♫ {} + +.\\\\3A \\\\\\\`\\\\( {} /* matches elements with class=":\\\`(" */ +.\\\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\\\2014\\\\A0"; + content: "\\\\2014 \\\\A0"; + content: "\\\\A0 \\\\2014"; + content: "\\\\A0\\\\2014"; + margin-top: 1px\\\\9; + background-color: #000\\\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_1___}); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +\`, ""]); +// Exports +var ___CSS_LOADER_STYLE_SHEET___ = new CSSStyleSheet(); +___CSS_LOADER_STYLE_SHEET___.replaceSync(___CSS_LOADER_EXPORT___.toString()); +export default ___CSS_LOADER_STYLE_SHEET___; +" +`; + +exports[`'exportType' option should work with 'css-style-sheet' value and ECMA modules: result 1`] = ` +CSSStyleSheet { + "text": "@charset "UTF-8"; + +/* Comment */ + +.class { + color: red; + background: url(file:///webpack/public/path/img.png); +} + +.class-duplicate-url { + background: url(file:///webpack/public/path/img.png); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\+ { a: b c d; } + +.class { content: "\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\2193"; + content: "\\2193\\2193"; + content: "\\2193 \\2193"; + content: "\\2193\\2193\\2193"; + content: "\\2193 \\2193 \\2193"; +} + +.-top {} +.\\-top {} + +#\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\-middle { + align-items: center; +} +.grid.\\-bottom { + align-items: flex-end; +} + +.u-m\\00002b {} + +.u-m00002b {} + +#u-m\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\e901'; +} + +.myStyle { + content: '\\E901'; +} + +.♫ {} + +.\\3A \\\`\\( {} /* matches elements with class=":\`(" */ +.\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\2014\\A0"; + content: "\\2014 \\A0"; + content: "\\A0 \\2014"; + content: "\\A0\\2014"; + margin-top: 1px\\9; + background-color: #000\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +", +} +`; + +exports[`'exportType' option should work with 'css-style-sheet' value and ECMA modules: warnings 1`] = `[]`; + +exports[`'exportType' option should work with 'css-style-sheet' value and generate source maps: errors 1`] = `[]`; + +exports[`'exportType' option should work with 'css-style-sheet' value and generate source maps: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from "../../src/runtime/sourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../src/runtime/api.js"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./url/img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_1___ = new URL("data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@charset "UTF-8"; + +/* Comment */ + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class-duplicate-url { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\\\+ { a: b c d; } + +.class { content: "\\\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\\\2193"; + content: "\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193"; + content: "\\\\2193\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193 \\\\2193"; +} + +.-top {} +.\\\\-top {} + +#\\\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\\\-middle { + align-items: center; +} +.grid.\\\\-bottom { + align-items: flex-end; +} + +.u-m\\\\00002b {} + +.u-m00002b {} + +#u-m\\\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\\\e901'; +} + +.myStyle { + content: '\\\\E901'; +} + +.♫ {} + +.\\\\3A \\\\\\\`\\\\( {} /* matches elements with class=":\\\`(" */ +.\\\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\\\2014\\\\A0"; + content: "\\\\2014 \\\\A0"; + content: "\\\\A0 \\\\2014"; + content: "\\\\A0\\\\2014"; + margin-top: 1px\\\\9; + background-color: #000\\\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_1___}); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +\`, "",{"version":3,"sources":["webpack://./basic-css-style-sheet.css"],"names":[],"mappings":"AAAA,gBAAgB;;AAEhB,YAAY;;AAEZ;EACE,UAAU;EACV,mDAAgC;AAClC;;AAEA;EACE,mDAAgC;AAClC;;AAEA;EACE,UAAU;EACV,UAAU;AACZ;;AAEA,SAAS,QAAQ,EAAE;;AAEnB,MAAM;;AAEN,SAAS,QAAQ,EAAE;;AAEnB,SAAS,iBAAiB;;AAE1B;EACE;IACE,2BAA2B;EAC7B;AACF;;AAEA;EACE,gBAAgB;EAChB,qBAAqB;EACrB,sBAAsB;EACtB,0BAA0B;EAC1B,4BAA4B;AAC9B;;AAEA,OAAO;AACP,QAAQ;;AAER,SAAS;;AAET;EACE,aAAa;EACb,eAAe;AACjB;AACA;EACE,uBAAuB;AACzB;AACA;EACE,uBAAuB;AACzB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,qBAAqB;AACvB;;AAEA,aAAa;;AAEb,YAAY;;AAEZ,QAAQ;;AAER;EACE,mBAAmB,EAAE,2BAA2B;AAClD;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,gBAAgB;AAClB;;AAEA,IAAI;;AAEJ,WAAW,EAAE,sCAAsC;AACnD,YAAY,EAAE,yCAAyC;AACvD,YAAY,EAAE,2CAA2C;AACzD,UAAU,EAAE,0CAA0C;AACtD,IAAI,EAAE,oCAAoC;;AAE1C;EACE,qBAAqB;EACrB;;;;;;;;;;GAUC;AACH;;AAEA;EACE,mBAAmB;EACnB,oBAAoB;EACpB,oBAAoB;EACpB,mBAAmB;EACnB,iBAAiB;EACjB,wBAAwB;AAC1B;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,mDAAq1B;AACv1B;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,WAAW;AACb","sourcesContent":["@charset \\"UTF-8\\";\\n\\n/* Comment */\\n\\n.class {\\n color: red;\\n background: url(\\"./url/img.png\\");\\n}\\n\\n.class-duplicate-url {\\n background: url(\\"./url/img.png\\");\\n}\\n\\n:root {\\n --foo: 1px;\\n --bar: 2px;\\n}\\n\\n.class { a: b c d; }\\n\\n.two {}\\n\\n.u-m\\\\+ { a: b c d; }\\n\\n.class { content: \\"\\\\F10C\\" }\\n\\n@media only screen and (max-width: 600px) {\\n body {\\n background-color: lightblue;\\n }\\n}\\n\\n.class {\\n content: \\"\\\\2193\\";\\n content: \\"\\\\2193\\\\2193\\";\\n content: \\"\\\\2193 \\\\2193\\";\\n content: \\"\\\\2193\\\\2193\\\\2193\\";\\n content: \\"\\\\2193 \\\\2193 \\\\2193\\";\\n}\\n\\n.-top {}\\n.\\\\-top {}\\n\\n#\\\\#test {}\\n\\n.grid {\\n display: flex;\\n flex-wrap: wrap;\\n}\\n.grid.\\\\-top {\\n align-items: flex-start;\\n}\\n.grid.-top {\\n align-items: flex-start;\\n}\\n.grid.\\\\-middle {\\n align-items: center;\\n}\\n.grid.\\\\-bottom {\\n align-items: flex-end;\\n}\\n\\n.u-m\\\\00002b {}\\n\\n.u-m00002b {}\\n\\n#u-m\\\\+ {}\\n\\nbody {\\n font-family: '微软雅黑'; /* some chinese font name */\\n}\\n\\n.myStyle {\\n content: '\\\\e901';\\n}\\n\\n.myStyle {\\n content: '\\\\E901';\\n}\\n\\n.♫ {}\\n\\n.\\\\3A \\\\\`\\\\( {} /* matches elements with class=\\":\`(\\" */\\n.\\\\31 a2b3c {} /* matches elements with class=\\"1a2b3c\\" */\\n#\\\\#fake-id {} /* matches the element with id=\\"#fake-id\\" */\\n#-a-b-c- {} /* matches the element with id=\\"-a-b-c-\\" */\\n#© {} /* matches the element with id=\\"©\\" */\\n\\n:root {\\n --title-align: center;\\n --sr-only: {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0,0,0,0);\\n white-space: nowrap;\\n clip-path: inset(50%);\\n border: 0;\\n };\\n}\\n\\n.test {\\n content: \\"\\\\2014\\\\A0\\";\\n content: \\"\\\\2014 \\\\A0\\";\\n content: \\"\\\\A0 \\\\2014\\";\\n content: \\"\\\\A0\\\\2014\\";\\n margin-top: 1px\\\\9;\\n background-color: #000\\\\9;\\n}\\n\\n.light.on .bulb:before{\\n content: '💡';\\n}\\n\\n.base64 {\\n background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\n}\\n\\na[href=''] {\\n color: red;\\n}\\n\\na[href='' i] {\\n color: red;\\n}\\n\\na[href=\\"\\"] {\\n color: blue;\\n}\\n\\na[href=\\"\\" i] {\\n color: blue;\\n}\\n"],"sourceRoot":""}]); +// Exports +var ___CSS_LOADER_STYLE_SHEET___ = new CSSStyleSheet(); +___CSS_LOADER_STYLE_SHEET___.replaceSync(___CSS_LOADER_EXPORT___.toString()); +export default ___CSS_LOADER_STYLE_SHEET___; +" +`; + +exports[`'exportType' option should work with 'css-style-sheet' value and generate source maps: result 1`] = ` +CSSStyleSheet { + "text": "@charset "UTF-8"; + +/* Comment */ + +.class { + color: red; + background: url(file:///webpack/public/path/img.png); +} + +.class-duplicate-url { + background: url(file:///webpack/public/path/img.png); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\+ { a: b c d; } + +.class { content: "\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\2193"; + content: "\\2193\\2193"; + content: "\\2193 \\2193"; + content: "\\2193\\2193\\2193"; + content: "\\2193 \\2193 \\2193"; +} + +.-top {} +.\\-top {} + +#\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\-middle { + align-items: center; +} +.grid.\\-bottom { + align-items: flex-end; +} + +.u-m\\00002b {} + +.u-m00002b {} + +#u-m\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\e901'; +} + +.myStyle { + content: '\\E901'; +} + +.♫ {} + +.\\3A \\\`\\( {} /* matches elements with class=":\`(" */ +.\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\2014\\A0"; + content: "\\2014 \\A0"; + content: "\\A0 \\2014"; + content: "\\A0\\2014"; + margin-top: 1px\\9; + background-color: #000\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} + +/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL2Jhc2ljLWNzcy1zdHlsZS1zaGVldC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCOztBQUVoQixZQUFZOztBQUVaO0VBQ0UsVUFBVTtFQUNWLG1EQUFnQztBQUNsQzs7QUFFQTtFQUNFLG1EQUFnQztBQUNsQzs7QUFFQTtFQUNFLFVBQVU7RUFDVixVQUFVO0FBQ1o7O0FBRUEsU0FBUyxRQUFRLEVBQUU7O0FBRW5CLE1BQU07O0FBRU4sU0FBUyxRQUFRLEVBQUU7O0FBRW5CLFNBQVMsaUJBQWlCOztBQUUxQjtFQUNFO0lBQ0UsMkJBQTJCO0VBQzdCO0FBQ0Y7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUN0QiwwQkFBMEI7RUFDMUIsNEJBQTRCO0FBQzlCOztBQUVBLE9BQU87QUFDUCxRQUFROztBQUVSLFNBQVM7O0FBRVQ7RUFDRSxhQUFhO0VBQ2IsZUFBZTtBQUNqQjtBQUNBO0VBQ0UsdUJBQXVCO0FBQ3pCO0FBQ0E7RUFDRSx1QkFBdUI7QUFDekI7QUFDQTtFQUNFLG1CQUFtQjtBQUNyQjtBQUNBO0VBQ0UscUJBQXFCO0FBQ3ZCOztBQUVBLGFBQWE7O0FBRWIsWUFBWTs7QUFFWixRQUFROztBQUVSO0VBQ0UsbUJBQW1CLEVBQUUsMkJBQTJCO0FBQ2xEOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUVBLElBQUk7O0FBRUosV0FBVyxFQUFFLHNDQUFzQztBQUNuRCxZQUFZLEVBQUUseUNBQXlDO0FBQ3ZELFlBQVksRUFBRSwyQ0FBMkM7QUFDekQsVUFBVSxFQUFFLDBDQUEwQztBQUN0RCxJQUFJLEVBQUUsb0NBQW9DOztBQUUxQztFQUNFLHFCQUFxQjtFQUNyQjs7Ozs7Ozs7OztHQVVDO0FBQ0g7O0FBRUE7RUFDRSxtQkFBbUI7RUFDbkIsb0JBQW9CO0VBQ3BCLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsaUJBQWlCO0VBQ2pCLHdCQUF3QjtBQUMxQjs7QUFFQTtFQUNFLGFBQWE7QUFDZjs7QUFFQTtFQUNFLG1EQUFxMUI7QUFDdjFCOztBQUVBO0VBQ0UsVUFBVTtBQUNaOztBQUVBO0VBQ0UsVUFBVTtBQUNaOztBQUVBO0VBQ0UsV0FBVztBQUNiOztBQUVBO0VBQ0UsV0FBVztBQUNiIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vKiBDb21tZW50ICovXG5cbi5jbGFzcyB7XG4gIGNvbG9yOiByZWQ7XG4gIGJhY2tncm91bmQ6IHVybChcIi4vdXJsL2ltZy5wbmdcIik7XG59XG5cbi5jbGFzcy1kdXBsaWNhdGUtdXJsIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi91cmwvaW1nLnBuZ1wiKTtcbn1cblxuOnJvb3Qge1xuICAtLWZvbzogMXB4O1xuICAtLWJhcjogMnB4O1xufVxuXG4uY2xhc3MgeyBhOiBiIGMgZDsgfVxuXG4udHdvIHt9XG5cbi51LW1cXCsgeyBhOiBiIGMgZDsgfVxuXG4uY2xhc3MgeyBjb250ZW50OiBcIlxcRjEwQ1wiIH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICBib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGJsdWU7XG4gIH1cbn1cblxuLmNsYXNzIHtcbiAgY29udGVudDogXCJcXDIxOTNcIjtcbiAgY29udGVudDogXCJcXDIxOTNcXDIxOTNcIjtcbiAgY29udGVudDogXCJcXDIxOTMgXFwyMTkzXCI7XG4gIGNvbnRlbnQ6IFwiXFwyMTkzXFwyMTkzXFwyMTkzXCI7XG4gIGNvbnRlbnQ6IFwiXFwyMTkzIFxcMjE5MyBcXDIxOTNcIjtcbn1cblxuLi10b3Age31cbi5cXC10b3Age31cblxuI1xcI3Rlc3Qge31cblxuLmdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uZ3JpZC5cXC10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cbi5ncmlkLi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cbi5ncmlkLlxcLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uZ3JpZC5cXC1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi51LW1cXDAwMDAyYiB7fVxuXG4udS1tMDAwMDJiIHt9XG5cbiN1LW1cXCsge31cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiAnw6XCvsKuw6jCvcKvw6nCm8KFw6nCu8KRJzsgLyogc29tZSBjaGluZXNlIGZvbnQgbmFtZSAqL1xufVxuXG4ubXlTdHlsZSB7XG4gIGNvbnRlbnQ6ICdcXGU5MDEnO1xufVxuXG4ubXlTdHlsZSB7XG4gIGNvbnRlbnQ6ICdcXEU5MDEnO1xufVxuXG4uw6LCmcKrIHt9XG5cbi5cXDNBIFxcYFxcKCB7fSAvKiBtYXRjaGVzIGVsZW1lbnRzIHdpdGggY2xhc3M9XCI6YChcIiAqL1xuLlxcMzEgYTJiM2Mge30gLyogbWF0Y2hlcyBlbGVtZW50cyB3aXRoIGNsYXNzPVwiMWEyYjNjXCIgKi9cbiNcXCNmYWtlLWlkIHt9IC8qIG1hdGNoZXMgdGhlIGVsZW1lbnQgd2l0aCBpZD1cIiNmYWtlLWlkXCIgKi9cbiMtYS1iLWMtIHt9IC8qIG1hdGNoZXMgdGhlIGVsZW1lbnQgd2l0aCBpZD1cIi1hLWItYy1cIiAqL1xuI8OCwqkge30gLyogbWF0Y2hlcyB0aGUgZWxlbWVudCB3aXRoIGlkPVwiw4LCqVwiICovXG5cbjpyb290IHtcbiAgLS10aXRsZS1hbGlnbjogY2VudGVyO1xuICAtLXNyLW9ubHk6IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgICBib3JkZXI6IDA7XG4gIH07XG59XG5cbi50ZXN0IHtcbiAgY29udGVudDogXCJcXDIwMTRcXEEwXCI7XG4gIGNvbnRlbnQ6IFwiXFwyMDE0IFxcQTBcIjtcbiAgY29udGVudDogXCJcXEEwIFxcMjAxNFwiO1xuICBjb250ZW50OiBcIlxcQTBcXDIwMTRcIjtcbiAgbWFyZ2luLXRvcDogMXB4XFw5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwXFw5O1xufVxuXG4ubGlnaHQub24gLmJ1bGI6YmVmb3Jle1xuICBjb250ZW50OiAnw7DCn8KSwqEnO1xufVxuXG4uYmFzZTY0IHtcbiAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1nL2pwZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQVlDQVlBQUFEZ2R6MzRBQUFBQVhOU1IwSUFyczRjNlFBQUFoeEpSRUZVU0EzdGs3MXJVMUVZeG5NVEVvSlVrb3dXd2RKMmFrRUhCZkdqQ2lJRjZaeWxWVUtTbTJUcVpMR0krQS9vSXUyVVhtOEM0bEF5RjRTV2ppMHRkRkxvMUVvN1ZOMFNhQkVoSDdlL056MG5QVGZHT2ppYUN5ZlBjNTczNHpsZkNRVDZYLzhFL3ZVRXJMODFLQmFMOXkzTFNudWVkNVBjSVRqVU93UjNnc0ZnMmJidGpZdDYvTkdnWEM0UDFldDFsMmFQTG1wQWJEMFNpZGpwZFBxZ1YxNVBBOWQxN3pRYWpVOFV4SFFSSy80RzM1UTVwdmVBSzhMbEkxWmpQTW5sY2x0bnl2bnZid2FPNDF4dnRWcXk3WUh6dE1BQ3E1eG5sYjlFWTNkUmR2Y0dvMWtqNXdSK3QxQW9mREcwZ00rQTg3NUU4RE5qUkNleHNyVjhQajlacVZRaXRWcnRxZWp4ZVB4ak1wbXNzNWhWVEI0YnVYdk1iMkR5VTJ0QlRSUytCanZObFZZVXBQbDdpdVZPM0dxMXVvUXgxRnRTT1cxZ1BncDVaV3JkQnRObVVEZ3Y1YXNneFE4RjFhZjV2aFkwWWp5anVXQzN3VHN6S0p6N0dCT2tjRmxRZlcyT05xNEZqV2krSGo2RFJDS3hRT0syVGxZNHg5MkV1WWQ1ZHZNQWJZSXpmaWthdTNwdTV0SjhLeGFMTGZvMGN5S2NpN3RLNFRaalVNY29YQW1Id3psZTBRL1JhQzVQMUdGTXlWeDlSOUZvOUhZcWxUclNncUR2RmVsQXFWUWE1aG11TVIvV0d0akFhQmRqd0JvRFEwWnNud1ZNWmpLWjluMFplbThEU2VEUGRyblpiTDZGMmwzTk92VVlOWms0b1ZEb1JUYWJQZTRFRE5KekIwWmNqQVl4ZW9aMmkzRk54UTdCSFl3L2NCL2ZsZGFILy9VRVRnSEhPOFM0NEtiZlhnQUFBQUJKUlU1RXJrSmdnZz09KTtcbn1cblxuYVtocmVmPScnXSB7XG4gIGNvbG9yOiByZWQ7XG59XG5cbmFbaHJlZj0nJyBpXSB7XG4gIGNvbG9yOiByZWQ7XG59XG5cbmFbaHJlZj1cIlwiXSB7XG4gIGNvbG9yOiBibHVlO1xufVxuXG5hW2hyZWY9XCJcIiBpXSB7XG4gIGNvbG9yOiBibHVlO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ== */", +} +`; + +exports[`'exportType' option should work with 'css-style-sheet' value and generate source maps: warnings 1`] = `[]`; + +exports[`'exportType' option should work with 'css-style-sheet' value and keep import and emit errors on \`@import\` at-rules: errors 1`] = `[]`; + +exports[`'exportType' option should work with 'css-style-sheet' value and keep import and emit errors on \`@import\` at-rules: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../src/runtime/api.js"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./url/img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_1___ = new URL("data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@charset "UTF-8"; + + +/* Comment */ + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class-duplicate-url { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\\\+ { a: b c d; } + +.class { content: "\\\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\\\2193"; + content: "\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193"; + content: "\\\\2193\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193 \\\\2193"; +} + +.-top {} +.\\\\-top {} + +#\\\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\\\-middle { + align-items: center; +} +.grid.\\\\-bottom { + align-items: flex-end; +} + +.u-m\\\\00002b {} + +.u-m00002b {} + +#u-m\\\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\\\e901'; +} + +.myStyle { + content: '\\\\E901'; +} + +.♫ {} + +.\\\\3A \\\\\\\`\\\\( {} /* matches elements with class=":\\\`(" */ +.\\\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +\\\\.\\\\\\\` { + color: aliceblue; +} + +\\\\.\\\\\\$\\\\{foo\\\\} { + color: aliceblue; +} + +/* \\\` */ +/* \\\`\\\` */ +/* \\\`\\\`\\\` */ +/* \\\${} */ +/* \\\\\\\\\\\` */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\\\2014\\\\A0"; + content: "\\\\2014 \\\\A0"; + content: "\\\\A0 \\\\2014"; + content: "\\\\A0\\\\2014"; + margin-top: 1px\\\\9; + background-color: #000\\\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_1___}); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +\`, ""]); +// Exports +var ___CSS_LOADER_STYLE_SHEET___ = new CSSStyleSheet(); +___CSS_LOADER_STYLE_SHEET___.replaceSync(___CSS_LOADER_EXPORT___.toString()); +export default ___CSS_LOADER_STYLE_SHEET___; +" +`; + +exports[`'exportType' option should work with 'css-style-sheet' value and keep import and emit errors on \`@import\` at-rules: result 1`] = ` +CSSStyleSheet { + "text": "@charset "UTF-8"; + + +/* Comment */ + +.class { + color: red; + background: url(file:///webpack/public/path/img.png); +} + +.class-duplicate-url { + background: url(file:///webpack/public/path/img.png); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\+ { a: b c d; } + +.class { content: "\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\2193"; + content: "\\2193\\2193"; + content: "\\2193 \\2193"; + content: "\\2193\\2193\\2193"; + content: "\\2193 \\2193 \\2193"; +} + +.-top {} +.\\-top {} + +#\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\-middle { + align-items: center; +} +.grid.\\-bottom { + align-items: flex-end; +} + +.u-m\\00002b {} + +.u-m00002b {} + +#u-m\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\e901'; +} + +.myStyle { + content: '\\E901'; +} + +.♫ {} + +.\\3A \\\`\\( {} /* matches elements with class=":\`(" */ +.\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +\\.\\\` { + color: aliceblue; +} + +\\.\\$\\{foo\\} { + color: aliceblue; +} + +/* \` */ +/* \`\` */ +/* \`\`\` */ +/* \${} */ +/* \\\\\` */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\2014\\A0"; + content: "\\2014 \\A0"; + content: "\\A0 \\2014"; + content: "\\A0\\2014"; + margin-top: 1px\\9; + background-color: #000\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +", +} +`; + +exports[`'exportType' option should work with 'css-style-sheet' value and keep import and emit errors on \`@import\` at-rules: warnings 1`] = `[]`; + +exports[`'exportType' option should work with 'css-style-sheet' value and urls: errors 1`] = ` +[ + "ModuleError: Module Error (from \`replaced original path\`): +/test/fixtures/url/url.css:1:1: '@import' rules are not allowed here and will not be processed", +] +`; + +exports[`'exportType' option should work with 'css-style-sheet' value and urls: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_1___ = new URL("package/img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_2___ = new URL("./other-img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_3___ = new URL("./img img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_4___ = new URL("/img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_5___ = new URL("data:image/png;base64,AAA", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_6___ = new URL("data:image/svg+xml;charset=utf-8,", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_7___ = new URL("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2042%2026%27%20fill%3D%27%2523007aff%27%3E%3Crect%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%271%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2711%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2712%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2722%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2723%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3C%2Fsvg%3E", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_8___ = new URL("data:image/svg+xml;charset=utf-8,#filter", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_9___ = new URL("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%5C%22%3E%3Cfilter%20id%3D%5C%22filter%5C%22%3E%3CfeGaussianBlur%20in%3D%5C%22SourceAlpha%5C%22%20stdDeviation%3D%5C%220%5C%22%20%2F%3E%3CfeOffset%20dx%3D%5C%221%5C%22%20dy%3D%5C%222%5C%22%20result%3D%5C%22offsetblur%5C%22%20%2F%3E%3CfeFlood%20flood-color%3D%5C%22rgba%28255%2C255%2C255%2C1%29%5C%22%20%2F%3E%3CfeComposite%20in2%3D%5C%22offsetblur%5C%22%20operator%3D%5C%22in%5C%22%20%2F%3E%3CfeMerge%3E%3CfeMergeNode%20%2F%3E%3CfeMergeNode%20in%3D%5C%22SourceGraphic%5C%22%20%2F%3E%3C%2FfeMerge%3E%3C%2Ffilter%3E%3C%2Fsvg%3E%23filter", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_10___ = new URL("./font.woff", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_11___ = new URL("./font.woff2", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_12___ = new URL("./font.eot", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_13___ = new URL("package/font.ttf", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_14___ = new URL("./font with spaces.eot", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_15___ = new URL("./font.svg", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_16___ = new URL("./font.woff2?foo=bar", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_17___ = new URL("./img1x.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_18___ = new URL("./img2x.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_19___ = new URL("./img.png?foo", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_20___ = new URL("./img.png?foo=bar", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_21___ = new URL("./img.png?", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_22___ = new URL("img-simple.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_23___ = new URL("/url/img-simple.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_24___ = new URL("../url/img-simple.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_25___ = new URL("aliasesImg/img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_26___ = new URL("./nested/img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_27___ = new URL("nested/img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_28___ = new URL("./img3x.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_29___ = new URL("./img1x.png?foo=bar", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_30___ = new URL("./img'img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_31___ = new URL("./img'''img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_32___ = new URL("./img(img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_33___ = new URL("./img)img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_34___ = new URL("./img'() img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_35___ = new URL("img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_36___ = new URL("./something.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_37___ = new URL("./something.png?foo=bar", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_38___ = new URL("./something.png?bar=foo", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_39___ = new URL("./something.png?foo=1&bar=2", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_40___ = new URL("./something.png?foo=2&bar=1", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_41___ = new URL("data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C%21DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20width%3D%22191px%22%20height%3D%22191px%22%20viewBox%3D%220%200%20191%20191%22%20enable-background%3D%22new%200%200%20191%20191%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cpath%20fill%3D%22%23636363%22%20d%3D%22M95.5%2C0C42.8%2C0%2C0%2C42.8%2C0%2C95.5S42.8%2C191%2C95.5%2C191S191%2C148.2%2C191%2C95.5S148.2%2C0%2C95.5%2C0z%20M95.5%2C187.6%0A%09c-50.848%2C0-92.1-41.25-92.1-92.1c0-50.848%2C41.252-92.1%2C92.1-92.1c50.85%2C0%2C92.1%2C41.252%2C92.1%2C92.1%0A%09C187.6%2C146.35%2C146.35%2C187.6%2C95.5%2C187.6z%22%2F%3E%0A%3Cg%3E%0A%09%3Cpath%20fill%3D%22%23636363%22%20d%3D%22M92.9%2C10v8.6H91v-6.5c-0.1%2C0.1-0.2%2C0.2-0.4%2C0.3c-0.2%2C0.1-0.3%2C0.2-0.4%2C0.2c-0.1%2C0-0.3%2C0.1-0.5%2C0.2%0A%09%09c-0.2%2C0.1-0.3%2C0.1-0.5%2C0.1v-1.6c0.5-0.1%2C0.9-0.3%2C1.4-0.5c0.5-0.2%2C0.8-0.5%2C1.2-0.7h1.1V10z%22%2F%3E%0A%09%3Cpath%20fill%3D%22%23636363%22%20d%3D%22M97.1%2C17.1h3.602v1.5h-5.6V18c0-0.4%2C0.1-0.8%2C0.2-1.2c0.1-0.4%2C0.3-0.6%2C0.5-0.9c0.2-0.3%2C0.5-0.5%2C0.7-0.7%0A%09%09c0.2-0.2%2C0.5-0.4%2C0.7-0.6c0.199-0.2%2C0.5-0.3%2C0.6-0.5c0.102-0.2%2C0.301-0.3%2C0.5-0.5c0.2-0.2%2C0.2-0.3%2C0.301-0.5%0A%09%09c0.101-0.2%2C0.101-0.3%2C0.101-0.5c0-0.4-0.101-0.6-0.3-0.8c-0.2-0.2-0.4-0.3-0.801-0.3c-0.699%2C0-1.399%2C0.3-2.101%2C0.9v-1.6%0A%09%09c0.7-0.5%2C1.5-0.7%2C2.5-0.7c0.399%2C0%2C0.8%2C0.1%2C1.101%2C0.2c0.301%2C0.1%2C0.601%2C0.3%2C0.899%2C0.5c0.3%2C0.2%2C0.399%2C0.5%2C0.5%2C0.8%0A%09%09c0.101%2C0.3%2C0.2%2C0.6%2C0.2%2C1s-0.102%2C0.7-0.2%2C1c-0.099%2C0.3-0.3%2C0.6-0.5%2C0.8c-0.2%2C0.2-0.399%2C0.5-0.7%2C0.7c-0.3%2C0.2-0.5%2C0.4-0.8%2C0.6%0A%09%09c-0.2%2C0.1-0.399%2C0.3-0.5%2C0.4s-0.3%2C0.3-0.5%2C0.4s-0.2%2C0.3-0.3%2C0.4C97.1%2C17%2C97.1%2C17%2C97.1%2C17.1z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%3E%0A%09%3Cpath%20fill%3D%22%23636363%22%20d%3D%22M15%2C95.4c0%2C0.7-0.1%2C1.4-0.2%2C2c-0.1%2C0.6-0.4%2C1.1-0.7%2C1.5C13.8%2C99.3%2C13.4%2C99.6%2C12.9%2C99.8s-1%2C0.3-1.5%2C0.3%0A%09%09c-0.7%2C0-1.3-0.1-1.8-0.3v-1.5c0.4%2C0.3%2C1%2C0.4%2C1.6%2C0.4c0.6%2C0%2C1.1-0.2%2C1.5-0.7c0.4-0.5%2C0.5-1.1%2C0.5-1.9l0%2C0%0A%09%09C12.8%2C96.7%2C12.3%2C96.9%2C11.5%2C96.9c-0.3%2C0-0.7-0.102-1-0.2c-0.3-0.101-0.5-0.3-0.8-0.5c-0.3-0.2-0.4-0.5-0.5-0.8%0A%09%09c-0.1-0.3-0.2-0.7-0.2-1c0-0.4%2C0.1-0.8%2C0.2-1.2c0.1-0.4%2C0.3-0.7%2C0.6-0.9c0.3-0.2%2C0.6-0.5%2C0.9-0.6c0.3-0.1%2C0.8-0.2%2C1.2-0.2%0A%09%09c0.5%2C0%2C0.9%2C0.1%2C1.2%2C0.3c0.3%2C0.2%2C0.7%2C0.4%2C0.9%2C0.8s0.5%2C0.7%2C0.6%2C1.2S15%2C94.8%2C15%2C95.4z%20M13.1%2C94.4c0-0.2%2C0-0.4-0.1-0.6%0A%09%09c-0.1-0.2-0.1-0.4-0.2-0.5c-0.1-0.1-0.2-0.2-0.4-0.3c-0.2-0.1-0.3-0.1-0.5-0.1c-0.2%2C0-0.3%2C0-0.4%2C0.1s-0.3%2C0.2-0.3%2C0.3%0A%09%09c0%2C0.1-0.2%2C0.3-0.2%2C0.4c0%2C0.1-0.1%2C0.4-0.1%2C0.6c0%2C0.2%2C0%2C0.4%2C0.1%2C0.6c0.1%2C0.2%2C0.1%2C0.3%2C0.2%2C0.4c0.1%2C0.1%2C0.2%2C0.2%2C0.4%2C0.3%0A%09%09c0.2%2C0.1%2C0.3%2C0.1%2C0.5%2C0.1c0.2%2C0%2C0.3%2C0%2C0.4-0.1s0.2-0.2%2C0.3-0.3c0.1-0.1%2C0.2-0.2%2C0.2-0.4C13%2C94.7%2C13.1%2C94.6%2C13.1%2C94.4z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%3E%0A%09%3Cpath%20fill%3D%22%23636363%22%20d%3D%22M176%2C99.7V98.1c0.6%2C0.4%2C1.2%2C0.602%2C2%2C0.602c0.5%2C0%2C0.8-0.102%2C1.1-0.301c0.301-0.199%2C0.4-0.5%2C0.4-0.801%0A%09%09c0-0.398-0.2-0.699-0.5-0.898c-0.3-0.2-0.8-0.301-1.3-0.301h-0.802V95h0.701c1.101%2C0%2C1.601-0.4%2C1.601-1.1c0-0.7-0.4-1-1.302-1%0A%09%09c-0.6%2C0-1.1%2C0.2-1.6%2C0.5v-1.5c0.6-0.3%2C1.301-0.4%2C2.1-0.4c0.9%2C0%2C1.5%2C0.2%2C2%2C0.6s0.701%2C0.9%2C0.701%2C1.5c0%2C1.1-0.601%2C1.8-1.701%2C2.1l0%2C0%0A%09%09c0.602%2C0.1%2C1.102%2C0.3%2C1.4%2C0.6s0.5%2C0.8%2C0.5%2C1.3c0%2C0.801-0.3%2C1.4-0.9%2C1.9c-0.6%2C0.5-1.398%2C0.7-2.398%2C0.7%0A%09%09C177.2%2C100.1%2C176.5%2C100%2C176%2C99.7z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%3E%0A%09%3Cpath%20fill%3D%22%23636363%22%20d%3D%22M98.5%2C179.102c0%2C0.398-0.1%2C0.799-0.2%2C1.199C98.2%2C180.7%2C98%2C181%2C97.7%2C181.2s-0.601%2C0.5-0.9%2C0.601%0A%09%09c-0.3%2C0.1-0.7%2C0.199-1.2%2C0.199c-0.5%2C0-0.9-0.1-1.3-0.3c-0.4-0.2-0.7-0.399-0.9-0.8c-0.2-0.4-0.5-0.7-0.6-1.2%0A%09%09c-0.1-0.5-0.2-1-0.2-1.601c0-0.699%2C0.1-1.399%2C0.3-2c0.2-0.601%2C0.4-1.101%2C0.8-1.5c0.4-0.399%2C0.7-0.699%2C1.2-1c0.5-0.3%2C1-0.3%2C1.6-0.3%0A%09%09c0.6%2C0%2C1.2%2C0.101%2C1.5%2C0.199v1.5c-0.4-0.199-0.9-0.399-1.4-0.399c-0.3%2C0-0.6%2C0.101-0.8%2C0.2c-0.2%2C0.101-0.5%2C0.3-0.7%2C0.5%0A%09%09c-0.2%2C0.199-0.3%2C0.5-0.4%2C0.8c-0.1%2C0.301-0.2%2C0.7-0.2%2C1.101l0%2C0c0.4-0.601%2C1-0.8%2C1.8-0.8c0.3%2C0%2C0.7%2C0.1%2C0.9%2C0.199%0A%09%09c0.2%2C0.101%2C0.5%2C0.301%2C0.7%2C0.5c0.199%2C0.2%2C0.398%2C0.5%2C0.5%2C0.801C98.5%2C178.2%2C98.5%2C178.7%2C98.5%2C179.102z%20M96.7%2C179.2%0A%09%09c0-0.899-0.4-1.399-1.1-1.399c-0.2%2C0-0.3%2C0-0.5%2C0.1c-0.2%2C0.101-0.3%2C0.201-0.4%2C0.301c-0.1%2C0.101-0.2%2C0.199-0.2%2C0.4%0A%09%09c0%2C0.199-0.1%2C0.299-0.1%2C0.5c0%2C0.199%2C0%2C0.398%2C0.1%2C0.6s0.1%2C0.3%2C0.2%2C0.5c0.1%2C0.199%2C0.2%2C0.199%2C0.4%2C0.3c0.2%2C0.101%2C0.3%2C0.101%2C0.5%2C0.101%0A%09%09c0.2%2C0%2C0.3%2C0%2C0.5-0.101c0.2-0.101%2C0.301-0.199%2C0.301-0.3c0-0.1%2C0.199-0.301%2C0.199-0.399C96.6%2C179.7%2C96.7%2C179.4%2C96.7%2C179.2z%22%2F%3E%0A%3C%2Fg%3E%0A%3Ccircle%20fill%3D%22%23636363%22%20cx%3D%2295%22%20cy%3D%2295%22%20r%3D%227%22%2F%3E%0A%3C%2Fsvg%3E%0A", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_42___ = new URL("/guide/img/banWord/addCoinDialogTitleBg.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_43___ = new URL("!!../../helpers/url-loader.js?esModule=false!package/img-single.png?ignore-asset-modules", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_44___ = new URL("nested/other.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_45___ = new URL("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23343a40%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27M2 5l6 6 6-6%27/%3e%3c/svg%3e", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_46___ = new URL("data:image/svg+xml;utf8,", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___, { hash: "#hash" }); +var ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); +var ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___); +var ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___); +var ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___); +var ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___); +var ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___); +var ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___); +var ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___); +var ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___); +var ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___); +var ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___); +var ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___); +var ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___); +var ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___); +var ___CSS_LOADER_URL_REPLACEMENT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___, { hash: "#svgFontName" }); +var ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_16___); +var ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___, { hash: "?#iefix" }); +var ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___, { hash: "?#iefix" }); +var ___CSS_LOADER_URL_REPLACEMENT_20___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___); +var ___CSS_LOADER_URL_REPLACEMENT_21___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___); +var ___CSS_LOADER_URL_REPLACEMENT_22___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_19___); +var ___CSS_LOADER_URL_REPLACEMENT_23___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___); +var ___CSS_LOADER_URL_REPLACEMENT_24___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___, { hash: "#hash" }); +var ___CSS_LOADER_URL_REPLACEMENT_25___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_21___); +var ___CSS_LOADER_URL_REPLACEMENT_26___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_22___); +var ___CSS_LOADER_URL_REPLACEMENT_27___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_23___); +var ___CSS_LOADER_URL_REPLACEMENT_28___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_24___); +var ___CSS_LOADER_URL_REPLACEMENT_29___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_25___); +var ___CSS_LOADER_URL_REPLACEMENT_30___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_26___); +var ___CSS_LOADER_URL_REPLACEMENT_31___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_27___); +var ___CSS_LOADER_URL_REPLACEMENT_32___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___, { needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_33___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___, { needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_34___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___, { needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_35___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_28___, { needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_36___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_29___, { needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_37___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___, { hash: "#hash", needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_38___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___, { hash: "?#iefix", needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_39___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_28___); +var ___CSS_LOADER_URL_REPLACEMENT_40___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_30___); +var ___CSS_LOADER_URL_REPLACEMENT_41___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_31___); +var ___CSS_LOADER_URL_REPLACEMENT_42___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_32___); +var ___CSS_LOADER_URL_REPLACEMENT_43___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_33___); +var ___CSS_LOADER_URL_REPLACEMENT_44___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_34___); +var ___CSS_LOADER_URL_REPLACEMENT_45___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_35___); +var ___CSS_LOADER_URL_REPLACEMENT_46___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_36___); +var ___CSS_LOADER_URL_REPLACEMENT_47___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_37___); +var ___CSS_LOADER_URL_REPLACEMENT_48___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_37___, { hash: "#hash" }); +var ___CSS_LOADER_URL_REPLACEMENT_49___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_38___); +var ___CSS_LOADER_URL_REPLACEMENT_50___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_37___, { hash: "#foo" }); +var ___CSS_LOADER_URL_REPLACEMENT_51___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_38___, { hash: "#bar" }); +var ___CSS_LOADER_URL_REPLACEMENT_52___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_39___); +var ___CSS_LOADER_URL_REPLACEMENT_53___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_40___); +var ___CSS_LOADER_URL_REPLACEMENT_54___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_41___); +var ___CSS_LOADER_URL_REPLACEMENT_55___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_42___); +var ___CSS_LOADER_URL_REPLACEMENT_56___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_43___); +var ___CSS_LOADER_URL_REPLACEMENT_57___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_44___); +var ___CSS_LOADER_URL_REPLACEMENT_58___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_45___); +var ___CSS_LOADER_URL_REPLACEMENT_59___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_46___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@import "./imported.css"; + +.class { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_1___}); +} + +.class { + background: url( + \${___CSS_LOADER_URL_REPLACEMENT_0___} + ); +} + +.class { + background: green url( \${___CSS_LOADER_URL_REPLACEMENT_0___} ) xyz; +} + +.class { + background: green url( \${___CSS_LOADER_URL_REPLACEMENT_0___} ) xyz; +} + +.class { + background: green url( \${___CSS_LOADER_URL_REPLACEMENT_0___} ) xyz; +} + +.class { + background: green url(\${___CSS_LOADER_URL_REPLACEMENT_2___}) url(\${___CSS_LOADER_URL_REPLACEMENT_3___}) xyz; +} + +.class { + background: green url( \${___CSS_LOADER_URL_REPLACEMENT_4___} ) xyz; +} + +.class { + background: green url( \${___CSS_LOADER_URL_REPLACEMENT_4___} ) xyz; +} + +.class { + background: green url(\${___CSS_LOADER_URL_REPLACEMENT_5___}) xyz; +} + +.class { + background: green url(\${___CSS_LOADER_URL_REPLACEMENT_6___}) url(http://example.com/image.jpg) url(//example.com/image.png) xyz; +} + +.class { + background-image: url(\${___CSS_LOADER_URL_REPLACEMENT_7___}); +} + +.class { + background-image: url(\${___CSS_LOADER_URL_REPLACEMENT_8___}); +} + +.class { + filter: url(\${___CSS_LOADER_URL_REPLACEMENT_9___}); +} + +.class { + filter: url(\${___CSS_LOADER_URL_REPLACEMENT_10___}); +} + +.highlight { + filter: url(#highlight); +} + +.highlight { + filter: url('#line-marker'); +} + +@font-face { + src: url(\${___CSS_LOADER_URL_REPLACEMENT_11___}) format('woff'), + url(\${___CSS_LOADER_URL_REPLACEMENT_12___}) format('woff2'), + url(\${___CSS_LOADER_URL_REPLACEMENT_13___}) format('eot'), + url(\${___CSS_LOADER_URL_REPLACEMENT_14___}) format('truetype'), + url(\${___CSS_LOADER_URL_REPLACEMENT_15___}) format("embedded-opentype"), + url(\${___CSS_LOADER_URL_REPLACEMENT_16___}) format('svg'), + url(\${___CSS_LOADER_URL_REPLACEMENT_17___}) format('woff2'), + url(\${___CSS_LOADER_URL_REPLACEMENT_18___}) format('embedded-opentype'), + url(\${___CSS_LOADER_URL_REPLACEMENT_19___}) format('embedded-opentype'); +} + +@media (min-width: 500px) { + body { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); + } +} + +a { + content: "do not use url(path)"; +} + +b { + content: 'do not "use" url(path)'; +} + +@keyframes anim { + background: green url(\${___CSS_LOADER_URL_REPLACEMENT_0___}) xyz; +} + +.a { + background-image: -webkit-image-set(url(\${___CSS_LOADER_URL_REPLACEMENT_20___}) 1x, url(\${___CSS_LOADER_URL_REPLACEMENT_21___}) 2x) +} + +.a { + background-image: image-set(url(\${___CSS_LOADER_URL_REPLACEMENT_20___}) 1x, url(\${___CSS_LOADER_URL_REPLACEMENT_21___}) 2x) +} + +.class { + background: green url() xyz; +} + +.class { + background: green url('') xyz; +} + +.class { + background: green url("") xyz; +} + +.class { + background: green url(' ') xyz; +} + +.class { + background: green url( + ) xyz; +} + +.class { + background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz; +} + +.class { + background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz; +} + +.class { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_22___}); +} + +.class { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_23___}); +} + +.class { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_24___}); +} + +.class { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_24___}); +} + +.class { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_25___}); +} + +.class { + background-image: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}) url(\${___CSS_LOADER_URL_REPLACEMENT_7___}) url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class { + background: ___CSS_LOADER_URL___; + background: ___CSS_LOADER_URL___INDEX___; + background: ___CSS_LOADER_URL___99999___; + background: ___CSS_LOADER_IMPORT___; + background: ___CSS_LOADER_IMPORT___INDEX___; + background: ___CSS_LOADER_IMPORT___99999___; +} + +.pure-url { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_26___}); +} + +.root-relative { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_27___}); +} + +.above-below { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_28___}); +} + +.tilde { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_2___}); +} + +.aliases { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_29___}) ; +} + +a { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_30___}); +} + +a { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_31___}); +} + +@font-face { + src: url("//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot"); +} + +.class { + /* Broken */ + background-image: -webkit-image-set(); + background-image: -webkit-image-set(''); + background-image: image-set(); + background-image: image-set(''); + background-image: image-set(""); + background-image: image-set("" 1x); + background-image: image-set(url()); + background-image: image-set( + url() + ); + background-image: image-set(URL()); + background-image: image-set(url('')); + background-image: image-set(url("")); + background-image: image-set(url('') 1x); + background-image: image-set(1x); + background-image: image-set( + 1x + ); + background: image-set(calc(1rem + 1px) 1x); + + /* Strings */ + background-image: -webkit-image-set(\${___CSS_LOADER_URL_REPLACEMENT_32___} 1x, \${___CSS_LOADER_URL_REPLACEMENT_33___} 2x); + background-image: image-set(\${___CSS_LOADER_URL_REPLACEMENT_32___} 1x); + background-image: image-set(\${___CSS_LOADER_URL_REPLACEMENT_32___} 1x, \${___CSS_LOADER_URL_REPLACEMENT_33___} 2x); + background-image: image-set(\${___CSS_LOADER_URL_REPLACEMENT_34___} 1x, \${___CSS_LOADER_URL_REPLACEMENT_34___} 2x); + background-image: image-set(\${___CSS_LOADER_URL_REPLACEMENT_32___} 1x, \${___CSS_LOADER_URL_REPLACEMENT_33___} 2x), + image-set(\${___CSS_LOADER_URL_REPLACEMENT_32___} 1x, \${___CSS_LOADER_URL_REPLACEMENT_33___} 2x); + background-image: image-set( + \${___CSS_LOADER_URL_REPLACEMENT_32___} 1x, + \${___CSS_LOADER_URL_REPLACEMENT_33___} 2x, + \${___CSS_LOADER_URL_REPLACEMENT_35___} 600dpi + ); + background-image: image-set(\${___CSS_LOADER_URL_REPLACEMENT_36___} 1x); + background-image: image-set(\${___CSS_LOADER_URL_REPLACEMENT_37___} 1x); + background-image: image-set(\${___CSS_LOADER_URL_REPLACEMENT_38___} 1x); + + /* With \\\`url\\\` function */ + background-image: -webkit-image-set(url(\${___CSS_LOADER_URL_REPLACEMENT_20___}) 1x, url(\${___CSS_LOADER_URL_REPLACEMENT_21___}) 2x); + background-image: -webkit-image-set(url(\${___CSS_LOADER_URL_REPLACEMENT_20___}) 1x); + background-image: -webkit-image-set( + url(\${___CSS_LOADER_URL_REPLACEMENT_20___}) 1x + ); + background-image: image-set(url(\${___CSS_LOADER_URL_REPLACEMENT_20___}) 1x); + background-image: image-set( + url(\${___CSS_LOADER_URL_REPLACEMENT_20___}) 1x + ); + background-image: image-set(url(\${___CSS_LOADER_URL_REPLACEMENT_20___}) 1x, url(\${___CSS_LOADER_URL_REPLACEMENT_21___}) 2x); + background-image: image-set( + url(\${___CSS_LOADER_URL_REPLACEMENT_20___}) 1x, + url(\${___CSS_LOADER_URL_REPLACEMENT_21___}) 2x, + url(\${___CSS_LOADER_URL_REPLACEMENT_39___}) 600dpi + ); + background-image: image-set(url(\${___CSS_LOADER_URL_REPLACEMENT_4___}) 1x, url(\${___CSS_LOADER_URL_REPLACEMENT_4___}) 2x); + + background-image: image-set(url(\${___CSS_LOADER_URL_REPLACEMENT_20___}) 1x, \${___CSS_LOADER_URL_REPLACEMENT_33___} 2x); +} + +.class { + /* Not allowed on windows */ + /* background: url(./img\\\\"img.png); */ + background: url(\${___CSS_LOADER_URL_REPLACEMENT_40___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_41___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_42___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_43___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_4___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_44___}); + + background-image: image-set( + /* Not allowed on windows */ + /* url(./img\\\\"img.png) 1x, */ + url(\${___CSS_LOADER_URL_REPLACEMENT_41___}) 2x, + url(\${___CSS_LOADER_URL_REPLACEMENT_40___}) 3x, + url(\${___CSS_LOADER_URL_REPLACEMENT_42___}) 4x, + url(\${___CSS_LOADER_URL_REPLACEMENT_43___}) 5x, + url(\${___CSS_LOADER_URL_REPLACEMENT_4___}) 6x, + url(\${___CSS_LOADER_URL_REPLACEMENT_44___}) 7x + ); +} + +.class-class-class { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_41___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_44___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_40___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_42___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_43___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_4___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_4___}); +} + +/* Comment */ + +.class.class.class { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_42___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_42___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_42___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_42___}); +} + +.other-test-case { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_41___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_44___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_40___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_42___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_43___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_4___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_41___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_44___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_40___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_42___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_43___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_4___}); +} + +.qqq { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_45___}); +} + +.www { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_41___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_44___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_40___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_42___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_43___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_4___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_40___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_44___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_44___}); +} + +.class { + /* Should be one import */ + background: url(\${___CSS_LOADER_URL_REPLACEMENT_46___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_46___}); + + background: url(\${___CSS_LOADER_URL_REPLACEMENT_47___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_47___}); + + background: url(\${___CSS_LOADER_URL_REPLACEMENT_48___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_48___}); + + /* Should be two imports */ + background: url(\${___CSS_LOADER_URL_REPLACEMENT_47___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_49___}); + + background: url(\${___CSS_LOADER_URL_REPLACEMENT_50___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_51___}); + + background: url(\${___CSS_LOADER_URL_REPLACEMENT_52___}); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_53___}); +} + +.base { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_54___}) 50% 50%/191px no-repeat; +} + +.strange { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.my-background { + background-image: url(\${___CSS_LOADER_URL_REPLACEMENT_55___}); +} + +.class { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}, 'foo', './img.png', url('./img.png')); + background-image: image-set(url(\${___CSS_LOADER_URL_REPLACEMENT_0___}, 'foo', './img.png', url('./img.png')) 1x, url(\${___CSS_LOADER_URL_REPLACEMENT_21___}) 2x); +} + +.button { + background-image: url('data:image/svg+xml;utf8,'); +} + +/* We need to use \\\`resourceQuery: /inline/\\\` */ +/* Hard to test on webpack v4 */ +.qqq { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_56___}) +} + +.class { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_45___}); +} + +.class { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_45___}); +} + +/** Prefer relative **/ +.class { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_31___}); +} + +/** Prefer from modules **/ +.class { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_57___}); +} + +.class { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_2___}); +} + +.foo { + background-image: url(\${___CSS_LOADER_URL_REPLACEMENT_58___}); +} + +.bar { + background-image: url(\${___CSS_LOADER_URL_REPLACEMENT_59___}); +} +\`, ""]); +// Exports +var ___CSS_LOADER_STYLE_SHEET___ = new CSSStyleSheet(); +___CSS_LOADER_STYLE_SHEET___.replaceSync(___CSS_LOADER_EXPORT___.toString()); +export default ___CSS_LOADER_STYLE_SHEET___; +" +`; + +exports[`'exportType' option should work with 'css-style-sheet' value and urls: result 1`] = ` +CSSStyleSheet { + "text": "@import "./imported.css"; + +.class { + background: url(file:///webpack/public/path/img.png); +} + +.class { + background: url(file:///webpack/public/path/img.png); +} + +.class { + background: url(file:///webpack/public/path/img.png); +} + +.class { + background: url(file:///webpack/public/path/img.png#hash); +} + +.class { + background: url( + file:///webpack/public/path/img.png + ); +} + +.class { + background: green url( file:///webpack/public/path/img.png ) xyz; +} + +.class { + background: green url( file:///webpack/public/path/img.png ) xyz; +} + +.class { + background: green url( file:///webpack/public/path/img.png ) xyz; +} + +.class { + background: green url(file:///webpack/public/path/img.png) url(file:///webpack/public/path/other-img.png) xyz; +} + +.class { + background: green url( "file:///webpack/public/path/img%20img.png" ) xyz; +} + +.class { + background: green url( "file:///webpack/public/path/img%20img.png" ) xyz; +} + +.class { + background: green url(file:///webpack/public/path/img.png) xyz; +} + +.class { + background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) xyz; +} + +.class { + background-image: url("data:image/svg+xml;charset=utf-8,"); +} + +.class { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2042%2026%27%20fill%3D%27%2523007aff%27%3E%3Crect%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%271%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2711%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2712%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2722%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2723%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3C%2Fsvg%3E"); +} + +.class { + filter: url("data:image/svg+xml;charset=utf-8,#filter"); +} + +.class { + filter: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%5C%22%3E%3Cfilter%20id%3D%5C%22filter%5C%22%3E%3CfeGaussianBlur%20in%3D%5C%22SourceAlpha%5C%22%20stdDeviation%3D%5C%220%5C%22%20%2F%3E%3CfeOffset%20dx%3D%5C%221%5C%22%20dy%3D%5C%222%5C%22%20result%3D%5C%22offsetblur%5C%22%20%2F%3E%3CfeFlood%20flood-color%3D%5C%22rgba%28255%2C255%2C255%2C1%29%5C%22%20%2F%3E%3CfeComposite%20in2%3D%5C%22offsetblur%5C%22%20operator%3D%5C%22in%5C%22%20%2F%3E%3CfeMerge%3E%3CfeMergeNode%20%2F%3E%3CfeMergeNode%20in%3D%5C%22SourceGraphic%5C%22%20%2F%3E%3C%2FfeMerge%3E%3C%2Ffilter%3E%3C%2Fsvg%3E%23filter"); +} + +.highlight { + filter: url(#highlight); +} + +.highlight { + filter: url('#line-marker'); +} + +@font-face { + src: url(file:///webpack/public/path/font.woff) format('woff'), + url(file:///webpack/public/path/font.woff2) format('woff2'), + url(file:///webpack/public/path/font.eot) format('eot'), + url(file:///webpack/public/path/font.ttf) format('truetype'), + url("file:///webpack/public/path/font%20with%20spaces.eot") format("embedded-opentype"), + url(file:///webpack/public/path/font.svg#svgFontName) format('svg'), + url(file:///webpack/public/path/font.woff2) format('woff2'), + url(file:///webpack/public/path/font.eot?#iefix) format('embedded-opentype'), + url("file:///webpack/public/path/font%20with%20spaces.eot?#iefix") format('embedded-opentype'); +} + +@media (min-width: 500px) { + body { + background: url(file:///webpack/public/path/img.png); + } +} + +a { + content: "do not use url(path)"; +} + +b { + content: 'do not "use" url(path)'; +} + +@keyframes anim { + background: green url(file:///webpack/public/path/img.png) xyz; +} + +.a { + background-image: -webkit-image-set(url(file:///webpack/public/path/img1x.png) 1x, url(file:///webpack/public/path/img2x.png) 2x) +} + +.a { + background-image: image-set(url(file:///webpack/public/path/img1x.png) 1x, url(file:///webpack/public/path/img2x.png) 2x) +} + +.class { + background: green url() xyz; +} + +.class { + background: green url('') xyz; +} + +.class { + background: green url("") xyz; +} + +.class { + background: green url(' ') xyz; +} + +.class { + background: green url( + ) xyz; +} + +.class { + background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz; +} + +.class { + background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz; +} + +.class { + background: url(file:///webpack/public/path/img.png); +} + +.class { + background: url(file:///webpack/public/path/img.png); +} + +.class { + background: url(file:///webpack/public/path/img.png#hash); +} + +.class { + background: url(file:///webpack/public/path/img.png#hash); +} + +.class { + background: url(file:///webpack/public/path/img.png); +} + +.class { + background-image: url(file:///webpack/public/path/img.png) url("data:image/svg+xml;charset=utf-8,") url(file:///webpack/public/path/img.png); +} + +.class { + background: ___CSS_LOADER_URL___; + background: ___CSS_LOADER_URL___INDEX___; + background: ___CSS_LOADER_URL___99999___; + background: ___CSS_LOADER_IMPORT___; + background: ___CSS_LOADER_IMPORT___INDEX___; + background: ___CSS_LOADER_IMPORT___99999___; +} + +.pure-url { + background: url(file:///webpack/public/path/img-simple.png); +} + +.root-relative { + background: url(file:///webpack/public/path/img-simple.png); +} + +.above-below { + background: url(file:///webpack/public/path/img-simple.png); +} + +.tilde { + background: url(file:///webpack/public/path/img.png); +} + +.aliases { + background: url(file:///webpack/public/path/img.png) ; +} + +a { + background: url(file:///webpack/public/path/img.png); +} + +a { + background: url(file:///webpack/public/path/img.png); +} + +@font-face { + src: url("//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot"); +} + +.class { + /* Broken */ + background-image: -webkit-image-set(); + background-image: -webkit-image-set(''); + background-image: image-set(); + background-image: image-set(''); + background-image: image-set(""); + background-image: image-set("" 1x); + background-image: image-set(url()); + background-image: image-set( + url() + ); + background-image: image-set(URL()); + background-image: image-set(url('')); + background-image: image-set(url("")); + background-image: image-set(url('') 1x); + background-image: image-set(1x); + background-image: image-set( + 1x + ); + background: image-set(calc(1rem + 1px) 1x); + + /* Strings */ + background-image: -webkit-image-set("file:///webpack/public/path/img1x.png" 1x, "file:///webpack/public/path/img2x.png" 2x); + background-image: image-set("file:///webpack/public/path/img1x.png" 1x); + background-image: image-set("file:///webpack/public/path/img1x.png" 1x, "file:///webpack/public/path/img2x.png" 2x); + background-image: image-set("file:///webpack/public/path/img%20img.png" 1x, "file:///webpack/public/path/img%20img.png" 2x); + background-image: image-set("file:///webpack/public/path/img1x.png" 1x, "file:///webpack/public/path/img2x.png" 2x), + image-set("file:///webpack/public/path/img1x.png" 1x, "file:///webpack/public/path/img2x.png" 2x); + background-image: image-set( + "file:///webpack/public/path/img1x.png" 1x, + "file:///webpack/public/path/img2x.png" 2x, + "file:///webpack/public/path/img3x.png" 600dpi + ); + background-image: image-set("file:///webpack/public/path/img1x.png" 1x); + background-image: image-set("file:///webpack/public/path/img1x.png#hash" 1x); + background-image: image-set("file:///webpack/public/path/img1x.png?#iefix" 1x); + + /* With \`url\` function */ + background-image: -webkit-image-set(url(file:///webpack/public/path/img1x.png) 1x, url(file:///webpack/public/path/img2x.png) 2x); + background-image: -webkit-image-set(url(file:///webpack/public/path/img1x.png) 1x); + background-image: -webkit-image-set( + url(file:///webpack/public/path/img1x.png) 1x + ); + background-image: image-set(url(file:///webpack/public/path/img1x.png) 1x); + background-image: image-set( + url(file:///webpack/public/path/img1x.png) 1x + ); + background-image: image-set(url(file:///webpack/public/path/img1x.png) 1x, url(file:///webpack/public/path/img2x.png) 2x); + background-image: image-set( + url(file:///webpack/public/path/img1x.png) 1x, + url(file:///webpack/public/path/img2x.png) 2x, + url(file:///webpack/public/path/img3x.png) 600dpi + ); + background-image: image-set(url("file:///webpack/public/path/img%20img.png") 1x, url("file:///webpack/public/path/img%20img.png") 2x); + + background-image: image-set(url(file:///webpack/public/path/img1x.png) 1x, "file:///webpack/public/path/img2x.png" 2x); +} + +.class { + /* Not allowed on windows */ + /* background: url(./img\\"img.png); */ + background: url("file:///webpack/public/path/img'img.png"); + background: url("file:///webpack/public/path/img'''img.png"); + background: url("file:///webpack/public/path/img(img.png"); + background: url("file:///webpack/public/path/img)img.png"); + background: url("file:///webpack/public/path/img%20img.png"); + background: url("file:///webpack/public/path/img'()%20img.png"); + + background-image: image-set( + /* Not allowed on windows */ + /* url(./img\\"img.png) 1x, */ + url("file:///webpack/public/path/img'''img.png") 2x, + url("file:///webpack/public/path/img'img.png") 3x, + url("file:///webpack/public/path/img(img.png") 4x, + url("file:///webpack/public/path/img)img.png") 5x, + url("file:///webpack/public/path/img%20img.png") 6x, + url("file:///webpack/public/path/img'()%20img.png") 7x + ); +} + +.class-class-class { + background: url("file:///webpack/public/path/img'''img.png"); + background: url("file:///webpack/public/path/img'()%20img.png"); + background: url("file:///webpack/public/path/img'img.png"); + background: url("file:///webpack/public/path/img(img.png"); + background: url("file:///webpack/public/path/img)img.png"); + background: url("file:///webpack/public/path/img%20img.png"); + background: url("file:///webpack/public/path/img%20img.png"); +} + +/* Comment */ + +.class.class.class { + background: url("file:///webpack/public/path/img(img.png"); + background: url("file:///webpack/public/path/img(img.png"); + background: url("file:///webpack/public/path/img(img.png"); + background: url("file:///webpack/public/path/img(img.png"); +} + +.other-test-case { + background: url("file:///webpack/public/path/img'''img.png"); + background: url("file:///webpack/public/path/img'()%20img.png"); + background: url("file:///webpack/public/path/img'img.png"); + background: url("file:///webpack/public/path/img(img.png"); + background: url("file:///webpack/public/path/img)img.png"); + background: url("file:///webpack/public/path/img%20img.png"); + background: url("file:///webpack/public/path/img'''img.png"); + background: url("file:///webpack/public/path/img'()%20img.png"); + background: url("file:///webpack/public/path/img'img.png"); + background: url("file:///webpack/public/path/img(img.png"); + background: url("file:///webpack/public/path/img)img.png"); + background: url("file:///webpack/public/path/img%20img.png"); +} + +.qqq { + background: url(file:///webpack/public/path/img.png); +} + +.www { + background: url("file:///webpack/public/path/img'''img.png"); + background: url("file:///webpack/public/path/img'()%20img.png"); + background: url("file:///webpack/public/path/img'img.png"); + background: url("file:///webpack/public/path/img(img.png"); + background: url("file:///webpack/public/path/img)img.png"); + background: url("file:///webpack/public/path/img%20img.png"); + background: url(file:///webpack/public/path/img.png); + background: url(file:///webpack/public/path/img.png); + background: url("file:///webpack/public/path/img'img.png"); + background: url("file:///webpack/public/path/img'()%20img.png"); + background: url("file:///webpack/public/path/img'()%20img.png"); +} + +.class { + /* Should be one import */ + background: url(file:///webpack/public/path/something.png); + background: url(file:///webpack/public/path/something.png); + + background: url(file:///webpack/public/path/something.png); + background: url(file:///webpack/public/path/something.png); + + background: url(file:///webpack/public/path/something.png#hash); + background: url(file:///webpack/public/path/something.png#hash); + + /* Should be two imports */ + background: url(file:///webpack/public/path/something.png); + background: url(file:///webpack/public/path/something.png); + + background: url(file:///webpack/public/path/something.png#foo); + background: url(file:///webpack/public/path/something.png#bar); + + background: url(file:///webpack/public/path/something.png); + background: url(file:///webpack/public/path/something.png); +} + +.base { + background: url("data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C%21DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20width%3D%22191px%22%20height%3D%22191px%22%20viewBox%3D%220%200%20191%20191%22%20enable-background%3D%22new%200%200%20191%20191%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cpath%20fill%3D%22%23636363%22%20d%3D%22M95.5%2C0C42.8%2C0%2C0%2C42.8%2C0%2C95.5S42.8%2C191%2C95.5%2C191S191%2C148.2%2C191%2C95.5S148.2%2C0%2C95.5%2C0z%20M95.5%2C187.6%0A%09c-50.848%2C0-92.1-41.25-92.1-92.1c0-50.848%2C41.252-92.1%2C92.1-92.1c50.85%2C0%2C92.1%2C41.252%2C92.1%2C92.1%0A%09C187.6%2C146.35%2C146.35%2C187.6%2C95.5%2C187.6z%22%2F%3E%0A%3Cg%3E%0A%09%3Cpath%20fill%3D%22%23636363%22%20d%3D%22M92.9%2C10v8.6H91v-6.5c-0.1%2C0.1-0.2%2C0.2-0.4%2C0.3c-0.2%2C0.1-0.3%2C0.2-0.4%2C0.2c-0.1%2C0-0.3%2C0.1-0.5%2C0.2%0A%09%09c-0.2%2C0.1-0.3%2C0.1-0.5%2C0.1v-1.6c0.5-0.1%2C0.9-0.3%2C1.4-0.5c0.5-0.2%2C0.8-0.5%2C1.2-0.7h1.1V10z%22%2F%3E%0A%09%3Cpath%20fill%3D%22%23636363%22%20d%3D%22M97.1%2C17.1h3.602v1.5h-5.6V18c0-0.4%2C0.1-0.8%2C0.2-1.2c0.1-0.4%2C0.3-0.6%2C0.5-0.9c0.2-0.3%2C0.5-0.5%2C0.7-0.7%0A%09%09c0.2-0.2%2C0.5-0.4%2C0.7-0.6c0.199-0.2%2C0.5-0.3%2C0.6-0.5c0.102-0.2%2C0.301-0.3%2C0.5-0.5c0.2-0.2%2C0.2-0.3%2C0.301-0.5%0A%09%09c0.101-0.2%2C0.101-0.3%2C0.101-0.5c0-0.4-0.101-0.6-0.3-0.8c-0.2-0.2-0.4-0.3-0.801-0.3c-0.699%2C0-1.399%2C0.3-2.101%2C0.9v-1.6%0A%09%09c0.7-0.5%2C1.5-0.7%2C2.5-0.7c0.399%2C0%2C0.8%2C0.1%2C1.101%2C0.2c0.301%2C0.1%2C0.601%2C0.3%2C0.899%2C0.5c0.3%2C0.2%2C0.399%2C0.5%2C0.5%2C0.8%0A%09%09c0.101%2C0.3%2C0.2%2C0.6%2C0.2%2C1s-0.102%2C0.7-0.2%2C1c-0.099%2C0.3-0.3%2C0.6-0.5%2C0.8c-0.2%2C0.2-0.399%2C0.5-0.7%2C0.7c-0.3%2C0.2-0.5%2C0.4-0.8%2C0.6%0A%09%09c-0.2%2C0.1-0.399%2C0.3-0.5%2C0.4s-0.3%2C0.3-0.5%2C0.4s-0.2%2C0.3-0.3%2C0.4C97.1%2C17%2C97.1%2C17%2C97.1%2C17.1z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%3E%0A%09%3Cpath%20fill%3D%22%23636363%22%20d%3D%22M15%2C95.4c0%2C0.7-0.1%2C1.4-0.2%2C2c-0.1%2C0.6-0.4%2C1.1-0.7%2C1.5C13.8%2C99.3%2C13.4%2C99.6%2C12.9%2C99.8s-1%2C0.3-1.5%2C0.3%0A%09%09c-0.7%2C0-1.3-0.1-1.8-0.3v-1.5c0.4%2C0.3%2C1%2C0.4%2C1.6%2C0.4c0.6%2C0%2C1.1-0.2%2C1.5-0.7c0.4-0.5%2C0.5-1.1%2C0.5-1.9l0%2C0%0A%09%09C12.8%2C96.7%2C12.3%2C96.9%2C11.5%2C96.9c-0.3%2C0-0.7-0.102-1-0.2c-0.3-0.101-0.5-0.3-0.8-0.5c-0.3-0.2-0.4-0.5-0.5-0.8%0A%09%09c-0.1-0.3-0.2-0.7-0.2-1c0-0.4%2C0.1-0.8%2C0.2-1.2c0.1-0.4%2C0.3-0.7%2C0.6-0.9c0.3-0.2%2C0.6-0.5%2C0.9-0.6c0.3-0.1%2C0.8-0.2%2C1.2-0.2%0A%09%09c0.5%2C0%2C0.9%2C0.1%2C1.2%2C0.3c0.3%2C0.2%2C0.7%2C0.4%2C0.9%2C0.8s0.5%2C0.7%2C0.6%2C1.2S15%2C94.8%2C15%2C95.4z%20M13.1%2C94.4c0-0.2%2C0-0.4-0.1-0.6%0A%09%09c-0.1-0.2-0.1-0.4-0.2-0.5c-0.1-0.1-0.2-0.2-0.4-0.3c-0.2-0.1-0.3-0.1-0.5-0.1c-0.2%2C0-0.3%2C0-0.4%2C0.1s-0.3%2C0.2-0.3%2C0.3%0A%09%09c0%2C0.1-0.2%2C0.3-0.2%2C0.4c0%2C0.1-0.1%2C0.4-0.1%2C0.6c0%2C0.2%2C0%2C0.4%2C0.1%2C0.6c0.1%2C0.2%2C0.1%2C0.3%2C0.2%2C0.4c0.1%2C0.1%2C0.2%2C0.2%2C0.4%2C0.3%0A%09%09c0.2%2C0.1%2C0.3%2C0.1%2C0.5%2C0.1c0.2%2C0%2C0.3%2C0%2C0.4-0.1s0.2-0.2%2C0.3-0.3c0.1-0.1%2C0.2-0.2%2C0.2-0.4C13%2C94.7%2C13.1%2C94.6%2C13.1%2C94.4z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%3E%0A%09%3Cpath%20fill%3D%22%23636363%22%20d%3D%22M176%2C99.7V98.1c0.6%2C0.4%2C1.2%2C0.602%2C2%2C0.602c0.5%2C0%2C0.8-0.102%2C1.1-0.301c0.301-0.199%2C0.4-0.5%2C0.4-0.801%0A%09%09c0-0.398-0.2-0.699-0.5-0.898c-0.3-0.2-0.8-0.301-1.3-0.301h-0.802V95h0.701c1.101%2C0%2C1.601-0.4%2C1.601-1.1c0-0.7-0.4-1-1.302-1%0A%09%09c-0.6%2C0-1.1%2C0.2-1.6%2C0.5v-1.5c0.6-0.3%2C1.301-0.4%2C2.1-0.4c0.9%2C0%2C1.5%2C0.2%2C2%2C0.6s0.701%2C0.9%2C0.701%2C1.5c0%2C1.1-0.601%2C1.8-1.701%2C2.1l0%2C0%0A%09%09c0.602%2C0.1%2C1.102%2C0.3%2C1.4%2C0.6s0.5%2C0.8%2C0.5%2C1.3c0%2C0.801-0.3%2C1.4-0.9%2C1.9c-0.6%2C0.5-1.398%2C0.7-2.398%2C0.7%0A%09%09C177.2%2C100.1%2C176.5%2C100%2C176%2C99.7z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%3E%0A%09%3Cpath%20fill%3D%22%23636363%22%20d%3D%22M98.5%2C179.102c0%2C0.398-0.1%2C0.799-0.2%2C1.199C98.2%2C180.7%2C98%2C181%2C97.7%2C181.2s-0.601%2C0.5-0.9%2C0.601%0A%09%09c-0.3%2C0.1-0.7%2C0.199-1.2%2C0.199c-0.5%2C0-0.9-0.1-1.3-0.3c-0.4-0.2-0.7-0.399-0.9-0.8c-0.2-0.4-0.5-0.7-0.6-1.2%0A%09%09c-0.1-0.5-0.2-1-0.2-1.601c0-0.699%2C0.1-1.399%2C0.3-2c0.2-0.601%2C0.4-1.101%2C0.8-1.5c0.4-0.399%2C0.7-0.699%2C1.2-1c0.5-0.3%2C1-0.3%2C1.6-0.3%0A%09%09c0.6%2C0%2C1.2%2C0.101%2C1.5%2C0.199v1.5c-0.4-0.199-0.9-0.399-1.4-0.399c-0.3%2C0-0.6%2C0.101-0.8%2C0.2c-0.2%2C0.101-0.5%2C0.3-0.7%2C0.5%0A%09%09c-0.2%2C0.199-0.3%2C0.5-0.4%2C0.8c-0.1%2C0.301-0.2%2C0.7-0.2%2C1.101l0%2C0c0.4-0.601%2C1-0.8%2C1.8-0.8c0.3%2C0%2C0.7%2C0.1%2C0.9%2C0.199%0A%09%09c0.2%2C0.101%2C0.5%2C0.301%2C0.7%2C0.5c0.199%2C0.2%2C0.398%2C0.5%2C0.5%2C0.801C98.5%2C178.2%2C98.5%2C178.7%2C98.5%2C179.102z%20M96.7%2C179.2%0A%09%09c0-0.899-0.4-1.399-1.1-1.399c-0.2%2C0-0.3%2C0-0.5%2C0.1c-0.2%2C0.101-0.3%2C0.201-0.4%2C0.301c-0.1%2C0.101-0.2%2C0.199-0.2%2C0.4%0A%09%09c0%2C0.199-0.1%2C0.299-0.1%2C0.5c0%2C0.199%2C0%2C0.398%2C0.1%2C0.6s0.1%2C0.3%2C0.2%2C0.5c0.1%2C0.199%2C0.2%2C0.199%2C0.4%2C0.3c0.2%2C0.101%2C0.3%2C0.101%2C0.5%2C0.101%0A%09%09c0.2%2C0%2C0.3%2C0%2C0.5-0.101c0.2-0.101%2C0.301-0.199%2C0.301-0.3c0-0.1%2C0.199-0.301%2C0.199-0.399C96.6%2C179.7%2C96.7%2C179.4%2C96.7%2C179.2z%22%2F%3E%0A%3C%2Fg%3E%0A%3Ccircle%20fill%3D%22%23636363%22%20cx%3D%2295%22%20cy%3D%2295%22%20r%3D%227%22%2F%3E%0A%3C%2Fsvg%3E%0A") 50% 50%/191px no-repeat; +} + +.strange { + background: url(file:///webpack/public/path/img.png); +} + +.my-background { + background-image: url(file:///webpack/public/path/img.png); +} + +.class { + background: url(file:///webpack/public/path/img.png, 'foo', './img.png', url('./img.png')); + background-image: image-set(url(file:///webpack/public/path/img.png, 'foo', './img.png', url('./img.png')) 1x, url(file:///webpack/public/path/img2x.png) 2x); +} + +.button { + background-image: url('data:image/svg+xml;utf8,'); +} + +/* We need to use \`resourceQuery: /inline/\` */ +/* Hard to test on webpack v4 */ +.qqq { + background: url(file:///webpack/public/path/custom-img.png) +} + +.class { + background: url(file:///webpack/public/path/img.png); +} + +.class { + background: url(file:///webpack/public/path/img.png); +} + +/** Prefer relative **/ +.class { + background: url(file:///webpack/public/path/img.png); +} + +/** Prefer from modules **/ +.class { + background: url(file:///webpack/public/path/other.png); +} + +.class { + background: url(file:///webpack/public/path/img.png); +} + +.foo { + background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23343a40%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27M2 5l6 6 6-6%27/%3e%3c/svg%3e"); +} + +.bar { + background-image: url("data:image/svg+xml;utf8,"); +} +", +} +`; + +exports[`'exportType' option should work with 'css-style-sheet' value and urls: warnings 1`] = ` +[ + "ModuleWarning: Module Warning (from \`replaced original path\`): +(120:3) from "postcss-url-parser" plugin: Unable to find uri in 'background: green url() xyz' + +Code: + background: green url() xyz +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(124:3) from "postcss-url-parser" plugin: Unable to find uri in 'background: green url('') xyz' + +Code: + background: green url('') xyz +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(128:3) from "postcss-url-parser" plugin: Unable to find uri in 'background: green url("") xyz' + +Code: + background: green url("") xyz +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(132:3) from "postcss-url-parser" plugin: Unable to find uri in 'background: green url(' ') xyz' + +Code: + background: green url(' ') xyz +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(136:3) from "postcss-url-parser" plugin: Unable to find uri in 'background: green url( + ) xyz' + +Code: + background: green url( + ) xyz +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(216:3) from "postcss-url-parser" plugin: Unable to find uri in 'background-image: -webkit-image-set('')' + +Code: + background-image: -webkit-image-set('') +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(218:3) from "postcss-url-parser" plugin: Unable to find uri in 'background-image: image-set('')' + +Code: + background-image: image-set('') +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(219:3) from "postcss-url-parser" plugin: Unable to find uri in 'background-image: image-set("")' + +Code: + background-image: image-set("") +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(220:3) from "postcss-url-parser" plugin: Unable to find uri in 'background-image: image-set("" 1x)' + +Code: + background-image: image-set("" 1x) +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(221:3) from "postcss-url-parser" plugin: Unable to find uri in 'background-image: image-set(url())' + +Code: + background-image: image-set(url()) +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(222:3) from "postcss-url-parser" plugin: Unable to find uri in 'background-image: image-set( + url() + )' + +Code: + background-image: image-set( + url() + ) +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(225:3) from "postcss-url-parser" plugin: Unable to find uri in 'background-image: image-set(URL())' + +Code: + background-image: image-set(URL()) +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(226:3) from "postcss-url-parser" plugin: Unable to find uri in 'background-image: image-set(url(''))' + +Code: + background-image: image-set(url('')) +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(227:3) from "postcss-url-parser" plugin: Unable to find uri in 'background-image: image-set(url(""))' + +Code: + background-image: image-set(url("")) +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(228:3) from "postcss-url-parser" plugin: Unable to find uri in 'background-image: image-set(url('') 1x)' + +Code: + background-image: image-set(url('') 1x) +", +] +`; + +exports[`'exportType' option should work with 'css-style-sheet' value and with 'sass-loader': errors 1`] = `[]`; + +exports[`'exportType' option should work with 'css-style-sheet' value and with 'sass-loader': module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`body { + font: 100% Helvetica, sans-serif; + color: #333; +}\`, ""]); +// Exports +var ___CSS_LOADER_STYLE_SHEET___ = new CSSStyleSheet(); +___CSS_LOADER_STYLE_SHEET___.replaceSync(___CSS_LOADER_EXPORT___.toString()); +export default ___CSS_LOADER_STYLE_SHEET___; +" +`; + +exports[`'exportType' option should work with 'css-style-sheet' value and with 'sass-loader': result 1`] = ` +CSSStyleSheet { + "text": "body { + font: 100% Helvetica, sans-serif; + color: #333; +}", +} +`; + +exports[`'exportType' option should work with 'css-style-sheet' value and with 'sass-loader': warnings 1`] = ` +[ + "ModuleWarning: Module Warning (from \`replaced original path\`): +Deprecation The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0. + +More info: https://sass-lang.com/d/legacy-js-api", +] +`; + +exports[`'exportType' option should work with 'css-style-sheet' value: errors 1`] = `[]`; + +exports[`'exportType' option should work with 'css-style-sheet' value: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../src/runtime/api.js"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./url/img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_1___ = new URL("data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@charset "UTF-8"; + +/* Comment */ + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class-duplicate-url { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\\\+ { a: b c d; } + +.class { content: "\\\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\\\2193"; + content: "\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193"; + content: "\\\\2193\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193 \\\\2193"; +} + +.-top {} +.\\\\-top {} + +#\\\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\\\-middle { + align-items: center; +} +.grid.\\\\-bottom { + align-items: flex-end; +} + +.u-m\\\\00002b {} + +.u-m00002b {} + +#u-m\\\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\\\e901'; +} + +.myStyle { + content: '\\\\E901'; +} + +.♫ {} + +.\\\\3A \\\\\\\`\\\\( {} /* matches elements with class=":\\\`(" */ +.\\\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\\\2014\\\\A0"; + content: "\\\\2014 \\\\A0"; + content: "\\\\A0 \\\\2014"; + content: "\\\\A0\\\\2014"; + margin-top: 1px\\\\9; + background-color: #000\\\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_1___}); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +\`, ""]); +// Exports +var ___CSS_LOADER_STYLE_SHEET___ = new CSSStyleSheet(); +___CSS_LOADER_STYLE_SHEET___.replaceSync(___CSS_LOADER_EXPORT___.toString()); +export default ___CSS_LOADER_STYLE_SHEET___; +" +`; + +exports[`'exportType' option should work with 'css-style-sheet' value: result 1`] = ` +CSSStyleSheet { + "text": "@charset "UTF-8"; + +/* Comment */ + +.class { + color: red; + background: url(file:///webpack/public/path/img.png); +} + +.class-duplicate-url { + background: url(file:///webpack/public/path/img.png); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\+ { a: b c d; } + +.class { content: "\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\2193"; + content: "\\2193\\2193"; + content: "\\2193 \\2193"; + content: "\\2193\\2193\\2193"; + content: "\\2193 \\2193 \\2193"; +} + +.-top {} +.\\-top {} + +#\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\-middle { + align-items: center; +} +.grid.\\-bottom { + align-items: flex-end; +} + +.u-m\\00002b {} + +.u-m00002b {} + +#u-m\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\e901'; +} + +.myStyle { + content: '\\E901'; +} + +.♫ {} + +.\\3A \\\`\\( {} /* matches elements with class=":\`(" */ +.\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\2014\\A0"; + content: "\\2014 \\A0"; + content: "\\A0 \\2014"; + content: "\\A0\\2014"; + margin-top: 1px\\9; + background-color: #000\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +", +} +`; + +exports[`'exportType' option should work with 'css-style-sheet' value: warnings 1`] = `[]`; + +exports[`'exportType' option should work with 'string' value and CSS modules: errors 1`] = `[]`; + +exports[`'exportType' option should work with 'string' value and CSS modules: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.dvYI1gdIOPlJqjwAWOo8 { + color: red; +} +\`, ""]); +// Exports +var _1 = \`dvYI1gdIOPlJqjwAWOo8\`; +export { _1 as "some-class" }; +export default ___CSS_LOADER_EXPORT___.toString(); +" +`; + +exports[`'exportType' option should work with 'string' value and CSS modules: result 1`] = ` +{ + "css": ".dvYI1gdIOPlJqjwAWOo8 { + color: red; +} +", + "locals": { + "someClass": "dvYI1gdIOPlJqjwAWOo8", + }, +} +`; + +exports[`'exportType' option should work with 'string' value and CSS modules: warnings 1`] = `[]`; + +exports[`'exportType' option should work with 'string' value and generate source maps: errors 1`] = `[]`; + +exports[`'exportType' option should work with 'string' value and generate source maps: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from "../../src/runtime/sourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../src/runtime/api.js"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./url/img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_1___ = new URL("data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@charset "UTF-8"; + +/* Comment */ + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class-duplicate-url { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\\\+ { a: b c d; } + +.class { content: "\\\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\\\2193"; + content: "\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193"; + content: "\\\\2193\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193 \\\\2193"; +} + +.-top {} +.\\\\-top {} + +#\\\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\\\-middle { + align-items: center; +} +.grid.\\\\-bottom { + align-items: flex-end; +} + +.u-m\\\\00002b {} + +.u-m00002b {} + +#u-m\\\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\\\e901'; +} + +.myStyle { + content: '\\\\E901'; +} + +.♫ {} + +.\\\\3A \\\\\\\`\\\\( {} /* matches elements with class=":\\\`(" */ +.\\\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\\\2014\\\\A0"; + content: "\\\\2014 \\\\A0"; + content: "\\\\A0 \\\\2014"; + content: "\\\\A0\\\\2014"; + margin-top: 1px\\\\9; + background-color: #000\\\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_1___}); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +\`, "",{"version":3,"sources":["webpack://./basic-css-style-sheet.css"],"names":[],"mappings":"AAAA,gBAAgB;;AAEhB,YAAY;;AAEZ;EACE,UAAU;EACV,mDAAgC;AAClC;;AAEA;EACE,mDAAgC;AAClC;;AAEA;EACE,UAAU;EACV,UAAU;AACZ;;AAEA,SAAS,QAAQ,EAAE;;AAEnB,MAAM;;AAEN,SAAS,QAAQ,EAAE;;AAEnB,SAAS,iBAAiB;;AAE1B;EACE;IACE,2BAA2B;EAC7B;AACF;;AAEA;EACE,gBAAgB;EAChB,qBAAqB;EACrB,sBAAsB;EACtB,0BAA0B;EAC1B,4BAA4B;AAC9B;;AAEA,OAAO;AACP,QAAQ;;AAER,SAAS;;AAET;EACE,aAAa;EACb,eAAe;AACjB;AACA;EACE,uBAAuB;AACzB;AACA;EACE,uBAAuB;AACzB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,qBAAqB;AACvB;;AAEA,aAAa;;AAEb,YAAY;;AAEZ,QAAQ;;AAER;EACE,mBAAmB,EAAE,2BAA2B;AAClD;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,gBAAgB;AAClB;;AAEA,IAAI;;AAEJ,WAAW,EAAE,sCAAsC;AACnD,YAAY,EAAE,yCAAyC;AACvD,YAAY,EAAE,2CAA2C;AACzD,UAAU,EAAE,0CAA0C;AACtD,IAAI,EAAE,oCAAoC;;AAE1C;EACE,qBAAqB;EACrB;;;;;;;;;;GAUC;AACH;;AAEA;EACE,mBAAmB;EACnB,oBAAoB;EACpB,oBAAoB;EACpB,mBAAmB;EACnB,iBAAiB;EACjB,wBAAwB;AAC1B;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,mDAAq1B;AACv1B;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,WAAW;AACb","sourcesContent":["@charset \\"UTF-8\\";\\n\\n/* Comment */\\n\\n.class {\\n color: red;\\n background: url(\\"./url/img.png\\");\\n}\\n\\n.class-duplicate-url {\\n background: url(\\"./url/img.png\\");\\n}\\n\\n:root {\\n --foo: 1px;\\n --bar: 2px;\\n}\\n\\n.class { a: b c d; }\\n\\n.two {}\\n\\n.u-m\\\\+ { a: b c d; }\\n\\n.class { content: \\"\\\\F10C\\" }\\n\\n@media only screen and (max-width: 600px) {\\n body {\\n background-color: lightblue;\\n }\\n}\\n\\n.class {\\n content: \\"\\\\2193\\";\\n content: \\"\\\\2193\\\\2193\\";\\n content: \\"\\\\2193 \\\\2193\\";\\n content: \\"\\\\2193\\\\2193\\\\2193\\";\\n content: \\"\\\\2193 \\\\2193 \\\\2193\\";\\n}\\n\\n.-top {}\\n.\\\\-top {}\\n\\n#\\\\#test {}\\n\\n.grid {\\n display: flex;\\n flex-wrap: wrap;\\n}\\n.grid.\\\\-top {\\n align-items: flex-start;\\n}\\n.grid.-top {\\n align-items: flex-start;\\n}\\n.grid.\\\\-middle {\\n align-items: center;\\n}\\n.grid.\\\\-bottom {\\n align-items: flex-end;\\n}\\n\\n.u-m\\\\00002b {}\\n\\n.u-m00002b {}\\n\\n#u-m\\\\+ {}\\n\\nbody {\\n font-family: '微软雅黑'; /* some chinese font name */\\n}\\n\\n.myStyle {\\n content: '\\\\e901';\\n}\\n\\n.myStyle {\\n content: '\\\\E901';\\n}\\n\\n.♫ {}\\n\\n.\\\\3A \\\\\`\\\\( {} /* matches elements with class=\\":\`(\\" */\\n.\\\\31 a2b3c {} /* matches elements with class=\\"1a2b3c\\" */\\n#\\\\#fake-id {} /* matches the element with id=\\"#fake-id\\" */\\n#-a-b-c- {} /* matches the element with id=\\"-a-b-c-\\" */\\n#© {} /* matches the element with id=\\"©\\" */\\n\\n:root {\\n --title-align: center;\\n --sr-only: {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0,0,0,0);\\n white-space: nowrap;\\n clip-path: inset(50%);\\n border: 0;\\n };\\n}\\n\\n.test {\\n content: \\"\\\\2014\\\\A0\\";\\n content: \\"\\\\2014 \\\\A0\\";\\n content: \\"\\\\A0 \\\\2014\\";\\n content: \\"\\\\A0\\\\2014\\";\\n margin-top: 1px\\\\9;\\n background-color: #000\\\\9;\\n}\\n\\n.light.on .bulb:before{\\n content: '💡';\\n}\\n\\n.base64 {\\n background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\n}\\n\\na[href=''] {\\n color: red;\\n}\\n\\na[href='' i] {\\n color: red;\\n}\\n\\na[href=\\"\\"] {\\n color: blue;\\n}\\n\\na[href=\\"\\" i] {\\n color: blue;\\n}\\n"],"sourceRoot":""}]); +// Exports +export default ___CSS_LOADER_EXPORT___.toString(); +" +`; + +exports[`'exportType' option should work with 'string' value and generate source maps: result 1`] = ` +"@charset "UTF-8"; + +/* Comment */ + +.class { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} + +.class-duplicate-url { + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\+ { a: b c d; } + +.class { content: "\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\2193"; + content: "\\2193\\2193"; + content: "\\2193 \\2193"; + content: "\\2193\\2193\\2193"; + content: "\\2193 \\2193 \\2193"; +} + +.-top {} +.\\-top {} + +#\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\-middle { + align-items: center; +} +.grid.\\-bottom { + align-items: flex-end; +} + +.u-m\\00002b {} + +.u-m00002b {} + +#u-m\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\e901'; +} + +.myStyle { + content: '\\E901'; +} + +.♫ {} + +.\\3A \\\`\\( {} /* matches elements with class=":\`(" */ +.\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\2014\\A0"; + content: "\\2014 \\A0"; + content: "\\A0 \\2014"; + content: "\\A0\\2014"; + margin-top: 1px\\9; + background-color: #000\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} + +/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL2Jhc2ljLWNzcy1zdHlsZS1zaGVldC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCOztBQUVoQixZQUFZOztBQUVaO0VBQ0UsVUFBVTtFQUNWLG1EQUFnQztBQUNsQzs7QUFFQTtFQUNFLG1EQUFnQztBQUNsQzs7QUFFQTtFQUNFLFVBQVU7RUFDVixVQUFVO0FBQ1o7O0FBRUEsU0FBUyxRQUFRLEVBQUU7O0FBRW5CLE1BQU07O0FBRU4sU0FBUyxRQUFRLEVBQUU7O0FBRW5CLFNBQVMsaUJBQWlCOztBQUUxQjtFQUNFO0lBQ0UsMkJBQTJCO0VBQzdCO0FBQ0Y7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUN0QiwwQkFBMEI7RUFDMUIsNEJBQTRCO0FBQzlCOztBQUVBLE9BQU87QUFDUCxRQUFROztBQUVSLFNBQVM7O0FBRVQ7RUFDRSxhQUFhO0VBQ2IsZUFBZTtBQUNqQjtBQUNBO0VBQ0UsdUJBQXVCO0FBQ3pCO0FBQ0E7RUFDRSx1QkFBdUI7QUFDekI7QUFDQTtFQUNFLG1CQUFtQjtBQUNyQjtBQUNBO0VBQ0UscUJBQXFCO0FBQ3ZCOztBQUVBLGFBQWE7O0FBRWIsWUFBWTs7QUFFWixRQUFROztBQUVSO0VBQ0UsbUJBQW1CLEVBQUUsMkJBQTJCO0FBQ2xEOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUVBLElBQUk7O0FBRUosV0FBVyxFQUFFLHNDQUFzQztBQUNuRCxZQUFZLEVBQUUseUNBQXlDO0FBQ3ZELFlBQVksRUFBRSwyQ0FBMkM7QUFDekQsVUFBVSxFQUFFLDBDQUEwQztBQUN0RCxJQUFJLEVBQUUsb0NBQW9DOztBQUUxQztFQUNFLHFCQUFxQjtFQUNyQjs7Ozs7Ozs7OztHQVVDO0FBQ0g7O0FBRUE7RUFDRSxtQkFBbUI7RUFDbkIsb0JBQW9CO0VBQ3BCLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsaUJBQWlCO0VBQ2pCLHdCQUF3QjtBQUMxQjs7QUFFQTtFQUNFLGFBQWE7QUFDZjs7QUFFQTtFQUNFLG1EQUFxMUI7QUFDdjFCOztBQUVBO0VBQ0UsVUFBVTtBQUNaOztBQUVBO0VBQ0UsVUFBVTtBQUNaOztBQUVBO0VBQ0UsV0FBVztBQUNiOztBQUVBO0VBQ0UsV0FBVztBQUNiIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vKiBDb21tZW50ICovXG5cbi5jbGFzcyB7XG4gIGNvbG9yOiByZWQ7XG4gIGJhY2tncm91bmQ6IHVybChcIi4vdXJsL2ltZy5wbmdcIik7XG59XG5cbi5jbGFzcy1kdXBsaWNhdGUtdXJsIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi91cmwvaW1nLnBuZ1wiKTtcbn1cblxuOnJvb3Qge1xuICAtLWZvbzogMXB4O1xuICAtLWJhcjogMnB4O1xufVxuXG4uY2xhc3MgeyBhOiBiIGMgZDsgfVxuXG4udHdvIHt9XG5cbi51LW1cXCsgeyBhOiBiIGMgZDsgfVxuXG4uY2xhc3MgeyBjb250ZW50OiBcIlxcRjEwQ1wiIH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICBib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGJsdWU7XG4gIH1cbn1cblxuLmNsYXNzIHtcbiAgY29udGVudDogXCJcXDIxOTNcIjtcbiAgY29udGVudDogXCJcXDIxOTNcXDIxOTNcIjtcbiAgY29udGVudDogXCJcXDIxOTMgXFwyMTkzXCI7XG4gIGNvbnRlbnQ6IFwiXFwyMTkzXFwyMTkzXFwyMTkzXCI7XG4gIGNvbnRlbnQ6IFwiXFwyMTkzIFxcMjE5MyBcXDIxOTNcIjtcbn1cblxuLi10b3Age31cbi5cXC10b3Age31cblxuI1xcI3Rlc3Qge31cblxuLmdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uZ3JpZC5cXC10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cbi5ncmlkLi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cbi5ncmlkLlxcLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uZ3JpZC5cXC1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi51LW1cXDAwMDAyYiB7fVxuXG4udS1tMDAwMDJiIHt9XG5cbiN1LW1cXCsge31cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiAnw6XCvsKuw6jCvcKvw6nCm8KFw6nCu8KRJzsgLyogc29tZSBjaGluZXNlIGZvbnQgbmFtZSAqL1xufVxuXG4ubXlTdHlsZSB7XG4gIGNvbnRlbnQ6ICdcXGU5MDEnO1xufVxuXG4ubXlTdHlsZSB7XG4gIGNvbnRlbnQ6ICdcXEU5MDEnO1xufVxuXG4uw6LCmcKrIHt9XG5cbi5cXDNBIFxcYFxcKCB7fSAvKiBtYXRjaGVzIGVsZW1lbnRzIHdpdGggY2xhc3M9XCI6YChcIiAqL1xuLlxcMzEgYTJiM2Mge30gLyogbWF0Y2hlcyBlbGVtZW50cyB3aXRoIGNsYXNzPVwiMWEyYjNjXCIgKi9cbiNcXCNmYWtlLWlkIHt9IC8qIG1hdGNoZXMgdGhlIGVsZW1lbnQgd2l0aCBpZD1cIiNmYWtlLWlkXCIgKi9cbiMtYS1iLWMtIHt9IC8qIG1hdGNoZXMgdGhlIGVsZW1lbnQgd2l0aCBpZD1cIi1hLWItYy1cIiAqL1xuI8OCwqkge30gLyogbWF0Y2hlcyB0aGUgZWxlbWVudCB3aXRoIGlkPVwiw4LCqVwiICovXG5cbjpyb290IHtcbiAgLS10aXRsZS1hbGlnbjogY2VudGVyO1xuICAtLXNyLW9ubHk6IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgICBib3JkZXI6IDA7XG4gIH07XG59XG5cbi50ZXN0IHtcbiAgY29udGVudDogXCJcXDIwMTRcXEEwXCI7XG4gIGNvbnRlbnQ6IFwiXFwyMDE0IFxcQTBcIjtcbiAgY29udGVudDogXCJcXEEwIFxcMjAxNFwiO1xuICBjb250ZW50OiBcIlxcQTBcXDIwMTRcIjtcbiAgbWFyZ2luLXRvcDogMXB4XFw5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwXFw5O1xufVxuXG4ubGlnaHQub24gLmJ1bGI6YmVmb3Jle1xuICBjb250ZW50OiAnw7DCn8KSwqEnO1xufVxuXG4uYmFzZTY0IHtcbiAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1nL2pwZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQVlDQVlBQUFEZ2R6MzRBQUFBQVhOU1IwSUFyczRjNlFBQUFoeEpSRUZVU0EzdGs3MXJVMUVZeG5NVEVvSlVrb3dXd2RKMmFrRUhCZkdqQ2lJRjZaeWxWVUtTbTJUcVpMR0krQS9vSXUyVVhtOEM0bEF5RjRTV2ppMHRkRkxvMUVvN1ZOMFNhQkVoSDdlL056MG5QVGZHT2ppYUN5ZlBjNTczNHpsZkNRVDZYLzhFL3ZVRXJMODFLQmFMOXkzTFNudWVkNVBjSVRqVU93UjNnc0ZnMmJidGpZdDYvTkdnWEM0UDFldDFsMmFQTG1wQWJEMFNpZGpwZFBxZ1YxNVBBOWQxN3pRYWpVOFV4SFFSSy80RzM1UTVwdmVBSzhMbEkxWmpQTW5sY2x0bnl2bnZid2FPNDF4dnRWcXk3WUh6dE1BQ3E1eG5sYjlFWTNkUmR2Y0dvMWtqNXdSK3QxQW9mREcwZ00rQTg3NUU4RE5qUkNleHNyVjhQajlacVZRaXRWcnRxZWp4ZVB4ak1wbXNzNWhWVEI0YnVYdk1iMkR5VTJ0QlRSUytCanZObFZZVXBQbDdpdVZPM0dxMXVvUXgxRnRTT1cxZ1BncDVaV3JkQnRObVVEZ3Y1YXNneFE4RjFhZjV2aFkwWWp5anVXQzN3VHN6S0p6N0dCT2tjRmxRZlcyT05xNEZqV2krSGo2RFJDS3hRT0syVGxZNHg5MkV1WWQ1ZHZNQWJZSXpmaWthdTNwdTV0SjhLeGFMTGZvMGN5S2NpN3RLNFRaalVNY29YQW1Id3psZTBRL1JhQzVQMUdGTXlWeDlSOUZvOUhZcWxUclNncUR2RmVsQXFWUWE1aG11TVIvV0d0akFhQmRqd0JvRFEwWnNud1ZNWmpLWjluMFplbThEU2VEUGRyblpiTDZGMmwzTk92VVlOWms0b1ZEb1JUYWJQZTRFRE5KekIwWmNqQVl4ZW9aMmkzRk54UTdCSFl3L2NCL2ZsZGFILy9VRVRnSEhPOFM0NEtiZlhnQUFBQUJKUlU1RXJrSmdnZz09KTtcbn1cblxuYVtocmVmPScnXSB7XG4gIGNvbG9yOiByZWQ7XG59XG5cbmFbaHJlZj0nJyBpXSB7XG4gIGNvbG9yOiByZWQ7XG59XG5cbmFbaHJlZj1cIlwiXSB7XG4gIGNvbG9yOiBibHVlO1xufVxuXG5hW2hyZWY9XCJcIiBpXSB7XG4gIGNvbG9yOiBibHVlO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ== */" +`; + +exports[`'exportType' option should work with 'string' value and generate source maps: warnings 1`] = `[]`; + +exports[`'exportType' option should work with 'string' value: errors 1`] = `[]`; + +exports[`'exportType' option should work with 'string' value: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../src/runtime/api.js"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./url/img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_1___ = new URL("data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@charset "UTF-8"; + +/* Comment */ + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class-duplicate-url { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\\\+ { a: b c d; } + +.class { content: "\\\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\\\2193"; + content: "\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193"; + content: "\\\\2193\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193 \\\\2193"; +} + +.-top {} +.\\\\-top {} + +#\\\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\\\-middle { + align-items: center; +} +.grid.\\\\-bottom { + align-items: flex-end; +} + +.u-m\\\\00002b {} + +.u-m00002b {} + +#u-m\\\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\\\e901'; +} + +.myStyle { + content: '\\\\E901'; +} + +.♫ {} + +.\\\\3A \\\\\\\`\\\\( {} /* matches elements with class=":\\\`(" */ +.\\\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\\\2014\\\\A0"; + content: "\\\\2014 \\\\A0"; + content: "\\\\A0 \\\\2014"; + content: "\\\\A0\\\\2014"; + margin-top: 1px\\\\9; + background-color: #000\\\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_1___}); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___.toString(); +" +`; + +exports[`'exportType' option should work with 'string' value: result 1`] = ` +"@charset "UTF-8"; + +/* Comment */ + +.class { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} + +.class-duplicate-url { + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\+ { a: b c d; } + +.class { content: "\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\2193"; + content: "\\2193\\2193"; + content: "\\2193 \\2193"; + content: "\\2193\\2193\\2193"; + content: "\\2193 \\2193 \\2193"; +} + +.-top {} +.\\-top {} + +#\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\-middle { + align-items: center; +} +.grid.\\-bottom { + align-items: flex-end; +} + +.u-m\\00002b {} + +.u-m00002b {} + +#u-m\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\e901'; +} + +.myStyle { + content: '\\E901'; +} + +.♫ {} + +.\\3A \\\`\\( {} /* matches elements with class=":\`(" */ +.\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\2014\\A0"; + content: "\\2014 \\A0"; + content: "\\A0 \\2014"; + content: "\\A0\\2014"; + margin-top: 1px\\9; + background-color: #000\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +" +`; + +exports[`'exportType' option should work with 'string' value: warnings 1`] = `[]`; + +exports[`'exportType' option should work with CSS modules and the 'exportOnlyLocals' option: errors 1`] = `[]`; + +exports[`'exportType' option should work with CSS modules and the 'exportOnlyLocals' option: module 1`] = ` +"// Imports +import * as ___CSS_LOADER_ICSS_IMPORT_0____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./values.css"; +import * as ___CSS_LOADER_ICSS_IMPORT_1____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css"; +import * as ___CSS_LOADER_ICSS_IMPORT_2____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./imported-simple.css"; +import * as ___CSS_LOADER_ICSS_IMPORT_3____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./relative.css"; +import * as ___CSS_LOADER_ICSS_IMPORT_4____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./top-relative.css"; +import * as ___CSS_LOADER_ICSS_IMPORT_5____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!../issue-861/node_modules/package/style.css"; +import * as ___CSS_LOADER_ICSS_IMPORT_6____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./alias.css"; +import * as ___CSS_LOADER_ICSS_IMPORT_7____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!sass-loader!./scss-file.scss"; +// Exports +var _1 = \`\${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["v-def"]}\`; +export { _1 as "v-def" }; +var _2 = \`\${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["v-other"]}\`; +export { _2 as "v-other" }; +var _3 = \`\${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["s-white"]}\`; +export { _3 as "s-white" }; +var _4 = \`\${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["m-small"]}\`; +export { _4 as "m-small" }; +var _5 = \`\${___CSS_LOADER_ICSS_IMPORT_1____NAMED___["v-something"]}\`; +export { _5 as "v-something" }; +var _6 = \`blue\`; +export { _6 as "v-foo" }; +var _7 = \`block\`; +export { _7 as "v-bar" }; +var _8 = \`#BF4040\`; +export { _8 as "v-primary" }; +var _9 = \`black-selector\`; +export { _9 as "s-black" }; +var _a = \`(min-width: 960px)\`; +export { _a as "m-large" }; +var _b = \`validIdent\`; +export { _b as "v-ident" }; +var _c = \`left\`; +export { _c as "v-pre-defined-ident" }; +var _d = \`'content'\`; +export { _d as "v-string" }; +var _e = \`''\`; +export { _e as "v-string-1" }; +var _f = \`url(https://www.exammple.com/images/my-background.png)\`; +export { _f as "v-url" }; +var _10 = \`url('https://www.exammple.com/images/my-background.png')\`; +export { _10 as "v-url-1" }; +var _11 = \`url("https://www.exammple.com/images/my-background.png")\`; +export { _11 as "v-url-2" }; +var _12 = \`100\`; +export { _12 as "v-integer" }; +var _13 = \`-100\`; +export { _13 as "v-integer-1" }; +var _14 = \`+100\`; +export { _14 as "v-integer-2" }; +var _15 = \`.60\`; +export { _15 as "v-number" }; +var _16 = \`-456.8\`; +export { _16 as "v-number-1" }; +var _17 = \`-3.4e-2\`; +export { _17 as "v-number-2" }; +var _18 = \`12px\`; +export { _18 as "v-dimension" }; +var _19 = \`100%\`; +export { _19 as "v-percentage" }; +var _1a = \`#fff\`; +export { _1a as "v-hex" }; +var _1b = \` /* comment */\`; +export { _1b as "v-comment" }; +var _1c = \`rgb(0,0,0)\`; +export { _1c as "v-function" }; +var _1d = \`U+0025-00FF\`; +export { _1d as "v-unicode-range" }; +export var ghi = \`ozGmfTedr1GnFJDWqNUH\`; +var _1e = \`zchqshjqLbPAHaRvIBET\`; +export { _1e as "my-class" }; +export var other = \`WZBxXqS2GytaA3IBhhnd\`; +var _1f = \`W51zcAMuJMsNFi1CXgWr\`; +export { _1f as "other-other" }; +export var green = \`KEl5ZxzNkpjfWorrBglC\`; +export var foo = \`ecAEWh2vww9pNEdyj9Jn\`; +export var simple = \`CBlowYk8qiAgWWzFeXRA \${___CSS_LOADER_ICSS_IMPORT_2____NAMED___["imported-simple"]}\`; +export var relative = \`c_NHnDcX1bd_kuxgsuYi \${___CSS_LOADER_ICSS_IMPORT_3____NAMED___["imported-relative"]}\`; +var _20 = \`S0Kwou8pVmsENtBP3hYm \${___CSS_LOADER_ICSS_IMPORT_4____NAMED___["imported-relative"]}\`; +export { _20 as "top-relative" }; +var _21 = \`rq663Pq_zV0CjpwttvK4 \${___CSS_LOADER_ICSS_IMPORT_5____NAMED___["imported-module"]}\`; +export { _21 as "my-module" }; +export var alias = \`fadRMHArJofp7sWEbPVR \${___CSS_LOADER_ICSS_IMPORT_6____NAMED___["imported-alias"]}\`; +var _22 = \`sg1HlXqlWy6l6_Wm5iA7 \${___CSS_LOADER_ICSS_IMPORT_6____NAMED___["imported-alias"]}\`; +export { _22 as "alias-duplicate" }; +var _23 = \`bnRUswvicYag6u0SPnvI\`; +export { _23 as "primary-selector" }; +var _24 = \`kEJRwpukB2OtmkGTknbU\`; +export { _24 as "black-selector" }; +export var header = \`hY2PI5vC9ABuJY1nkWnf\`; +export var foobarbaz = \`q8mv0HutzqdsVWjl8mAz\`; +export var url = \`xajoqP1d3SwrjJ4WEM8g\`; +export var main = \`Ix5nEHiVOsWuWxdx0twz \${___CSS_LOADER_ICSS_IMPORT_7____NAMED___["scssClass"]}\`; +" +`; + +exports[`'exportType' option should work with CSS modules and the 'exportOnlyLocals' option: result 1`] = ` +{ + "named": { + "alias": "fadRMHArJofp7sWEbPVR dnhKs1AYKq4KodZdfzcx", + "alias-duplicate": "sg1HlXqlWy6l6_Wm5iA7 dnhKs1AYKq4KodZdfzcx", + "black-selector": "kEJRwpukB2OtmkGTknbU", + "foo": "ecAEWh2vww9pNEdyj9Jn", + "foobarbaz": "q8mv0HutzqdsVWjl8mAz", + "ghi": "ozGmfTedr1GnFJDWqNUH", + "green": "KEl5ZxzNkpjfWorrBglC", + "header": "hY2PI5vC9ABuJY1nkWnf", + "m-large": "(min-width: 960px)", + "m-small": "(min-width: 320px)", + "main": "Ix5nEHiVOsWuWxdx0twz oNU7JF6MtPAFrlrthaOD", + "my-class": "zchqshjqLbPAHaRvIBET", + "my-module": "rq663Pq_zV0CjpwttvK4 q49Ogfvno__tAgAiYJcD", + "other": "WZBxXqS2GytaA3IBhhnd", + "other-other": "W51zcAMuJMsNFi1CXgWr", + "primary-selector": "bnRUswvicYag6u0SPnvI", + "relative": "c_NHnDcX1bd_kuxgsuYi o0pMg4suYQOIzdBIQJv1", + "s-black": "black-selector", + "s-white": "white", + "simple": "CBlowYk8qiAgWWzFeXRA pCAAqHK9Lcplw9QM7Rj0", + "top-relative": "S0Kwou8pVmsENtBP3hYm l9CmW32NEl99tuNLdbzp", + "url": "xajoqP1d3SwrjJ4WEM8g", + "v-bar": "block", + "v-comment": " /* comment */", + "v-def": "red", + "v-dimension": "12px", + "v-foo": "blue", + "v-function": "rgb(0,0,0)", + "v-hex": "#fff", + "v-ident": "validIdent", + "v-integer": "100", + "v-integer-1": "-100", + "v-integer-2": "+100", + "v-number": ".60", + "v-number-1": "-456.8", + "v-number-2": "-3.4e-2", + "v-other": "green", + "v-percentage": "100%", + "v-pre-defined-ident": "left", + "v-primary": "#BF4040", + "v-something": "2112moon", + "v-string": "'content'", + "v-string-1": "''", + "v-unicode-range": "U+0025-00FF", + "v-url": "url(https://www.exammple.com/images/my-background.png)", + "v-url-1": "url('https://www.exammple.com/images/my-background.png')", + "v-url-2": "url("https://www.exammple.com/images/my-background.png")", + }, +} +`; + +exports[`'exportType' option should work with CSS modules and the 'exportOnlyLocals' option: warnings 1`] = ` +[ + "ModuleWarning: Module Warning (from \`replaced original path\`): +Deprecation The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0. + +More info: https://sass-lang.com/d/legacy-js-api", +] +`; diff --git a/test/__snapshots__/icss.test.js.snap b/test/__snapshots__/icss.test.js.snap deleted file mode 100644 index ff8f2468..00000000 --- a/test/__snapshots__/icss.test.js.snap +++ /dev/null @@ -1,227 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`ICSS case duplicate-export: errors 1`] = `Array []`; - -exports[`ICSS case duplicate-export: locals 1`] = ` -Object { - "_test": "_right_value", -} -`; - -exports[`ICSS case duplicate-export: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - " -", - "", - ], -] -`; - -exports[`ICSS case duplicate-export: warnings 1`] = `Array []`; - -exports[`ICSS case duplicate-export-in-multiple-export: errors 1`] = `Array []`; - -exports[`ICSS case duplicate-export-in-multiple-export: locals 1`] = ` -Object { - "_test": "_right_value", -} -`; - -exports[`ICSS case duplicate-export-in-multiple-export: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - " -", - "", - ], -] -`; - -exports[`ICSS case duplicate-export-in-multiple-export: warnings 1`] = `Array []`; - -exports[`ICSS case empty-export: errors 1`] = `Array []`; - -exports[`ICSS case empty-export: locals 1`] = `undefined`; - -exports[`ICSS case empty-export: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - " -", - "", - ], -] -`; - -exports[`ICSS case empty-export: warnings 1`] = `Array []`; - -exports[`ICSS case empty-import: errors 1`] = `Array []`; - -exports[`ICSS case empty-import: locals 1`] = `undefined`; - -exports[`ICSS case empty-import: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - " -", - "", - ], -] -`; - -exports[`ICSS case empty-import: warnings 1`] = `Array []`; - -exports[`ICSS case export: errors 1`] = `Array []`; - -exports[`ICSS case export: locals 1`] = ` -Object { - "_test": "_test", -} -`; - -exports[`ICSS case export: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - " -", - "", - ], -] -`; - -exports[`ICSS case export: warnings 1`] = `Array []`; - -exports[`ICSS case export-reserved-keywords: errors 1`] = `Array []`; - -exports[`ICSS case export-reserved-keywords: locals 1`] = ` -Object { - "constructor": "constructor", - "toString": "toString", -} -`; - -exports[`ICSS case export-reserved-keywords: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - " -", - "", - ], -] -`; - -exports[`ICSS case export-reserved-keywords: warnings 1`] = `Array []`; - -exports[`ICSS case import: errors 1`] = `Array []`; - -exports[`ICSS case import: locals 1`] = ` -Object { - "primary-color": "red", -} -`; - -exports[`ICSS case import: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - ".className { - color: red; -} -", - "", - ], -] -`; - -exports[`ICSS case import: warnings 1`] = `Array []`; - -exports[`ICSS case import-reserved-keywords: errors 1`] = `Array []`; - -exports[`ICSS case import-reserved-keywords: locals 1`] = ` -Object { - "primary-color": "red", - "secondary-color": "block", -} -`; - -exports[`ICSS case import-reserved-keywords: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - ".className { - color: red; - display: block; -} -", - "", - ], -] -`; - -exports[`ICSS case import-reserved-keywords: warnings 1`] = `Array []`; - -exports[`ICSS case multiple-export: errors 1`] = `Array []`; - -exports[`ICSS case multiple-export: locals 1`] = ` -Object { - "_foo": "_bar", - "_test": "_test", -} -`; - -exports[`ICSS case multiple-export: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - " -", - "", - ], -] -`; - -exports[`ICSS case multiple-export: warnings 1`] = `Array []`; - -exports[`ICSS case multiple-keys-values-in-export: errors 1`] = `Array []`; - -exports[`ICSS case multiple-keys-values-in-export: locals 1`] = ` -Object { - "_test": "_test", - "_test1": "1", - "_test2": "'string'", - "_test3": "1px 2px 3px", - "_test4": "1px 2px 3px, 1px 2px 3px", -} -`; - -exports[`ICSS case multiple-keys-values-in-export: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - " -", - "", - ], -] -`; - -exports[`ICSS case multiple-keys-values-in-export: warnings 1`] = `Array []`; diff --git a/test/__snapshots__/import-option.test.js.snap b/test/__snapshots__/import-option.test.js.snap index 6a66d66b..f0aa2ca8 100644 --- a/test/__snapshots__/import-option.test.js.snap +++ b/test/__snapshots__/import-option.test.js.snap @@ -1,172 +1,312 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`import option Function: errors 1`] = `Array []`; +exports[`"import" option should jeep order of imports with 'webpackIgnore': errors 1`] = `[]`; + +exports[`"import" option should jeep order of imports with 'webpackIgnore': module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(/assets/themes.css);"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`/*! /* webpackIgnore: true */ -exports[`import option Function: module (evaluated) 1`] = ` -Array [ - Array [ - 3, - "a { - b: b; +body { + background: red; +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"import" option should jeep order of imports with 'webpackIgnore': result 1`] = ` +"@import url(/assets/themes.css);.test { + a: a; +} +/*! /* webpackIgnore: true */ + +body { + background: red; +} +" +`; + +exports[`"import" option should jeep order of imports with 'webpackIgnore': warnings 1`] = `[]`; + +exports[`"import" option should keep original order: errors 1`] = `[]`; + +exports[`"import" option should keep original order: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./order-1.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_1___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./order-2.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_2___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./order-3.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_3___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./order-4.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css);"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css);"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css);"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___, "screen and (min-width: 2000px)"); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css);"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_2___); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css);"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_3___, "screen"); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`div { + width: 100%; + height: 200px; +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"import" option should keep original order: result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/order-1.css", + ".order-1 { + color: red; } ", - "((min-width: 100px)) and (screen and print)", + "", ], - Array [ - 2, - ".test { - c: c; + [ + "./import/order.css", + "@import url(http://example.com/style.css);", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/order-2.css", + ".order-2 { + color: red; } ", - "screen and print", + "", ], - Array [ - 1, + [ + "./import/order.css", "@import url(http://example.com/style.css);", ], - Array [ - 1, - "@import url(http://example.com/style.css#hash);", - ], - Array [ - 1, - "@import url(http://example.com/style.css?#hash);", + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/order-1.css", + ".order-1 { + color: red; +} +", + "", ], - Array [ - 1, - "@import url(http://example.com/style.css?foo=bar#hash);", + [ + "./import/order.css", + "@import url(http://example.com/style.css);", ], - Array [ - 1, - "@import url(http://example.com/other-style.css);", - "screen and print", + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/order-2.css", + ".order-2 { + color: red; +} +", + "screen and (min-width: 2000px)", ], - Array [ - 1, - "@import url(//example.com/style.css);", + [ + "./import/order.css", + "@import url(http://example.com/style.css);", ], - Array [ - 4, - ".query { - e: e; + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/order-3-1.css", + ".order-3-1 { + color: white; } ", - "", + "screen and (orientation:landscape)", ], - Array [ - 5, - ".other-query { - f: f; + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/order-3.css", + ".order-3 { + color: red; } ", "", ], - Array [ - 6, - ".other-query { - f: f; + [ + "./import/order.css", + "@import url(http://example.com/style.css);", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/order-4-1.css", + "@media (min-width: 1000px) {.order-4-1 { + color: red; } -", - "screen and print", +}", + "screen", ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Roboto);", + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/order-4-2-1.css", + "@media (min-width: 2000px) {.order-4-2-1 { + color: red; +} +}", + "screen", ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);", + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/order-4-2-2.css", + "@media (min-width: 2000px) {@media (orientation:landscape) {.order-4-2-2 { + color: red; +} +}}", + "screen", ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);", + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/order-4-2.css", + "@media (min-width: 2000px) {.order-4-2 { + color: red; +} +}", + "screen", ], - Array [ - 7, - ".relative { + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/order-4.css", + ".order-4 { color: red; } ", - "", + "screen", ], - Array [ - 8, - ".top-relative { - color: black; + [ + "./import/order.css", + "div { + width: 100%; + height: 200px; } ", "", ], - Array [ - 9, - ".tilde { - color: yellow; +] +`; + +exports[`"import" option should keep original order: warnings 1`] = `[]`; + +exports[`"import" option should resolve "file" protocol: errors 1`] = `[]`; + +exports[`"import" option should resolve "file" protocol: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"import" option should resolve "file" protocol: result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/test.css", + ".test { + a: a; } ", "", ], - Array [ - 10, - ".alias { - color: red; -} -", + [ + "./import/import-file-protocol.css", + "", "", ], - Array [ - 11, - ".background-imported { - background: url(/webpack/public/path/img.png); +] +`; + +exports[`"import" option should resolve "file" protocol: warnings 1`] = `[]`; + +exports[`"import" option should resolve absolute path: errors 1`] = `[]`; + +exports[`"import" option should resolve absolute path: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"import" option should resolve absolute path: result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/test.css", + ".test { + a: a; } ", "", ], - Array [ - 1, - "@import url(test.css); -@import url('test.css'); -@import url(\\"test.css\\"); -@IMPORT url(test.css); -@import URL(test.css); -@import url(test.css ); -@import url( test.css); -@import url( test.css ); -@import url( - test.css -); -@import url(); -@import url(''); -@import url(\\"\\"); -@import \\"test.css\\"; -@import 'test.css'; -@import ''; -@import \\"\\"; -@import \\" \\"; -@import \\" -\\"; -@import url(); -@import url(''); -@import url(\\"\\"); -@import url(test.css) screen and print; -@import url(test.css) SCREEN AND PRINT; -@import url(test.css)screen and print; -@import url(test.css) screen and print; -@import url(~package/test.css); -@import ; -@import foo-bar; -@import-normalize; -@import url('http://') :root {} + [ + "./import/import-absolute.css", + "", + "", + ], +] +`; -.class { +exports[`"import" option should resolve absolute path: warnings 1`] = `[]`; + +exports[`"import" option should resolve server-relative url relative rootContext: errors 1`] = `[]`; + +exports[`"import" option should resolve server-relative url relative rootContext: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.class { a: b c d; } +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; -.foo { - @import 'path.css'; +exports[`"import" option should resolve server-relative url relative rootContext: result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/test.css", + ".test { + a: a; } - -.background { - background: url(/webpack/public/path/img.png); +", + "", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/test.css", + ".test { + a: a; +} +", + "", + ], + [ + "./import/import-server-relative-url.css", + ".class { + a: b c d; } ", "", @@ -174,354 +314,439 @@ Array [ ] `; -exports[`import option Function: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!./test-media.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_1___ = require(\\"-!../../../src/index.js??ref--4-0!./test-other.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_8___ = require(\\"-!../../../src/index.js??ref--4-0!./query.css?foo=1&bar=1\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_9___ = require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_10___ = require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_14___ = require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_15___ = require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_16___ = require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_17___ = require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_18___ = require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"); -var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"./img.png\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"screen and print\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_1___, \\"(min-width: 100px)\\"); -exports.push([module.id, \\"@import url(http://example.com/style.css);\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css#hash);\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?#hash);\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?foo=bar#hash);\\"]); -exports.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and print\\"]); -exports.push([module.id, \\"@import url(//example.com/style.css);\\"]); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_8___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_9___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_10___, \\"screen and print\\"); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Roboto);\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);\\"]); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_14___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_15___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_16___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_17___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_18___); -var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); +exports[`"import" option should resolve server-relative url relative rootContext: warnings 1`] = `[]`; + +exports[`"import" option should respect conditionNames: errors 1`] = `[]`; + +exports[`"import" option should respect conditionNames: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./node_modules/package-with-exports/style.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); // Module -exports.push([module.id, \\"@import url(test.css);\\\\n@import url('test.css');\\\\n@import url(\\\\\\"test.css\\\\\\");\\\\n@IMPORT url(test.css);\\\\n@import URL(test.css);\\\\n@import url(test.css );\\\\n@import url( test.css);\\\\n@import url( test.css );\\\\n@import url(\\\\n test.css\\\\n);\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import \\\\\\"test.css\\\\\\";\\\\n@import 'test.css';\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import url(test.css) screen and print;\\\\n@import url(test.css) SCREEN AND PRINT;\\\\n@import url(test.css)screen and print;\\\\n@import url(test.css) screen and print;\\\\n@import url(~package/test.css);\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.class {\\\\n a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n.background {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]); +___CSS_LOADER_EXPORT___.push([module.id, \` +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; " `; -exports[`import option Function: warnings 1`] = ` -Array [ - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(12:1) Unable to find uri in '@import url()'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(13:1) Unable to find uri in '@import url('')'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(14:1) Unable to find uri in '@import url(\\"\\")'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(17:1) Unable to find uri in '@import '''", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(18:1) Unable to find uri in '@import \\"\\"'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(19:1) Unable to find uri in '@import \\" \\"'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(20:1) Unable to find uri in '@import \\" -\\"'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +exports[`"import" option should respect conditionNames: result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/node_modules/package-with-exports/style.css", + ".load-me { + color: red; +} +", + "", + ], + [ + "./import/import-conditionNames.css", + " +", + "", + ], +] +`; -(22:1) Unable to find uri in '@import url()'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +exports[`"import" option should respect conditionNames: warnings 1`] = `[]`; -(23:1) Unable to find uri in '@import url('')'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +exports[`"import" option should respect style field in package.json: errors 1`] = `[]`; -(24:1) Unable to find uri in '@import url(\\"\\")'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +exports[`"import" option should respect style field in package.json: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.test { + color: coral; +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; -(40:1) Unable to find uri in '@import '", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +exports[`"import" option should respect style field in package.json: result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/node_modules/issue-683-package/test.css", + ".test { + color: coral; +} +", + "", + ], + [ + "./import/issue-683.css", + " +", + "", + ], +] +`; -(41:1) Unable to find uri in '@import foo-bar'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +exports[`"import" option should respect style field in package.json: warnings 1`] = `[]`; -(43:1) It looks like you didn't end your @import statement correctly. Child nodes are attached to it.", +exports[`"import" option should throw an error on unresolved import: errors 1`] = ` +[ + "ModuleBuildError: Module build failed (from \`replaced original path\`): +Error: Can't resolve 'unresolved-file.css' in '/test/fixtures/import'", ] `; -exports[`import option false: errors 1`] = `Array []`; +exports[`"import" option should throw an error on unresolved import: warnings 1`] = `[]`; -exports[`import option false: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "@import url(test.css); -@import url('test.css'); -@import url(\\"test.css\\"); -@IMPORT url(test.css); -@import URL(test.css); -@import url(test.css ); -@import url( test.css); -@import url( test.css ); -@import url( - test.css -); -@import url(); -@import url(''); -@import url(\\"\\"); -@import \\"test.css\\"; -@import 'test.css'; -@import ''; -@import \\"\\"; -@import \\" \\"; -@import \\" -\\"; -@import url(); -@import url(''); -@import url(\\"\\"); -@import url(test.css) screen and print; -@import url(test.css) SCREEN AND PRINT; -@import url(test.css)screen and print; -@import url(test.css) screen and print; -@import url(test-media.css) screen and print; -@import url(test-other.css) (min-width: 100px); -@import url(http://example.com/style.css); -@import url(http://example.com/style.css); -@import url(http://example.com/style.css#hash); -@import url(http://example.com/style.css?#hash); -@import url(http://example.com/style.css?foo=bar#hash); -@import url(http://example.com/other-style.css) screen and print; -@import url(http://example.com/other-style.css) screen and print; -@import url(\\"//example.com/style.css\\"); -@import url(~package/test.css); -@import ; -@import foo-bar; -@import-normalize; -@import url('http://') :root {} -@import url('query.css?foo=1&bar=1'); -@import url('other-query.css?foo=1&bar=1#hash'); -@import url('other-query.css?foo=1&bar=1#hash') screen and print; -@import url('https://fonts.googleapis.com/css?family=Roboto'); -@import url('https://fonts.googleapis.com/css?family=Noto+Sans+TC'); -@import url('https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto'); +exports[`"import" option should work and output media: errors 1`] = `[]`; -.class { - a: b c d; +exports[`"import" option should work and output media: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./dark.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "(prefers-color-scheme: dark)"); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`a { + color: black; } +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; -.foo { - @import 'path.css'; +exports[`"import" option should work and output media: result 1`] = ` +"@media (prefers-color-scheme: dark) {a { + color: white; } - -@import url('./relative.css'); -@import url('../import/top-relative.css'); -@import url(~package/tilde.css); -@import url(~aliasesImport/alias.css); -@import url('./url.css'); - -.background { - background: url(/webpack/public/path/img.png); +}a { + color: black; } -", - "", - ], -] +" `; -exports[`import option false: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"./img.png\\"); -var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); +exports[`"import" option should work and output media: warnings 1`] = `[]`; + +exports[`"import" option should work resolve order: local -> node_modules -> alias: errors 1`] = `[]`; + +exports[`"import" option should work resolve order: local -> node_modules -> alias: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_1___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./issue-683.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_2___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./node_modules/package/tilde.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_2___); // Module -exports.push([module.id, \\"@import url(test.css);\\\\n@import url('test.css');\\\\n@import url(\\\\\\"test.css\\\\\\");\\\\n@IMPORT url(test.css);\\\\n@import URL(test.css);\\\\n@import url(test.css );\\\\n@import url( test.css);\\\\n@import url( test.css );\\\\n@import url(\\\\n test.css\\\\n);\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import \\\\\\"test.css\\\\\\";\\\\n@import 'test.css';\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import url(test.css) screen and print;\\\\n@import url(test.css) SCREEN AND PRINT;\\\\n@import url(test.css)screen and print;\\\\n@import url(test.css) screen and print;\\\\n@import url(test-media.css) screen and print;\\\\n@import url(test-other.css) (min-width: 100px);\\\\n@import url(http://example.com/style.css);\\\\n@import url(http://example.com/style.css);\\\\n@import url(http://example.com/style.css#hash);\\\\n@import url(http://example.com/style.css?#hash);\\\\n@import url(http://example.com/style.css?foo=bar#hash);\\\\n@import url(http://example.com/other-style.css) screen and print;\\\\n@import url(http://example.com/other-style.css) screen and print;\\\\n@import url(\\\\\\"//example.com/style.css\\\\\\");\\\\n@import url(~package/test.css);\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n@import url('query.css?foo=1&bar=1');\\\\n@import url('other-query.css?foo=1&bar=1#hash');\\\\n@import url('other-query.css?foo=1&bar=1#hash') screen and print;\\\\n@import url('https://fonts.googleapis.com/css?family=Roboto');\\\\n@import url('https://fonts.googleapis.com/css?family=Noto+Sans+TC');\\\\n@import url('https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto');\\\\n\\\\n.class {\\\\n a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n@import url('./relative.css');\\\\n@import url('../import/top-relative.css');\\\\n@import url(~package/tilde.css);\\\\n@import url(~aliasesImport/alias.css);\\\\n@import url('./url.css');\\\\n\\\\n.background {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]); +___CSS_LOADER_EXPORT___.push([module.id, \` +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; " `; -exports[`import option false: warnings 1`] = `Array []`; - -exports[`import option true and modules \`false\`: errors 1`] = `Array []`; - -exports[`import option true and modules \`false\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, +exports[`"import" option should work resolve order: local -> node_modules -> alias: result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/test.css", ".test { a: a; } ", "", ], - Array [ - 3, + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/node_modules/issue-683-package/test.css", ".test { - a: a; + color: coral; } ", - "screen and print", + "", ], - Array [ - 5, - "a { - b: b; -} + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/issue-683.css", + " ", - "((min-width: 100px)) and (screen and print)", + "", ], - Array [ - 4, - ".test { - c: c; + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/node_modules/package/tilde.css", + ".tilde { + color: yellow; } ", - "screen and print", - ], - Array [ - 1, - "@import url(http://example.com/style.css);", - ], - Array [ - 1, - "@import url(http://example.com/style.css#hash);", - ], - Array [ - 1, - "@import url(http://example.com/style.css?#hash);", + "", ], - Array [ - 1, - "@import url(http://example.com/style.css?foo=bar#hash);", + [ + "./import/import-order.css", + " +", + "", ], - Array [ - 1, - "@import url(http://example.com/other-style.css);", - "screen and print", - ], - Array [ - 1, - "@import url(//example.com/style.css);", - ], - Array [ - 6, - ".test { - d: d -} -", - "", - ], - Array [ - 7, - ".query { - e: e; -} -", - "", - ], - Array [ - 8, - ".other-query { - f: f; -} -", - "", - ], - Array [ - 9, - ".other-query { - f: f; -} -", - "screen and print", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Roboto);", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);", - ], - Array [ - 10, - ".relative { +] +`; + +exports[`"import" option should work resolve order: local -> node_modules -> alias: warnings 1`] = `[]`; + +exports[`"import" option should work when 'import.loaders' not specified: errors 1`] = `[]`; + +exports[`"import" option should work when 'import.loaders' not specified: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js!./imported.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_1___ from "-!../../../src/index.js!./other-imported.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.foo { color: red; + color: rgb(0 0 100% / 90%); } -", - "", - ], - Array [ - 11, - ".top-relative { - color: black; +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"import" option should work when 'import.loaders' not specified: result 1`] = ` +[ + [ + "../../src/index.js!./nested-import/imported.css", + ".bar { + color: blue; + color: rgb(0 0 100% / 90%); } ", "", ], - Array [ - 12, - ".tilde { - color: yellow; + [ + "../../src/index.js!./nested-import/other-imported.css", + ".baz { + color: green; + color: rgb(0 0 100% / 90%); } ", "", ], - Array [ - 13, - ".alias { + [ + "./nested-import/source.css", + ".foo { color: red; + color: rgb(0 0 100% / 90%); } ", "", ], - Array [ - 14, - ".background-imported { - background: url(/webpack/public/path/img.png); -} -", - "", - ], - Array [ - 1, - "@import url(); +] +`; + +exports[`"import" option should work when 'import.loaders' not specified: warnings 1`] = `[]`; + +exports[`"import" option should work when not specified and print correct output: errors 1`] = `[]`; + +exports[`"import" option should work when not specified and print correct output: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_1___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_2___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test-other.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_3___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./node_modules/package/test.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_4___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./query.css?foo=1&bar=1"; +import ___CSS_LOADER_AT_RULE_IMPORT_5___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./other-query.css?foo=1&bar=1#hash"; +import ___CSS_LOADER_AT_RULE_IMPORT_6___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./relative.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_7___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./top-relative.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_8___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./node_modules/package/tilde.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_9___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./alias.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_10___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./url.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_11___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./te'st.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_12___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test test.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_13___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!!!../../helpers/string-loader.js?esModule=false!./node_modules/package/tilde.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_14___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test.css?foo=bar"; +import ___CSS_LOADER_AT_RULE_IMPORT_15___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test.css?foo=bar#hash"; +import ___CSS_LOADER_AT_RULE_IMPORT_16___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test.css?#hash"; +import ___CSS_LOADER_AT_RULE_IMPORT_17___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_18___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=bar"; +import ___CSS_LOADER_AT_RULE_IMPORT_19___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=bar#hash"; +import ___CSS_LOADER_AT_RULE_IMPORT_20___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?bar=foo"; +import ___CSS_LOADER_AT_RULE_IMPORT_21___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=bar#one"; +import ___CSS_LOADER_AT_RULE_IMPORT_22___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=bar#two"; +import ___CSS_LOADER_AT_RULE_IMPORT_23___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=1&bar=2"; +import ___CSS_LOADER_AT_RULE_IMPORT_24___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=2&bar=1"; +import ___CSS_LOADER_AT_RULE_IMPORT_25___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./my.scss"; +import ___CSS_LOADER_AT_RULE_IMPORT_26___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./package/first.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_27___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./node_modules/package/second.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_28___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_29___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./deep-import-with-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_30___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-supports.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_31___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./deep-import-with-supports.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_32___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-supports-and-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_33___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-deep-with-supports-and-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_34___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-layer.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_35___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./deep-import-with-layer.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_36___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-multiple-with-layer.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_37___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-layer-unnamed.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_38___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-unnamed-layer.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_39___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-multiple-unnamed-layer.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_40___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-layer-and-supports.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_41___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-layer-and-supports-and-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_42___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./deep-layer.css"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./img.png", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (orientation:landscape)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (orientation: landscape)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (orientation:landscape)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (orientation:landscape)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___, "screen and (orientation:landscape)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_2___, "(min-width: 100px)"); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css#hash);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css?#hash);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css?foo=bar#hash);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/other-style.css);", "screen and (orientation:landscape)"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/other-style.css);", "screen and (orientation:landscape)"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(//example.com/style.css);"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_3___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_4___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_5___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_5___, "screen and (orientation:landscape)"); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(https://fonts.googleapis.com/css?family=Roboto);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_6___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_7___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_8___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_9___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_10___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_13___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_14___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_15___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_16___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (orientation:landscape)", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_17___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_17___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_18___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_18___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_19___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_19___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_18___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_20___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_21___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_22___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_23___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_24___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_25___); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(https://fonts.googleapis.com/css?family=Roboto);"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_13___); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(data:text/css;charset=utf-8,a%20%7B%0D%0A%20%20color%3A%20red%3B%0D%0A%7D);"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_26___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_27___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, ""); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, "unknown"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, "display: flex !important"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (min-width: 400px)", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, undefined, ""); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, undefined, "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (min-width: 400px)", false, "display: flex", "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (min-width: 400px)", false, "display: flex", ""); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (min-width: 400px)", false, "display: flex", ""); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, undefined, ""); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css);", "screen and (min-width: 400px)", false, "display: flex"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (min-width:400px)", false, "display: flex", "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (min-width: 400px)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and ( min-width : 400px )", false, "display : flex", "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (min-width: 400px)", false, "display: flex", "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "/* comment */ screen/* comment */ and/* comment */ (/* comment */min-width/* comment */: /* comment */400px/* comment */)", false, "/* comment */ /* comment */display/* comment */:/* comment */ flex/* comment */", "/* comment */ /* comment */default/* comment */"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "/* comment */ print and (orientation:landscape)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "/* comment */ print and (orientation:landscape)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_28___, "screen and (min-width: 400px)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_29___, "(prefers-color-scheme: dark)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_30___, "", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_30___, "", false, "((display: flex))"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_31___, "", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, "display: grid"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_32___, "screen and (min-width: 400px)", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_33___, "screen and (min-width: 400px)", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, undefined, "framework"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_34___, "", false, undefined, "framework"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_35___, "", false, undefined, "framework"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_36___, "", false, undefined, "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_37___, "", false, undefined, "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_38___, "", false, undefined, "base"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_39___, "", false, undefined, "base"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_40___, "", false, "display: flex", "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_41___, "screen and (min-width: 400px)", false, "display: flex", "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_42___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "unknown(default) unknown(display: flex) unknown"); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@import url(); @import url(''); -@import url(\\"\\"); +@import url(""); @import ''; -@import \\"\\"; -@import \\" \\"; -@import \\" -\\"; +@import ""; +@import " "; +@import " +"; @import url(); @import url(''); -@import url(\\"\\"); +@import url(""); @import ; @import foo-bar; @import-normalize; @@ -536,1138 +761,3515 @@ Array [ } .background { - background: url(/webpack/public/path/img.png); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); } -", - "", - ], -] -`; - -exports[`import option true and modules \`false\`: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_1___ = require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_2___ = require(\\"-!../../../src/index.js??ref--4-0!./test-media.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_3___ = require(\\"-!../../../src/index.js??ref--4-0!./test-other.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_10___ = require(\\"-!../../../src/index.js??ref--4-0!package/test.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_11___ = require(\\"-!../../../src/index.js??ref--4-0!./query.css?foo=1&bar=1\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_12___ = require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_13___ = require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_17___ = require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_18___ = require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_19___ = require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_20___ = require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_21___ = require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"); -var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"./img.png\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_1___, \\"screen and print\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_2___, \\"screen and print\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_3___, \\"(min-width: 100px)\\"); -exports.push([module.id, \\"@import url(http://example.com/style.css);\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css#hash);\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?#hash);\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?foo=bar#hash);\\"]); -exports.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and print\\"]); -exports.push([module.id, \\"@import url(//example.com/style.css);\\"]); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_10___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_11___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_13___, \\"screen and print\\"); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Roboto);\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);\\"]); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_17___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_18___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_19___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_20___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_21___); -var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); -// Module -exports.push([module.id, \\"@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.class {\\\\n a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n.background {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]); -" -`; - -exports[`import option true and modules \`false\`: warnings 1`] = ` -Array [ - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(12:1) Unable to find uri in '@import url()'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(13:1) Unable to find uri in '@import url('')'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +@import nourl(test.css); +@import '\\\\ +\\\\ +\\\\ +'; -(14:1) Unable to find uri in '@import url(\\"\\")'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(17:1) Unable to find uri in '@import '''", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(18:1) Unable to find uri in '@import \\"\\"'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(19:1) Unable to find uri in '@import \\" \\"'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(20:1) Unable to find uri in '@import \\" -\\"'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +/* Should be one import and two css modules */ -(22:1) Unable to find uri in '@import url()'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +/* Should be one import and two css modules */ -(23:1) Unable to find uri in '@import url('')'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +/* Should be one import and two css modules */ -(24:1) Unable to find uri in '@import url(\\"\\")'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +/* Should be two import and two css modules */ -(40:1) Unable to find uri in '@import '", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +/* Should be two import and two css modules */ -(41:1) Unable to find uri in '@import foo-bar'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +/* Should be two import and two css modules */ +@import url('!!../../helpers/string-loader.js?esModule=false!'); -(43:1) It looks like you didn't end your @import statement correctly. Child nodes are attached to it.", -] +/* Prefer relative */ +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" `; -exports[`import option true and modules \`global\`: errors 1`] = `Array []`; - -exports[`import option true and modules \`global\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - ".test { +exports[`"import" option should work when not specified and print correct output: result 1`] = ` +".test { a: a; } -", - "", - ], - Array [ - 3, - ".test { +.test { a: a; } -", - "screen and print", - ], - Array [ - 5, - "a { - b: b; -} -", - "((min-width: 100px)) and (screen and print)", - ], - Array [ - 4, - ".test { - c: c; -} -", - "screen and print", - ], - Array [ - 1, - "@import url(http://example.com/style.css);", - ], - Array [ - 1, - "@import url(http://example.com/style.css#hash);", - ], - Array [ - 1, - "@import url(http://example.com/style.css?#hash);", - ], - Array [ - 1, - "@import url(http://example.com/style.css?foo=bar#hash);", - ], - Array [ - 1, - "@import url(http://example.com/other-style.css);", - "screen and print", - ], - Array [ - 1, - "@import url(//example.com/style.css);", - ], - Array [ - 6, - ".test { - d: d -} -", - "", - ], - Array [ - 7, - ".query { - e: e; +.test { + a: a; } -", - "", - ], - Array [ - 8, - ".other-query { - f: f; +.test { + a: a; } -", - "", - ], - Array [ - 9, - ".other-query { - f: f; +.test { + a: a; } -", - "screen and print", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Roboto);", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);", - ], - Array [ - 10, - ".relative { - color: red; +.test { + a: a; } -", - "", - ], - Array [ - 11, - ".top-relative { - color: black; +.test { + a: a; } -", - "", - ], - Array [ - 12, - ".tilde { - color: yellow; +.test { + a: a; } -", - "", - ], - Array [ - 13, - ".alias { - color: red; +.test { + a: a; } -", - "", - ], - Array [ - 14, - ".background-imported { - background: url(/webpack/public/path/img.png); +.test { + a: a; } -", - "", - ], - Array [ - 1, - "@import url(); -@import url(''); -@import url(\\"\\"); -@import ''; -@import \\"\\"; -@import \\" \\"; -@import \\" -\\"; -@import url(); -@import url(''); -@import url(\\"\\"); -@import ; -@import foo-bar; -@import-normalize; -@import url('http://') :root {} - -.class { - a: b c d; +.test { + a: a; } - -.foo { - @import 'path.css'; +@media screen and (orientation:landscape) {.test { + a: a; } - -.background { - background: url(/webpack/public/path/img.png); +}@media screen and (orientation: landscape) {.test { + a: a; } -", - "", - ], -] -`; - -exports[`import option true and modules \`global\`: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_1___ = require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_2___ = require(\\"-!../../../src/index.js??ref--4-0!./test-media.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_3___ = require(\\"-!../../../src/index.js??ref--4-0!./test-other.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_10___ = require(\\"-!../../../src/index.js??ref--4-0!package/test.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_11___ = require(\\"-!../../../src/index.js??ref--4-0!./query.css?foo=1&bar=1\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_12___ = require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_13___ = require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_17___ = require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_18___ = require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_19___ = require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_20___ = require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_21___ = require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"); -var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"./img.png\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_1___, \\"screen and print\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_2___, \\"screen and print\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_3___, \\"(min-width: 100px)\\"); -exports.push([module.id, \\"@import url(http://example.com/style.css);\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css#hash);\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?#hash);\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?foo=bar#hash);\\"]); -exports.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and print\\"]); -exports.push([module.id, \\"@import url(//example.com/style.css);\\"]); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_10___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_11___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_13___, \\"screen and print\\"); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Roboto);\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);\\"]); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_17___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_18___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_19___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_20___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_21___); -var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); -// Module -exports.push([module.id, \\"@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.class {\\\\n a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n.background {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]); -" -`; - -exports[`import option true and modules \`global\`: warnings 1`] = ` -Array [ - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(12:1) Unable to find uri in '@import url()'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(13:1) Unable to find uri in '@import url('')'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(14:1) Unable to find uri in '@import url(\\"\\")'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(17:1) Unable to find uri in '@import '''", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(18:1) Unable to find uri in '@import \\"\\"'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(19:1) Unable to find uri in '@import \\" \\"'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(20:1) Unable to find uri in '@import \\" -\\"'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(22:1) Unable to find uri in '@import url()'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(23:1) Unable to find uri in '@import url('')'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(24:1) Unable to find uri in '@import url(\\"\\")'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(40:1) Unable to find uri in '@import '", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(41:1) Unable to find uri in '@import foo-bar'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(43:1) It looks like you didn't end your @import statement correctly. Child nodes are attached to it.", -] -`; - -exports[`import option true and modules \`local\`: errors 1`] = `Array []`; - -exports[`import option true and modules \`local\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._3fDHa2l1HOcl9VXVfSKtB7 { +}@media screen and (orientation:landscape) {.test { a: a; } -", - "", - ], - Array [ - 3, - "._3fDHa2l1HOcl9VXVfSKtB7 { +}@media screen and (orientation:landscape) {.test { a: a; } -", - "screen and print", - ], - Array [ - 5, - "a { +}@media screen and (orientation:landscape) {@media (min-width: 100px) {a { b: b; } -", - "((min-width: 100px)) and (screen and print)", - ], - Array [ - 4, - ".f63QYE3dlpdhZuYg8R4pd { +}}@media screen and (orientation:landscape) {.test { c: c; } -", - "screen and print", - ], - Array [ - 1, - "@import url(http://example.com/style.css);", - ], - Array [ - 1, - "@import url(http://example.com/style.css#hash);", - ], - Array [ - 1, - "@import url(http://example.com/style.css?#hash);", - ], - Array [ - 1, - "@import url(http://example.com/style.css?foo=bar#hash);", - ], - Array [ - 1, - "@import url(http://example.com/other-style.css);", - "screen and print", - ], - Array [ - 1, - "@import url(//example.com/style.css);", - ], - Array [ - 6, - "._1lN7KGFmbEaXH8rJdLC9cT { +}@media (min-width: 100px) {.test { + d: d; +} +}@import url(http://example.com/style.css);@import url(http://example.com/style.css);@import url(http://example.com/style.css#hash);@import url(http://example.com/style.css?#hash);@import url(http://example.com/style.css?foo=bar#hash);@media screen and (orientation:landscape) {@import url(http://example.com/other-style.css);}@media screen and (orientation:landscape) {@import url(http://example.com/other-style.css);}@import url(//example.com/style.css);.test { d: d } -", - "", - ], - Array [ - 7, - "._2FiPFdRUJ6bc--oLN32vUX { +.query { e: e; } -", - "", - ], - Array [ - 8, - "._2nQ7ONr22lmMu683ljj0MN { +.other-query { f: f; } -", - "", - ], - Array [ - 9, - "._2nQ7ONr22lmMu683ljj0MN { +@media screen and (orientation:landscape) {.other-query { f: f; } -", - "screen and print", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Roboto);", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);", - ], - Array [ - 10, - "._37G_Iu-0wcPjXN9ZhzZjlT { +}@import url(https://fonts.googleapis.com/css?family=Roboto);@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);.relative { color: red; } -", - "", - ], - Array [ - 11, - "._4a-iWS8tumU5J8-oW8LlR { +.top-relative { color: black; } -", - "", - ], - Array [ - 12, - "._2VXavzz3TUKPrbI3S1tkrW { +.tilde { color: yellow; } -", - "", - ], - Array [ - 13, - "._2E2zpPgFs4vJaVymauWk3p { +.alias { color: red; } -", - "", - ], - Array [ - 14, - "._1N9oVhfOd30-kQu9zrdhrJ { - background: url(/webpack/public/path/img.png); +.background-imported { + background: url(replaced_file_protocol_/webpack/public/path/img.png); } -", - "", - ], - Array [ - 1, - "@import url(); +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.strange { + color: red; +} +.strange { + color: red; +} +.strange { + color: red; +} +.strange { + color: red; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.test { + a: a; +} +a { color: red };.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +@supports (display: flex) {.test { + a: a; +} +}@supports (display: flex) {@media screen and (orientation:landscape) {.test { + a: a; +} +}}.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +a { + color: red; +}@import url(https://fonts.googleapis.com/css?family=Roboto);a { color: red };@import url(data:text/css;charset=utf-8,a%20%7B%0D%0A%20%20color%3A%20red%3B%0D%0A%7D);.first { + color: red; +} +.second { + color: red; +} +.test { + a: a; +} +@supports (unknown) {.test { + a: a; +} +}@supports (display: flex) {.test { + a: a; +} +}@supports (display: flex !important) {.test { + a: a; +} +}@supports (display: flex) {@media screen and (min-width: 400px) {.test { + a: a; +} +}}@layer {.test { + a: a; +} +}@layer default {.test { + a: a; +} +}@supports (display: flex) {@media screen and (min-width: 400px) {@layer default {.test { + a: a; +} +}}}@supports (display: flex) {@media screen and (min-width: 400px) {@layer {.test { + a: a; +} +}}}@supports (display: flex) {@media screen and (min-width: 400px) {@layer {.test { + a: a; +} +}}}@layer {.test { + a: a; +} +}@supports (display: flex) {@media screen and (min-width: 400px) {@import url(http://example.com/style.css);}}@supports (display: flex) {@media screen and (min-width:400px) {@layer default {.test { + a: a; +} +}}}@media screen and (min-width: 400px) {.test { + a: a; +} +}@supports (display : flex) {@media screen and ( min-width : 400px ) {@layer default {.test { + a: a; +} +}}}@supports (display: flex) {@media screen and (min-width: 400px) {@layer default {.test { + a: a; +} +}}}@supports (/* comment */ /* comment */display/* comment */:/* comment */ flex/* comment */) {@media /* comment */ screen/* comment */ and/* comment */ (/* comment */min-width/* comment */: /* comment */400px/* comment */) {@layer /* comment */ /* comment */default/* comment */ {.test { + a: a; +} +}}}.test { + a: a; +} +.test { + a: a; +} +@media /* comment */ print and (orientation:landscape) {.test { + a: a; +} +}@media /* comment */ print and (orientation:landscape) {.test { + a: a; +} +}@media screen and (min-width: 400px) {@media screen and (max-width: 1200px) {.test { + a: a; +} +}}@media screen and (min-width: 400px) { +}@media (prefers-color-scheme: dark) {@media screen and (min-width: 400px) {@media screen and (max-width: 1200px) {.test { + a: a; +} +}}}@media (prefers-color-scheme: dark) {@media screen and (min-width: 400px) { +}}@media (prefers-color-scheme: dark) {}@supports (display: flex) {@supports (display: grid) {.test { + a: a; +} +}}@supports (display: flex) {}@supports (((display: flex))) {@supports (display: grid) {.test { + a: a; +} +}}@supports (((display: flex))) {}@supports (display: flex) {@supports (display: block) {@supports (display: grid) {.test { + a: a; +} +}}}@supports (display: flex) {@supports (display: block) {}}@supports (display: flex) {}@supports (display: grid) {.test { + a: a; +} +}@supports (display: flex) {@media screen and (min-width: 400px) {@supports (display: grid) {@media screen and (max-width: 1200px) {.test { + a: a; +} +}}}}@supports (display: flex) {@media screen and (min-width: 400px) {}}@supports (display: flex) {@media screen and (min-width: 400px) {@supports (display: flex) {@media screen and (min-width: 400px) {@supports (display: grid) {@media screen and (max-width: 1200px) {.test { + a: a; +} +}}}}}}@supports (display: flex) {@media screen and (min-width: 400px) {@supports (display: flex) {@media screen and (min-width: 400px) {}}}}@supports (display: flex) {@media screen and (min-width: 400px) {}}@layer framework {.test { + a: a; +} +}@layer framework {@layer base {.test { + a: a; +} +}}@layer framework {@layer base { + .foo { + color: red; + } +} +}@layer framework {@layer form {@layer base {.test { + a: a; +} +}}}@layer framework {@layer form {@layer base { + .foo { + color: red; + } +} +}}@layer framework {@layer form { + .bar { + color: red; + } +} +}@layer default {@layer base {.test { + a: a; +} +}}@layer default {@layer base {.relative { + color: red; +} +}}@layer default {@layer base { + .foo { + color: red; + } +} +}@layer default {@layer {.test { + a: a; +} +}}@layer default {}@layer base {@layer {.test { + a: a; +} +}}@layer base {.foo { + color: red; +} +}@layer base {@layer {.test { + a: a; +} +}}@layer base {@layer {.relative { + color: red; +} +}}@layer base {.foo { + color: red; +} +}@supports (display: flex) {@layer default {@layer base {.test { + a: a; +} +}}}@supports (display: flex) {@layer default {}}@supports (display: flex) {@media screen and (min-width: 400px) {@layer default {@supports (display: grid) {@media screen and (min-width: 900px) {@layer base {.test { + a: a; +} +}}}}}}@supports (display: flex) {@media screen and (min-width: 400px) {@layer default {}}}@layer bootstrap {@layer base {@layer {.relative { + color: red; +} +}}}@layer bootstrap {@layer base {@layer {.test { + a: a; +} +}}}@layer bootstrap {@layer base {/* unnamed wrapper layers around each sub-file */ +}}@layer bootstrap {/* the internal names are hidden from access, subsumed in "base" */}/* Adds additional styles to the bootstrap layer: */ +@layer bootstrap { + .test { + color: red; + } +}@media unknown(default) unknown(display: flex) unknown {.test { + a: a; +} +}@import url(); @import url(''); -@import url(\\"\\"); +@import url(""); @import ''; -@import \\"\\"; -@import \\" \\"; -@import \\" -\\"; +@import ""; +@import " "; +@import " +"; @import url(); @import url(''); -@import url(\\"\\"); +@import url(""); @import ; @import foo-bar; @import-normalize; @import url('http://') :root {} -.hnxX78DgkaA2kCp_BPbLd { +.class { a: b c d; } -._1Lug_45kZL-M7XuNeM4SCw { +.foo { @import 'path.css'; } -._1E9CLkKp-0idM8IkvZwXn9 { - background: url(/webpack/public/path/img.png); +.background { + background: url(replaced_file_protocol_/webpack/public/path/img.png); } -", - "", - ], -] -`; +@import nourl(test.css); +@import '\\ +\\ +\\ +'; -exports[`import option true and modules \`local\`: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_1___ = require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_2___ = require(\\"-!../../../src/index.js??ref--4-0!./test-media.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_3___ = require(\\"-!../../../src/index.js??ref--4-0!./test-other.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_10___ = require(\\"-!../../../src/index.js??ref--4-0!package/test.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_11___ = require(\\"-!../../../src/index.js??ref--4-0!./query.css?foo=1&bar=1\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_12___ = require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_13___ = require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_17___ = require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_18___ = require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_19___ = require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_20___ = require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_21___ = require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"); -var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"./img.png\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_1___, \\"screen and print\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_2___, \\"screen and print\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_3___, \\"(min-width: 100px)\\"); -exports.push([module.id, \\"@import url(http://example.com/style.css);\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css#hash);\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?#hash);\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?foo=bar#hash);\\"]); -exports.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and print\\"]); -exports.push([module.id, \\"@import url(//example.com/style.css);\\"]); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_10___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_11___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_13___, \\"screen and print\\"); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Roboto);\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);\\"]); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_17___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_18___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_19___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_20___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_21___); -var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); -// Module -exports.push([module.id, \\"@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.hnxX78DgkaA2kCp_BPbLd {\\\\n a: b c d;\\\\n}\\\\n\\\\n._1Lug_45kZL-M7XuNeM4SCw {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n._1E9CLkKp-0idM8IkvZwXn9 {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]); -// Exports -exports.locals = { - \\"class\\": \\"hnxX78DgkaA2kCp_BPbLd\\", - \\"foo\\": \\"_1Lug_45kZL-M7XuNeM4SCw\\", - \\"background\\": \\"_1E9CLkKp-0idM8IkvZwXn9\\" -};" +/* Should be one import and two css modules */ + +/* Should be one import and two css modules */ + +/* Should be one import and two css modules */ + +/* Should be two import and two css modules */ + +/* Should be two import and two css modules */ + +/* Should be two import and two css modules */ +@import url('!!../../helpers/string-loader.js?esModule=false!'); + +/* Prefer relative */ +" `; -exports[`import option true and modules \`local\`: warnings 1`] = ` -Array [ +exports[`"import" option should work when not specified and print correct output: warnings 1`] = ` +[ + "ModuleWarning: Module Warning (from \`replaced original path\`): +(105:1) from "postcss-import-parser" plugin: Unable to find uri in "@import nourl(test.css)" + +Code: + @import nourl(test.css) +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(106:1) from "postcss-import-parser" plugin: Unable to find uri in "@import '\\ +\\ +\\ +'" + +Code: + @import '\\ +\\ +\\ +' +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(12:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url()" + +Code: + @import url() +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(13:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url('')" -(12:1) Unable to find uri in '@import url()'", +Code: + @import url('') +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(14:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url("")" -(13:1) Unable to find uri in '@import url('')'", +Code: + @import url("") +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(154:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url('!!../../helpers/string-loader.js?esModule=false!')" -(14:1) Unable to find uri in '@import url(\\"\\")'", +Code: + @import url('!!../../helpers/string-loader.js?esModule=false!') +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(17:1) from "postcss-import-parser" plugin: Unable to find uri in "@import ''" -(17:1) Unable to find uri in '@import '''", +Code: + @import '' +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(18:1) from "postcss-import-parser" plugin: Unable to find uri in "@import """ -(18:1) Unable to find uri in '@import \\"\\"'", +Code: + @import "" +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(19:1) from "postcss-import-parser" plugin: Unable to find uri in "@import " "" -(19:1) Unable to find uri in '@import \\" \\"'", +Code: + @import " " +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(20:1) from "postcss-import-parser" plugin: Unable to find uri in "@import " +"" -(20:1) Unable to find uri in '@import \\" -\\"'", +Code: + @import " +" +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(22:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url()" -(22:1) Unable to find uri in '@import url()'", +Code: + @import url() +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(23:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url('')" -(23:1) Unable to find uri in '@import url('')'", +Code: + @import url('') +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(24:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url("")" -(24:1) Unable to find uri in '@import url(\\"\\")'", +Code: + @import url("") +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(40:1) from "postcss-import-parser" plugin: Unable to find uri in "@import " -(40:1) Unable to find uri in '@import '", +Code: + @import +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(41:1) from "postcss-import-parser" plugin: Unable to find uri in "@import foo-bar" -(41:1) Unable to find uri in '@import foo-bar'", +Code: + @import foo-bar +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(43:1) from "postcss-import-parser" plugin: It looks like you didn't end your @import statement correctly. Child nodes are attached to it. -(43:1) It looks like you didn't end your @import statement correctly. Child nodes are attached to it.", +Code: + @import url('http://') :root {} +", ] `; -exports[`import option true and modules \`true\`: errors 1`] = `Array []`; +exports[`"import" option should work when not specified: errors 1`] = `[]`; + +exports[`"import" option should work when not specified: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_1___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_2___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test-other.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_3___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./node_modules/package/test.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_4___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./query.css?foo=1&bar=1"; +import ___CSS_LOADER_AT_RULE_IMPORT_5___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./other-query.css?foo=1&bar=1#hash"; +import ___CSS_LOADER_AT_RULE_IMPORT_6___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./relative.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_7___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./top-relative.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_8___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./node_modules/package/tilde.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_9___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./alias.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_10___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./url.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_11___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./te'st.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_12___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test test.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_13___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!!!../../helpers/string-loader.js?esModule=false!./node_modules/package/tilde.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_14___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test.css?foo=bar"; +import ___CSS_LOADER_AT_RULE_IMPORT_15___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test.css?foo=bar#hash"; +import ___CSS_LOADER_AT_RULE_IMPORT_16___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test.css?#hash"; +import ___CSS_LOADER_AT_RULE_IMPORT_17___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_18___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=bar"; +import ___CSS_LOADER_AT_RULE_IMPORT_19___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=bar#hash"; +import ___CSS_LOADER_AT_RULE_IMPORT_20___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?bar=foo"; +import ___CSS_LOADER_AT_RULE_IMPORT_21___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=bar#one"; +import ___CSS_LOADER_AT_RULE_IMPORT_22___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=bar#two"; +import ___CSS_LOADER_AT_RULE_IMPORT_23___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=1&bar=2"; +import ___CSS_LOADER_AT_RULE_IMPORT_24___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=2&bar=1"; +import ___CSS_LOADER_AT_RULE_IMPORT_25___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./my.scss"; +import ___CSS_LOADER_AT_RULE_IMPORT_26___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./package/first.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_27___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./node_modules/package/second.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_28___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_29___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./deep-import-with-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_30___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-supports.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_31___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./deep-import-with-supports.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_32___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-supports-and-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_33___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-deep-with-supports-and-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_34___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-layer.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_35___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./deep-import-with-layer.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_36___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-multiple-with-layer.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_37___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-layer-unnamed.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_38___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-unnamed-layer.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_39___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-multiple-unnamed-layer.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_40___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-layer-and-supports.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_41___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-layer-and-supports-and-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_42___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./deep-layer.css"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./img.png", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (orientation:landscape)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (orientation: landscape)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (orientation:landscape)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (orientation:landscape)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___, "screen and (orientation:landscape)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_2___, "(min-width: 100px)"); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css#hash);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css?#hash);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css?foo=bar#hash);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/other-style.css);", "screen and (orientation:landscape)"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/other-style.css);", "screen and (orientation:landscape)"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(//example.com/style.css);"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_3___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_4___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_5___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_5___, "screen and (orientation:landscape)"); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(https://fonts.googleapis.com/css?family=Roboto);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_6___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_7___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_8___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_9___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_10___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_13___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_14___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_15___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_16___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (orientation:landscape)", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_17___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_17___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_18___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_18___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_19___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_19___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_18___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_20___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_21___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_22___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_23___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_24___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_25___); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(https://fonts.googleapis.com/css?family=Roboto);"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_13___); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(data:text/css;charset=utf-8,a%20%7B%0D%0A%20%20color%3A%20red%3B%0D%0A%7D);"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_26___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_27___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, ""); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, "unknown"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, "display: flex !important"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (min-width: 400px)", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, undefined, ""); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, undefined, "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (min-width: 400px)", false, "display: flex", "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (min-width: 400px)", false, "display: flex", ""); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (min-width: 400px)", false, "display: flex", ""); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, undefined, ""); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css);", "screen and (min-width: 400px)", false, "display: flex"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (min-width:400px)", false, "display: flex", "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (min-width: 400px)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and ( min-width : 400px )", false, "display : flex", "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (min-width: 400px)", false, "display: flex", "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "/* comment */ screen/* comment */ and/* comment */ (/* comment */min-width/* comment */: /* comment */400px/* comment */)", false, "/* comment */ /* comment */display/* comment */:/* comment */ flex/* comment */", "/* comment */ /* comment */default/* comment */"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "/* comment */ print and (orientation:landscape)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "/* comment */ print and (orientation:landscape)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_28___, "screen and (min-width: 400px)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_29___, "(prefers-color-scheme: dark)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_30___, "", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_30___, "", false, "((display: flex))"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_31___, "", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, "display: grid"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_32___, "screen and (min-width: 400px)", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_33___, "screen and (min-width: 400px)", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, undefined, "framework"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_34___, "", false, undefined, "framework"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_35___, "", false, undefined, "framework"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_36___, "", false, undefined, "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_37___, "", false, undefined, "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_38___, "", false, undefined, "base"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_39___, "", false, undefined, "base"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_40___, "", false, "display: flex", "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_41___, "screen and (min-width: 400px)", false, "display: flex", "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_42___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "unknown(default) unknown(display: flex) unknown"); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@import url(); +@import url(''); +@import url(""); +@import ''; +@import ""; +@import " "; +@import " +"; +@import url(); +@import url(''); +@import url(""); +@import ; +@import foo-bar; +@import-normalize; +@import url('http://') :root {} + +.class { + a: b c d; +} + +.foo { + @import 'path.css'; +} + +.background { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} +@import nourl(test.css); +@import '\\\\ +\\\\ +\\\\ +'; + +/* Should be one import and two css modules */ + +/* Should be one import and two css modules */ -exports[`import option true and modules \`true\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._3fDHa2l1HOcl9VXVfSKtB7 { +/* Should be one import and two css modules */ + +/* Should be two import and two css modules */ + +/* Should be two import and two css modules */ + +/* Should be two import and two css modules */ +@import url('!!../../helpers/string-loader.js?esModule=false!'); + +/* Prefer relative */ +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"import" option should work when not specified: result 1`] = ` +".test { a: a; } -", - "", - ], - Array [ - 3, - "._3fDHa2l1HOcl9VXVfSKtB7 { +.test { a: a; } -", - "screen and print", - ], - Array [ - 5, - "a { - b: b; +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +@media screen and (orientation:landscape) {.test { + a: a; +} +}@media screen and (orientation: landscape) {.test { + a: a; +} +}@media screen and (orientation:landscape) {.test { + a: a; +} +}@media screen and (orientation:landscape) {.test { + a: a; +} +}@media screen and (orientation:landscape) {@media (min-width: 100px) {a { + b: b; +} +}}@media screen and (orientation:landscape) {.test { + c: c; +} +}@media (min-width: 100px) {.test { + d: d; +} +}@import url(http://example.com/style.css);@import url(http://example.com/style.css);@import url(http://example.com/style.css#hash);@import url(http://example.com/style.css?#hash);@import url(http://example.com/style.css?foo=bar#hash);@media screen and (orientation:landscape) {@import url(http://example.com/other-style.css);}@media screen and (orientation:landscape) {@import url(http://example.com/other-style.css);}@import url(//example.com/style.css);.test { + d: d +} +.query { + e: e; +} +.other-query { + f: f; +} +@media screen and (orientation:landscape) {.other-query { + f: f; +} +}@import url(https://fonts.googleapis.com/css?family=Roboto);@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);.relative { + color: red; +} +.top-relative { + color: black; +} +.tilde { + color: yellow; +} +.alias { + color: red; +} +.background-imported { + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.strange { + color: red; +} +.strange { + color: red; +} +.strange { + color: red; +} +.strange { + color: red; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.test { + a: a; +} +a { color: red };.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +@supports (display: flex) {.test { + a: a; +} +}@supports (display: flex) {@media screen and (orientation:landscape) {.test { + a: a; +} +}}.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +a { + color: red; +}@import url(https://fonts.googleapis.com/css?family=Roboto);a { color: red };@import url(data:text/css;charset=utf-8,a%20%7B%0D%0A%20%20color%3A%20red%3B%0D%0A%7D);.first { + color: red; +} +.second { + color: red; +} +.test { + a: a; +} +@supports (unknown) {.test { + a: a; +} +}@supports (display: flex) {.test { + a: a; +} +}@supports (display: flex !important) {.test { + a: a; +} +}@supports (display: flex) {@media screen and (min-width: 400px) {.test { + a: a; +} +}}@layer {.test { + a: a; +} +}@layer default {.test { + a: a; +} +}@supports (display: flex) {@media screen and (min-width: 400px) {@layer default {.test { + a: a; +} +}}}@supports (display: flex) {@media screen and (min-width: 400px) {@layer {.test { + a: a; +} +}}}@supports (display: flex) {@media screen and (min-width: 400px) {@layer {.test { + a: a; +} +}}}@layer {.test { + a: a; +} +}@supports (display: flex) {@media screen and (min-width: 400px) {@import url(http://example.com/style.css);}}@supports (display: flex) {@media screen and (min-width:400px) {@layer default {.test { + a: a; +} +}}}@media screen and (min-width: 400px) {.test { + a: a; +} +}@supports (display : flex) {@media screen and ( min-width : 400px ) {@layer default {.test { + a: a; +} +}}}@supports (display: flex) {@media screen and (min-width: 400px) {@layer default {.test { + a: a; +} +}}}@supports (/* comment */ /* comment */display/* comment */:/* comment */ flex/* comment */) {@media /* comment */ screen/* comment */ and/* comment */ (/* comment */min-width/* comment */: /* comment */400px/* comment */) {@layer /* comment */ /* comment */default/* comment */ {.test { + a: a; +} +}}}.test { + a: a; +} +.test { + a: a; +} +@media /* comment */ print and (orientation:landscape) {.test { + a: a; +} +}@media /* comment */ print and (orientation:landscape) {.test { + a: a; +} +}@media screen and (min-width: 400px) {@media screen and (max-width: 1200px) {.test { + a: a; +} +}}@media screen and (min-width: 400px) { +}@media (prefers-color-scheme: dark) {@media screen and (min-width: 400px) {@media screen and (max-width: 1200px) {.test { + a: a; +} +}}}@media (prefers-color-scheme: dark) {@media screen and (min-width: 400px) { +}}@media (prefers-color-scheme: dark) {}@supports (display: flex) {@supports (display: grid) {.test { + a: a; +} +}}@supports (display: flex) {}@supports (((display: flex))) {@supports (display: grid) {.test { + a: a; +} +}}@supports (((display: flex))) {}@supports (display: flex) {@supports (display: block) {@supports (display: grid) {.test { + a: a; +} +}}}@supports (display: flex) {@supports (display: block) {}}@supports (display: flex) {}@supports (display: grid) {.test { + a: a; +} +}@supports (display: flex) {@media screen and (min-width: 400px) {@supports (display: grid) {@media screen and (max-width: 1200px) {.test { + a: a; +} +}}}}@supports (display: flex) {@media screen and (min-width: 400px) {}}@supports (display: flex) {@media screen and (min-width: 400px) {@supports (display: flex) {@media screen and (min-width: 400px) {@supports (display: grid) {@media screen and (max-width: 1200px) {.test { + a: a; +} +}}}}}}@supports (display: flex) {@media screen and (min-width: 400px) {@supports (display: flex) {@media screen and (min-width: 400px) {}}}}@supports (display: flex) {@media screen and (min-width: 400px) {}}@layer framework {.test { + a: a; +} +}@layer framework {@layer base {.test { + a: a; +} +}}@layer framework {@layer base { + .foo { + color: red; + } +} +}@layer framework {@layer form {@layer base {.test { + a: a; +} +}}}@layer framework {@layer form {@layer base { + .foo { + color: red; + } +} +}}@layer framework {@layer form { + .bar { + color: red; + } +} +}@layer default {@layer base {.test { + a: a; +} +}}@layer default {@layer base {.relative { + color: red; +} +}}@layer default {@layer base { + .foo { + color: red; + } +} +}@layer default {@layer {.test { + a: a; +} +}}@layer default {}@layer base {@layer {.test { + a: a; +} +}}@layer base {.foo { + color: red; +} +}@layer base {@layer {.test { + a: a; +} +}}@layer base {@layer {.relative { + color: red; +} +}}@layer base {.foo { + color: red; +} +}@supports (display: flex) {@layer default {@layer base {.test { + a: a; +} +}}}@supports (display: flex) {@layer default {}}@supports (display: flex) {@media screen and (min-width: 400px) {@layer default {@supports (display: grid) {@media screen and (min-width: 900px) {@layer base {.test { + a: a; +} +}}}}}}@supports (display: flex) {@media screen and (min-width: 400px) {@layer default {}}}@layer bootstrap {@layer base {@layer {.relative { + color: red; +} +}}}@layer bootstrap {@layer base {@layer {.test { + a: a; +} +}}}@layer bootstrap {@layer base {/* unnamed wrapper layers around each sub-file */ +}}@layer bootstrap {/* the internal names are hidden from access, subsumed in "base" */}/* Adds additional styles to the bootstrap layer: */ +@layer bootstrap { + .test { + color: red; + } +}@media unknown(default) unknown(display: flex) unknown {.test { + a: a; +} +}@import url(); +@import url(''); +@import url(""); +@import ''; +@import ""; +@import " "; +@import " +"; +@import url(); +@import url(''); +@import url(""); +@import ; +@import foo-bar; +@import-normalize; +@import url('http://') :root {} + +.class { + a: b c d; +} + +.foo { + @import 'path.css'; +} + +.background { + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} +@import nourl(test.css); +@import '\\ +\\ +\\ +'; + +/* Should be one import and two css modules */ + +/* Should be one import and two css modules */ + +/* Should be one import and two css modules */ + +/* Should be two import and two css modules */ + +/* Should be two import and two css modules */ + +/* Should be two import and two css modules */ +@import url('!!../../helpers/string-loader.js?esModule=false!'); + +/* Prefer relative */ +" +`; + +exports[`"import" option should work when not specified: warnings 1`] = ` +[ + "ModuleWarning: Module Warning (from \`replaced original path\`): +(105:1) from "postcss-import-parser" plugin: Unable to find uri in "@import nourl(test.css)" + +Code: + @import nourl(test.css) +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(106:1) from "postcss-import-parser" plugin: Unable to find uri in "@import '\\ +\\ +\\ +'" + +Code: + @import '\\ +\\ +\\ +' +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(12:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url()" + +Code: + @import url() +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(13:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url('')" + +Code: + @import url('') +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(14:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url("")" + +Code: + @import url("") +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(154:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url('!!../../helpers/string-loader.js?esModule=false!')" + +Code: + @import url('!!../../helpers/string-loader.js?esModule=false!') +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(17:1) from "postcss-import-parser" plugin: Unable to find uri in "@import ''" + +Code: + @import '' +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(18:1) from "postcss-import-parser" plugin: Unable to find uri in "@import """ + +Code: + @import "" +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(19:1) from "postcss-import-parser" plugin: Unable to find uri in "@import " "" + +Code: + @import " " +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(20:1) from "postcss-import-parser" plugin: Unable to find uri in "@import " +"" + +Code: + @import " +" +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(22:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url()" + +Code: + @import url() +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(23:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url('')" + +Code: + @import url('') +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(24:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url("")" + +Code: + @import url("") +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(40:1) from "postcss-import-parser" plugin: Unable to find uri in "@import " + +Code: + @import +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(41:1) from "postcss-import-parser" plugin: Unable to find uri in "@import foo-bar" + +Code: + @import foo-bar +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(43:1) from "postcss-import-parser" plugin: It looks like you didn't end your @import statement correctly. Child nodes are attached to it. + +Code: + @import url('http://') :root {} +", +] +`; + +exports[`"import" option should work with 'false' aliases: errors 1`] = `[]`; + +exports[`"import" option should work with 'false' aliases: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@import "/style.css"; + +.class { + color: red; +}\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"import" option should work with 'false' aliases: result 1`] = ` +[ + [ + "./import/false-alias.css", + "@import "/style.css"; + +.class { + color: red; +}", + "", + ], +] +`; + +exports[`"import" option should work with 'false' aliases: warnings 1`] = `[]`; + +exports[`"import" option should work with 'resolve.byDependency.css.extensions': errors 1`] = `[]`; + +exports[`"import" option should work with 'resolve.byDependency.css.extensions': module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./extensions-imported.mycss"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`a { + color: red; +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"import" option should work with 'resolve.byDependency.css.extensions': result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/extensions-imported.mycss", + "div { + color: red; +} +", + "", + ], + [ + "./import/extensions.css", + "a { + color: red; +} +", + "", + ], +] +`; + +exports[`"import" option should work with 'resolve.byDependency.css.extensions': warnings 1`] = `[]`; + +exports[`"import" option should work with 'resolve.extensions': errors 1`] = `[]`; + +exports[`"import" option should work with 'resolve.extensions': module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./extensions-imported.mycss"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`a { + color: red; +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"import" option should work with 'resolve.extensions': result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/extensions-imported.mycss", + "div { + color: red; +} +", + "", + ], + [ + "./import/extensions.css", + "a { + color: red; +} +", + "", + ], +] +`; + +exports[`"import" option should work with 'resolve.extensions': warnings 1`] = `[]`; + +exports[`"import" option should work with a "import.loaders" value equal to ""1"" ("postcss-loader" before): errors 1`] = `[]`; + +exports[`"import" option should work with a "import.loaders" value equal to ""1"" ("postcss-loader" before): module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./imported.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_1___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./other-imported.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.foo { + color: red; + color: rgb(0 0 100% / 90%); +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"import" option should work with a "import.loaders" value equal to ""1"" ("postcss-loader" before): result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./nested-import/imported.css", + ".bar { + color: blue; + color: rgb(0 0 100% / 90%); +} +", + "", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./nested-import/other-imported.css", + ".baz { + color: green; + color: rgb(0 0 100% / 90%); +} +", + "", + ], + [ + "./nested-import/source.css", + ".foo { + color: red; + color: rgb(0 0 100% / 90%); +} +", + "", + ], +] +`; + +exports[`"import" option should work with a "import.loaders" value equal to ""1"" ("postcss-loader" before): warnings 1`] = `[]`; + +exports[`"import" option should work with a "import.loaders" value equal to "0" (\`postcss-loader\` before): errors 1`] = `[]`; + +exports[`"import" option should work with a "import.loaders" value equal to "0" (\`postcss-loader\` before): module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./imported.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_1___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./other-imported.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.foo { + color: red; + color: rgb(0 0 100% / 90%); +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"import" option should work with a "import.loaders" value equal to "0" (\`postcss-loader\` before): result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./nested-import/imported.css", + ".bar { + color: blue; + color: rgb(0 0 100% / 90%); +} +", + "", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./nested-import/other-imported.css", + ".baz { + color: green; + color: rgb(0 0 100% / 90%); +} +", + "", + ], + [ + "./nested-import/source.css", + ".foo { + color: red; + color: rgb(0 0 100% / 90%); +} +", + "", + ], +] +`; + +exports[`"import" option should work with a "import.loaders" value equal to "0" (\`postcss-loader\` before): warnings 1`] = `[]`; + +exports[`"import" option should work with a "import.loaders" value equal to "1" ("postcss-loader" before): errors 1`] = `[]`; + +exports[`"import" option should work with a "import.loaders" value equal to "1" ("postcss-loader" before): module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./imported.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_1___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./other-imported.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.foo { + color: red; + color: rgb(0 0 100% / 90%); +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"import" option should work with a "import.loaders" value equal to "1" ("postcss-loader" before): result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./nested-import/imported.css", + ".bar { + color: blue; + color: rgb(0 0 100% / 90%); +} +", + "", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./nested-import/other-imported.css", + ".baz { + color: green; + color: rgb(0 0 100% / 90%); +} +", + "", + ], + [ + "./nested-import/source.css", + ".foo { + color: red; + color: rgb(0 0 100% / 90%); +} +", + "", + ], +] +`; + +exports[`"import" option should work with a "import.loaders" value equal to "1" ("postcss-loader" before): warnings 1`] = `[]`; + +exports[`"import" option should work with a "import.loaders" value equal to "1" (no loaders before): errors 1`] = `[]`; + +exports[`"import" option should work with a "import.loaders" value equal to "1" (no loaders before): module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./imported.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_1___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./other-imported.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.foo { + color: red; + color: rgb(0 0 100% / 90%); +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"import" option should work with a "import.loaders" value equal to "1" (no loaders before): result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./nested-import/imported.css", + ".bar { + color: blue; + color: rgb(0 0 100% / 90%); +} +", + "", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./nested-import/other-imported.css", + ".baz { + color: green; + color: rgb(0 0 100% / 90%); +} +", + "", + ], + [ + "./nested-import/source.css", + ".foo { + color: red; + color: rgb(0 0 100% / 90%); } ", - "((min-width: 100px)) and (screen and print)", + "", + ], +] +`; + +exports[`"import" option should work with a "import.loaders" value equal to "1" (no loaders before): warnings 1`] = `[]`; + +exports[`"import" option should work with a "import.loaders" value equal to "2" ("postcss-loader" before): errors 1`] = `[]`; + +exports[`"import" option should work with a "import.loaders" value equal to "2" ("postcss-loader" before): module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./imported.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_1___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./other-imported.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.foo { + color: red; + color: rgb(0 0 100% / 90%); +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"import" option should work with a "import.loaders" value equal to "2" ("postcss-loader" before): result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./nested-import/imported.css", + ".bar { + color: blue; + color: rgb(0 0 100% / 90%); +} +", + "", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./nested-import/other-imported.css", + ".baz { + color: green; + color: rgb(0 0 100% / 90%); +} +", + "", + ], + [ + "./nested-import/source.css", + ".foo { + color: red; + color: rgb(0 0 100% / 90%); +} +", + "", ], - Array [ - 4, - ".f63QYE3dlpdhZuYg8R4pd { +] +`; + +exports[`"import" option should work with a "import.loaders" value equal to "2" ("postcss-loader" before): warnings 1`] = `[]`; + +exports[`"import" option should work with a value equal to "false": errors 1`] = `[]`; + +exports[`"import" option should work with a value equal to "false": module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./img.png", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@import url(test.css); +@import url('test.css'); +@import url("test.css"); +@IMPORT url(test.css); +@import URL(test.css); +@import url(test.css ); +@import url( test.css); +@import url( test.css ); +@import url( + test.css +); +@import url(); +@import url(''); +@import url(""); +@import "test.css"; +@import 'test.css'; +@import ''; +@import ""; +@import " "; +@import " +"; +@import url(); +@import url(''); +@import url(""); +@import url(test.css) screen and (orientation:landscape); +@import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE); +@import url(test.css)screen and (orientation:landscape); +@import url(test.css) screen and (orientation:landscape); +@import url(test-media.css) screen and (orientation:landscape); +@import url(test-other.css) (min-width: 100px); +@import url(http://example.com/style.css); +@import url(http://example.com/style.css); +@import url(http://example.com/style.css#hash); +@import url(http://example.com/style.css?#hash); +@import url(http://example.com/style.css?foo=bar#hash); +@import url(http://example.com/other-style.css) screen and (orientation:landscape); +@import url(http://example.com/other-style.css) screen and (orientation:landscape); +@import url("//example.com/style.css"); +@import url(~package/test.css); +@import ; +@import foo-bar; +@import-normalize; +@import url('http://') :root {} +@import url('query.css?foo=1&bar=1'); +@import url('other-query.css?foo=1&bar=1#hash'); +@import url('other-query.css?foo=1&bar=1#hash') screen and (orientation:landscape); +@import url('https://fonts.googleapis.com/css?family=Roboto'); +@import url('https://fonts.googleapis.com/css?family=Noto+Sans+TC'); +@import url('https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto'); + +.class { + a: b c d; +} + +.foo { + @import 'path.css'; +} + +@import url('./relative.css'); +@import url('../import/top-relative.css'); +@import url(~package/tilde.css); +@import url(~aliasesImport/alias.css); +@import url('./url.css'); + +.background { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +@import url(./test.css); + +@import './te\\\\ +st.css'; +@import './te\\\\ +\\\\ +\\\\ +st.css'; +@import url('./te\\\\ +st.css'); +@import url('./te\\\\ +\\\\ +\\\\ +st.css'); + +@import "./te'st.css"; +@import url("./te'st.css"); +@import './te\\\\'st.css'; +@import url('./te\\\\'st.css'); +@import './test test.css'; +@import url('./test test.css'); +@import './test\\\\ test.css'; +@import url('./test\\\\ test.css'); +@import './test%20test.css'; +@import url('./test%20test.css'); +@import './\\\\74\\\\65\\\\73\\\\74.css'; +@import url('./\\\\74\\\\65\\\\73\\\\74.css'); +@import './t\\\\65\\\\73\\\\74.css'; +@import url('./t\\\\65\\\\73\\\\74.css'); +@import url(./test\\\\ test.css); +@import url(./t\\\\65st%20test.css); +@import url('./t\\\\65st%20test.css'); +@import url("./t\\\\65st%20test.css"); +@import "./t\\\\65st%20test.css"; +@import './t\\\\65st%20test.css'; +@import url( test.css ); +@import nourl(test.css); +@import '\\\\ +\\\\ +\\\\ +'; +@import url('!!../../helpers/string-loader.js?esModule=false!~package/tilde.css'); +@import url(test.css?foo=bar); +@import url(test.css?foo=bar#hash); +@import url(test.css?#hash); +@import "test.css" supports(display: flex); +@import "test.css" supports(display: flex) screen and (orientation:landscape); + +/* Should be one import and two css modules */ + +@import url('something.css'); +@import url('something.css'); + +/* Should be one import and two css modules */ + +@import url('something.css?foo=bar'); +@import url('something.css?foo=bar'); + +/* Should be one import and two css modules */ + +@import url('something.css?foo=bar#hash'); +@import url('something.css?foo=bar#hash'); + +/* Should be two import and two css modules */ + +@import url('something.css?foo=bar'); +@import url('something.css?bar=foo'); + +/* Should be two import and two css modules */ + +@import url('something.css?foo=bar#one'); +@import url('something.css?foo=bar#two'); + +/* Should be two import and two css modules */ + +@import url('something.css?foo=1&bar=2'); +@import url('something.css?foo=2&bar=1'); + +@import " ./test.css "; +@import url(' ./test.css '); +@import url( ./test.css ); + +@import "./my.scss"; + +@import url(' https://fonts.googleapis.com/css?family=Roboto '); +@import url('!!../../helpers/string-loader.js?esModule=false!'); +@import url(' !!../../helpers/string-loader.js?esModule=false!~package/tilde.css '); +@import url(data:text/css;charset=utf-8,a%20%7B%0D%0A%20%20color%3A%20red%3B%0D%0A%7D); + +/* Prefer relative */ +@import url(package/first.css); +@import url(package/second.css); + +@import url("./test.css") supports(); +@import url("./test.css") supports(unknown); +@import url("./test.css") supports(display: flex); +@import url("./test.css") supports(display: flex !important); +@import url("./test.css") supports(display: flex) screen and (min-width: 400px); +@import url("./test.css") layer; +@import url("./test.css") layer(default); +@import url("./test.css") layer(default) supports(display: flex) screen and (min-width: 400px); +@import url("./test.css") layer supports(display: flex) screen and (min-width: 400px); +@import url("./test.css") layer() supports(display: flex) screen and (min-width: 400px); +@import url("./test.css") layer(); +@import url("http://example.com/style.css") supports(display: flex) screen and (min-width: 400px); +@import url("./test.css")layer(default)supports(display: flex)screen and (min-width:400px); +@import url("./test.css")screen and (min-width: 400px); +@import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px ); +@import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX); +@import url("./test.css") /* Comment */ layer(/* Comment */default/* Comment */) /* Comment */ supports(/* Comment */display/* Comment */:/* Comment */ flex/* Comment */)/* Comment */ screen/* Comment */ and/* Comment */ (/* Comment */min-width/* Comment */: /* Comment */400px/* Comment */); +@import url(test.css) /* Comment */; +@import /* Comment */ url(test.css) /* Comment */; +@import url(test.css) /* Comment */ print and (orientation:landscape); +@import /* Comment */ url(test.css) /* Comment */ print and (orientation:landscape); + +@import url("./import-with-media.css") screen and (min-width: 400px); +@import url("./deep-import-with-media.css") (prefers-color-scheme: dark); +@import url("./import-with-supports.css") supports(display: flex); +@import url("./import-with-supports.css") supports(((display: flex))); +@import url("./deep-import-with-supports.css") supports(display: flex); +@import url('./test.css') supports(display: grid); +@import url("./import-with-supports-and-media.css") supports(display: flex) screen and (min-width: 400px); +@import url("./import-deep-with-supports-and-media.css") supports(display: flex) screen and (min-width: 400px); +@import url("./test.css") layer(framework); +@import url("./import-with-layer.css") layer(framework); +@import url("./deep-import-with-layer.css") layer(framework); +@import url("./import-multiple-with-layer.css") layer(default); +@import url("./import-with-layer-unnamed.css") layer(default); +@import url("./import-unnamed-layer.css") layer(base); +@import url("./import-multiple-unnamed-layer.css") layer(base); +@import url("./import-with-layer-and-supports.css") layer(default) supports(display: flex); +@import url("./import-with-layer-and-supports-and-media.css") layer(default) supports(display: flex) screen and (min-width: 400px); +@import url("./deep-layer.css"); + +@import url("./test.css") unknown(default) unknown(display: flex) unknown; +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"import" option should work with a value equal to "false": result 1`] = ` +"@import url(test.css); +@import url('test.css'); +@import url("test.css"); +@IMPORT url(test.css); +@import URL(test.css); +@import url(test.css ); +@import url( test.css); +@import url( test.css ); +@import url( + test.css +); +@import url(); +@import url(''); +@import url(""); +@import "test.css"; +@import 'test.css'; +@import ''; +@import ""; +@import " "; +@import " +"; +@import url(); +@import url(''); +@import url(""); +@import url(test.css) screen and (orientation:landscape); +@import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE); +@import url(test.css)screen and (orientation:landscape); +@import url(test.css) screen and (orientation:landscape); +@import url(test-media.css) screen and (orientation:landscape); +@import url(test-other.css) (min-width: 100px); +@import url(http://example.com/style.css); +@import url(http://example.com/style.css); +@import url(http://example.com/style.css#hash); +@import url(http://example.com/style.css?#hash); +@import url(http://example.com/style.css?foo=bar#hash); +@import url(http://example.com/other-style.css) screen and (orientation:landscape); +@import url(http://example.com/other-style.css) screen and (orientation:landscape); +@import url("//example.com/style.css"); +@import url(~package/test.css); +@import ; +@import foo-bar; +@import-normalize; +@import url('http://') :root {} +@import url('query.css?foo=1&bar=1'); +@import url('other-query.css?foo=1&bar=1#hash'); +@import url('other-query.css?foo=1&bar=1#hash') screen and (orientation:landscape); +@import url('https://fonts.googleapis.com/css?family=Roboto'); +@import url('https://fonts.googleapis.com/css?family=Noto+Sans+TC'); +@import url('https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto'); + +.class { + a: b c d; +} + +.foo { + @import 'path.css'; +} + +@import url('./relative.css'); +@import url('../import/top-relative.css'); +@import url(~package/tilde.css); +@import url(~aliasesImport/alias.css); +@import url('./url.css'); + +.background { + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} + +@import url(./test.css); + +@import './te\\ +st.css'; +@import './te\\ +\\ +\\ +st.css'; +@import url('./te\\ +st.css'); +@import url('./te\\ +\\ +\\ +st.css'); + +@import "./te'st.css"; +@import url("./te'st.css"); +@import './te\\'st.css'; +@import url('./te\\'st.css'); +@import './test test.css'; +@import url('./test test.css'); +@import './test\\ test.css'; +@import url('./test\\ test.css'); +@import './test%20test.css'; +@import url('./test%20test.css'); +@import './\\74\\65\\73\\74.css'; +@import url('./\\74\\65\\73\\74.css'); +@import './t\\65\\73\\74.css'; +@import url('./t\\65\\73\\74.css'); +@import url(./test\\ test.css); +@import url(./t\\65st%20test.css); +@import url('./t\\65st%20test.css'); +@import url("./t\\65st%20test.css"); +@import "./t\\65st%20test.css"; +@import './t\\65st%20test.css'; +@import url( test.css ); +@import nourl(test.css); +@import '\\ +\\ +\\ +'; +@import url('!!../../helpers/string-loader.js?esModule=false!~package/tilde.css'); +@import url(test.css?foo=bar); +@import url(test.css?foo=bar#hash); +@import url(test.css?#hash); +@import "test.css" supports(display: flex); +@import "test.css" supports(display: flex) screen and (orientation:landscape); + +/* Should be one import and two css modules */ + +@import url('something.css'); +@import url('something.css'); + +/* Should be one import and two css modules */ + +@import url('something.css?foo=bar'); +@import url('something.css?foo=bar'); + +/* Should be one import and two css modules */ + +@import url('something.css?foo=bar#hash'); +@import url('something.css?foo=bar#hash'); + +/* Should be two import and two css modules */ + +@import url('something.css?foo=bar'); +@import url('something.css?bar=foo'); + +/* Should be two import and two css modules */ + +@import url('something.css?foo=bar#one'); +@import url('something.css?foo=bar#two'); + +/* Should be two import and two css modules */ + +@import url('something.css?foo=1&bar=2'); +@import url('something.css?foo=2&bar=1'); + +@import " ./test.css "; +@import url(' ./test.css '); +@import url( ./test.css ); + +@import "./my.scss"; + +@import url(' https://fonts.googleapis.com/css?family=Roboto '); +@import url('!!../../helpers/string-loader.js?esModule=false!'); +@import url(' !!../../helpers/string-loader.js?esModule=false!~package/tilde.css '); +@import url(data:text/css;charset=utf-8,a%20%7B%0D%0A%20%20color%3A%20red%3B%0D%0A%7D); + +/* Prefer relative */ +@import url(package/first.css); +@import url(package/second.css); + +@import url("./test.css") supports(); +@import url("./test.css") supports(unknown); +@import url("./test.css") supports(display: flex); +@import url("./test.css") supports(display: flex !important); +@import url("./test.css") supports(display: flex) screen and (min-width: 400px); +@import url("./test.css") layer; +@import url("./test.css") layer(default); +@import url("./test.css") layer(default) supports(display: flex) screen and (min-width: 400px); +@import url("./test.css") layer supports(display: flex) screen and (min-width: 400px); +@import url("./test.css") layer() supports(display: flex) screen and (min-width: 400px); +@import url("./test.css") layer(); +@import url("http://example.com/style.css") supports(display: flex) screen and (min-width: 400px); +@import url("./test.css")layer(default)supports(display: flex)screen and (min-width:400px); +@import url("./test.css")screen and (min-width: 400px); +@import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px ); +@import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX); +@import url("./test.css") /* Comment */ layer(/* Comment */default/* Comment */) /* Comment */ supports(/* Comment */display/* Comment */:/* Comment */ flex/* Comment */)/* Comment */ screen/* Comment */ and/* Comment */ (/* Comment */min-width/* Comment */: /* Comment */400px/* Comment */); +@import url(test.css) /* Comment */; +@import /* Comment */ url(test.css) /* Comment */; +@import url(test.css) /* Comment */ print and (orientation:landscape); +@import /* Comment */ url(test.css) /* Comment */ print and (orientation:landscape); + +@import url("./import-with-media.css") screen and (min-width: 400px); +@import url("./deep-import-with-media.css") (prefers-color-scheme: dark); +@import url("./import-with-supports.css") supports(display: flex); +@import url("./import-with-supports.css") supports(((display: flex))); +@import url("./deep-import-with-supports.css") supports(display: flex); +@import url('./test.css') supports(display: grid); +@import url("./import-with-supports-and-media.css") supports(display: flex) screen and (min-width: 400px); +@import url("./import-deep-with-supports-and-media.css") supports(display: flex) screen and (min-width: 400px); +@import url("./test.css") layer(framework); +@import url("./import-with-layer.css") layer(framework); +@import url("./deep-import-with-layer.css") layer(framework); +@import url("./import-multiple-with-layer.css") layer(default); +@import url("./import-with-layer-unnamed.css") layer(default); +@import url("./import-unnamed-layer.css") layer(base); +@import url("./import-multiple-unnamed-layer.css") layer(base); +@import url("./import-with-layer-and-supports.css") layer(default) supports(display: flex); +@import url("./import-with-layer-and-supports-and-media.css") layer(default) supports(display: flex) screen and (min-width: 400px); +@import url("./deep-layer.css"); + +@import url("./test.css") unknown(default) unknown(display: flex) unknown; +" +`; + +exports[`"import" option should work with a value equal to "false": warnings 1`] = `[]`; + +exports[`"import" option should work with a value equal to "true": errors 1`] = `[]`; + +exports[`"import" option should work with a value equal to "true": module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_1___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_2___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test-other.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_3___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./node_modules/package/test.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_4___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./query.css?foo=1&bar=1"; +import ___CSS_LOADER_AT_RULE_IMPORT_5___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./other-query.css?foo=1&bar=1#hash"; +import ___CSS_LOADER_AT_RULE_IMPORT_6___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./relative.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_7___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./top-relative.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_8___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./node_modules/package/tilde.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_9___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./alias.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_10___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./url.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_11___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./te'st.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_12___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test test.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_13___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!!!../../helpers/string-loader.js?esModule=false!./node_modules/package/tilde.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_14___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test.css?foo=bar"; +import ___CSS_LOADER_AT_RULE_IMPORT_15___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test.css?foo=bar#hash"; +import ___CSS_LOADER_AT_RULE_IMPORT_16___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test.css?#hash"; +import ___CSS_LOADER_AT_RULE_IMPORT_17___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_18___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=bar"; +import ___CSS_LOADER_AT_RULE_IMPORT_19___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=bar#hash"; +import ___CSS_LOADER_AT_RULE_IMPORT_20___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?bar=foo"; +import ___CSS_LOADER_AT_RULE_IMPORT_21___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=bar#one"; +import ___CSS_LOADER_AT_RULE_IMPORT_22___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=bar#two"; +import ___CSS_LOADER_AT_RULE_IMPORT_23___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=1&bar=2"; +import ___CSS_LOADER_AT_RULE_IMPORT_24___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=2&bar=1"; +import ___CSS_LOADER_AT_RULE_IMPORT_25___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./my.scss"; +import ___CSS_LOADER_AT_RULE_IMPORT_26___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./package/first.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_27___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./node_modules/package/second.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_28___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_29___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./deep-import-with-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_30___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-supports.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_31___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./deep-import-with-supports.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_32___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-supports-and-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_33___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-deep-with-supports-and-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_34___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-layer.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_35___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./deep-import-with-layer.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_36___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-multiple-with-layer.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_37___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-layer-unnamed.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_38___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-unnamed-layer.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_39___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-multiple-unnamed-layer.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_40___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-layer-and-supports.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_41___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-layer-and-supports-and-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_42___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./deep-layer.css"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./img.png", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (orientation:landscape)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (orientation: landscape)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (orientation:landscape)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (orientation:landscape)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___, "screen and (orientation:landscape)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_2___, "(min-width: 100px)"); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css#hash);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css?#hash);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css?foo=bar#hash);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/other-style.css);", "screen and (orientation:landscape)"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/other-style.css);", "screen and (orientation:landscape)"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(//example.com/style.css);"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_3___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_4___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_5___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_5___, "screen and (orientation:landscape)"); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(https://fonts.googleapis.com/css?family=Roboto);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_6___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_7___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_8___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_9___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_10___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_13___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_14___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_15___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_16___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (orientation:landscape)", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_17___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_17___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_18___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_18___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_19___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_19___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_18___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_20___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_21___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_22___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_23___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_24___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_25___); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(https://fonts.googleapis.com/css?family=Roboto);"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_13___); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(data:text/css;charset=utf-8,a%20%7B%0D%0A%20%20color%3A%20red%3B%0D%0A%7D);"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_26___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_27___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, ""); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, "unknown"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, "display: flex !important"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (min-width: 400px)", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, undefined, ""); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, undefined, "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (min-width: 400px)", false, "display: flex", "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (min-width: 400px)", false, "display: flex", ""); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (min-width: 400px)", false, "display: flex", ""); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, undefined, ""); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css);", "screen and (min-width: 400px)", false, "display: flex"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (min-width:400px)", false, "display: flex", "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (min-width: 400px)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and ( min-width : 400px )", false, "display : flex", "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (min-width: 400px)", false, "display: flex", "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "/* comment */ screen/* comment */ and/* comment */ (/* comment */min-width/* comment */: /* comment */400px/* comment */)", false, "/* comment */ /* comment */display/* comment */:/* comment */ flex/* comment */", "/* comment */ /* comment */default/* comment */"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "/* comment */ print and (orientation:landscape)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "/* comment */ print and (orientation:landscape)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_28___, "screen and (min-width: 400px)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_29___, "(prefers-color-scheme: dark)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_30___, "", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_30___, "", false, "((display: flex))"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_31___, "", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, "display: grid"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_32___, "screen and (min-width: 400px)", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_33___, "screen and (min-width: 400px)", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "", false, undefined, "framework"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_34___, "", false, undefined, "framework"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_35___, "", false, undefined, "framework"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_36___, "", false, undefined, "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_37___, "", false, undefined, "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_38___, "", false, undefined, "base"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_39___, "", false, undefined, "base"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_40___, "", false, "display: flex", "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_41___, "screen and (min-width: 400px)", false, "display: flex", "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_42___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "unknown(default) unknown(display: flex) unknown"); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@import url(); +@import url(''); +@import url(""); +@import ''; +@import ""; +@import " "; +@import " +"; +@import url(); +@import url(''); +@import url(""); +@import ; +@import foo-bar; +@import-normalize; +@import url('http://') :root {} + +.class { + a: b c d; +} + +.foo { + @import 'path.css'; +} + +.background { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} +@import nourl(test.css); +@import '\\\\ +\\\\ +\\\\ +'; + +/* Should be one import and two css modules */ + +/* Should be one import and two css modules */ + +/* Should be one import and two css modules */ + +/* Should be two import and two css modules */ + +/* Should be two import and two css modules */ + +/* Should be two import and two css modules */ +@import url('!!../../helpers/string-loader.js?esModule=false!'); + +/* Prefer relative */ +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"import" option should work with a value equal to "true": result 1`] = ` +".test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +@media screen and (orientation:landscape) {.test { + a: a; +} +}@media screen and (orientation: landscape) {.test { + a: a; +} +}@media screen and (orientation:landscape) {.test { + a: a; +} +}@media screen and (orientation:landscape) {.test { + a: a; +} +}@media screen and (orientation:landscape) {@media (min-width: 100px) {a { + b: b; +} +}}@media screen and (orientation:landscape) {.test { c: c; } -", - "screen and print", - ], - Array [ - 1, - "@import url(http://example.com/style.css);", - ], - Array [ - 1, - "@import url(http://example.com/style.css#hash);", - ], - Array [ - 1, - "@import url(http://example.com/style.css?#hash);", - ], - Array [ - 1, - "@import url(http://example.com/style.css?foo=bar#hash);", - ], - Array [ - 1, - "@import url(http://example.com/other-style.css);", - "screen and print", - ], - Array [ - 1, - "@import url(//example.com/style.css);", - ], - Array [ - 6, - "._1lN7KGFmbEaXH8rJdLC9cT { +}@media (min-width: 100px) {.test { + d: d; +} +}@import url(http://example.com/style.css);@import url(http://example.com/style.css);@import url(http://example.com/style.css#hash);@import url(http://example.com/style.css?#hash);@import url(http://example.com/style.css?foo=bar#hash);@media screen and (orientation:landscape) {@import url(http://example.com/other-style.css);}@media screen and (orientation:landscape) {@import url(http://example.com/other-style.css);}@import url(//example.com/style.css);.test { d: d } -", - "", - ], - Array [ - 7, - "._2FiPFdRUJ6bc--oLN32vUX { +.query { e: e; } -", - "", - ], - Array [ - 8, - "._2nQ7ONr22lmMu683ljj0MN { +.other-query { f: f; } -", - "", - ], - Array [ - 9, - "._2nQ7ONr22lmMu683ljj0MN { +@media screen and (orientation:landscape) {.other-query { f: f; } -", - "screen and print", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Roboto);", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);", - ], - Array [ - 10, - "._37G_Iu-0wcPjXN9ZhzZjlT { +}@import url(https://fonts.googleapis.com/css?family=Roboto);@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);.relative { color: red; } -", - "", - ], - Array [ - 11, - "._4a-iWS8tumU5J8-oW8LlR { +.top-relative { color: black; } -", - "", - ], - Array [ - 12, - "._2VXavzz3TUKPrbI3S1tkrW { +.tilde { color: yellow; } -", - "", - ], - Array [ - 13, - "._2E2zpPgFs4vJaVymauWk3p { +.alias { color: red; } -", - "", - ], - Array [ - 14, - "._1N9oVhfOd30-kQu9zrdhrJ { - background: url(/webpack/public/path/img.png); +.background-imported { + background: url(replaced_file_protocol_/webpack/public/path/img.png); } -", - "", - ], - Array [ - 1, - "@import url(); +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.strange { + color: red; +} +.strange { + color: red; +} +.strange { + color: red; +} +.strange { + color: red; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.space { + color: gray; +} +.test { + a: a; +} +a { color: red };.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +@supports (display: flex) {.test { + a: a; +} +}@supports (display: flex) {@media screen and (orientation:landscape) {.test { + a: a; +} +}}.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.test { + a: a; +} +.test { + a: a; +} +.test { + a: a; +} +a { + color: red; +}@import url(https://fonts.googleapis.com/css?family=Roboto);a { color: red };@import url(data:text/css;charset=utf-8,a%20%7B%0D%0A%20%20color%3A%20red%3B%0D%0A%7D);.first { + color: red; +} +.second { + color: red; +} +.test { + a: a; +} +@supports (unknown) {.test { + a: a; +} +}@supports (display: flex) {.test { + a: a; +} +}@supports (display: flex !important) {.test { + a: a; +} +}@supports (display: flex) {@media screen and (min-width: 400px) {.test { + a: a; +} +}}@layer {.test { + a: a; +} +}@layer default {.test { + a: a; +} +}@supports (display: flex) {@media screen and (min-width: 400px) {@layer default {.test { + a: a; +} +}}}@supports (display: flex) {@media screen and (min-width: 400px) {@layer {.test { + a: a; +} +}}}@supports (display: flex) {@media screen and (min-width: 400px) {@layer {.test { + a: a; +} +}}}@layer {.test { + a: a; +} +}@supports (display: flex) {@media screen and (min-width: 400px) {@import url(http://example.com/style.css);}}@supports (display: flex) {@media screen and (min-width:400px) {@layer default {.test { + a: a; +} +}}}@media screen and (min-width: 400px) {.test { + a: a; +} +}@supports (display : flex) {@media screen and ( min-width : 400px ) {@layer default {.test { + a: a; +} +}}}@supports (display: flex) {@media screen and (min-width: 400px) {@layer default {.test { + a: a; +} +}}}@supports (/* comment */ /* comment */display/* comment */:/* comment */ flex/* comment */) {@media /* comment */ screen/* comment */ and/* comment */ (/* comment */min-width/* comment */: /* comment */400px/* comment */) {@layer /* comment */ /* comment */default/* comment */ {.test { + a: a; +} +}}}.test { + a: a; +} +.test { + a: a; +} +@media /* comment */ print and (orientation:landscape) {.test { + a: a; +} +}@media /* comment */ print and (orientation:landscape) {.test { + a: a; +} +}@media screen and (min-width: 400px) {@media screen and (max-width: 1200px) {.test { + a: a; +} +}}@media screen and (min-width: 400px) { +}@media (prefers-color-scheme: dark) {@media screen and (min-width: 400px) {@media screen and (max-width: 1200px) {.test { + a: a; +} +}}}@media (prefers-color-scheme: dark) {@media screen and (min-width: 400px) { +}}@media (prefers-color-scheme: dark) {}@supports (display: flex) {@supports (display: grid) {.test { + a: a; +} +}}@supports (display: flex) {}@supports (((display: flex))) {@supports (display: grid) {.test { + a: a; +} +}}@supports (((display: flex))) {}@supports (display: flex) {@supports (display: block) {@supports (display: grid) {.test { + a: a; +} +}}}@supports (display: flex) {@supports (display: block) {}}@supports (display: flex) {}@supports (display: grid) {.test { + a: a; +} +}@supports (display: flex) {@media screen and (min-width: 400px) {@supports (display: grid) {@media screen and (max-width: 1200px) {.test { + a: a; +} +}}}}@supports (display: flex) {@media screen and (min-width: 400px) {}}@supports (display: flex) {@media screen and (min-width: 400px) {@supports (display: flex) {@media screen and (min-width: 400px) {@supports (display: grid) {@media screen and (max-width: 1200px) {.test { + a: a; +} +}}}}}}@supports (display: flex) {@media screen and (min-width: 400px) {@supports (display: flex) {@media screen and (min-width: 400px) {}}}}@supports (display: flex) {@media screen and (min-width: 400px) {}}@layer framework {.test { + a: a; +} +}@layer framework {@layer base {.test { + a: a; +} +}}@layer framework {@layer base { + .foo { + color: red; + } +} +}@layer framework {@layer form {@layer base {.test { + a: a; +} +}}}@layer framework {@layer form {@layer base { + .foo { + color: red; + } +} +}}@layer framework {@layer form { + .bar { + color: red; + } +} +}@layer default {@layer base {.test { + a: a; +} +}}@layer default {@layer base {.relative { + color: red; +} +}}@layer default {@layer base { + .foo { + color: red; + } +} +}@layer default {@layer {.test { + a: a; +} +}}@layer default {}@layer base {@layer {.test { + a: a; +} +}}@layer base {.foo { + color: red; +} +}@layer base {@layer {.test { + a: a; +} +}}@layer base {@layer {.relative { + color: red; +} +}}@layer base {.foo { + color: red; +} +}@supports (display: flex) {@layer default {@layer base {.test { + a: a; +} +}}}@supports (display: flex) {@layer default {}}@supports (display: flex) {@media screen and (min-width: 400px) {@layer default {@supports (display: grid) {@media screen and (min-width: 900px) {@layer base {.test { + a: a; +} +}}}}}}@supports (display: flex) {@media screen and (min-width: 400px) {@layer default {}}}@layer bootstrap {@layer base {@layer {.relative { + color: red; +} +}}}@layer bootstrap {@layer base {@layer {.test { + a: a; +} +}}}@layer bootstrap {@layer base {/* unnamed wrapper layers around each sub-file */ +}}@layer bootstrap {/* the internal names are hidden from access, subsumed in "base" */}/* Adds additional styles to the bootstrap layer: */ +@layer bootstrap { + .test { + color: red; + } +}@media unknown(default) unknown(display: flex) unknown {.test { + a: a; +} +}@import url(); @import url(''); -@import url(\\"\\"); +@import url(""); @import ''; -@import \\"\\"; -@import \\" \\"; -@import \\" -\\"; +@import ""; +@import " "; +@import " +"; @import url(); @import url(''); -@import url(\\"\\"); +@import url(""); @import ; @import foo-bar; @import-normalize; @import url('http://') :root {} -.hnxX78DgkaA2kCp_BPbLd { +.class { a: b c d; } -._1Lug_45kZL-M7XuNeM4SCw { +.foo { @import 'path.css'; } -._1E9CLkKp-0idM8IkvZwXn9 { - background: url(/webpack/public/path/img.png); +.background { + background: url(replaced_file_protocol_/webpack/public/path/img.png); } -", - "", - ], -] -`; +@import nourl(test.css); +@import '\\ +\\ +\\ +'; -exports[`import option true and modules \`true\`: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_1___ = require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_2___ = require(\\"-!../../../src/index.js??ref--4-0!./test-media.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_3___ = require(\\"-!../../../src/index.js??ref--4-0!./test-other.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_10___ = require(\\"-!../../../src/index.js??ref--4-0!package/test.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_11___ = require(\\"-!../../../src/index.js??ref--4-0!./query.css?foo=1&bar=1\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_12___ = require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_13___ = require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_17___ = require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_18___ = require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_19___ = require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_20___ = require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_21___ = require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"); -var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"./img.png\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_1___, \\"screen and print\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_2___, \\"screen and print\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_3___, \\"(min-width: 100px)\\"); -exports.push([module.id, \\"@import url(http://example.com/style.css);\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css#hash);\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?#hash);\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?foo=bar#hash);\\"]); -exports.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and print\\"]); -exports.push([module.id, \\"@import url(//example.com/style.css);\\"]); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_10___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_11___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_13___, \\"screen and print\\"); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Roboto);\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);\\"]); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_17___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_18___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_19___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_20___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_21___); -var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); -// Module -exports.push([module.id, \\"@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.hnxX78DgkaA2kCp_BPbLd {\\\\n a: b c d;\\\\n}\\\\n\\\\n._1Lug_45kZL-M7XuNeM4SCw {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n._1E9CLkKp-0idM8IkvZwXn9 {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]); -// Exports -exports.locals = { - \\"class\\": \\"hnxX78DgkaA2kCp_BPbLd\\", - \\"foo\\": \\"_1Lug_45kZL-M7XuNeM4SCw\\", - \\"background\\": \\"_1E9CLkKp-0idM8IkvZwXn9\\" -};" +/* Should be one import and two css modules */ + +/* Should be one import and two css modules */ + +/* Should be one import and two css modules */ + +/* Should be two import and two css modules */ + +/* Should be two import and two css modules */ + +/* Should be two import and two css modules */ +@import url('!!../../helpers/string-loader.js?esModule=false!'); + +/* Prefer relative */ +" `; -exports[`import option true and modules \`true\`: warnings 1`] = ` -Array [ +exports[`"import" option should work with a value equal to "true": warnings 1`] = ` +[ + "ModuleWarning: Module Warning (from \`replaced original path\`): +(105:1) from "postcss-import-parser" plugin: Unable to find uri in "@import nourl(test.css)" + +Code: + @import nourl(test.css) +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(106:1) from "postcss-import-parser" plugin: Unable to find uri in "@import '\\ +\\ +\\ +'" + +Code: + @import '\\ +\\ +\\ +' +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(12:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url()" + +Code: + @import url() +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(13:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url('')" -(12:1) Unable to find uri in '@import url()'", +Code: + @import url('') +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(14:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url("")" -(13:1) Unable to find uri in '@import url('')'", +Code: + @import url("") +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(154:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url('!!../../helpers/string-loader.js?esModule=false!')" -(14:1) Unable to find uri in '@import url(\\"\\")'", +Code: + @import url('!!../../helpers/string-loader.js?esModule=false!') +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(17:1) from "postcss-import-parser" plugin: Unable to find uri in "@import ''" -(17:1) Unable to find uri in '@import '''", +Code: + @import '' +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(18:1) from "postcss-import-parser" plugin: Unable to find uri in "@import """ -(18:1) Unable to find uri in '@import \\"\\"'", +Code: + @import "" +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(19:1) from "postcss-import-parser" plugin: Unable to find uri in "@import " "" -(19:1) Unable to find uri in '@import \\" \\"'", +Code: + @import " " +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(20:1) from "postcss-import-parser" plugin: Unable to find uri in "@import " +"" -(20:1) Unable to find uri in '@import \\" -\\"'", +Code: + @import " +" +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(22:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url()" -(22:1) Unable to find uri in '@import url()'", +Code: + @import url() +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(23:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url('')" -(23:1) Unable to find uri in '@import url('')'", +Code: + @import url('') +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(24:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url("")" -(24:1) Unable to find uri in '@import url(\\"\\")'", +Code: + @import url("") +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(40:1) from "postcss-import-parser" plugin: Unable to find uri in "@import " -(40:1) Unable to find uri in '@import '", +Code: + @import +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(41:1) from "postcss-import-parser" plugin: Unable to find uri in "@import foo-bar" -(41:1) Unable to find uri in '@import foo-bar'", +Code: + @import foo-bar +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(43:1) from "postcss-import-parser" plugin: It looks like you didn't end your @import statement correctly. Child nodes are attached to it. -(43:1) It looks like you didn't end your @import statement correctly. Child nodes are attached to it.", +Code: + @import url('http://') :root {} +", ] `; -exports[`import option true: errors 1`] = `Array []`; +exports[`"import" option should work with absolute URLs: errors 1`] = `[]`; + +exports[`"import" option should work with absolute URLs: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("https://raw.githubusercontent.com/webpack-contrib/css-loader/master/test/fixtures/url/img.png", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(https://raw.githubusercontent.com/webpack-contrib/css-loader/master/test/fixtures/url/imported.css);"]); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`a { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; -exports[`import option true: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - ".test { - a: a; +exports[`"import" option should work with absolute URLs: result 1`] = ` +[ + [ + "./import/absolute-url.css", + "@import url(https://raw.githubusercontent.com/webpack-contrib/css-loader/master/test/fixtures/url/imported.css);", + ], + [ + "./import/absolute-url.css", + "a { + background: url(replaced_file_protocol_/webpack/public/path/img.png); } ", "", ], - Array [ - 3, - ".test { - a: a; +] +`; + +exports[`"import" option should work with absolute URLs: warnings 1`] = `[]`; + +exports[`"import" option should work with circular \`@import\`: errors 1`] = `[]`; + +exports[`"import" option should work with circular \`@import\`: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./relative.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`/* + // TODO fixed nested circular \\\`@import\\\` + @import url(circular-nested.css); +*/ + +a { + color: red; } -", - "screen and print", +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"import" option should work with circular \`@import\`: result 1`] = ` +".relative { + color: red; +} +/* + // TODO fixed nested circular \`@import\` + @import url(circular-nested.css); +*/ + +a { + color: red; +} +" +`; + +exports[`"import" option should work with circular \`@import\`: warnings 1`] = `[]`; + +exports[`"import" option should work with data URI: errors 1`] = `[]`; + +exports[`"import" option should work with data URI: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(data:text/css;charset=utf-8;base64,YSB7DQogIGNvbG9yOiByZWQ7DQp9);"]); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`a { + display: block; + width: 100px; +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"import" option should work with data URI: result 1`] = ` +[ + [ + "./import/data-uri.css", + "@import url(data:text/css;charset=utf-8;base64,YSB7DQogIGNvbG9yOiByZWQ7DQp9);", ], - Array [ - 5, + [ + "./import/data-uri.css", "a { - b: b; + display: block; + width: 100px; } ", - "((min-width: 100px)) and (screen and print)", + "", ], - Array [ - 4, - ".test { +] +`; + +exports[`"import" option should work with data URI: warnings 1`] = `[]`; + +exports[`"import" option should work with import.filter: errors 1`] = `[]`; + +exports[`"import" option should work with import.filter: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_1___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./test-other.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_2___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./query.css?foo=1&bar=1"; +import ___CSS_LOADER_AT_RULE_IMPORT_3___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./other-query.css?foo=1&bar=1#hash"; +import ___CSS_LOADER_AT_RULE_IMPORT_4___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./relative.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_5___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./top-relative.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_6___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./node_modules/package/tilde.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_7___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./alias.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_8___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./url.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_9___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./te'st.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_10___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!!!../../helpers/string-loader.js?esModule=false!./node_modules/package/tilde.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_11___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_12___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=bar"; +import ___CSS_LOADER_AT_RULE_IMPORT_13___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=bar#hash"; +import ___CSS_LOADER_AT_RULE_IMPORT_14___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?bar=foo"; +import ___CSS_LOADER_AT_RULE_IMPORT_15___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=bar#one"; +import ___CSS_LOADER_AT_RULE_IMPORT_16___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=bar#two"; +import ___CSS_LOADER_AT_RULE_IMPORT_17___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=1&bar=2"; +import ___CSS_LOADER_AT_RULE_IMPORT_18___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css?foo=2&bar=1"; +import ___CSS_LOADER_AT_RULE_IMPORT_19___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./my.scss"; +import ___CSS_LOADER_AT_RULE_IMPORT_20___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./package/first.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_21___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./node_modules/package/second.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_22___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_23___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./deep-import-with-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_24___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-supports.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_25___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./deep-import-with-supports.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_26___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-supports-and-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_27___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-deep-with-supports-and-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_28___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-layer.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_29___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./deep-import-with-layer.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_30___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-multiple-with-layer.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_31___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-layer-unnamed.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_32___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-unnamed-layer.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_33___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-multiple-unnamed-layer.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_34___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-layer-and-supports.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_35___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./import-with-layer-and-supports-and-media.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_36___ from "-!../../../src/index.js??ruleSet[1].rules[0].use[0]!./deep-layer.css"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./img.png", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "screen and (orientation:landscape)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___, "(min-width: 100px)"); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css#hash);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css?#hash);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css?foo=bar#hash);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/other-style.css);", "screen and (orientation:landscape)"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/other-style.css);", "screen and (orientation:landscape)"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(//example.com/style.css);"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_2___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_3___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_3___, "screen and (orientation:landscape)"); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(https://fonts.googleapis.com/css?family=Roboto);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_4___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_5___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_6___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_7___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_8___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_9___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_9___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_9___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_9___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_10___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_13___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_13___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_14___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_15___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_16___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_17___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_18___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_19___); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(https://fonts.googleapis.com/css?family=Roboto);"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_10___); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(data:text/css;charset=utf-8,a%20%7B%0D%0A%20%20color%3A%20red%3B%0D%0A%7D);"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_20___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_21___); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(http://example.com/style.css);", "screen and (min-width: 400px)", false, "display: flex"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_22___, "screen and (min-width: 400px)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_23___, "(prefers-color-scheme: dark)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_24___, "", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_24___, "", false, "((display: flex))"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_25___, "", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_26___, "screen and (min-width: 400px)", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_27___, "screen and (min-width: 400px)", false, "display: flex"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_28___, "", false, undefined, "framework"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_29___, "", false, undefined, "framework"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_30___, "", false, undefined, "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_31___, "", false, undefined, "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_32___, "", false, undefined, "base"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_33___, "", false, undefined, "base"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_34___, "", false, "display: flex", "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_35___, "screen and (min-width: 400px)", false, "display: flex", "default"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_36___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@import url(test.css); +@import url('test.css'); +@import url("test.css"); +@IMPORT url(test.css); +@import URL(test.css); +@import url(test.css ); +@import url( test.css); +@import url( test.css ); +@import url( + test.css +); +@import url(); +@import url(''); +@import url(""); +@import "test.css"; +@import 'test.css'; +@import ''; +@import ""; +@import " "; +@import " +"; +@import url(); +@import url(''); +@import url(""); +@import url(test.css) screen and (orientation:landscape); +@import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE); +@import url(test.css)screen and (orientation:landscape); +@import url(test.css) screen and (orientation:landscape); +@import url(~package/test.css); +@import ; +@import foo-bar; +@import-normalize; +@import url('http://') :root {} + +.class { + a: b c d; +} + +.foo { + @import 'path.css'; +} + +.background { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +@import url(./test.css); + +@import './te\\\\ +st.css'; +@import './te\\\\ +\\\\ +\\\\ +st.css'; +@import url('./te\\\\ +st.css'); +@import url('./te\\\\ +\\\\ +\\\\ +st.css'); +@import './test test.css'; +@import url('./test test.css'); +@import './test\\\\ test.css'; +@import url('./test\\\\ test.css'); +@import './test%20test.css'; +@import url('./test%20test.css'); +@import './\\\\74\\\\65\\\\73\\\\74.css'; +@import url('./\\\\74\\\\65\\\\73\\\\74.css'); +@import './t\\\\65\\\\73\\\\74.css'; +@import url('./t\\\\65\\\\73\\\\74.css'); +@import url(./test\\\\ test.css); +@import url(./t\\\\65st%20test.css); +@import url('./t\\\\65st%20test.css'); +@import url("./t\\\\65st%20test.css"); +@import "./t\\\\65st%20test.css"; +@import './t\\\\65st%20test.css'; +@import url( test.css ); +@import nourl(test.css); +@import '\\\\ +\\\\ +\\\\ +'; +@import url(test.css?foo=bar); +@import url(test.css?foo=bar#hash); +@import url(test.css?#hash); +@import "test.css" supports(display: flex); +@import "test.css" supports(display: flex) screen and (orientation:landscape); + +/* Should be one import and two css modules */ + +/* Should be one import and two css modules */ + +/* Should be one import and two css modules */ + +/* Should be two import and two css modules */ + +/* Should be two import and two css modules */ + +/* Should be two import and two css modules */ + +@import " ./test.css "; +@import url(' ./test.css '); +@import url( ./test.css ); +@import url('!!../../helpers/string-loader.js?esModule=false!'); + +/* Prefer relative */ + +@import url("./test.css") supports(); +@import url("./test.css") supports(unknown); +@import url("./test.css") supports(display: flex); +@import url("./test.css") supports(display: flex !important); +@import url("./test.css") supports(display: flex) screen and (min-width: 400px); +@import url("./test.css") layer; +@import url("./test.css") layer(default); +@import url("./test.css") layer(default) supports(display: flex) screen and (min-width: 400px); +@import url("./test.css") layer supports(display: flex) screen and (min-width: 400px); +@import url("./test.css") layer() supports(display: flex) screen and (min-width: 400px); +@import url("./test.css") layer(); +@import url("./test.css")layer(default)supports(display: flex)screen and (min-width:400px); +@import url("./test.css")screen and (min-width: 400px); +@import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px ); +@import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX); +@import url("./test.css") /* Comment */ layer(/* Comment */default/* Comment */) /* Comment */ supports(/* Comment */display/* Comment */:/* Comment */ flex/* Comment */)/* Comment */ screen/* Comment */ and/* Comment */ (/* Comment */min-width/* Comment */: /* Comment */400px/* Comment */); +@import url(test.css) /* Comment */; +@import /* Comment */ url(test.css) /* Comment */; +@import url(test.css) /* Comment */ print and (orientation:landscape); +@import /* Comment */ url(test.css) /* Comment */ print and (orientation:landscape); +@import url('./test.css') supports(display: grid); +@import url("./test.css") layer(framework); + +@import url("./test.css") unknown(default) unknown(display: flex) unknown; +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"import" option should work with import.filter: result 1`] = ` +"@media screen and (orientation:landscape) {@media (min-width: 100px) {a { + b: b; +} +}}@media screen and (orientation:landscape) {.test { c: c; } -", - "screen and print", - ], - Array [ - 1, - "@import url(http://example.com/style.css);", - ], - Array [ - 1, - "@import url(http://example.com/style.css#hash);", - ], - Array [ - 1, - "@import url(http://example.com/style.css?#hash);", - ], - Array [ - 1, - "@import url(http://example.com/style.css?foo=bar#hash);", - ], - Array [ - 1, - "@import url(http://example.com/other-style.css);", - "screen and print", - ], - Array [ - 1, - "@import url(//example.com/style.css);", - ], - Array [ - 6, - ".test { - d: d +}@media (min-width: 100px) {.test { + d: d; } -", - "", - ], - Array [ - 7, - ".query { +}@import url(http://example.com/style.css);@import url(http://example.com/style.css);@import url(http://example.com/style.css#hash);@import url(http://example.com/style.css?#hash);@import url(http://example.com/style.css?foo=bar#hash);@media screen and (orientation:landscape) {@import url(http://example.com/other-style.css);}@media screen and (orientation:landscape) {@import url(http://example.com/other-style.css);}@import url(//example.com/style.css);.query { e: e; } -", - "", - ], - Array [ - 8, - ".other-query { +.other-query { f: f; } -", - "", - ], - Array [ - 9, - ".other-query { +@media screen and (orientation:landscape) {.other-query { f: f; } -", - "screen and print", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Roboto);", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);", - ], - Array [ - 10, - ".relative { +}@import url(https://fonts.googleapis.com/css?family=Roboto);@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);.relative { color: red; } -", - "", - ], - Array [ - 11, - ".top-relative { +.top-relative { color: black; } -", - "", - ], - Array [ - 12, - ".tilde { +.tilde { color: yellow; } -", - "", - ], - Array [ - 13, - ".alias { +.alias { color: red; } -", - "", - ], - Array [ - 14, - ".background-imported { - background: url(/webpack/public/path/img.png); +.background-imported { + background: url(replaced_file_protocol_/webpack/public/path/img.png); } -", - "", - ], - Array [ - 1, - "@import url(); +.strange { + color: red; +} +.strange { + color: red; +} +.strange { + color: red; +} +.strange { + color: red; +} +a { color: red };.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +.my-box { + color: red; +} +a { + color: red; +}@import url(https://fonts.googleapis.com/css?family=Roboto);a { color: red };@import url(data:text/css;charset=utf-8,a%20%7B%0D%0A%20%20color%3A%20red%3B%0D%0A%7D);.first { + color: red; +} +.second { + color: red; +} +@supports (display: flex) {@media screen and (min-width: 400px) {@import url(http://example.com/style.css);}}@media screen and (min-width: 400px) {@import url('./test.css') screen and (max-width: 1200px); +}@media (prefers-color-scheme: dark) {@media screen and (min-width: 400px) {@import url('./test.css') screen and (max-width: 1200px); +}}@media (prefers-color-scheme: dark) {}@supports (display: flex) {@import url('./test.css') supports(display: grid);}@supports (((display: flex))) {@import url('./test.css') supports(display: grid);}@supports (display: flex) {@supports (display: block) {@import url('./test.css') supports(display: grid);}}@supports (display: flex) {}@supports (display: flex) {@media screen and (min-width: 400px) {@import url('./test.css') supports(display: grid) screen and (max-width: 1200px);}}@supports (display: flex) {@media screen and (min-width: 400px) {@supports (display: flex) {@media screen and (min-width: 400px) {@import url('./test.css') supports(display: grid) screen and (max-width: 1200px);}}}}@supports (display: flex) {@media screen and (min-width: 400px) {}}@layer framework {@import url('./test.css') layer(base); + +@layer base { + .foo { + color: red; + } +} +}@layer framework {@layer form {@import url('./test.css') layer(base); + +@layer base { + .foo { + color: red; + } +} +}}@layer framework {@layer form { + .bar { + color: red; + } +} +}@layer default {@layer base {.relative { + color: red; +} +}}@layer default {@import url('./test.css') layer(base); + +@layer base { + .foo { + color: red; + } +} +}@layer default {@import url('./test.css') layer;}@layer base {@import url("./test.css") layer; + +.foo { + color: red; +} +}@layer base {@layer {.relative { + color: red; +} +}}@layer base {@import url("./test.css") layer; + +.foo { + color: red; +} +}@supports (display: flex) {@layer default {@import url('./test.css') layer(base);}}@supports (display: flex) {@media screen and (min-width: 400px) {@layer default {@import url("./test.css") layer(base) supports(display: grid) screen and (min-width: 900px);}}}@layer bootstrap {@layer base {@layer {.relative { + color: red; +} +}}}@layer bootstrap {@layer base {/* unnamed wrapper layers around each sub-file */ +@import url("./test.css") layer; +}}@layer bootstrap {/* the internal names are hidden from access, subsumed in "base" */}/* Adds additional styles to the bootstrap layer: */ +@layer bootstrap { + .test { + color: red; + } +}@import url(test.css); +@import url('test.css'); +@import url("test.css"); +@IMPORT url(test.css); +@import URL(test.css); +@import url(test.css ); +@import url( test.css); +@import url( test.css ); +@import url( + test.css +); +@import url(); @import url(''); -@import url(\\"\\"); +@import url(""); +@import "test.css"; +@import 'test.css'; @import ''; -@import \\"\\"; -@import \\" \\"; -@import \\" -\\"; +@import ""; +@import " "; +@import " +"; @import url(); @import url(''); -@import url(\\"\\"); +@import url(""); +@import url(test.css) screen and (orientation:landscape); +@import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE); +@import url(test.css)screen and (orientation:landscape); +@import url(test.css) screen and (orientation:landscape); +@import url(~package/test.css); @import ; @import foo-bar; @import-normalize; @@ -1682,114 +4284,202 @@ Array [ } .background { - background: url(/webpack/public/path/img.png); + background: url(replaced_file_protocol_/webpack/public/path/img.png); } -", - "", - ], -] -`; -exports[`import option true: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_1___ = require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_2___ = require(\\"-!../../../src/index.js??ref--4-0!./test-media.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_3___ = require(\\"-!../../../src/index.js??ref--4-0!./test-other.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_10___ = require(\\"-!../../../src/index.js??ref--4-0!package/test.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_11___ = require(\\"-!../../../src/index.js??ref--4-0!./query.css?foo=1&bar=1\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_12___ = require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_13___ = require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_17___ = require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_18___ = require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_19___ = require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_20___ = require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_21___ = require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"); -var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"./img.png\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_1___, \\"screen and print\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_2___, \\"screen and print\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_3___, \\"(min-width: 100px)\\"); -exports.push([module.id, \\"@import url(http://example.com/style.css);\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css#hash);\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?#hash);\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?foo=bar#hash);\\"]); -exports.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and print\\"]); -exports.push([module.id, \\"@import url(//example.com/style.css);\\"]); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_10___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_11___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_13___, \\"screen and print\\"); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Roboto);\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);\\"]); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_17___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_18___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_19___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_20___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_21___); -var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); -// Module -exports.push([module.id, \\"@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.class {\\\\n a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n.background {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]); +@import url(./test.css); + +@import './te\\ +st.css'; +@import './te\\ +\\ +\\ +st.css'; +@import url('./te\\ +st.css'); +@import url('./te\\ +\\ +\\ +st.css'); +@import './test test.css'; +@import url('./test test.css'); +@import './test\\ test.css'; +@import url('./test\\ test.css'); +@import './test%20test.css'; +@import url('./test%20test.css'); +@import './\\74\\65\\73\\74.css'; +@import url('./\\74\\65\\73\\74.css'); +@import './t\\65\\73\\74.css'; +@import url('./t\\65\\73\\74.css'); +@import url(./test\\ test.css); +@import url(./t\\65st%20test.css); +@import url('./t\\65st%20test.css'); +@import url("./t\\65st%20test.css"); +@import "./t\\65st%20test.css"; +@import './t\\65st%20test.css'; +@import url( test.css ); +@import nourl(test.css); +@import '\\ +\\ +\\ +'; +@import url(test.css?foo=bar); +@import url(test.css?foo=bar#hash); +@import url(test.css?#hash); +@import "test.css" supports(display: flex); +@import "test.css" supports(display: flex) screen and (orientation:landscape); + +/* Should be one import and two css modules */ + +/* Should be one import and two css modules */ + +/* Should be one import and two css modules */ + +/* Should be two import and two css modules */ + +/* Should be two import and two css modules */ + +/* Should be two import and two css modules */ + +@import " ./test.css "; +@import url(' ./test.css '); +@import url( ./test.css ); +@import url('!!../../helpers/string-loader.js?esModule=false!'); + +/* Prefer relative */ + +@import url("./test.css") supports(); +@import url("./test.css") supports(unknown); +@import url("./test.css") supports(display: flex); +@import url("./test.css") supports(display: flex !important); +@import url("./test.css") supports(display: flex) screen and (min-width: 400px); +@import url("./test.css") layer; +@import url("./test.css") layer(default); +@import url("./test.css") layer(default) supports(display: flex) screen and (min-width: 400px); +@import url("./test.css") layer supports(display: flex) screen and (min-width: 400px); +@import url("./test.css") layer() supports(display: flex) screen and (min-width: 400px); +@import url("./test.css") layer(); +@import url("./test.css")layer(default)supports(display: flex)screen and (min-width:400px); +@import url("./test.css")screen and (min-width: 400px); +@import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px ); +@import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX); +@import url("./test.css") /* Comment */ layer(/* Comment */default/* Comment */) /* Comment */ supports(/* Comment */display/* Comment */:/* Comment */ flex/* Comment */)/* Comment */ screen/* Comment */ and/* Comment */ (/* Comment */min-width/* Comment */: /* Comment */400px/* Comment */); +@import url(test.css) /* Comment */; +@import /* Comment */ url(test.css) /* Comment */; +@import url(test.css) /* Comment */ print and (orientation:landscape); +@import /* Comment */ url(test.css) /* Comment */ print and (orientation:landscape); +@import url('./test.css') supports(display: grid); +@import url("./test.css") layer(framework); + +@import url("./test.css") unknown(default) unknown(display: flex) unknown; " `; -exports[`import option true: warnings 1`] = ` -Array [ +exports[`"import" option should work with import.filter: warnings 1`] = ` +[ + "ModuleWarning: Module Warning (from \`replaced original path\`): +(105:1) from "postcss-import-parser" plugin: Unable to find uri in "@import nourl(test.css)" + +Code: + @import nourl(test.css) +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(106:1) from "postcss-import-parser" plugin: Unable to find uri in "@import '\\ +\\ +\\ +'" + +Code: + @import '\\ +\\ +\\ +' +", + "ModuleWarning: Module Warning (from \`replaced original path\`): +(12:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url()" + +Code: + @import url() +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(13:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url('')" -(12:1) Unable to find uri in '@import url()'", +Code: + @import url('') +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(14:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url("")" -(13:1) Unable to find uri in '@import url('')'", +Code: + @import url("") +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(154:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url('!!../../helpers/string-loader.js?esModule=false!')" -(14:1) Unable to find uri in '@import url(\\"\\")'", +Code: + @import url('!!../../helpers/string-loader.js?esModule=false!') +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(17:1) from "postcss-import-parser" plugin: Unable to find uri in "@import ''" -(17:1) Unable to find uri in '@import '''", +Code: + @import '' +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(18:1) from "postcss-import-parser" plugin: Unable to find uri in "@import """ -(18:1) Unable to find uri in '@import \\"\\"'", +Code: + @import "" +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(19:1) from "postcss-import-parser" plugin: Unable to find uri in "@import " "" -(19:1) Unable to find uri in '@import \\" \\"'", +Code: + @import " " +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(20:1) from "postcss-import-parser" plugin: Unable to find uri in "@import " +"" -(20:1) Unable to find uri in '@import \\" -\\"'", +Code: + @import " +" +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(22:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url()" -(22:1) Unable to find uri in '@import url()'", +Code: + @import url() +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(23:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url('')" -(23:1) Unable to find uri in '@import url('')'", +Code: + @import url('') +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(24:1) from "postcss-import-parser" plugin: Unable to find uri in "@import url("")" -(24:1) Unable to find uri in '@import url(\\"\\")'", +Code: + @import url("") +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(40:1) from "postcss-import-parser" plugin: Unable to find uri in "@import " -(40:1) Unable to find uri in '@import '", +Code: + @import +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(41:1) from "postcss-import-parser" plugin: Unable to find uri in "@import foo-bar" -(41:1) Unable to find uri in '@import foo-bar'", +Code: + @import foo-bar +", "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +(43:1) from "postcss-import-parser" plugin: It looks like you didn't end your @import statement correctly. Child nodes are attached to it. -(43:1) It looks like you didn't end your @import statement correctly. Child nodes are attached to it.", +Code: + @import url('http://') :root {} +", ] `; diff --git a/test/__snapshots__/importLoaders-option.test.js.snap b/test/__snapshots__/importLoaders-option.test.js.snap deleted file mode 100644 index 95a51292..00000000 --- a/test/__snapshots__/importLoaders-option.test.js.snap +++ /dev/null @@ -1,186 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`importLoaders option 0 (\`postcss-loader\` before): errors 1`] = `Array []`; - -exports[`importLoaders option 0 (\`postcss-loader\` before): module (evaluated) 1`] = ` -Array [ - Array [ - 2, - ".bar { - color: blue; - color: rgb(0 0 100% / 90%); -} -", - "", - ], - Array [ - 1, - ".foo { - color: red; - color: rgba(0, 0, 255, 0.9); -} -", - "", - ], -] -`; - -exports[`importLoaders option 0 (\`postcss-loader\` before): module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!./imported.css\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); -// Module -exports.push([module.id, \\".foo {\\\\n color: red;\\\\n color: rgba(0, 0, 255, 0.9);\\\\n}\\\\n\\", \\"\\"]); -" -`; - -exports[`importLoaders option 0 (\`postcss-loader\` before): warnings 1`] = `Array []`; - -exports[`importLoaders option 1 (\`postcss-loader\` before): errors 1`] = `Array []`; - -exports[`importLoaders option 1 (\`postcss-loader\` before): module (evaluated) 1`] = ` -Array [ - Array [ - 2, - ".bar { - color: blue; - color: rgba(0, 0, 255, 0.9); -} -", - "", - ], - Array [ - 1, - ".foo { - color: red; - color: rgba(0, 0, 255, 0.9); -} -", - "", - ], -] -`; - -exports[`importLoaders option 1 (\`postcss-loader\` before): module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!../../../node_modules/postcss-loader/src/index.js??ref--4-1!./imported.css\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); -// Module -exports.push([module.id, \\".foo {\\\\n color: red;\\\\n color: rgba(0, 0, 255, 0.9);\\\\n}\\\\n\\", \\"\\"]); -" -`; - -exports[`importLoaders option 1 (\`postcss-loader\` before): warnings 1`] = `Array []`; - -exports[`importLoaders option 1 (no loaders before): errors 1`] = `Array []`; - -exports[`importLoaders option 1 (no loaders before): module (evaluated) 1`] = ` -Array [ - Array [ - 2, - ".bar { - color: blue; - color: rgb(0 0 100% / 90%); -} -", - "", - ], - Array [ - 1, - ".foo { - color: red; - color: rgb(0 0 100% / 90%); -} -", - "", - ], -] -`; - -exports[`importLoaders option 1 (no loaders before): module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!./imported.css\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); -// Module -exports.push([module.id, \\".foo {\\\\n color: red;\\\\n color: rgb(0 0 100% / 90%);\\\\n}\\\\n\\", \\"\\"]); -" -`; - -exports[`importLoaders option 1 (no loaders before): warnings 1`] = `Array []`; - -exports[`importLoaders option 2 (\`postcss-loader\` before): errors 1`] = `Array []`; - -exports[`importLoaders option 2 (\`postcss-loader\` before): module (evaluated) 1`] = ` -Array [ - Array [ - 2, - ".bar { - color: blue; - color: rgba(0, 0, 255, 0.9); -} -", - "", - ], - Array [ - 1, - ".foo { - color: red; - color: rgba(0, 0, 255, 0.9); -} -", - "", - ], -] -`; - -exports[`importLoaders option 2 (\`postcss-loader\` before): module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!../../../node_modules/postcss-loader/src/index.js??ref--4-1!./imported.css\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); -// Module -exports.push([module.id, \\".foo {\\\\n color: red;\\\\n color: rgba(0, 0, 255, 0.9);\\\\n}\\\\n\\", \\"\\"]); -" -`; - -exports[`importLoaders option 2 (\`postcss-loader\` before): warnings 1`] = `Array []`; - -exports[`importLoaders option not specify (no loader before): errors 1`] = `Array []`; - -exports[`importLoaders option not specify (no loader before): module (evaluated) 1`] = ` -Array [ - Array [ - 2, - ".bar { - color: blue; - color: rgb(0 0 100% / 90%); -} -", - "", - ], - Array [ - 1, - ".foo { - color: red; - color: rgba(0, 0, 255, 0.9); -} -", - "", - ], -] -`; - -exports[`importLoaders option not specify (no loader before): module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!./imported.css\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); -// Module -exports.push([module.id, \\".foo {\\\\n color: red;\\\\n color: rgba(0, 0, 255, 0.9);\\\\n}\\\\n\\", \\"\\"]); -" -`; - -exports[`importLoaders option not specify (no loader before): warnings 1`] = `Array []`; diff --git a/test/__snapshots__/loader.test.js.snap b/test/__snapshots__/loader.test.js.snap index 40572090..7d01bc9a 100644 --- a/test/__snapshots__/loader.test.js.snap +++ b/test/__snapshots__/loader.test.js.snap @@ -1,165 +1,298 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`loader should compile with \`css\` entry point (with \`modules\` and scope \`global\`): api 1`] = ` -"/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -// css base code, injected by the css-loader -// eslint-disable-next-line func-names -module.exports = function(useSourceMap) { - const list = []; - - // return the list of modules as css string - list.toString = function toString() { - return this.map((item) => { - const content = cssWithMappingToString(item, useSourceMap); - - if (item[2]) { - return \`@media \${item[2]}{\${content}}\`; - } - - return content; - }).join(''); - }; +// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing - // import a list of modules into the list - // eslint-disable-next-line func-names - list.i = function(modules, mediaQuery) { - if (typeof modules === 'string') { - // eslint-disable-next-line no-param-reassign - modules = [[null, modules, '']]; - } - - const alreadyImportedModules = {}; - - for (let i = 0; i < this.length; i++) { - // eslint-disable-next-line prefer-destructuring - const id = this[i][0]; - - if (id != null) { - alreadyImportedModules[id] = true; - } - } - - for (let i = 0; i < modules.length; i++) { - const item = modules[i]; - - // skip already imported module - // this implementation is not 100% perfect for weird media query combinations - // when a module is imported multiple times with different media queries. - // I hope this will never occur (Hey this way we have smaller bundles) - if (item[0] == null || !alreadyImportedModules[item[0]]) { - if (mediaQuery && !item[2]) { - item[2] = mediaQuery; - } else if (mediaQuery) { - item[2] = \`(\${item[2]}) and (\${mediaQuery})\`; - } - - list.push(item); - } - } - }; +exports[`loader issue #1033 (2): errors 1`] = `[]`; - return list; -}; +exports[`loader issue #1033 (2): module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; -function cssWithMappingToString(item, useSourceMap) { - const content = item[1] || ''; - // eslint-disable-next-line prefer-destructuring - const cssMapping = item[3]; +exports[`loader issue #1033 (2): result 1`] = ` +[ + [ + "./modules/issue-1033/issue-1033.css", + "", + "", + ], +] +`; - if (!cssMapping) { - return content; - } +exports[`loader issue #1033 (2): warnings 1`] = `[]`; - if (useSourceMap && typeof btoa === 'function') { - const sourceMapping = toComment(cssMapping); - const sourceURLs = cssMapping.sources.map( - (source) => \`/*# sourceURL=\${cssMapping.sourceRoot}\${source} */\` - ); +exports[`loader issue #1033: errors 1`] = `[]`; - return [content] - .concat(sourceURLs) - .concat([sourceMapping]) - .join('\\\\n'); - } +exports[`loader issue #1033: module 1`] = ` +"// Exports +" +`; - return [content].join('\\\\n'); -} +exports[`loader issue #1033: result 1`] = `{}`; + +exports[`loader issue #1033: warnings 1`] = `[]`; + +exports[`loader should not generate console.warn when plugins disabled and hideNothingWarning is "true": errors 1`] = `[]`; + +exports[`loader should not generate console.warn when plugins disabled and hideNothingWarning is "true": module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; -// Adapted from convert-source-map (MIT) -function toComment(sourceMap) { - // eslint-disable-next-line no-undef - const base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); - const data = \`sourceMappingURL=data:application/json;charset=utf-8;base64,\${base64}\`; +exports[`loader should not generate console.warn when plugins disabled and hideNothingWarning is "true": result 1`] = ` +[ + [ + "./empty.css", + "", + "", + ], +] +`; + +exports[`loader should not generate console.warn when plugins disabled and hideNothingWarning is "true": warnings 1`] = `[]`; - return \`/*# \${data} */\`; +exports[`loader should pass queries to other loader: errors 1`] = `[]`; + +exports[`loader should pass queries to other loader: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../src/runtime/api.js"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./url/image.svg?color=%23BAAFDB%3F", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___, { hash: "#foo" }); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.example { + background-image: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); } +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; " `; -exports[`loader should compile with \`css\` entry point (with \`modules\` and scope \`global\`): errors 1`] = `Array []`; +exports[`loader should pass queries to other loader: result 1`] = ` +[ + [ + "./other-loader-query.css", + ".example { + background-image: url(replaced_file_protocol_/webpack/public/path/image.svg#foo); +} +", + "", + ], +] +`; -exports[`loader should compile with \`css\` entry point (with \`modules\` and scope \`global\`): escape 1`] = ` -"module.exports = (url, options) => { - if (!options) { - // eslint-disable-next-line no-param-reassign - options = {}; - } +exports[`loader should pass queries to other loader: warnings 1`] = `[]`; - // eslint-disable-next-line no-underscore-dangle, no-param-reassign - url = url.__esModule ? url.default : url; +exports[`loader should reuse \`ast\` from "postcss-loader": errors 1`] = `[]`; - if (typeof url !== 'string') { - return url; - } +exports[`loader should reuse \`ast\` from "postcss-loader": module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./img1x.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_1___ = new URL("./img2x.png", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`:root { + --fontSize: 1rem; + --mainColor: rgba(18,52,86,0.47059); + --secondaryColor: rgba(102, 51, 153, 0.9); +} - // If url is already wrapped in quotes, remove them - if (/^['\\"].*['\\"]$/.test(url)) { - // eslint-disable-next-line no-param-reassign - url = url.slice(1, -1); - } +html { + overflow-x: hidden; + overflow-y: auto; + overflow: hidden auto; +} - if (options.hash) { - // eslint-disable-next-line no-param-reassign - url += options.hash; +@media (max-width: 50rem) { + body { + color: rgba(18,52,86,0.47059); + color: var(--mainColor); + font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif; + font-size: 1rem; + font-size: var(--fontSize); + line-height: calc(1rem * 1.5); + line-height: calc(var(--fontSize) * 1.5); + word-wrap: break-word; + padding-left: calc(1rem / 2 + 1px); + padding-right: calc(1rem / 2 + 1px); + padding-left: calc(var(--fontSize) / 2 + 1px); + padding-right: calc(var(--fontSize) / 2 + 1px); } +} - // Should url be wrapped? - // See https://drafts.csswg.org/css-values-3/#urls - if (/[\\"'() \\\\t\\\\n]/.test(url) || options.needQuotes) { - return \`\\"\${url.replace(/\\"/g, '\\\\\\\\\\"').replace(/\\\\n/g, '\\\\\\\\n')}\\"\`; - } +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0; +} + +.hero:matches(main, .main) { + background-image: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); + background-image: -webkit-image-set(url(\${___CSS_LOADER_URL_REPLACEMENT_0___}) 1x, url(\${___CSS_LOADER_URL_REPLACEMENT_1___}) 2x); + background-image: image-set(url(\${___CSS_LOADER_URL_REPLACEMENT_0___}) 1x, url(\${___CSS_LOADER_URL_REPLACEMENT_1___}) 2x); +} + +@media (min-resolution: 192dpi) { + +.hero:matches(main, .main) { + background-image: url(\${___CSS_LOADER_URL_REPLACEMENT_1___}); +} +} + +a { + color: rgba(0, 0, 255, 0.9); +} - return url; -}; +a:hover { + color: #639; + } +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; " `; -exports[`loader should compile with \`css\` entry point (with \`modules\` and scope \`global\`): module (evaluated) 1`] = ` -Array [ - Array [ - 2, - ".foo { - color: red; +exports[`loader should reuse \`ast\` from "postcss-loader": result 1`] = ` +[ + [ + "./postcss-present-env/source.css", + ":root { + --fontSize: 1rem; + --mainColor: rgba(18,52,86,0.47059); + --secondaryColor: rgba(102, 51, 153, 0.9); +} + +html { + overflow-x: hidden; + overflow-y: auto; + overflow: hidden auto; +} + +@media (max-width: 50rem) { + body { + color: rgba(18,52,86,0.47059); + color: var(--mainColor); + font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif; + font-size: 1rem; + font-size: var(--fontSize); + line-height: calc(1rem * 1.5); + line-height: calc(var(--fontSize) * 1.5); + word-wrap: break-word; + padding-left: calc(1rem / 2 + 1px); + padding-right: calc(1rem / 2 + 1px); + padding-left: calc(var(--fontSize) / 2 + 1px); + padding-right: calc(var(--fontSize) / 2 + 1px); + } } + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0; +} + +.hero:matches(main, .main) { + background-image: url(replaced_file_protocol_/webpack/public/path/img1x.png); + background-image: -webkit-image-set(url(replaced_file_protocol_/webpack/public/path/img1x.png) 1x, url(replaced_file_protocol_/webpack/public/path/img2x.png) 2x); + background-image: image-set(url(replaced_file_protocol_/webpack/public/path/img1x.png) 1x, url(replaced_file_protocol_/webpack/public/path/img2x.png) 2x); +} + +@media (min-resolution: 192dpi) { + +.hero:matches(main, .main) { + background-image: url(replaced_file_protocol_/webpack/public/path/img2x.png); +} +} + +a { + color: rgba(0, 0, 255, 0.9); +} + +a:hover { + color: #639; + } ", "", ], - Array [ - 1, - "@charset \\"UTF-8\\"; +] +`; + +exports[`loader should reuse \`ast\` from "postcss-loader": warnings 1`] = `[]`; + +exports[`loader should throw an error on invisible spaces: errors 1`] = ` +[ + "ModuleBuildError: Module build failed (from \`replaced original path\`): + +SyntaxError + +(1:8) /test/fixtures/invisible-space.css Unknown word color + +> 1 | a { 

 color: red; 

 } + | ^ +", +] +`; + +exports[`loader should throw an error on invisible spaces: warnings 1`] = `[]`; + +exports[`loader should throw error on invalid css syntax: errors 1`] = ` +[ + "ModuleBuildError: Module build failed (from \`replaced original path\`): + +SyntaxError + +(2:3) /test/fixtures/error.css Unknown word invalid + + 1 | .some { +> 2 | invalid css; + | ^ + 3 | } + 4 | +", +] +`; + +exports[`loader should throw error on invalid css syntax: warnings 1`] = `[]`; + +exports[`loader should throws error when no loader(s) for assets: errors 1`] = `[]`; + +exports[`loader should throws error when no loader(s) for assets: warnings 1`] = `[]`; + +exports[`loader should work and nothing to do with built-in CSS support: errors 1`] = `[]`; + +exports[`loader should work and nothing to do with built-in CSS support: errors 2`] = `[]`; + +exports[`loader should work and nothing to do with built-in CSS support: module 1`] = ` +"@charset "UTF-8"; + /* Comment */ .class { color: red; - background: url(/webpack/public/path/img.png); + background: url("./url/img.png"); } .class-duplicate-url { - background: url(/webpack/public/path/img.png); + background: url("./url/img.png"); } :root { @@ -171,9 +304,9 @@ Array [ .two {} -.u-m\\\\+ { a: b c d; } +.u-m\\+ { a: b c d; } -.class { content: \\"\\\\F10C\\" } +.class { content: "\\F10C" } @media only screen and (max-width: 600px) { body { @@ -182,60 +315,74 @@ Array [ } .class { - content: \\"\\\\2193\\"; - content: \\"\\\\2193\\\\2193\\"; - content: \\"\\\\2193 \\\\2193\\"; - content: \\"\\\\2193\\\\2193\\\\2193\\"; - content: \\"\\\\2193 \\\\2193 \\\\2193\\"; + content: "\\2193"; + content: "\\2193\\2193"; + content: "\\2193 \\2193"; + content: "\\2193\\2193\\2193"; + content: "\\2193 \\2193 \\2193"; } .-top {} -.\\\\-top {} +.\\-top {} -#\\\\#test {} +#\\#test {} .grid { display: flex; flex-wrap: wrap; } -.grid.\\\\-top { +.grid.\\-top { align-items: flex-start; } .grid.-top { align-items: flex-start; } -.grid.\\\\-middle { +.grid.\\-middle { align-items: center; } -.grid.\\\\-bottom { +.grid.\\-bottom { align-items: flex-end; } -.u-m\\\\00002b {} +.u-m\\00002b {} .u-m00002b {} -#u-m\\\\+ {} +#u-m\\+ {} body { font-family: '微软雅黑'; /* some chinese font name */ } .myStyle { - content: '\\\\e901'; + content: '\\e901'; } .myStyle { - content: '\\\\E901'; + content: '\\E901'; } .♫ {} -.\\\\3A \\\\\`\\\\( {} /* matches elements with class=\\":\`(\\" */ -.\\\\31 a2b3c {} /* matches elements with class=\\"1a2b3c\\" */ -#\\\\#fake-id {} /* matches the element with id=\\"#fake-id\\" */ -#-a-b-c- {} /* matches the element with id=\\"-a-b-c-\\" */ -#© {} /* matches the element with id=\\"©\\" */ +.\\3A \\\`\\( {} /* matches elements with class=":\`(" */ +.\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +\\.\\\` { + color: aliceblue; +} + +\\.\\$\\{foo\\} { + color: aliceblue; +} + +/* \` */ +/* \`\` */ +/* \`\`\` */ +/* \${} */ +/* \\\\\` */ :root { --title-align: center; @@ -253,12 +400,12 @@ body { } .test { - content: \\"\\\\2014\\\\A0\\"; - content: \\"\\\\2014 \\\\A0\\"; - content: \\"\\\\A0 \\\\2014\\"; - content: \\"\\\\A0\\\\2014\\"; - margin-top: 1px\\\\9; - background-color: #000\\\\9; + content: "\\2014\\A0"; + content: "\\2014 \\A0"; + content: "\\A0 \\2014"; + content: "\\A0\\2014"; + margin-top: 1px\\9; + background-color: #000\\9; } .light.on .bulb:before{ @@ -277,194 +424,29 @@ a[href='' i] { color: red; } -a[href=\\"\\"] { +a[href=""] { color: blue; } -a[href=\\"\\" i] { +a[href="" i] { color: blue; } -", - "", - ], -] -`; - -exports[`loader should compile with \`css\` entry point (with \`modules\` and scope \`global\`): module 1`] = ` -"exports = module.exports = require(\\"../../src/runtime/api.js\\")(false); -// Imports -var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../src/index.js??ref--4-0!./imported.css\\"); -var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"./url/img.png\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); -var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); -// Module -exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n --foo: 1px;\\\\n --bar: 2px;\\\\n}\\\\n\\\\n.class { a: b c d; }\\\\n\\\\n.two {}\\\\n\\\\n.u-m\\\\\\\\+ { a: b c d; }\\\\n\\\\n.class { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n body {\\\\n background-color: lightblue;\\\\n }\\\\n}\\\\n\\\\n.class {\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n.-top {}\\\\n.\\\\\\\\-top {}\\\\n\\\\n#\\\\\\\\#test {}\\\\n\\\\n.grid {\\\\n display: flex;\\\\n flex-wrap: wrap;\\\\n}\\\\n.grid.\\\\\\\\-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.\\\\\\\\-middle {\\\\n align-items: center;\\\\n}\\\\n.grid.\\\\\\\\-bottom {\\\\n align-items: flex-end;\\\\n}\\\\n\\\\n.u-m\\\\\\\\00002b {}\\\\n\\\\n.u-m00002b {}\\\\n\\\\n#u-m\\\\\\\\+ {}\\\\n\\\\nbody {\\\\n font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n.♫ {}\\\\n\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#\\\\\\\\#fake-id {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#-a-b-c- {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#© {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n --title-align: center;\\\\n --sr-only: {\\\\n position: absolute;\\\\n width: 1px;\\\\n height: 1px;\\\\n padding: 0;\\\\n overflow: hidden;\\\\n clip: rect(0,0,0,0);\\\\n white-space: nowrap;\\\\n clip-path: inset(50%);\\\\n border: 0;\\\\n };\\\\n}\\\\n\\\\n.test {\\\\n content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n margin-top: 1px\\\\\\\\9;\\\\n background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n.light.on .bulb:before{\\\\n content: '💡';\\\\n}\\\\n\\\\n.base64 {\\\\n background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n color: blue;\\\\n}\\\\n\\", \\"\\"]); -" -`; - -exports[`loader should compile with \`css\` entry point (with \`modules\` and scope \`global\`): warnings 1`] = `Array []`; - -exports[`loader should compile with \`css\` entry point (with \`modules\` and scope \`local\`): api 1`] = ` -"/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -// css base code, injected by the css-loader -// eslint-disable-next-line func-names -module.exports = function(useSourceMap) { - const list = []; - - // return the list of modules as css string - list.toString = function toString() { - return this.map((item) => { - const content = cssWithMappingToString(item, useSourceMap); - - if (item[2]) { - return \`@media \${item[2]}{\${content}}\`; - } - - return content; - }).join(''); - }; - - // import a list of modules into the list - // eslint-disable-next-line func-names - list.i = function(modules, mediaQuery) { - if (typeof modules === 'string') { - // eslint-disable-next-line no-param-reassign - modules = [[null, modules, '']]; - } - - const alreadyImportedModules = {}; - - for (let i = 0; i < this.length; i++) { - // eslint-disable-next-line prefer-destructuring - const id = this[i][0]; - - if (id != null) { - alreadyImportedModules[id] = true; - } - } - - for (let i = 0; i < modules.length; i++) { - const item = modules[i]; - - // skip already imported module - // this implementation is not 100% perfect for weird media query combinations - // when a module is imported multiple times with different media queries. - // I hope this will never occur (Hey this way we have smaller bundles) - if (item[0] == null || !alreadyImportedModules[item[0]]) { - if (mediaQuery && !item[2]) { - item[2] = mediaQuery; - } else if (mediaQuery) { - item[2] = \`(\${item[2]}) and (\${mediaQuery})\`; - } - - list.push(item); - } - } - }; - - return list; -}; - -function cssWithMappingToString(item, useSourceMap) { - const content = item[1] || ''; - // eslint-disable-next-line prefer-destructuring - const cssMapping = item[3]; - - if (!cssMapping) { - return content; - } - - if (useSourceMap && typeof btoa === 'function') { - const sourceMapping = toComment(cssMapping); - const sourceURLs = cssMapping.sources.map( - (source) => \`/*# sourceURL=\${cssMapping.sourceRoot}\${source} */\` - ); - - return [content] - .concat(sourceURLs) - .concat([sourceMapping]) - .join('\\\\n'); - } - - return [content].join('\\\\n'); -} - -// Adapted from convert-source-map (MIT) -function toComment(sourceMap) { - // eslint-disable-next-line no-undef - const base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); - const data = \`sourceMappingURL=data:application/json;charset=utf-8;base64,\${base64}\`; - - return \`/*# \${data} */\`; -} " `; -exports[`loader should compile with \`css\` entry point (with \`modules\` and scope \`local\`): errors 1`] = `Array []`; - -exports[`loader should compile with \`css\` entry point (with \`modules\` and scope \`local\`): escape 1`] = ` -"module.exports = (url, options) => { - if (!options) { - // eslint-disable-next-line no-param-reassign - options = {}; - } - - // eslint-disable-next-line no-underscore-dangle, no-param-reassign - url = url.__esModule ? url.default : url; +exports[`loader should work and nothing to do with built-in CSS support: module 2`] = ` +"@charset "UTF-8"; - if (typeof url !== 'string') { - return url; - } - - // If url is already wrapped in quotes, remove them - if (/^['\\"].*['\\"]$/.test(url)) { - // eslint-disable-next-line no-param-reassign - url = url.slice(1, -1); - } - - if (options.hash) { - // eslint-disable-next-line no-param-reassign - url += options.hash; - } - - // Should url be wrapped? - // See https://drafts.csswg.org/css-values-3/#urls - if (/[\\"'() \\\\t\\\\n]/.test(url) || options.needQuotes) { - return \`\\"\${url.replace(/\\"/g, '\\\\\\\\\\"').replace(/\\\\n/g, '\\\\\\\\n')}\\"\`; - } - - return url; -}; -" -`; - -exports[`loader should compile with \`css\` entry point (with \`modules\` and scope \`local\`): module (evaluated) 1`] = ` -Array [ - Array [ - 2, - ".KTxgbb6qrDrjy0obHlZaJ { - color: red; -} -", - "", - ], - Array [ - 1, - "@charset \\"UTF-8\\"; /* Comment */ -._1PSZ4tK4URrenXyNSoawrx { +.class { color: red; - background: url(/webpack/public/path/img.png); + background: url("./url/img.png"); } -._3YYoEr128Gk7ZgfRycu4tr { - background: url(/webpack/public/path/img.png); +.class-duplicate-url { + background: url("./url/img.png"); } :root { @@ -472,13 +454,13 @@ Array [ --bar: 2px; } -._1PSZ4tK4URrenXyNSoawrx { a: b c d; } +.class { a: b c d; } -._1LWD9ZV4XMmN23IPiMONS3 {} +.two {} -._3i3CD1fyX8bvzRt1H0IV-f { a: b c d; } +.u-m\\+ { a: b c d; } -._1PSZ4tK4URrenXyNSoawrx { content: \\"\\\\F10C\\" } +.class { content: "\\F10C" } @media only screen and (max-width: 600px) { body { @@ -486,61 +468,75 @@ Array [ } } -._1PSZ4tK4URrenXyNSoawrx { - content: \\"\\\\2193\\"; - content: \\"\\\\2193\\\\2193\\"; - content: \\"\\\\2193 \\\\2193\\"; - content: \\"\\\\2193\\\\2193\\\\2193\\"; - content: \\"\\\\2193 \\\\2193 \\\\2193\\"; +.class { + content: "\\2193"; + content: "\\2193\\2193"; + content: "\\2193 \\2193"; + content: "\\2193\\2193\\2193"; + content: "\\2193 \\2193 \\2193"; } -._1fWEySWrY44TvDnJ8JNxnE {} -._1fWEySWrY44TvDnJ8JNxnE {} +.-top {} +.\\-top {} -#Zmuw5k7Gg4hpgd6CVBEkq {} +#\\#test {} -.nz2GDQ2B9PRi6GmzRwbUM { +.grid { display: flex; flex-wrap: wrap; } -.nz2GDQ2B9PRi6GmzRwbUM._1fWEySWrY44TvDnJ8JNxnE { +.grid.\\-top { align-items: flex-start; } -.nz2GDQ2B9PRi6GmzRwbUM._1fWEySWrY44TvDnJ8JNxnE { +.grid.-top { align-items: flex-start; } -.nz2GDQ2B9PRi6GmzRwbUM._12Sbi_HmVVsUl9TM-zo3h- { +.grid.\\-middle { align-items: center; } -.nz2GDQ2B9PRi6GmzRwbUM.gpFhy6a0Dyg4XrktE4jA3 { +.grid.\\-bottom { align-items: flex-end; } -._3i3CD1fyX8bvzRt1H0IV-f {} +.u-m\\00002b {} -.YDvxHwoU5TyTmW1oTkKgw {} +.u-m00002b {} -#_3i3CD1fyX8bvzRt1H0IV-f {} +#u-m\\+ {} body { font-family: '微软雅黑'; /* some chinese font name */ } -._3txeRUnk43pQ_ialOcI-1F { - content: '\\\\e901'; +.myStyle { + content: '\\e901'; } -._3txeRUnk43pQ_ialOcI-1F { - content: '\\\\E901'; +.myStyle { + content: '\\E901'; +} + +.♫ {} + +.\\3A \\\`\\( {} /* matches elements with class=":\`(" */ +.\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +\\.\\\` { + color: aliceblue; } -._3Zu4uw_Urs6mU3AHN6h0NV {} +\\.\\$\\{foo\\} { + color: aliceblue; +} -._4_pn9LmAb2XtAy0kg4FN_ {} /* matches elements with class=\\":\`(\\" */ -._2LEttkwzH7jRE93Ku8MGqY {} /* matches elements with class=\\"1a2b3c\\" */ -#_2E85FJStrx25rDG2lYWifC {} /* matches the element with id=\\"#fake-id\\" */ -#_2pyPm3oWgKQ-rjECcnFYrX {} /* matches the element with id=\\"-a-b-c-\\" */ -#_2pmolVDQD2g7wt3ejy2doK {} /* matches the element with id=\\"©\\" */ +/* \` */ +/* \`\` */ +/* \`\`\` */ +/* \${} */ +/* \\\\\` */ :root { --title-align: center; @@ -557,20 +553,20 @@ body { }; } -._2mQhIWfQwYBHR8C-27Rb-E { - content: \\"\\\\2014\\\\A0\\"; - content: \\"\\\\2014 \\\\A0\\"; - content: \\"\\\\A0 \\\\2014\\"; - content: \\"\\\\A0\\\\2014\\"; - margin-top: 1px\\\\9; - background-color: #000\\\\9; +.test { + content: "\\2014\\A0"; + content: "\\2014 \\A0"; + content: "\\A0 \\2014"; + content: "\\A0\\2014"; + margin-top: 1px\\9; + background-color: #000\\9; } -._2H1jUQC4I1yE2c9CEwXfAS._3HDHfIW-5V2j3qdUcRiaMD ._2eB5NM0D15e1HQWl3AHa8q:before{ +.light.on .bulb:before{ content: '💡'; } -.JNjvwXXuHnb_zjhkwPzBD { +.base64 { background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==); } @@ -582,218 +578,55 @@ a[href='' i] { color: red; } -a[href=\\"\\"] { +a[href=""] { color: blue; } -a[href=\\"\\" i] { +a[href="" i] { color: blue; } -", - "", - ], -] +" `; -exports[`loader should compile with \`css\` entry point (with \`modules\` and scope \`local\`): module 1`] = ` -"exports = module.exports = require(\\"../../src/runtime/api.js\\")(false); -// Imports -var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../src/index.js??ref--4-0!./imported.css\\"); -var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"./url/img.png\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); -var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); -// Module -exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n._1PSZ4tK4URrenXyNSoawrx {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n._3YYoEr128Gk7ZgfRycu4tr {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n --foo: 1px;\\\\n --bar: 2px;\\\\n}\\\\n\\\\n._1PSZ4tK4URrenXyNSoawrx { a: b c d; }\\\\n\\\\n._1LWD9ZV4XMmN23IPiMONS3 {}\\\\n\\\\n._3i3CD1fyX8bvzRt1H0IV-f { a: b c d; }\\\\n\\\\n._1PSZ4tK4URrenXyNSoawrx { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n body {\\\\n background-color: lightblue;\\\\n }\\\\n}\\\\n\\\\n._1PSZ4tK4URrenXyNSoawrx {\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n._1fWEySWrY44TvDnJ8JNxnE {}\\\\n._1fWEySWrY44TvDnJ8JNxnE {}\\\\n\\\\n#Zmuw5k7Gg4hpgd6CVBEkq {}\\\\n\\\\n.nz2GDQ2B9PRi6GmzRwbUM {\\\\n display: flex;\\\\n flex-wrap: wrap;\\\\n}\\\\n.nz2GDQ2B9PRi6GmzRwbUM._1fWEySWrY44TvDnJ8JNxnE {\\\\n align-items: flex-start;\\\\n}\\\\n.nz2GDQ2B9PRi6GmzRwbUM._1fWEySWrY44TvDnJ8JNxnE {\\\\n align-items: flex-start;\\\\n}\\\\n.nz2GDQ2B9PRi6GmzRwbUM._12Sbi_HmVVsUl9TM-zo3h- {\\\\n align-items: center;\\\\n}\\\\n.nz2GDQ2B9PRi6GmzRwbUM.gpFhy6a0Dyg4XrktE4jA3 {\\\\n align-items: flex-end;\\\\n}\\\\n\\\\n._3i3CD1fyX8bvzRt1H0IV-f {}\\\\n\\\\n.YDvxHwoU5TyTmW1oTkKgw {}\\\\n\\\\n#_3i3CD1fyX8bvzRt1H0IV-f {}\\\\n\\\\nbody {\\\\n font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n._3txeRUnk43pQ_ialOcI-1F {\\\\n content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n._3txeRUnk43pQ_ialOcI-1F {\\\\n content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n._3Zu4uw_Urs6mU3AHN6h0NV {}\\\\n\\\\n._4_pn9LmAb2XtAy0kg4FN_ {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n._2LEttkwzH7jRE93Ku8MGqY {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#_2E85FJStrx25rDG2lYWifC {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#_2pyPm3oWgKQ-rjECcnFYrX {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#_2pmolVDQD2g7wt3ejy2doK {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n --title-align: center;\\\\n --sr-only: {\\\\n position: absolute;\\\\n width: 1px;\\\\n height: 1px;\\\\n padding: 0;\\\\n overflow: hidden;\\\\n clip: rect(0,0,0,0);\\\\n white-space: nowrap;\\\\n clip-path: inset(50%);\\\\n border: 0;\\\\n };\\\\n}\\\\n\\\\n._2mQhIWfQwYBHR8C-27Rb-E {\\\\n content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n margin-top: 1px\\\\\\\\9;\\\\n background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n._2H1jUQC4I1yE2c9CEwXfAS._3HDHfIW-5V2j3qdUcRiaMD ._2eB5NM0D15e1HQWl3AHa8q:before{\\\\n content: '💡';\\\\n}\\\\n\\\\n.JNjvwXXuHnb_zjhkwPzBD {\\\\n background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n color: blue;\\\\n}\\\\n\\", \\"\\"]); -// Exports -exports.locals = { - \\"class\\": \\"_1PSZ4tK4URrenXyNSoawrx\\", - \\"class-duplicate-url\\": \\"_3YYoEr128Gk7ZgfRycu4tr\\", - \\"two\\": \\"_1LWD9ZV4XMmN23IPiMONS3\\", - \\"u-m+\\": \\"_3i3CD1fyX8bvzRt1H0IV-f\\", - \\"-top\\": \\"_1fWEySWrY44TvDnJ8JNxnE\\", - \\"#test\\": \\"Zmuw5k7Gg4hpgd6CVBEkq\\", - \\"grid\\": \\"nz2GDQ2B9PRi6GmzRwbUM\\", - \\"-middle\\": \\"_12Sbi_HmVVsUl9TM-zo3h-\\", - \\"-bottom\\": \\"gpFhy6a0Dyg4XrktE4jA3\\", - \\"u-m00002b\\": \\"YDvxHwoU5TyTmW1oTkKgw\\", - \\"myStyle\\": \\"_3txeRUnk43pQ_ialOcI-1F\\", - \\"♫\\": \\"_3Zu4uw_Urs6mU3AHN6h0NV\\", - \\":\`(\\": \\"_4_pn9LmAb2XtAy0kg4FN_\\", - \\"1a2b3c\\": \\"_2LEttkwzH7jRE93Ku8MGqY\\", - \\"#fake-id\\": \\"_2E85FJStrx25rDG2lYWifC\\", - \\"-a-b-c-\\": \\"_2pyPm3oWgKQ-rjECcnFYrX\\", - \\"©\\": \\"_2pmolVDQD2g7wt3ejy2doK\\", - \\"test\\": \\"_2mQhIWfQwYBHR8C-27Rb-E\\", - \\"light\\": \\"_2H1jUQC4I1yE2c9CEwXfAS\\", - \\"on\\": \\"_3HDHfIW-5V2j3qdUcRiaMD\\", - \\"bulb\\": \\"_2eB5NM0D15e1HQWl3AHa8q\\", - \\"base64\\": \\"JNjvwXXuHnb_zjhkwPzBD\\" -};" +exports[`loader should work and nothing to do with built-in CSS support: warnings 1`] = ` +[ + "ModuleWarning: Module Warning (from \`replaced original path\`): +You can't use \`experiments.css\` (\`experiments.futureDefaults\` enable built-in CSS support by default) and \`css-loader\` together, please set \`experiments.css\` to \`false\` or set \`{ type: "javascript/auto" }\` for rules with \`css-loader\` in your webpack config (now css-loader does nothing).", +] `; -exports[`loader should compile with \`css\` entry point (with \`modules\` and scope \`local\`): warnings 1`] = `Array []`; - -exports[`loader should compile with \`css\` entry point: api 1`] = ` -"/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -// css base code, injected by the css-loader -// eslint-disable-next-line func-names -module.exports = function(useSourceMap) { - const list = []; - - // return the list of modules as css string - list.toString = function toString() { - return this.map((item) => { - const content = cssWithMappingToString(item, useSourceMap); - - if (item[2]) { - return \`@media \${item[2]}{\${content}}\`; - } - - return content; - }).join(''); - }; - - // import a list of modules into the list - // eslint-disable-next-line func-names - list.i = function(modules, mediaQuery) { - if (typeof modules === 'string') { - // eslint-disable-next-line no-param-reassign - modules = [[null, modules, '']]; - } - - const alreadyImportedModules = {}; - - for (let i = 0; i < this.length; i++) { - // eslint-disable-next-line prefer-destructuring - const id = this[i][0]; - - if (id != null) { - alreadyImportedModules[id] = true; - } - } - - for (let i = 0; i < modules.length; i++) { - const item = modules[i]; - - // skip already imported module - // this implementation is not 100% perfect for weird media query combinations - // when a module is imported multiple times with different media queries. - // I hope this will never occur (Hey this way we have smaller bundles) - if (item[0] == null || !alreadyImportedModules[item[0]]) { - if (mediaQuery && !item[2]) { - item[2] = mediaQuery; - } else if (mediaQuery) { - item[2] = \`(\${item[2]}) and (\${mediaQuery})\`; - } - - list.push(item); - } - } - }; - - return list; -}; - -function cssWithMappingToString(item, useSourceMap) { - const content = item[1] || ''; - // eslint-disable-next-line prefer-destructuring - const cssMapping = item[3]; - - if (!cssMapping) { - return content; - } - - if (useSourceMap && typeof btoa === 'function') { - const sourceMapping = toComment(cssMapping); - const sourceURLs = cssMapping.sources.map( - (source) => \`/*# sourceURL=\${cssMapping.sourceRoot}\${source} */\` - ); - - return [content] - .concat(sourceURLs) - .concat([sourceMapping]) - .join('\\\\n'); - } - - return [content].join('\\\\n'); -} - -// Adapted from convert-source-map (MIT) -function toComment(sourceMap) { - // eslint-disable-next-line no-undef - const base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); - const data = \`sourceMappingURL=data:application/json;charset=utf-8;base64,\${base64}\`; - - return \`/*# \${data} */\`; -} -" +exports[`loader should work and nothing to do with built-in CSS support: warnings 2`] = ` +[ + "ModuleWarning: Module Warning (from \`replaced original path\`): +You can't use \`experiments.css\` (\`experiments.futureDefaults\` enable built-in CSS support by default) and \`css-loader\` together, please set \`experiments.css\` to \`false\` or set \`{ type: "javascript/auto" }\` for rules with \`css-loader\` in your webpack config (now css-loader does nothing).", +] `; -exports[`loader should compile with \`css\` entry point: errors 1`] = `Array []`; - -exports[`loader should compile with \`css\` entry point: escape 1`] = ` -"module.exports = (url, options) => { - if (!options) { - // eslint-disable-next-line no-param-reassign - options = {}; - } - - // eslint-disable-next-line no-underscore-dangle, no-param-reassign - url = url.__esModule ? url.default : url; - - if (typeof url !== 'string') { - return url; - } - - // If url is already wrapped in quotes, remove them - if (/^['\\"].*['\\"]$/.test(url)) { - // eslint-disable-next-line no-param-reassign - url = url.slice(1, -1); - } - - if (options.hash) { - // eslint-disable-next-line no-param-reassign - url += options.hash; - } - - // Should url be wrapped? - // See https://drafts.csswg.org/css-values-3/#urls - if (/[\\"'() \\\\t\\\\n]/.test(url) || options.needQuotes) { - return \`\\"\${url.replace(/\\"/g, '\\\\\\\\\\"').replace(/\\\\n/g, '\\\\\\\\n')}\\"\`; - } - - return url; -}; -" -`; +exports[`loader should work in 'production' mode: errors 1`] = `[]`; + +exports[`loader should work in 'production' mode: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../src/runtime/api.js"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./url/img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_1___ = new URL("data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@charset "UTF-8"; -exports[`loader should compile with \`css\` entry point: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - ".foo { - color: red; -} -", - "", - ], - Array [ - 1, - "@charset \\"UTF-8\\"; /* Comment */ .class { color: red; - background: url(/webpack/public/path/img.png); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); } .class-duplicate-url { - background: url(/webpack/public/path/img.png); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); } :root { @@ -807,7 +640,7 @@ Array [ .u-m\\\\+ { a: b c d; } -.class { content: \\"\\\\F10C\\" } +.class { content: "\\\\F10C" } @media only screen and (max-width: 600px) { body { @@ -816,11 +649,11 @@ Array [ } .class { - content: \\"\\\\2193\\"; - content: \\"\\\\2193\\\\2193\\"; - content: \\"\\\\2193 \\\\2193\\"; - content: \\"\\\\2193\\\\2193\\\\2193\\"; - content: \\"\\\\2193 \\\\2193 \\\\2193\\"; + content: "\\\\2193"; + content: "\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193"; + content: "\\\\2193\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193 \\\\2193"; } .-top {} @@ -865,11 +698,25 @@ body { .♫ {} -.\\\\3A \\\\\`\\\\( {} /* matches elements with class=\\":\`(\\" */ -.\\\\31 a2b3c {} /* matches elements with class=\\"1a2b3c\\" */ -#\\\\#fake-id {} /* matches the element with id=\\"#fake-id\\" */ -#-a-b-c- {} /* matches the element with id=\\"-a-b-c-\\" */ -#© {} /* matches the element with id=\\"©\\" */ +.\\\\3A \\\\\\\`\\\\( {} /* matches elements with class=":\\\`(" */ +.\\\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +\\\\.\\\\\\\` { + color: aliceblue; +} + +\\\\.\\\\\\$\\\\{foo\\\\} { + color: aliceblue; +} + +/* \\\` */ +/* \\\`\\\` */ +/* \\\`\\\`\\\` */ +/* \\\${} */ +/* \\\\\\\\\\\` */ :root { --title-align: center; @@ -887,10 +734,10 @@ body { } .test { - content: \\"\\\\2014\\\\A0\\"; - content: \\"\\\\2014 \\\\A0\\"; - content: \\"\\\\A0 \\\\2014\\"; - content: \\"\\\\A0\\\\2014\\"; + content: "\\\\2014\\\\A0"; + content: "\\\\2014 \\\\A0"; + content: "\\\\A0 \\\\2014"; + content: "\\\\A0\\\\2014"; margin-top: 1px\\\\9; background-color: #000\\\\9; } @@ -900,7 +747,7 @@ body { } .base64 { - background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_1___}); } a[href=''] { @@ -911,194 +758,206 @@ a[href='' i] { color: red; } -a[href=\\"\\"] { +a[href=""] { color: blue; } -a[href=\\"\\" i] { +a[href="" i] { color: blue; } -", - "", - ], -] -`; - -exports[`loader should compile with \`css\` entry point: module 1`] = ` -"exports = module.exports = require(\\"../../src/runtime/api.js\\")(false); -// Imports -var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../src/index.js??ref--4-0!./imported.css\\"); -var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"./url/img.png\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); -var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); -// Module -exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n --foo: 1px;\\\\n --bar: 2px;\\\\n}\\\\n\\\\n.class { a: b c d; }\\\\n\\\\n.two {}\\\\n\\\\n.u-m\\\\\\\\+ { a: b c d; }\\\\n\\\\n.class { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n body {\\\\n background-color: lightblue;\\\\n }\\\\n}\\\\n\\\\n.class {\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n.-top {}\\\\n.\\\\\\\\-top {}\\\\n\\\\n#\\\\\\\\#test {}\\\\n\\\\n.grid {\\\\n display: flex;\\\\n flex-wrap: wrap;\\\\n}\\\\n.grid.\\\\\\\\-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.\\\\\\\\-middle {\\\\n align-items: center;\\\\n}\\\\n.grid.\\\\\\\\-bottom {\\\\n align-items: flex-end;\\\\n}\\\\n\\\\n.u-m\\\\\\\\00002b {}\\\\n\\\\n.u-m00002b {}\\\\n\\\\n#u-m\\\\\\\\+ {}\\\\n\\\\nbody {\\\\n font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n.♫ {}\\\\n\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#\\\\\\\\#fake-id {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#-a-b-c- {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#© {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n --title-align: center;\\\\n --sr-only: {\\\\n position: absolute;\\\\n width: 1px;\\\\n height: 1px;\\\\n padding: 0;\\\\n overflow: hidden;\\\\n clip: rect(0,0,0,0);\\\\n white-space: nowrap;\\\\n clip-path: inset(50%);\\\\n border: 0;\\\\n };\\\\n}\\\\n\\\\n.test {\\\\n content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n margin-top: 1px\\\\\\\\9;\\\\n background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n.light.on .bulb:before{\\\\n content: '💡';\\\\n}\\\\n\\\\n.base64 {\\\\n background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n color: blue;\\\\n}\\\\n\\", \\"\\"]); +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; " `; -exports[`loader should compile with \`css\` entry point: warnings 1`] = `Array []`; - -exports[`loader should compile with \`js\` entry point: api 1`] = ` -"/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -// css base code, injected by the css-loader -// eslint-disable-next-line func-names -module.exports = function(useSourceMap) { - const list = []; - - // return the list of modules as css string - list.toString = function toString() { - return this.map((item) => { - const content = cssWithMappingToString(item, useSourceMap); - - if (item[2]) { - return \`@media \${item[2]}{\${content}}\`; - } - - return content; - }).join(''); - }; +exports[`loader should work in 'production' mode: result 1`] = ` +[ + [ + 501, + "@charset "UTF-8"; - // import a list of modules into the list - // eslint-disable-next-line func-names - list.i = function(modules, mediaQuery) { - if (typeof modules === 'string') { - // eslint-disable-next-line no-param-reassign - modules = [[null, modules, '']]; - } - - const alreadyImportedModules = {}; - - for (let i = 0; i < this.length; i++) { - // eslint-disable-next-line prefer-destructuring - const id = this[i][0]; - - if (id != null) { - alreadyImportedModules[id] = true; - } - } - - for (let i = 0; i < modules.length; i++) { - const item = modules[i]; - - // skip already imported module - // this implementation is not 100% perfect for weird media query combinations - // when a module is imported multiple times with different media queries. - // I hope this will never occur (Hey this way we have smaller bundles) - if (item[0] == null || !alreadyImportedModules[item[0]]) { - if (mediaQuery && !item[2]) { - item[2] = mediaQuery; - } else if (mediaQuery) { - item[2] = \`(\${item[2]}) and (\${mediaQuery})\`; - } - - list.push(item); - } - } - }; - return list; -}; +/* Comment */ -function cssWithMappingToString(item, useSourceMap) { - const content = item[1] || ''; - // eslint-disable-next-line prefer-destructuring - const cssMapping = item[3]; +.class { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} - if (!cssMapping) { - return content; - } +.class-duplicate-url { + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} - if (useSourceMap && typeof btoa === 'function') { - const sourceMapping = toComment(cssMapping); - const sourceURLs = cssMapping.sources.map( - (source) => \`/*# sourceURL=\${cssMapping.sourceRoot}\${source} */\` - ); +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\+ { a: b c d; } + +.class { content: "\\F10C" } - return [content] - .concat(sourceURLs) - .concat([sourceMapping]) - .join('\\\\n'); +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; } +} - return [content].join('\\\\n'); +.class { + content: "\\2193"; + content: "\\2193\\2193"; + content: "\\2193 \\2193"; + content: "\\2193\\2193\\2193"; + content: "\\2193 \\2193 \\2193"; } -// Adapted from convert-source-map (MIT) -function toComment(sourceMap) { - // eslint-disable-next-line no-undef - const base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); - const data = \`sourceMappingURL=data:application/json;charset=utf-8;base64,\${base64}\`; +.-top {} +.\\-top {} + +#\\#test {} - return \`/*# \${data} */\`; +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\-middle { + align-items: center; +} +.grid.\\-bottom { + align-items: flex-end; } -" -`; -exports[`loader should compile with \`js\` entry point: errors 1`] = `Array []`; +.u-m\\00002b {} -exports[`loader should compile with \`js\` entry point: escape 1`] = ` -"module.exports = (url, options) => { - if (!options) { - // eslint-disable-next-line no-param-reassign - options = {}; - } +.u-m00002b {} - // eslint-disable-next-line no-underscore-dangle, no-param-reassign - url = url.__esModule ? url.default : url; +#u-m\\+ {} - if (typeof url !== 'string') { - return url; - } +body { + font-family: '微软雅黑'; /* some chinese font name */ +} - // If url is already wrapped in quotes, remove them - if (/^['\\"].*['\\"]$/.test(url)) { - // eslint-disable-next-line no-param-reassign - url = url.slice(1, -1); - } +.myStyle { + content: '\\e901'; +} - if (options.hash) { - // eslint-disable-next-line no-param-reassign - url += options.hash; - } +.myStyle { + content: '\\E901'; +} - // Should url be wrapped? - // See https://drafts.csswg.org/css-values-3/#urls - if (/[\\"'() \\\\t\\\\n]/.test(url) || options.needQuotes) { - return \`\\"\${url.replace(/\\"/g, '\\\\\\\\\\"').replace(/\\\\n/g, '\\\\\\\\n')}\\"\`; - } +.♫ {} - return url; -}; -" -`; +.\\3A \\\`\\( {} /* matches elements with class=":\`(" */ +.\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +\\.\\\` { + color: aliceblue; +} + +\\.\\$\\{foo\\} { + color: aliceblue; +} + +/* \` */ +/* \`\` */ +/* \`\`\` */ +/* \${} */ +/* \\\\\` */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\2014\\A0"; + content: "\\2014 \\A0"; + content: "\\A0 \\2014"; + content: "\\A0\\2014"; + margin-top: 1px\\9; + background-color: #000\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==); +} + +a[href=''] { + color: red; +} -exports[`loader should compile with \`js\` entry point: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - ".foo { +a[href='' i] { color: red; } + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} ", "", ], - Array [ - 1, - "@charset \\"UTF-8\\"; +] +`; + +exports[`loader should work in 'production' mode: warnings 1`] = `[]`; + +exports[`loader should work with "asset" module type: errors 1`] = `[]`; + +exports[`loader should work with "asset" module type: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../src/runtime/api.js"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./url/img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_1___ = new URL("data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@charset "UTF-8"; + /* Comment */ .class { color: red; - background: url(/webpack/public/path/img.png); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); } .class-duplicate-url { - background: url(/webpack/public/path/img.png); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); } :root { @@ -1112,7 +971,7 @@ Array [ .u-m\\\\+ { a: b c d; } -.class { content: \\"\\\\F10C\\" } +.class { content: "\\\\F10C" } @media only screen and (max-width: 600px) { body { @@ -1121,11 +980,11 @@ Array [ } .class { - content: \\"\\\\2193\\"; - content: \\"\\\\2193\\\\2193\\"; - content: \\"\\\\2193 \\\\2193\\"; - content: \\"\\\\2193\\\\2193\\\\2193\\"; - content: \\"\\\\2193 \\\\2193 \\\\2193\\"; + content: "\\\\2193"; + content: "\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193"; + content: "\\\\2193\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193 \\\\2193"; } .-top {} @@ -1170,11 +1029,25 @@ body { .♫ {} -.\\\\3A \\\\\`\\\\( {} /* matches elements with class=\\":\`(\\" */ -.\\\\31 a2b3c {} /* matches elements with class=\\"1a2b3c\\" */ -#\\\\#fake-id {} /* matches the element with id=\\"#fake-id\\" */ -#-a-b-c- {} /* matches the element with id=\\"-a-b-c-\\" */ -#© {} /* matches the element with id=\\"©\\" */ +.\\\\3A \\\\\\\`\\\\( {} /* matches elements with class=":\\\`(" */ +.\\\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +\\\\.\\\\\\\` { + color: aliceblue; +} + +\\\\.\\\\\\$\\\\{foo\\\\} { + color: aliceblue; +} + +/* \\\` */ +/* \\\`\\\` */ +/* \\\`\\\`\\\` */ +/* \\\${} */ +/* \\\\\\\\\\\` */ :root { --title-align: center; @@ -1192,10 +1065,10 @@ body { } .test { - content: \\"\\\\2014\\\\A0\\"; - content: \\"\\\\2014 \\\\A0\\"; - content: \\"\\\\A0 \\\\2014\\"; - content: \\"\\\\A0\\\\2014\\"; + content: "\\\\2014\\\\A0"; + content: "\\\\2014 \\\\A0"; + content: "\\\\A0 \\\\2014"; + content: "\\\\A0\\\\2014"; margin-top: 1px\\\\9; background-color: #000\\\\9; } @@ -1205,7 +1078,7 @@ body { } .base64 { - background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_1___}); } a[href=''] { @@ -1216,786 +1089,2435 @@ a[href='' i] { color: red; } -a[href=\\"\\"] { +a[href=""] { color: blue; } -a[href=\\"\\" i] { +a[href="" i] { color: blue; } -", - "", - ], -] -`; - -exports[`loader should compile with \`js\` entry point: module 1`] = ` -"exports = module.exports = require(\\"../../src/runtime/api.js\\")(false); -// Imports -var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../src/index.js??ref--4-0!./imported.css\\"); -var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"./url/img.png\\"); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); -var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); -// Module -exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n --foo: 1px;\\\\n --bar: 2px;\\\\n}\\\\n\\\\n.class { a: b c d; }\\\\n\\\\n.two {}\\\\n\\\\n.u-m\\\\\\\\+ { a: b c d; }\\\\n\\\\n.class { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n body {\\\\n background-color: lightblue;\\\\n }\\\\n}\\\\n\\\\n.class {\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n.-top {}\\\\n.\\\\\\\\-top {}\\\\n\\\\n#\\\\\\\\#test {}\\\\n\\\\n.grid {\\\\n display: flex;\\\\n flex-wrap: wrap;\\\\n}\\\\n.grid.\\\\\\\\-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.\\\\\\\\-middle {\\\\n align-items: center;\\\\n}\\\\n.grid.\\\\\\\\-bottom {\\\\n align-items: flex-end;\\\\n}\\\\n\\\\n.u-m\\\\\\\\00002b {}\\\\n\\\\n.u-m00002b {}\\\\n\\\\n#u-m\\\\\\\\+ {}\\\\n\\\\nbody {\\\\n font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n.♫ {}\\\\n\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#\\\\\\\\#fake-id {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#-a-b-c- {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#© {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n --title-align: center;\\\\n --sr-only: {\\\\n position: absolute;\\\\n width: 1px;\\\\n height: 1px;\\\\n padding: 0;\\\\n overflow: hidden;\\\\n clip: rect(0,0,0,0);\\\\n white-space: nowrap;\\\\n clip-path: inset(50%);\\\\n border: 0;\\\\n };\\\\n}\\\\n\\\\n.test {\\\\n content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n margin-top: 1px\\\\\\\\9;\\\\n background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n.light.on .bulb:before{\\\\n content: '💡';\\\\n}\\\\n\\\\n.base64 {\\\\n background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n color: blue;\\\\n}\\\\n\\", \\"\\"]); +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; " `; -exports[`loader should compile with \`js\` entry point: warnings 1`] = `Array []`; - -exports[`loader should compile with empty css entry point: errors 1`] = `Array []`; - -exports[`loader should compile with empty css entry point: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "", - "", - ], -] -`; - -exports[`loader should compile with empty css entry point: module 1`] = ` -"exports = module.exports = require(\\"../../src/runtime/api.js\\")(false); -// Module -exports.push([module.id, \\"\\", \\"\\"]); -" -`; +exports[`loader should work with "asset" module type: result 1`] = ` +[ + [ + "./basic.css", + "@charset "UTF-8"; -exports[`loader should compile with empty css entry point: warnings 1`] = `Array []`; -exports[`loader should compile with empty options: errors 1`] = `Array []`; +/* Comment */ -exports[`loader should compile with empty options: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "", - "", - ], -] -`; +.class { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} -exports[`loader should compile with empty options: module 1`] = ` -"exports = module.exports = require(\\"../../src/runtime/api.js\\")(false); -// Module -exports.push([module.id, \\"\\", \\"\\"]); -" -`; +.class-duplicate-url { + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} -exports[`loader should compile with empty options: warnings 1`] = `Array []`; +:root { + --foo: 1px; + --bar: 2px; +} -exports[`loader should throw error on invalid css syntax: errors 1`] = ` -Array [ - "ModuleBuildError: Module build failed (from \`replaced original path\`): -CssSyntaxError +.class { a: b c d; } -(2:3) Unknown word +.two {} - 1 | .some { -> 2 | invalid css; - | ^ - 3 | } - 4 | -", -] -`; +.u-m\\+ { a: b c d; } -exports[`loader should throw error on invalid css syntax: warnings 1`] = `Array []`; +.class { content: "\\F10C" } -exports[`loader should throws error when no loader for assets: errors 1`] = ` -Array [ - "ModuleParseError: Module parse failed: Unexpected character '�' (1:0) -You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders -(Source code omitted for this binary file)", -] -`; +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} -exports[`loader should throws error when no loader for assets: warnings 1`] = `Array []`; - -exports[`loader should work with ModuleConcatenationPlugin (file-loader): assets 1`] = ` -"/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = \\"\\"; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 1); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { - -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -// css base code, injected by the css-loader -// eslint-disable-next-line func-names -module.exports = function(useSourceMap) { - const list = []; - - // return the list of modules as css string - list.toString = function toString() { - return this.map((item) => { - const content = cssWithMappingToString(item, useSourceMap); - - if (item[2]) { - return \`@media \${item[2]}{\${content}}\`; - } - - return content; - }).join(''); - }; +.class { + content: "\\2193"; + content: "\\2193\\2193"; + content: "\\2193 \\2193"; + content: "\\2193\\2193\\2193"; + content: "\\2193 \\2193 \\2193"; +} - // import a list of modules into the list - // eslint-disable-next-line func-names - list.i = function(modules, mediaQuery) { - if (typeof modules === 'string') { - // eslint-disable-next-line no-param-reassign - modules = [[null, modules, '']]; - } - - const alreadyImportedModules = {}; - - for (let i = 0; i < this.length; i++) { - // eslint-disable-next-line prefer-destructuring - const id = this[i][0]; - - if (id != null) { - alreadyImportedModules[id] = true; - } - } - - for (let i = 0; i < modules.length; i++) { - const item = modules[i]; - - // skip already imported module - // this implementation is not 100% perfect for weird media query combinations - // when a module is imported multiple times with different media queries. - // I hope this will never occur (Hey this way we have smaller bundles) - if (item[0] == null || !alreadyImportedModules[item[0]]) { - if (mediaQuery && !item[2]) { - item[2] = mediaQuery; - } else if (mediaQuery) { - item[2] = \`(\${item[2]}) and (\${mediaQuery})\`; - } - - list.push(item); - } - } - }; +.-top {} +.\\-top {} - return list; -}; +#\\#test {} -function cssWithMappingToString(item, useSourceMap) { - const content = item[1] || ''; - // eslint-disable-next-line prefer-destructuring - const cssMapping = item[3]; +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\-middle { + align-items: center; +} +.grid.\\-bottom { + align-items: flex-end; +} - if (!cssMapping) { - return content; - } +.u-m\\00002b {} - if (useSourceMap && typeof btoa === 'function') { - const sourceMapping = toComment(cssMapping); - const sourceURLs = cssMapping.sources.map( - (source) => \`/*# sourceURL=\${cssMapping.sourceRoot}\${source} */\` - ); +.u-m00002b {} - return [content] - .concat(sourceURLs) - .concat([sourceMapping]) - .join('\\\\n'); - } +#u-m\\+ {} - return [content].join('\\\\n'); +body { + font-family: '微软雅黑'; /* some chinese font name */ } -// Adapted from convert-source-map (MIT) -function toComment(sourceMap) { - // eslint-disable-next-line no-undef - const base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); - const data = \`sourceMappingURL=data:application/json;charset=utf-8;base64,\${base64}\`; - - return \`/*# \${data} */\`; +.myStyle { + content: '\\e901'; } +.myStyle { + content: '\\E901'; +} -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - -/* eslint-disable */ -const styles = __webpack_require__(2); - -console.log(styles); - +.♫ {} -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { +.\\3A \\\`\\( {} /* matches elements with class=":\`(" */ +.\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ -exports = module.exports = __webpack_require__(0)(false); -// Imports -var ___CSS_LOADER_AT_RULE_IMPORT_0___ = __webpack_require__(3); -var ___CSS_LOADER_GET_URL_IMPORT___ = __webpack_require__(4); -var ___CSS_LOADER_URL_PURE_IMPORT_0___ = __webpack_require__(5); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); -var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); -// Module -exports.push([module.i, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n --foo: 1px;\\\\n --bar: 2px;\\\\n}\\\\n\\\\n.class { a: b c d; }\\\\n\\\\n.two {}\\\\n\\\\n.u-m\\\\\\\\+ { a: b c d; }\\\\n\\\\n.class { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n body {\\\\n background-color: lightblue;\\\\n }\\\\n}\\\\n\\\\n.class {\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n.-top {}\\\\n.\\\\\\\\-top {}\\\\n\\\\n#\\\\\\\\#test {}\\\\n\\\\n.grid {\\\\n display: flex;\\\\n flex-wrap: wrap;\\\\n}\\\\n.grid.\\\\\\\\-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.\\\\\\\\-middle {\\\\n align-items: center;\\\\n}\\\\n.grid.\\\\\\\\-bottom {\\\\n align-items: flex-end;\\\\n}\\\\n\\\\n.u-m\\\\\\\\00002b {}\\\\n\\\\n.u-m00002b {}\\\\n\\\\n#u-m\\\\\\\\+ {}\\\\n\\\\nbody {\\\\n font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n.♫ {}\\\\n\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#\\\\\\\\#fake-id {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#-a-b-c- {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#© {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n --title-align: center;\\\\n --sr-only: {\\\\n position: absolute;\\\\n width: 1px;\\\\n height: 1px;\\\\n padding: 0;\\\\n overflow: hidden;\\\\n clip: rect(0,0,0,0);\\\\n white-space: nowrap;\\\\n clip-path: inset(50%);\\\\n border: 0;\\\\n };\\\\n}\\\\n\\\\n.test {\\\\n content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n margin-top: 1px\\\\\\\\9;\\\\n background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n.light.on .bulb:before{\\\\n content: '💡';\\\\n}\\\\n\\\\n.base64 {\\\\n background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n color: blue;\\\\n}\\\\n\\", \\"\\"]); +\\.\\\` { + color: aliceblue; +} +\\.\\$\\{foo\\} { + color: aliceblue; +} -/***/ }), -/* 3 */ -/***/ (function(module, exports, __webpack_require__) { +/* \` */ +/* \`\` */ +/* \`\`\` */ +/* \${} */ +/* \\\\\` */ -exports = module.exports = __webpack_require__(0)(false); -// Module -exports.push([module.i, \\".foo {\\\\n color: red;\\\\n}\\\\n\\", \\"\\"]); +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\2014\\A0"; + content: "\\2014 \\A0"; + content: "\\A0 \\2014"; + content: "\\A0\\2014"; + margin-top: 1px\\9; + background-color: #000\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +", + "", + ], +] +`; + +exports[`loader should work with "asset" module type: warnings 1`] = `[]`; + +exports[`loader should work with "sass-loader": errors 1`] = `[]`; + +exports[`loader should work with "sass-loader": module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`body { + font: 100% Helvetica, sans-serif; + color: #333; +}\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`loader should work with "sass-loader": result 1`] = ` +[ + [ + "./scss/source.scss", + "body { + font: 100% Helvetica, sans-serif; + color: #333; +}", + "", + ], +] +`; + +exports[`loader should work with "sass-loader": warnings 1`] = ` +[ + "ModuleWarning: Module Warning (from \`replaced original path\`): +Deprecation The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0. + +More info: https://sass-lang.com/d/legacy-js-api", +] +`; + +exports[`loader should work with \`templateLiteral\` support: errors 1`] = `[]`; + +exports[`loader should work with \`templateLiteral\` support: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../src/runtime/api.js"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./url/img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_1___ = new URL("data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@charset "UTF-8"; + + +/* Comment */ + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class-duplicate-url { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\\\+ { a: b c d; } + +.class { content: "\\\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\\\2193"; + content: "\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193"; + content: "\\\\2193\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193 \\\\2193"; +} + +.-top {} +.\\\\-top {} + +#\\\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\\\-middle { + align-items: center; +} +.grid.\\\\-bottom { + align-items: flex-end; +} + +.u-m\\\\00002b {} + +.u-m00002b {} + +#u-m\\\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\\\e901'; +} + +.myStyle { + content: '\\\\E901'; +} + +.♫ {} + +.\\\\3A \\\\\\\`\\\\( {} /* matches elements with class=":\\\`(" */ +.\\\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +\\\\.\\\\\\\` { + color: aliceblue; +} + +\\\\.\\\\\\$\\\\{foo\\\\} { + color: aliceblue; +} + +/* \\\` */ +/* \\\`\\\` */ +/* \\\`\\\`\\\` */ +/* \\\${} */ +/* \\\\\\\\\\\` */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\\\2014\\\\A0"; + content: "\\\\2014 \\\\A0"; + content: "\\\\A0 \\\\2014"; + content: "\\\\A0\\\\2014"; + margin-top: 1px\\\\9; + background-color: #000\\\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_1___}); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`loader should work with \`templateLiteral\` support: result 1`] = ` +[ + [ + "./basic.css", + "@charset "UTF-8"; + + +/* Comment */ + +.class { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} + +.class-duplicate-url { + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\+ { a: b c d; } + +.class { content: "\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\2193"; + content: "\\2193\\2193"; + content: "\\2193 \\2193"; + content: "\\2193\\2193\\2193"; + content: "\\2193 \\2193 \\2193"; +} + +.-top {} +.\\-top {} + +#\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\-middle { + align-items: center; +} +.grid.\\-bottom { + align-items: flex-end; +} + +.u-m\\00002b {} + +.u-m00002b {} + +#u-m\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\e901'; +} + +.myStyle { + content: '\\E901'; +} + +.♫ {} + +.\\3A \\\`\\( {} /* matches elements with class=":\`(" */ +.\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +\\.\\\` { + color: aliceblue; +} + +\\.\\$\\{foo\\} { + color: aliceblue; +} + +/* \` */ +/* \`\` */ +/* \`\`\` */ +/* \${} */ +/* \\\\\` */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\2014\\A0"; + content: "\\2014 \\A0"; + content: "\\A0 \\2014"; + content: "\\A0\\2014"; + margin-top: 1px\\9; + background-color: #000\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +", + "", + ], +] +`; + +exports[`loader should work with \`templateLiteral\` support: warnings 1`] = `[]`; + +exports[`loader should work with ModuleConcatenationPlugin (file-loader): errors 1`] = `[]`; + +exports[`loader should work with ModuleConcatenationPlugin (file-loader): warnings 1`] = `[]`; + +exports[`loader should work with ModuleConcatenationPlugin (url-loader): errors 1`] = `[]`; + +exports[`loader should work with ModuleConcatenationPlugin (url-loader): warnings 1`] = `[]`; + +exports[`loader should work with ModuleConcatenationPlugin: errors 1`] = `[]`; + +exports[`loader should work with ModuleConcatenationPlugin: warnings 1`] = `[]`; + +exports[`loader should work with built-in CSS support: errors 1`] = `[]`; + +exports[`loader should work with built-in CSS support: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../src/runtime/api.js"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./url/img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_1___ = new URL("data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@charset "UTF-8"; + + +/* Comment */ + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class-duplicate-url { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\\\+ { a: b c d; } + +.class { content: "\\\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\\\2193"; + content: "\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193"; + content: "\\\\2193\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193 \\\\2193"; +} + +.-top {} +.\\\\-top {} + +#\\\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\\\-middle { + align-items: center; +} +.grid.\\\\-bottom { + align-items: flex-end; +} + +.u-m\\\\00002b {} + +.u-m00002b {} + +#u-m\\\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\\\e901'; +} + +.myStyle { + content: '\\\\E901'; +} + +.♫ {} + +.\\\\3A \\\\\\\`\\\\( {} /* matches elements with class=":\\\`(" */ +.\\\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +\\\\.\\\\\\\` { + color: aliceblue; +} + +\\\\.\\\\\\$\\\\{foo\\\\} { + color: aliceblue; +} + +/* \\\` */ +/* \\\`\\\` */ +/* \\\`\\\`\\\` */ +/* \\\${} */ +/* \\\\\\\\\\\` */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\\\2014\\\\A0"; + content: "\\\\2014 \\\\A0"; + content: "\\\\A0 \\\\2014"; + content: "\\\\A0\\\\2014"; + margin-top: 1px\\\\9; + background-color: #000\\\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_1___}); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`loader should work with built-in CSS support: result 1`] = ` +[ + [ + "./basic.css", + "@charset "UTF-8"; + + +/* Comment */ + +.class { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} + +.class-duplicate-url { + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\+ { a: b c d; } + +.class { content: "\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\2193"; + content: "\\2193\\2193"; + content: "\\2193 \\2193"; + content: "\\2193\\2193\\2193"; + content: "\\2193 \\2193 \\2193"; +} + +.-top {} +.\\-top {} + +#\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\-middle { + align-items: center; +} +.grid.\\-bottom { + align-items: flex-end; +} + +.u-m\\00002b {} + +.u-m00002b {} + +#u-m\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\e901'; +} + +.myStyle { + content: '\\E901'; +} + +.♫ {} + +.\\3A \\\`\\( {} /* matches elements with class=":\`(" */ +.\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +\\.\\\` { + color: aliceblue; +} + +\\.\\$\\{foo\\} { + color: aliceblue; +} + +/* \` */ +/* \`\` */ +/* \`\`\` */ +/* \${} */ +/* \\\\\` */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\2014\\A0"; + content: "\\2014 \\A0"; + content: "\\A0 \\2014"; + content: "\\A0\\2014"; + margin-top: 1px\\9; + background-color: #000\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +", + "", + ], +] +`; + +exports[`loader should work with built-in CSS support: warnings 1`] = `[]`; + +exports[`loader should work with empty css: errors 1`] = `[]`; + +exports[`loader should work with empty css: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`loader should work with empty css: result 1`] = ` +[ + [ + "./empty.css", + "", + "", + ], +] +`; + +exports[`loader should work with empty css: warnings 1`] = `[]`; + +exports[`loader should work with empty options: errors 1`] = `[]`; + +exports[`loader should work with empty options: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../src/runtime/api.js"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./url/img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_1___ = new URL("data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@charset "UTF-8"; + + +/* Comment */ + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class-duplicate-url { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\\\+ { a: b c d; } + +.class { content: "\\\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\\\2193"; + content: "\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193"; + content: "\\\\2193\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193 \\\\2193"; +} + +.-top {} +.\\\\-top {} + +#\\\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\\\-middle { + align-items: center; +} +.grid.\\\\-bottom { + align-items: flex-end; +} + +.u-m\\\\00002b {} + +.u-m00002b {} + +#u-m\\\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\\\e901'; +} + +.myStyle { + content: '\\\\E901'; +} + +.♫ {} + +.\\\\3A \\\\\\\`\\\\( {} /* matches elements with class=":\\\`(" */ +.\\\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +\\\\.\\\\\\\` { + color: aliceblue; +} + +\\\\.\\\\\\$\\\\{foo\\\\} { + color: aliceblue; +} + +/* \\\` */ +/* \\\`\\\` */ +/* \\\`\\\`\\\` */ +/* \\\${} */ +/* \\\\\\\\\\\` */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\\\2014\\\\A0"; + content: "\\\\2014 \\\\A0"; + content: "\\\\A0 \\\\2014"; + content: "\\\\A0\\\\2014"; + margin-top: 1px\\\\9; + background-color: #000\\\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_1___}); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`loader should work with empty options: result 1`] = ` +[ + [ + "./basic.css", + "@charset "UTF-8"; + + +/* Comment */ + +.class { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} + +.class-duplicate-url { + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} + +:root { + --foo: 1px; + --bar: 2px; +} + +.class { a: b c d; } + +.two {} + +.u-m\\+ { a: b c d; } + +.class { content: "\\F10C" } + +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} + +.class { + content: "\\2193"; + content: "\\2193\\2193"; + content: "\\2193 \\2193"; + content: "\\2193\\2193\\2193"; + content: "\\2193 \\2193 \\2193"; +} + +.-top {} +.\\-top {} + +#\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\-middle { + align-items: center; +} +.grid.\\-bottom { + align-items: flex-end; +} + +.u-m\\00002b {} + +.u-m00002b {} + +#u-m\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ +} + +.myStyle { + content: '\\e901'; +} + +.myStyle { + content: '\\E901'; +} + +.♫ {} + +.\\3A \\\`\\( {} /* matches elements with class=":\`(" */ +.\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ + +\\.\\\` { + color: aliceblue; +} + +\\.\\$\\{foo\\} { + color: aliceblue; +} + +/* \` */ +/* \`\` */ +/* \`\`\` */ +/* \${} */ +/* \\\\\` */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} + +.test { + content: "\\2014\\A0"; + content: "\\2014 \\A0"; + content: "\\A0 \\2014"; + content: "\\A0\\2014"; + margin-top: 1px\\9; + background-color: #000\\9; +} + +.light.on .bulb:before{ + content: '💡'; +} + +.base64 { + background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==); +} + +a[href=''] { + color: red; +} + +a[href='' i] { + color: red; +} + +a[href=""] { + color: blue; +} + +a[href="" i] { + color: blue; +} +", + "", + ], +] +`; + +exports[`loader should work with empty options: warnings 1`] = `[]`; + +exports[`loader should work with inline module syntax: errors 1`] = `[]`; + +exports[`loader should work with inline module syntax: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "other.modules.css!=!-!../../src/index.js??ruleSet[1].rules[0].rules[0]!../../node_modules/sass-loader/dist/cjs.js!./index-loader-syntax.modules.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_1___ from "plain.scss!=!-!../../src/index.js??ruleSet[1].rules[0].rules[0]!../../node_modules/sass-loader/dist/cjs.js!./index-loader-syntax-sass.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_2___ from "other.modules.scss!=!-!../../src/index.js??ruleSet[1].rules[0].rules[0]!../../node_modules/sass-loader/dist/cjs.js!./index-loader-syntax-sass.modules.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_3___ from "other.modules.css!=!-!../../src/index.js??ruleSet[1].rules[0].rules[0]!../../node_modules/sass-loader/dist/cjs.js!./my-inline-loader!./index-loader-syntax.modules.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_4___ from "plain.scss!=!-!../../src/index.js??ruleSet[1].rules[0].rules[0]!../../node_modules/sass-loader/dist/cjs.js!./my-inline-loader!./index-loader-syntax.modules.css"; +import ___CSS_LOADER_AT_RULE_IMPORT_5___ from "other.modules.scss!=!-!../../src/index.js??ruleSet[1].rules[0].rules[0]!../../node_modules/sass-loader/dist/cjs.js!./my-inline-loader!./index-loader-syntax-sass.modules.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_2___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_3___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_4___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_5___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.a { + color: red; +}\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`loader should work with inline module syntax: result 1`] = ` +[ + [ + "other.modules.css!=!../../src/index.js??ruleSet[1].rules[0].rules[0]!../../node_modules/sass-loader/dist/cjs.js!./index-loader-syntax.modules.css", + ".ZVx7VAdLOO3PJ1TqkYUn { + color: red; +} + +.x0BV6RnIqi6PTJ6If2oA { + color: white; +}", + "", + ], + [ + "button.modules.css!=!./index-loader-syntax-sass.css", + ".n6iVkcAs9Wu9ovztqf8g { + width: 5px; +}", + "", + ], + [ + "other.modules.scss!=!../../src/index.js??ruleSet[1].rules[0].rules[0]!../../node_modules/sass-loader/dist/cjs.js!./index-loader-syntax-sass.modules.css", + ".NF9v028MAhreSp2TJZnn > .ss2pNzM7P7DcLJerCZFm { + color: red; +}", + "", + ], + [ + "other.modules.css!=!../../src/index.js??ruleSet[1].rules[0].rules[0]!../../node_modules/sass-loader/dist/cjs.js!./my-inline-loader/index.js!./index-loader-syntax.modules.css", + ".ZVx7VAdLOO3PJ1TqkYUn { + color: red; +} + +.x0BV6RnIqi6PTJ6If2oA { + color: white; +} + +.bNEIH_2ycglHGlceq20s { + from: custom; +}", + "", + ], + [ + "other.modules.css!=!../../src/index.js??ruleSet[1].rules[0].rules[0]!../../node_modules/sass-loader/dist/cjs.js!./my-inline-loader/index.js!./index-loader-syntax.modules.css", + ".ZVx7VAdLOO3PJ1TqkYUn { + color: red; +} + +.x0BV6RnIqi6PTJ6If2oA { + color: white; +} + +.bNEIH_2ycglHGlceq20s { + from: custom; +}", + "", + ], + [ + "other.modules.scss!=!../../src/index.js??ruleSet[1].rules[0].rules[0]!../../node_modules/sass-loader/dist/cjs.js!./my-inline-loader/index.js!./index-loader-syntax-sass.modules.css", + ".NF9v028MAhreSp2TJZnn > .ss2pNzM7P7DcLJerCZFm { + color: red; +} + +.NMxzPXmuJS2nd8LarB5I { + from: custom; +}", + "", + ], + [ + "./index-loader-syntax.css", + ".a { + color: red; +}", + "", + ], + [ + "button.modules.css!=!./index-loader-syntax-sass.css", + ".n6iVkcAs9Wu9ovztqf8g { + width: 5px; +}", + "", + ], + [ + "button.module.scss!=!./base64-loader/index.js?LmZvbyB7IGNvbG9yOiByZWQ7IH0=!./simple.js?foo=bar", + ".QwIaKzIX2nnuKwGnu953 { + color: red; +}", + "", + ], + [ + "other.module.scss!=!./base64-loader/index.js?LmZvbyB7IGNvbG9yOiByZWQ7IH0=!./simple.js?foo=baz", + ".L_0U1ZWuSHuIqdUV6KjO { + color: red; +}", + "", + ], +] +`; + +exports[`loader should work with inline module syntax: warnings 1`] = ` +[ + "ModuleWarning: Module Warning (from \`replaced original path\`): +Deprecation The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0. + +More info: https://sass-lang.com/d/legacy-js-api", + "ModuleWarning: Module Warning (from \`replaced original path\`): +Deprecation The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0. + +More info: https://sass-lang.com/d/legacy-js-api", + "ModuleWarning: Module Warning (from \`replaced original path\`): +Deprecation The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0. + +More info: https://sass-lang.com/d/legacy-js-api", + "ModuleWarning: Module Warning (from \`replaced original path\`): +Deprecation The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0. + +More info: https://sass-lang.com/d/legacy-js-api", + "ModuleWarning: Module Warning (from \`replaced original path\`): +Deprecation The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0. + +More info: https://sass-lang.com/d/legacy-js-api", + "ModuleWarning: Module Warning (from \`replaced original path\`): +Deprecation The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0. + +More info: https://sass-lang.com/d/legacy-js-api", + "ModuleWarning: Module Warning (from \`replaced original path\`): +Deprecation The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0. + +More info: https://sass-lang.com/d/legacy-js-api", + "ModuleWarning: Module Warning (from \`replaced original path\`): +Deprecation The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0. + +More info: https://sass-lang.com/d/legacy-js-api", +] +`; + +exports[`loader should work with none AST metadata: errors 1`] = `[]`; + +exports[`loader should work with none AST metadata: result 1`] = ` +[ + [ + "./simple.css", + ".some-class { + color: red; +} +", + "", + ], +] +`; + +exports[`loader should work with none AST metadata: warnings 1`] = `[]`; + +exports[`loader should work with the "modules.auto" option and the "import.loaders" option: errors 1`] = `[]`; + +exports[`loader should work with the "modules.auto" option and the "import.loaders" option: result 1`] = ` +"/* Pure CSS */ +.imported-by-pure { + overflow-x: hidden; + overflow-y: auto; + overflow: hidden auto; +} +.pure { + color: red; +} + +/* PostCSS */ +.imported-by-postcss { + overflow-x: hidden; + overflow-y: auto; + overflow: hidden auto; +} +.postcss { + color: rgba(0, 0, 255, 0.9); +} + +.postcss:hover { + color: #639; + } + +/* SCSS */ +.imported-by-scss { + overflow-x: hidden; + overflow-y: auto; + overflow: hidden auto; +} +.scss { + font: 100% Helvetica, sans-serif; + color: #333; +} +/* CSS modules */ +.kSlR28XrNKt9I9mzvNxN { + overflow-x: hidden; + overflow-y: auto; + overflow: hidden auto; + color: red; +} + +.global { + color: blue; +} + +/* CSS modules + SCSS */ +.imported-by-module-scss { + overflow-x: hidden; + overflow-y: auto; + overflow: hidden auto; +} +.lE126I07pG7EhKO3j2bD { + color: #333; + overflow-x: hidden; + overflow-y: auto; + overflow: hidden auto; +} + +.global { + color: #333; +} +" +`; + +exports[`loader should work with the "modules.auto" option and the "import.loaders" option: warnings 1`] = ` +[ + "ModuleWarning: Module Warning (from \`replaced original path\`): +Deprecation The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0. + +More info: https://sass-lang.com/d/legacy-js-api", + "ModuleWarning: Module Warning (from \`replaced original path\`): +Deprecation The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0. + +More info: https://sass-lang.com/d/legacy-js-api", +] +`; + +exports[`loader should work with webpackIgnore comment: errors 1`] = `[]`; + +exports[`loader should work with webpackIgnore comment: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../src/runtime/api.js"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../src/index.js??ruleSet[1].rules[0].use[0]!./simple.css"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./url/img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_1___ = new URL("./fonts/Roboto-Regular.woff2", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_2___ = new URL("./fonts/Roboto-Regular.woff", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_3___ = new URL("./fonts/Roboto-Regular.ttf", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_4___ = new URL("./fonts/Roboto-Regular.svg", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_5___ = new URL("./fonts/Roboto-Regular.eot", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(./basic.css);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(./imported.css);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(./simple.css);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(./simple.css);"]); +___CSS_LOADER_EXPORT___.push([module.id, "@import url(./simple.css);"]); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); +var ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___); +var ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___); +var ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___, { hash: "#Roboto-Regular" }); +var ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___); +var ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___, { hash: "#iefix" }); +var ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___, { needQuotes: true }); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`/* webpackIgnore: true */ + +/** Resolved **/ +/** Resolved **/ + +.class { + color: red; + background: /** webpackIgnore: true */ url("./url/img.png"), url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class { + color: red; + background:/** webpackIgnore: true */url("./url/img.png"), url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}), /** webpackIgnore: true */ url("./url/img.png"); +} + +.class { + color: red; + /** webpackIgnore: true */ + background: url("./url/img.png"), url("./url/img.png"); +} + +.class { + color: red; + /** webpackIgnore: true */ + background: url("./url/img.png"), /** webpackIgnore: false */ url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class { + color: red; + /** webpackIgnore: true */ + background: url("./url/img.png"), /** webpackIgnore: false */ url(\${___CSS_LOADER_URL_REPLACEMENT_0___}), /** webpackIgnore: true */ url("./url/img.png"), /** webpackIgnore: false */ url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class { + color: red; + /** webpackIgnore: true */ + background: /** webpackIgnore: false */ url(\${___CSS_LOADER_URL_REPLACEMENT_0___}), /** webpackIgnore: true */ url("./url/img.png"); +} + +.class { + color: red; + background: /** webpackIgnore: true */ /** webpackIgnore: false */ url(\${___CSS_LOADER_URL_REPLACEMENT_0___}), url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}), /** webpackIgnore: true */ /** webpackIgnore: false */ url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}), /** webpackIgnore: false */ /** webpackIgnore: true */ url("./url/img.png"); +} + +.class { + background: + url(\${___CSS_LOADER_URL_REPLACEMENT_0___}), + url(\${___CSS_LOADER_URL_REPLACEMENT_0___}), + /** webpackIgnore: true **/ url("./url/img.png"), + url(\${___CSS_LOADER_URL_REPLACEMENT_0___}), + /** webpackIgnore: true **/ url("./url/img.png"), + url(\${___CSS_LOADER_URL_REPLACEMENT_0___}), + url(\${___CSS_LOADER_URL_REPLACEMENT_0___}), + url(\${___CSS_LOADER_URL_REPLACEMENT_0___}), + /** webpackIgnore: true **/ + url("./url/img.png"); +} + +@font-face { + font-family: "Roboto"; + src: /** webpackIgnore: true **/ url("./fonts/Roboto-Regular.eot"); + src: + /** webpackIgnore: true **/ + url("./fonts/Roboto-Regular.eot#iefix") format("embedded-opentype"), + url(\${___CSS_LOADER_URL_REPLACEMENT_1___}) format("woff"), + url(\${___CSS_LOADER_URL_REPLACEMENT_2___}) format("woff"), + url(\${___CSS_LOADER_URL_REPLACEMENT_3___}) format("truetype"), + url(\${___CSS_LOADER_URL_REPLACEMENT_4___}) format("svg"); + font-weight: 400; + font-style: normal; +} + +@font-face { + font-family: "Roboto"; + src: /** webpackIgnore: true **/ url("./fonts/Roboto-Regular.eot"); + /** webpackIgnore: true **/ + src: + url("./fonts/Roboto-Regular.eot#iefix") format("embedded-opentype"), + url("./fonts/Roboto-Regular.woff2") format("woff"), + url("./fonts/Roboto-Regular.woff") format("woff"), + url("./fonts/Roboto-Regular.ttf") format("truetype"), + url("./fonts/Roboto-Regular.svg#Roboto-Regular") format("svg"); + font-weight: 400; + font-style: normal; +} + +@font-face { + font-family: "Roboto"; + src: url(\${___CSS_LOADER_URL_REPLACEMENT_5___}); + src: + url(\${___CSS_LOADER_URL_REPLACEMENT_6___}) format("embedded-opentype"), + /** webpackIgnore: true **/ + url("./fonts/Roboto-Regular.woff2") format("woff"), + url(\${___CSS_LOADER_URL_REPLACEMENT_2___}) format("woff"), + /** webpackIgnore: true **/ + url("./fonts/Roboto-Regular.ttf") format("truetype"), + url(\${___CSS_LOADER_URL_REPLACEMENT_4___}) format("svg"); + font-weight: 400; + font-style: normal; +} + +.class { + /*webpackIgnore: true*/ + background-image: image-set( + url(./url/img.png) 2x, + url(./url/img.png) 3x, + url(./url/img.png) 4x + ); +} + +.class { + /*webpackIgnore: true*/ + background-image: + image-set( + /*webpackIgnore: false*/ + url(\${___CSS_LOADER_URL_REPLACEMENT_0___}) 2x, + /*webpackIgnore: true*/ + url(./url/img.png) 3x, + url(./url/img.png) 4x, + /*webpackIgnore: false */ + /*webpackIgnore: true */ + url(./url/img.png) 5x + ), + url('./url/img.png'); +} + +.class { + background-image: + image-set( + /*webpackIgnore: false*/ + url(\${___CSS_LOADER_URL_REPLACEMENT_0___}) 2x, + /*webpackIgnore: true*/ + url(./url/img.png) 3x, + url(\${___CSS_LOADER_URL_REPLACEMENT_0___}) 4x, + /*webpackIgnore: false */ + /*webpackIgnore: true */ + url(./url/img.png) 5x + ), + /*webpackIgnore: false*/ + url(\${___CSS_LOADER_URL_REPLACEMENT_0___}), + /*webpackIgnore: true*/ + url('./url/img.png');; +} + +.class { + background-image: + image-set( + /*webpackIgnore: false*/ + url(\${___CSS_LOADER_URL_REPLACEMENT_0___}) 2x, + /*webpackIgnore: true*/ + url(./url/img.png) 3x, + url(\${___CSS_LOADER_URL_REPLACEMENT_0___}) 4x, + /*webpackIgnore: false */ + /*webpackIgnore: true */ + url(./url/img.png) 5x + ), + url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class { + background-image: image-set( + /*webpackIgnore: true*/ + url(./url/img.png) 2x, + url(\${___CSS_LOADER_URL_REPLACEMENT_0___}) 3x, + /*webpackIgnore: true*/ + url(./url/img.png) 5x + ); +} + +.class { + background-image: image-set( + /*webpackIgnore: true*/ + './url/img.png' 2x, + \${___CSS_LOADER_URL_REPLACEMENT_7___} 3x, + /*webpackIgnore: true*/ + './url/img.png' 5x + ); +} + +.class { + /*webpackIgnore: true*/ + background-image: image-set( + /*webpackIgnore: false*/ + url(\${___CSS_LOADER_URL_REPLACEMENT_0___}) 2x, + /*webpackIgnore: true*/ + url(./url/img.png) 3x, + /*webpackIgnore: false*/ + url(\${___CSS_LOADER_URL_REPLACEMENT_0___}) 4x, + url(./url/img.png) 5x + ); +} + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}), /** webpackIgnore: true */url("./url/img.png"); +} + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}), /** webpackIgnore: true */ url("./url/img.png"); +} + +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___})/** webpackIgnore: true */, url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} + +.class { + background-image: + image-set( + url(\${___CSS_LOADER_URL_REPLACEMENT_0___}) 2x /*webpackIgnore: true*/, + url(\${___CSS_LOADER_URL_REPLACEMENT_0___}) /*webpackIgnore: true*/ 3x, + url(\${___CSS_LOADER_URL_REPLACEMENT_0___}) 4x /*webpackIgnore: true*/, + /*webpackIgnore: true*/url(./url/img.png) 5x, + /*webpackIgnore: true*/ url(./url/img.png) 6x, + /*webpackIgnore: true*/ + url(./url/img.png) 7x, + url(\${___CSS_LOADER_URL_REPLACEMENT_0___}) 8x + ), + /*webpackIgnore: false*/ + url(\${___CSS_LOADER_URL_REPLACEMENT_0___}), + /*webpackIgnore: true*/ + url('./url/img.png'); +} + +@font-face { + font-family: "anticon"; + src: url("//at.alicdn.com/t/font_1434092639_4910953.eot?#iefix") format("embedded-opentype"), + /* this comment is required */ + url("//at.alicdn.com/t/font_1434092639_4910953.woff") format("woff"); +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`loader should work with webpackIgnore comment: result 1`] = ` +[ + [ + "./webpackIgnore.css", + "@import url(./basic.css);", + ], + [ + "./webpackIgnore.css", + "@import url(./imported.css);", + ], + [ + "./webpackIgnore.css", + "@import url(./simple.css);", + ], + [ + "./webpackIgnore.css", + "@import url(./simple.css);", + ], + [ + "./webpackIgnore.css", + "@import url(./simple.css);", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./simple.css", + ".some-class { + color: red; +} +", + "", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./simple.css", + ".some-class { + color: red; +} +", + "", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./simple.css", + ".some-class { + color: red; +} +", + "", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./simple.css", + ".some-class { + color: red; +} +", + "", + ], + [ + "./webpackIgnore.css", + "/* webpackIgnore: true */ + +/** Resolved **/ +/** Resolved **/ + +.class { + color: red; + background: /** webpackIgnore: true */ url("./url/img.png"), url(replaced_file_protocol_/webpack/public/path/img.png); +} + +.class { + color: red; + background:/** webpackIgnore: true */url("./url/img.png"), url(replaced_file_protocol_/webpack/public/path/img.png); +} + +.class { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png), /** webpackIgnore: true */ url("./url/img.png"); +} + +.class { + color: red; + /** webpackIgnore: true */ + background: url("./url/img.png"), url("./url/img.png"); +} + +.class { + color: red; + /** webpackIgnore: true */ + background: url("./url/img.png"), /** webpackIgnore: false */ url(replaced_file_protocol_/webpack/public/path/img.png); +} + +.class { + color: red; + /** webpackIgnore: true */ + background: url("./url/img.png"), /** webpackIgnore: false */ url(replaced_file_protocol_/webpack/public/path/img.png), /** webpackIgnore: true */ url("./url/img.png"), /** webpackIgnore: false */ url(replaced_file_protocol_/webpack/public/path/img.png); +} + +.class { + color: red; + /** webpackIgnore: true */ + background: /** webpackIgnore: false */ url(replaced_file_protocol_/webpack/public/path/img.png), /** webpackIgnore: true */ url("./url/img.png"); +} + +.class { + color: red; + background: /** webpackIgnore: true */ /** webpackIgnore: false */ url(replaced_file_protocol_/webpack/public/path/img.png), url(replaced_file_protocol_/webpack/public/path/img.png); +} + +.class { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png), /** webpackIgnore: true */ /** webpackIgnore: false */ url(replaced_file_protocol_/webpack/public/path/img.png); +} + +.class { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png), /** webpackIgnore: false */ /** webpackIgnore: true */ url("./url/img.png"); +} + +.class { + background: + url(replaced_file_protocol_/webpack/public/path/img.png), + url(replaced_file_protocol_/webpack/public/path/img.png), + /** webpackIgnore: true **/ url("./url/img.png"), + url(replaced_file_protocol_/webpack/public/path/img.png), + /** webpackIgnore: true **/ url("./url/img.png"), + url(replaced_file_protocol_/webpack/public/path/img.png), + url(replaced_file_protocol_/webpack/public/path/img.png), + url(replaced_file_protocol_/webpack/public/path/img.png), + /** webpackIgnore: true **/ + url("./url/img.png"); +} + +@font-face { + font-family: "Roboto"; + src: /** webpackIgnore: true **/ url("./fonts/Roboto-Regular.eot"); + src: + /** webpackIgnore: true **/ + url("./fonts/Roboto-Regular.eot#iefix") format("embedded-opentype"), + url(replaced_file_protocol_/webpack/public/path/Roboto-Regular.woff2) format("woff"), + url(replaced_file_protocol_/webpack/public/path/Roboto-Regular.woff) format("woff"), + url(replaced_file_protocol_/webpack/public/path/Roboto-Regular.ttf) format("truetype"), + url(replaced_file_protocol_/webpack/public/path/Roboto-Regular.svg#Roboto-Regular) format("svg"); + font-weight: 400; + font-style: normal; +} + +@font-face { + font-family: "Roboto"; + src: /** webpackIgnore: true **/ url("./fonts/Roboto-Regular.eot"); + /** webpackIgnore: true **/ + src: + url("./fonts/Roboto-Regular.eot#iefix") format("embedded-opentype"), + url("./fonts/Roboto-Regular.woff2") format("woff"), + url("./fonts/Roboto-Regular.woff") format("woff"), + url("./fonts/Roboto-Regular.ttf") format("truetype"), + url("./fonts/Roboto-Regular.svg#Roboto-Regular") format("svg"); + font-weight: 400; + font-style: normal; +} + +@font-face { + font-family: "Roboto"; + src: url(replaced_file_protocol_/webpack/public/path/Roboto-Regular.eot); + src: + url(replaced_file_protocol_/webpack/public/path/Roboto-Regular.eot#iefix) format("embedded-opentype"), + /** webpackIgnore: true **/ + url("./fonts/Roboto-Regular.woff2") format("woff"), + url(replaced_file_protocol_/webpack/public/path/Roboto-Regular.woff) format("woff"), + /** webpackIgnore: true **/ + url("./fonts/Roboto-Regular.ttf") format("truetype"), + url(replaced_file_protocol_/webpack/public/path/Roboto-Regular.svg#Roboto-Regular) format("svg"); + font-weight: 400; + font-style: normal; +} + +.class { + /*webpackIgnore: true*/ + background-image: image-set( + url(./url/img.png) 2x, + url(./url/img.png) 3x, + url(./url/img.png) 4x + ); +} + +.class { + /*webpackIgnore: true*/ + background-image: + image-set( + /*webpackIgnore: false*/ + url(replaced_file_protocol_/webpack/public/path/img.png) 2x, + /*webpackIgnore: true*/ + url(./url/img.png) 3x, + url(./url/img.png) 4x, + /*webpackIgnore: false */ + /*webpackIgnore: true */ + url(./url/img.png) 5x + ), + url('./url/img.png'); +} + +.class { + background-image: + image-set( + /*webpackIgnore: false*/ + url(replaced_file_protocol_/webpack/public/path/img.png) 2x, + /*webpackIgnore: true*/ + url(./url/img.png) 3x, + url(replaced_file_protocol_/webpack/public/path/img.png) 4x, + /*webpackIgnore: false */ + /*webpackIgnore: true */ + url(./url/img.png) 5x + ), + /*webpackIgnore: false*/ + url(replaced_file_protocol_/webpack/public/path/img.png), + /*webpackIgnore: true*/ + url('./url/img.png');; +} + +.class { + background-image: + image-set( + /*webpackIgnore: false*/ + url(replaced_file_protocol_/webpack/public/path/img.png) 2x, + /*webpackIgnore: true*/ + url(./url/img.png) 3x, + url(replaced_file_protocol_/webpack/public/path/img.png) 4x, + /*webpackIgnore: false */ + /*webpackIgnore: true */ + url(./url/img.png) 5x + ), + url(replaced_file_protocol_/webpack/public/path/img.png); +} + +.class { + background-image: image-set( + /*webpackIgnore: true*/ + url(./url/img.png) 2x, + url(replaced_file_protocol_/webpack/public/path/img.png) 3x, + /*webpackIgnore: true*/ + url(./url/img.png) 5x + ); +} + +.class { + background-image: image-set( + /*webpackIgnore: true*/ + './url/img.png' 2x, + "replaced_file_protocol_/webpack/public/path/img.png" 3x, + /*webpackIgnore: true*/ + './url/img.png' 5x + ); +} + +.class { + /*webpackIgnore: true*/ + background-image: image-set( + /*webpackIgnore: false*/ + url(replaced_file_protocol_/webpack/public/path/img.png) 2x, + /*webpackIgnore: true*/ + url(./url/img.png) 3x, + /*webpackIgnore: false*/ + url(replaced_file_protocol_/webpack/public/path/img.png) 4x, + url(./url/img.png) 5x + ); +} + +.class { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png), /** webpackIgnore: true */url("./url/img.png"); +} + +.class { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png), /** webpackIgnore: true */ url("./url/img.png"); +} +.class { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png)/** webpackIgnore: true */, url(replaced_file_protocol_/webpack/public/path/img.png); +} -/***/ }), -/* 4 */ -/***/ (function(module, exports) { +.class { + background-image: + image-set( + url(replaced_file_protocol_/webpack/public/path/img.png) 2x /*webpackIgnore: true*/, + url(replaced_file_protocol_/webpack/public/path/img.png) /*webpackIgnore: true*/ 3x, + url(replaced_file_protocol_/webpack/public/path/img.png) 4x /*webpackIgnore: true*/, + /*webpackIgnore: true*/url(./url/img.png) 5x, + /*webpackIgnore: true*/ url(./url/img.png) 6x, + /*webpackIgnore: true*/ + url(./url/img.png) 7x, + url(replaced_file_protocol_/webpack/public/path/img.png) 8x + ), + /*webpackIgnore: false*/ + url(replaced_file_protocol_/webpack/public/path/img.png), + /*webpackIgnore: true*/ + url('./url/img.png'); +} + +@font-face { + font-family: "anticon"; + src: url("//at.alicdn.com/t/font_1434092639_4910953.eot?#iefix") format("embedded-opentype"), + /* this comment is required */ + url("//at.alicdn.com/t/font_1434092639_4910953.woff") format("woff"); +} +", + "", + ], +] +`; -module.exports = (url, options) => { - if (!options) { - // eslint-disable-next-line no-param-reassign - options = {}; - } +exports[`loader should work with webpackIgnore comment: warnings 1`] = `[]`; - // eslint-disable-next-line no-underscore-dangle, no-param-reassign - url = url.__esModule ? url.default : url; +exports[`loader should work: errors 1`] = `[]`; - if (typeof url !== 'string') { - return url; - } +exports[`loader should work: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../src/runtime/api.js"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("./url/img.png", import.meta.url); +var ___CSS_LOADER_URL_IMPORT_1___ = new URL("data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`@charset "UTF-8"; - // If url is already wrapped in quotes, remove them - if (/^['\\"].*['\\"]$/.test(url)) { - // eslint-disable-next-line no-param-reassign - url = url.slice(1, -1); - } - if (options.hash) { - // eslint-disable-next-line no-param-reassign - url += options.hash; - } +/* Comment */ - // Should url be wrapped? - // See https://drafts.csswg.org/css-values-3/#urls - if (/[\\"'() \\\\t\\\\n]/.test(url) || options.needQuotes) { - return \`\\"\${url.replace(/\\"/g, '\\\\\\\\\\"').replace(/\\\\n/g, '\\\\\\\\n')}\\"\`; - } +.class { + color: red; + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} - return url; -}; +.class-duplicate-url { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); +} +:root { + --foo: 1px; + --bar: 2px; +} -/***/ }), -/* 5 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +.class { a: b c d; } -\\"use strict\\"; -__webpack_require__.r(__webpack_exports__); -/* harmony default export */ __webpack_exports__[\\"default\\"] = (__webpack_require__.p + \\"img.png\\"); +.two {} -/***/ }) -/******/ ]); -//# sourceMappingURL=main.bundle.js.map" -`; +.u-m\\\\+ { a: b c d; } -exports[`loader should work with ModuleConcatenationPlugin (file-loader): errors 1`] = `Array []`; - -exports[`loader should work with ModuleConcatenationPlugin (file-loader): warnings 1`] = `Array []`; - -exports[`loader should work with ModuleConcatenationPlugin (url-loader): assets 1`] = ` -"/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = \\"\\"; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 1); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { - -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -// css base code, injected by the css-loader -// eslint-disable-next-line func-names -module.exports = function(useSourceMap) { - const list = []; - - // return the list of modules as css string - list.toString = function toString() { - return this.map((item) => { - const content = cssWithMappingToString(item, useSourceMap); - - if (item[2]) { - return \`@media \${item[2]}{\${content}}\`; - } - - return content; - }).join(''); - }; +.class { content: "\\\\F10C" } - // import a list of modules into the list - // eslint-disable-next-line func-names - list.i = function(modules, mediaQuery) { - if (typeof modules === 'string') { - // eslint-disable-next-line no-param-reassign - modules = [[null, modules, '']]; - } - - const alreadyImportedModules = {}; - - for (let i = 0; i < this.length; i++) { - // eslint-disable-next-line prefer-destructuring - const id = this[i][0]; - - if (id != null) { - alreadyImportedModules[id] = true; - } - } - - for (let i = 0; i < modules.length; i++) { - const item = modules[i]; - - // skip already imported module - // this implementation is not 100% perfect for weird media query combinations - // when a module is imported multiple times with different media queries. - // I hope this will never occur (Hey this way we have smaller bundles) - if (item[0] == null || !alreadyImportedModules[item[0]]) { - if (mediaQuery && !item[2]) { - item[2] = mediaQuery; - } else if (mediaQuery) { - item[2] = \`(\${item[2]}) and (\${mediaQuery})\`; - } - - list.push(item); - } - } - }; +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} - return list; -}; +.class { + content: "\\\\2193"; + content: "\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193"; + content: "\\\\2193\\\\2193\\\\2193"; + content: "\\\\2193 \\\\2193 \\\\2193"; +} -function cssWithMappingToString(item, useSourceMap) { - const content = item[1] || ''; - // eslint-disable-next-line prefer-destructuring - const cssMapping = item[3]; +.-top {} +.\\\\-top {} - if (!cssMapping) { - return content; - } +#\\\\#test {} - if (useSourceMap && typeof btoa === 'function') { - const sourceMapping = toComment(cssMapping); - const sourceURLs = cssMapping.sources.map( - (source) => \`/*# sourceURL=\${cssMapping.sourceRoot}\${source} */\` - ); +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\\\-middle { + align-items: center; +} +.grid.\\\\-bottom { + align-items: flex-end; +} - return [content] - .concat(sourceURLs) - .concat([sourceMapping]) - .join('\\\\n'); - } +.u-m\\\\00002b {} - return [content].join('\\\\n'); -} +.u-m00002b {} -// Adapted from convert-source-map (MIT) -function toComment(sourceMap) { - // eslint-disable-next-line no-undef - const base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); - const data = \`sourceMappingURL=data:application/json;charset=utf-8;base64,\${base64}\`; +#u-m\\\\+ {} - return \`/*# \${data} */\`; +body { + font-family: '微软雅黑'; /* some chinese font name */ } +.myStyle { + content: '\\\\e901'; +} -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { +.myStyle { + content: '\\\\E901'; +} -/* eslint-disable */ -const styles = __webpack_require__(2); +.♫ {} -console.log(styles); +.\\\\3A \\\\\\\`\\\\( {} /* matches elements with class=":\\\`(" */ +.\\\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ +\\\\.\\\\\\\` { + color: aliceblue; +} -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { +\\\\.\\\\\\$\\\\{foo\\\\} { + color: aliceblue; +} -exports = module.exports = __webpack_require__(0)(false); -// Imports -var ___CSS_LOADER_AT_RULE_IMPORT_0___ = __webpack_require__(3); -var ___CSS_LOADER_GET_URL_IMPORT___ = __webpack_require__(4); -var ___CSS_LOADER_URL_PURE_IMPORT_0___ = __webpack_require__(5); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); -var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); -// Module -exports.push([module.i, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n --foo: 1px;\\\\n --bar: 2px;\\\\n}\\\\n\\\\n.class { a: b c d; }\\\\n\\\\n.two {}\\\\n\\\\n.u-m\\\\\\\\+ { a: b c d; }\\\\n\\\\n.class { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n body {\\\\n background-color: lightblue;\\\\n }\\\\n}\\\\n\\\\n.class {\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n.-top {}\\\\n.\\\\\\\\-top {}\\\\n\\\\n#\\\\\\\\#test {}\\\\n\\\\n.grid {\\\\n display: flex;\\\\n flex-wrap: wrap;\\\\n}\\\\n.grid.\\\\\\\\-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.\\\\\\\\-middle {\\\\n align-items: center;\\\\n}\\\\n.grid.\\\\\\\\-bottom {\\\\n align-items: flex-end;\\\\n}\\\\n\\\\n.u-m\\\\\\\\00002b {}\\\\n\\\\n.u-m00002b {}\\\\n\\\\n#u-m\\\\\\\\+ {}\\\\n\\\\nbody {\\\\n font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n.♫ {}\\\\n\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#\\\\\\\\#fake-id {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#-a-b-c- {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#© {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n --title-align: center;\\\\n --sr-only: {\\\\n position: absolute;\\\\n width: 1px;\\\\n height: 1px;\\\\n padding: 0;\\\\n overflow: hidden;\\\\n clip: rect(0,0,0,0);\\\\n white-space: nowrap;\\\\n clip-path: inset(50%);\\\\n border: 0;\\\\n };\\\\n}\\\\n\\\\n.test {\\\\n content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n margin-top: 1px\\\\\\\\9;\\\\n background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n.light.on .bulb:before{\\\\n content: '💡';\\\\n}\\\\n\\\\n.base64 {\\\\n background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n color: blue;\\\\n}\\\\n\\", \\"\\"]); +/* \\\` */ +/* \\\`\\\` */ +/* \\\`\\\`\\\` */ +/* \\\${} */ +/* \\\\\\\\\\\` */ +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; +} -/***/ }), -/* 3 */ -/***/ (function(module, exports, __webpack_require__) { +.test { + content: "\\\\2014\\\\A0"; + content: "\\\\2014 \\\\A0"; + content: "\\\\A0 \\\\2014"; + content: "\\\\A0\\\\2014"; + margin-top: 1px\\\\9; + background-color: #000\\\\9; +} -exports = module.exports = __webpack_require__(0)(false); -// Module -exports.push([module.i, \\".foo {\\\\n color: red;\\\\n}\\\\n\\", \\"\\"]); +.light.on .bulb:before{ + content: '💡'; +} +.base64 { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_1___}); +} -/***/ }), -/* 4 */ -/***/ (function(module, exports) { +a[href=''] { + color: red; +} -module.exports = (url, options) => { - if (!options) { - // eslint-disable-next-line no-param-reassign - options = {}; - } +a[href='' i] { + color: red; +} - // eslint-disable-next-line no-underscore-dangle, no-param-reassign - url = url.__esModule ? url.default : url; +a[href=""] { + color: blue; +} - if (typeof url !== 'string') { - return url; - } +a[href="" i] { + color: blue; +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; - // If url is already wrapped in quotes, remove them - if (/^['\\"].*['\\"]$/.test(url)) { - // eslint-disable-next-line no-param-reassign - url = url.slice(1, -1); - } +exports[`loader should work: result 1`] = ` +[ + [ + "./basic.css", + "@charset "UTF-8"; - if (options.hash) { - // eslint-disable-next-line no-param-reassign - url += options.hash; - } - // Should url be wrapped? - // See https://drafts.csswg.org/css-values-3/#urls - if (/[\\"'() \\\\t\\\\n]/.test(url) || options.needQuotes) { - return \`\\"\${url.replace(/\\"/g, '\\\\\\\\\\"').replace(/\\\\n/g, '\\\\\\\\n')}\\"\`; - } +/* Comment */ - return url; -}; +.class { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} +.class-duplicate-url { + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} -/***/ }), -/* 5 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +:root { + --foo: 1px; + --bar: 2px; +} -\\"use strict\\"; -__webpack_require__.r(__webpack_exports__); -/* harmony default export */ __webpack_exports__[\\"default\\"] = (\\"data:image/png;base64,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\\"); +.class { a: b c d; } -/***/ }) -/******/ ]); -//# sourceMappingURL=main.bundle.js.map" -`; +.two {} -exports[`loader should work with ModuleConcatenationPlugin (url-loader): errors 1`] = `Array []`; +.u-m\\+ { a: b c d; } -exports[`loader should work with ModuleConcatenationPlugin (url-loader): warnings 1`] = `Array []`; +.class { content: "\\F10C" } -exports[`loader using together with "postcss-loader" and reuse \`ast\`: errors 1`] = `Array []`; +@media only screen and (max-width: 600px) { + body { + background-color: lightblue; + } +} -exports[`loader using together with "postcss-loader" and reuse \`ast\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ":root { - --fontSize: 1rem; - --mainColor: rgba(18,52,86,0.47059); - --secondaryColor: rgba(102, 51, 153, 0.9); +.class { + content: "\\2193"; + content: "\\2193\\2193"; + content: "\\2193 \\2193"; + content: "\\2193\\2193\\2193"; + content: "\\2193 \\2193 \\2193"; } -html { - overflow-x: hidden; - overflow-y: auto; - overflow: hidden auto; +.-top {} +.\\-top {} + +#\\#test {} + +.grid { + display: flex; + flex-wrap: wrap; +} +.grid.\\-top { + align-items: flex-start; +} +.grid.-top { + align-items: flex-start; +} +.grid.\\-middle { + align-items: center; +} +.grid.\\-bottom { + align-items: flex-end; } -@media (max-width: 50rem) { - body { - color: rgba(18,52,86,0.47059); - color: var(--mainColor); - font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif; - font-size: 1rem; - font-size: var(--fontSize); - line-height: calc(1rem * 1.5); - line-height: calc(var(--fontSize) * 1.5); - word-wrap: break-word; - padding-left: calc(1rem / 2 + 1px); - padding-right: calc(1rem / 2 + 1px); - padding-left: calc(var(--fontSize) / 2 + 1px); - padding-right: calc(var(--fontSize) / 2 + 1px); - } +.u-m\\00002b {} + +.u-m00002b {} + +#u-m\\+ {} + +body { + font-family: '微软雅黑'; /* some chinese font name */ } -h1,h2,h3,h4,h5,h6 { - margin-top: 0; - margin-bottom: 0; +.myStyle { + content: '\\e901'; } -main.hero, .hero.main { - background-image: url(/webpack/public/path/img1x.png); +.myStyle { + content: '\\E901'; } -@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { +.♫ {} + +.\\3A \\\`\\( {} /* matches elements with class=":\`(" */ +.\\31 a2b3c {} /* matches elements with class="1a2b3c" */ +#\\#fake-id {} /* matches the element with id="#fake-id" */ +#-a-b-c- {} /* matches the element with id="-a-b-c-" */ +#© {} /* matches the element with id="©" */ -main.hero, .hero.main { - background-image: url(/webpack/public/path/img2x.png); -} +\\.\\\` { + color: aliceblue; } -main.hero, .hero.main { - background-image: -webkit-image-set(url(/webpack/public/path/img1x.png) 1x, url(/webpack/public/path/img2x.png) 2x); - background-image: image-set(url(/webpack/public/path/img1x.png) 1x, url(/webpack/public/path/img2x.png) 2x); +\\.\\$\\{foo\\} { + color: aliceblue; } -a { - color: rgba(0, 0, 255, 0.9) +/* \` */ +/* \`\` */ +/* \`\`\` */ +/* \${} */ +/* \\\\\` */ + +:root { + --title-align: center; + --sr-only: { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + clip-path: inset(50%); + border: 0; + }; } -a:hover { - color: #639; - } -", - "", - ], -] -`; +.test { + content: "\\2014\\A0"; + content: "\\2014 \\A0"; + content: "\\A0 \\2014"; + content: "\\A0\\2014"; + margin-top: 1px\\9; + background-color: #000\\9; +} -exports[`loader using together with "postcss-loader" and reuse \`ast\`: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"./img1x.png\\"); -var ___CSS_LOADER_URL_PURE_IMPORT_1___ = require(\\"./img2x.png\\"); -var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); -var ___CSS_LOADER_URL_IMPORT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_1___); -// Module -exports.push([module.id, \\":root {\\\\n --fontSize: 1rem;\\\\n --mainColor: rgba(18,52,86,0.47059);\\\\n --secondaryColor: rgba(102, 51, 153, 0.9);\\\\n}\\\\n\\\\nhtml {\\\\n overflow-x: hidden;\\\\n overflow-y: auto;\\\\n overflow: hidden auto;\\\\n}\\\\n\\\\n@media (max-width: 50rem) {\\\\n body {\\\\n color: rgba(18,52,86,0.47059);\\\\n color: var(--mainColor);\\\\n font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;\\\\n font-size: 1rem;\\\\n font-size: var(--fontSize);\\\\n line-height: calc(1rem * 1.5);\\\\n line-height: calc(var(--fontSize) * 1.5);\\\\n word-wrap: break-word;\\\\n padding-left: calc(1rem / 2 + 1px);\\\\n padding-right: calc(1rem / 2 + 1px);\\\\n padding-left: calc(var(--fontSize) / 2 + 1px);\\\\n padding-right: calc(var(--fontSize) / 2 + 1px);\\\\n }\\\\n}\\\\n\\\\nh1,h2,h3,h4,h5,h6 {\\\\n margin-top: 0;\\\\n margin-bottom: 0;\\\\n}\\\\n\\\\nmain.hero, .hero.main {\\\\n background-image: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {\\\\n\\\\nmain.hero, .hero.main {\\\\n background-image: url(\\" + ___CSS_LOADER_URL_IMPORT_1___ + \\");\\\\n}\\\\n}\\\\n\\\\nmain.hero, .hero.main {\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_IMPORT_1___ + \\") 2x);\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_IMPORT_1___ + \\") 2x);\\\\n}\\\\n\\\\na {\\\\n color: rgba(0, 0, 255, 0.9)\\\\n}\\\\n\\\\na:hover {\\\\n color: #639;\\\\n }\\\\n\\", \\"\\"]); -" -`; +.light.on .bulb:before{ + content: '💡'; +} -exports[`loader using together with "postcss-loader" and reuse \`ast\`: warnings 1`] = `Array []`; +.base64 { + background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==); +} -exports[`loader using together with "sass-loader": errors 1`] = `Array []`; +a[href=''] { + color: red; +} -exports[`loader using together with "sass-loader": errors 2`] = `Array []`; +a[href='' i] { + color: red; +} -exports[`loader using together with "sass-loader": module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "body { - font: 100% Helvetica, sans-serif; - color: #333; -}", - "", - ], -] -`; +a[href=""] { + color: blue; +} -exports[`loader using together with "sass-loader": module (evaluated) 2`] = ` -Array [ - Array [ - 1, - "body { - font: 100% Helvetica, sans-serif; - color: #333; -}", +a[href="" i] { + color: blue; +} +", "", ], ] `; -exports[`loader using together with "sass-loader": module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Module -exports.push([module.id, \\"body {\\\\n font: 100% Helvetica, sans-serif;\\\\n color: #333;\\\\n}\\", \\"\\"]); -" -`; - -exports[`loader using together with "sass-loader": module 2`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Module -exports.push([module.id, \\"body {\\\\n font: 100% Helvetica, sans-serif;\\\\n color: #333;\\\\n}\\", \\"\\"]); -" -`; - -exports[`loader using together with "sass-loader": warnings 1`] = `Array []`; - -exports[`loader using together with "sass-loader": warnings 2`] = `Array []`; +exports[`loader should work: warnings 1`] = `[]`; diff --git a/test/__snapshots__/localsConvention-option.test.js.snap b/test/__snapshots__/localsConvention-option.test.js.snap deleted file mode 100644 index 4925e0ac..00000000 --- a/test/__snapshots__/localsConvention-option.test.js.snap +++ /dev/null @@ -1,241 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`localsConvention option asIs: errors 1`] = `Array []`; - -exports[`localsConvention option asIs: locals 1`] = ` -Object { - "btn--info_is-disabled_1": "aF9yrid0BHOaiL3bSWCyJ", - "btn-info_is-disabled": "_2HovG-ymIjf-Q-jdQr_LQ-", - "foo": "bar", - "my-btn-info_is-disabled": "value", - "simple": "_2UqJ0qi8H2Q5R46tr_dUvz", -} -`; - -exports[`localsConvention option asIs: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._2HovG-ymIjf-Q-jdQr_LQ- { - color: blue; -} - -.aF9yrid0BHOaiL3bSWCyJ { - color: blue; -} - -._2UqJ0qi8H2Q5R46tr_dUvz { - color: red; -} - -a { - color: yellow; -} -", - "", - ], -] -`; - -exports[`localsConvention option asIs: warnings 1`] = `Array []`; - -exports[`localsConvention option camelCase: errors 1`] = `Array []`; - -exports[`localsConvention option camelCase: locals 1`] = ` -Object { - "btn--info_is-disabled_1": "aF9yrid0BHOaiL3bSWCyJ", - "btn-info_is-disabled": "_2HovG-ymIjf-Q-jdQr_LQ-", - "btnInfoIsDisabled": "_2HovG-ymIjf-Q-jdQr_LQ-", - "btnInfoIsDisabled1": "aF9yrid0BHOaiL3bSWCyJ", - "foo": "bar", - "my-btn-info_is-disabled": "value", - "myBtnInfoIsDisabled": "value", - "simple": "_2UqJ0qi8H2Q5R46tr_dUvz", -} -`; - -exports[`localsConvention option camelCase: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._2HovG-ymIjf-Q-jdQr_LQ- { - color: blue; -} - -.aF9yrid0BHOaiL3bSWCyJ { - color: blue; -} - -._2UqJ0qi8H2Q5R46tr_dUvz { - color: red; -} - -a { - color: yellow; -} -", - "", - ], -] -`; - -exports[`localsConvention option camelCase: warnings 1`] = `Array []`; - -exports[`localsConvention option camelCaseOnly: errors 1`] = `Array []`; - -exports[`localsConvention option camelCaseOnly: locals 1`] = ` -Object { - "btnInfoIsDisabled": "_2HovG-ymIjf-Q-jdQr_LQ-", - "btnInfoIsDisabled1": "aF9yrid0BHOaiL3bSWCyJ", - "foo": "bar", - "myBtnInfoIsDisabled": "value", - "simple": "_2UqJ0qi8H2Q5R46tr_dUvz", -} -`; - -exports[`localsConvention option camelCaseOnly: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._2HovG-ymIjf-Q-jdQr_LQ- { - color: blue; -} - -.aF9yrid0BHOaiL3bSWCyJ { - color: blue; -} - -._2UqJ0qi8H2Q5R46tr_dUvz { - color: red; -} - -a { - color: yellow; -} -", - "", - ], -] -`; - -exports[`localsConvention option camelCaseOnly: warnings 1`] = `Array []`; - -exports[`localsConvention option dashes: errors 1`] = `Array []`; - -exports[`localsConvention option dashes: locals 1`] = ` -Object { - "btn--info_is-disabled_1": "aF9yrid0BHOaiL3bSWCyJ", - "btn-info_is-disabled": "_2HovG-ymIjf-Q-jdQr_LQ-", - "btnInfo_isDisabled": "_2HovG-ymIjf-Q-jdQr_LQ-", - "btnInfo_isDisabled_1": "aF9yrid0BHOaiL3bSWCyJ", - "foo": "bar", - "my-btn-info_is-disabled": "value", - "myBtnInfo_isDisabled": "value", - "simple": "_2UqJ0qi8H2Q5R46tr_dUvz", -} -`; - -exports[`localsConvention option dashes: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._2HovG-ymIjf-Q-jdQr_LQ- { - color: blue; -} - -.aF9yrid0BHOaiL3bSWCyJ { - color: blue; -} - -._2UqJ0qi8H2Q5R46tr_dUvz { - color: red; -} - -a { - color: yellow; -} -", - "", - ], -] -`; - -exports[`localsConvention option dashes: warnings 1`] = `Array []`; - -exports[`localsConvention option dashesOnly: errors 1`] = `Array []`; - -exports[`localsConvention option dashesOnly: locals 1`] = ` -Object { - "btnInfo_isDisabled": "_2HovG-ymIjf-Q-jdQr_LQ-", - "btnInfo_isDisabled_1": "aF9yrid0BHOaiL3bSWCyJ", - "foo": "bar", - "myBtnInfo_isDisabled": "value", - "simple": "_2UqJ0qi8H2Q5R46tr_dUvz", -} -`; - -exports[`localsConvention option dashesOnly: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._2HovG-ymIjf-Q-jdQr_LQ- { - color: blue; -} - -.aF9yrid0BHOaiL3bSWCyJ { - color: blue; -} - -._2UqJ0qi8H2Q5R46tr_dUvz { - color: red; -} - -a { - color: yellow; -} -", - "", - ], -] -`; - -exports[`localsConvention option dashesOnly: warnings 1`] = `Array []`; - -exports[`localsConvention option not specified: errors 1`] = `Array []`; - -exports[`localsConvention option not specified: locals 1`] = ` -Object { - "btn--info_is-disabled_1": "aF9yrid0BHOaiL3bSWCyJ", - "btn-info_is-disabled": "_2HovG-ymIjf-Q-jdQr_LQ-", - "foo": "bar", - "my-btn-info_is-disabled": "value", - "simple": "_2UqJ0qi8H2Q5R46tr_dUvz", -} -`; - -exports[`localsConvention option not specified: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._2HovG-ymIjf-Q-jdQr_LQ- { - color: blue; -} - -.aF9yrid0BHOaiL3bSWCyJ { - color: blue; -} - -._2UqJ0qi8H2Q5R46tr_dUvz { - color: red; -} - -a { - color: yellow; -} -", - "", - ], -] -`; - -exports[`localsConvention option not specified: warnings 1`] = `Array []`; diff --git a/test/__snapshots__/modules-option.test.js.snap b/test/__snapshots__/modules-option.test.js.snap index 8a87fd13..23e2b2b3 100644 --- a/test/__snapshots__/modules-option.test.js.snap +++ b/test/__snapshots__/modules-option.test.js.snap @@ -1,169 +1,149 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing -exports[`modules case \`animation\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #286: errors 1`] = `[]`; -exports[`modules case \`animation\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; - -exports[`modules case \`animation\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "a { - animation: slide-right 300ms forwards ease-out, fade-in 300ms forwards ease-out; +exports[`"modules" option issue #286: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +import ___CSS_LOADER_ICSS_IMPORT_0___, * as ___CSS_LOADER_ICSS_IMPORT_0____NAMED___ from "./dep.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, "", true); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.b--main { } +\`, ""]); +// Exports +export var main = \`b--main \${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["red"]}\`; +export default ___CSS_LOADER_EXPORT___; +" +`; -} +exports[`"modules" option issue #286: result 1`] = ` +[ + [ + "./modules/issue-286/dep.css", + ".a--red { color: red } ", "", ], -] -`; - -exports[`modules case \`animation\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; - -exports[`modules case \`animation\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; - -exports[`modules case \`animation\` (\`modules\` value is \`global)\`: locals 1`] = `undefined`; - -exports[`modules case \`animation\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "a { - animation: slide-right 300ms forwards ease-out, fade-in 300ms forwards ease-out; - -} + [ + "./modules/issue-286/source.css", + ".b--main { } ", "", ], ] `; -exports[`modules case \`animation\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +exports[`"modules" option issue #286: warnings 1`] = `[]`; -exports[`modules case \`animation\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #636: errors 1`] = `[]`; -exports[`modules case \`animation\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "fade-in": "_3XZSV759G141XcbTZgtQkF", - "slide-right": "_2jinakhsfBWcUNZSsOxUHz", -} +exports[`"modules" option issue #636: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +import ___CSS_LOADER_ICSS_IMPORT_0___, * as ___CSS_LOADER_ICSS_IMPORT_0____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!../../../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./foo.scss"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, "", true); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.prefix-bar { +}\`, ""]); +// Exports +export var bar = \`prefix-bar \${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["foo"]}\`; +export default ___CSS_LOADER_EXPORT___; +" `; -exports[`modules case \`animation\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "a { - animation: _2jinakhsfBWcUNZSsOxUHz 300ms forwards ease-out, _3XZSV759G141XcbTZgtQkF 300ms forwards ease-out; - -} -", +exports[`"modules" option issue #636: result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./modules/issue-636/foo.scss", + ".prefix-foo { + color: red; +}", + "", + ], + [ + "./modules/issue-636/source.scss", + ".prefix-bar { +}", "", ], ] `; -exports[`modules case \`animation\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; - -exports[`modules case \`animation\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #636: warnings 1`] = ` +[ + "ModuleWarning: Module Warning (from \`replaced original path\`): +Deprecation The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0. -exports[`modules case \`animation\` (\`modules\` value is \`object with mode global)\`: locals 1`] = `undefined`; - -exports[`modules case \`animation\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "a { - animation: slide-right 300ms forwards ease-out, fade-in 300ms forwards ease-out; +More info: https://sass-lang.com/d/legacy-js-api", + "ModuleWarning: Module Warning (from \`replaced original path\`): +Deprecation The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0. -} -", - "", - ], +More info: https://sass-lang.com/d/legacy-js-api", ] `; -exports[`modules case \`animation\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; - -exports[`modules case \`animation\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #861: errors 1`] = `[]`; -exports[`modules case \`animation\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "fade-in": "_fade-in", - "slide-right": "_slide-right", +exports[`"modules" option issue #861: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +import ___CSS_LOADER_ICSS_IMPORT_0___, * as ___CSS_LOADER_ICSS_IMPORT_0____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./node_modules/@localpackage/color.css"; +import ___CSS_LOADER_ICSS_IMPORT_1___, * as ___CSS_LOADER_ICSS_IMPORT_1____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./node_modules/@localpackage/style.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, "", true); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_1___, "", true); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.y19CYJvfPsY__wKRrRBJ { + color: \${ ___CSS_LOADER_ICSS_IMPORT_0____NAMED___["color-grey"] }; + margin: 0; + padding: 0; } +\`, ""]); +// Exports +var _1 = \`\${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["color-grey"]}\`; +export { _1 as "color-grey" }; +export var copyright = \`y19CYJvfPsY__wKRrRBJ \${___CSS_LOADER_ICSS_IMPORT_1____NAMED___["type-heading"]}\`; +export default ___CSS_LOADER_EXPORT___; +" `; -exports[`modules case \`animation\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "a { - animation: _slide-right 300ms forwards ease-out, _fade-in 300ms forwards ease-out; - -} +exports[`"modules" option issue #861: result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/issue-861/node_modules/@localpackage/color.css", + " ", "", ], -] -`; - -exports[`modules case \`animation\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; - -exports[`modules case \`animation\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; - -exports[`modules case \`animation\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "fade-in": "_3XZSV759G141XcbTZgtQkF", - "slide-right": "_2jinakhsfBWcUNZSsOxUHz", -} -`; - -exports[`modules case \`animation\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "a { - animation: _2jinakhsfBWcUNZSsOxUHz 300ms forwards ease-out, _3XZSV759G141XcbTZgtQkF 300ms forwards ease-out; - + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/issue-861/node_modules/@otherlocalpackage/style.css", + ".RkMzgETKHXnuOl77obC2 { + display: flex; } ", "", ], -] -`; - -exports[`modules case \`animation\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; - -exports[`modules case \`class-names\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; - -exports[`modules case \`class-names\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; - -exports[`modules case \`class-names\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".class-1, .class-10 .bar-1 { - color: green; + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/issue-861/node_modules/@localpackage/style.css", + ".z7lux7p74VniQzqVx2Bi { + color: red; + margin: 0; + padding: 0; } ", "", ], -] -`; - -exports[`modules case \`class-names\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; - -exports[`modules case \`class-names\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; - -exports[`modules case \`class-names\` (\`modules\` value is \`global)\`: locals 1`] = `undefined`; - -exports[`modules case \`class-names\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".class-1, .class-10 .bar-1 { - color: green; + [ + "./modules/issue-861/resolving-from-node_modules.css", + ".y19CYJvfPsY__wKRrRBJ { + color: gray; + margin: 0; + padding: 0; } ", "", @@ -171,68 +151,74 @@ Array [ ] `; -exports[`modules case \`class-names\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +exports[`"modules" option issue #861: warnings 1`] = `[]`; -exports[`modules case \`class-names\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #966 - values in selectors aren't escaped properly: errors 1`] = `[]`; -exports[`modules case \`class-names\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "bar-1": "_3GpM4NK17tELexNK1Szvws", - "class-1": "_1GNZOTxutjEX7cZ3Ec7knU", - "class-10": "_15N9BXxWirSgwhYficwysK", +exports[`"modules" option issue #966 - values in selectors aren't escaped properly: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`._7-foo-class { + color: red; } -`; -exports[`modules case \`class-names\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1GNZOTxutjEX7cZ3Ec7knU, ._15N9BXxWirSgwhYficwysK ._3GpM4NK17tELexNK1Szvws { - color: green; +.\\\\--bar-class { + color: red; } -", - "", - ], -] -`; -exports[`modules case \`class-names\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; - -exports[`modules case \`class-names\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +.\\\\--baz-class { + color: red; +} -exports[`modules case \`class-names\` (\`modules\` value is \`object with mode global)\`: locals 1`] = `undefined`; +.fooBaz-class-continuation { + color: red; +} -exports[`modules case \`class-names\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".class-1, .class-10 .bar-1 { - color: green; +.some.class { + color: red; +} +\`, ""]); +// Exports +var _1 = \`_7-foo-class\`; +export { _1 as "foo-class" }; +var _2 = \`--bar-class\`; +export { _2 as "bar-class" }; +var _3 = \`--baz-class\`; +export { _3 as "baz-class" }; +var _4 = \`fooBaz-class-continuation\`; +export { _4 as "fooBaz-class" }; +export var some = \`some\`; +var _5 = \`class\`; +export { _5 as "class" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option issue #966 - values in selectors aren't escaped properly: result 1`] = ` +[ + [ + "./modules/issue-966/issue-966.css", + "._7-foo-class { + color: red; } -", - "", - ], -] -`; -exports[`modules case \`class-names\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +.\\--bar-class { + color: red; +} -exports[`modules case \`class-names\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +.\\--baz-class { + color: red; +} -exports[`modules case \`class-names\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "bar-1": "_bar-1", - "class-1": "_class-1", - "class-10": "_class-10", +.fooBaz-class-continuation { + color: red; } -`; -exports[`modules case \`class-names\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._class-1, ._class-10 ._bar-1 { - color: green; +.some.class { + color: red; } ", "", @@ -240,24 +226,32 @@ Array [ ] `; -exports[`modules case \`class-names\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +exports[`"modules" option issue #966 - values in selectors aren't escaped properly: warnings 1`] = `[]`; -exports[`modules case \`class-names\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #966: errors 1`] = `[]`; -exports[`modules case \`class-names\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "bar-1": "_3GpM4NK17tELexNK1Szvws", - "class-1": "_1GNZOTxutjEX7cZ3Ec7knU", - "class-10": "_15N9BXxWirSgwhYficwysK", +exports[`"modules" option issue #966: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.button-hey { + color: red; } +\`, ""]); +// Exports +export var button = \`button-hey\`; +export default ___CSS_LOADER_EXPORT___; +" `; -exports[`modules case \`class-names\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1GNZOTxutjEX7cZ3Ec7knU, ._15N9BXxWirSgwhYficwysK ._3GpM4NK17tELexNK1Szvws { - color: green; +exports[`"modules" option issue #966: result 1`] = ` +[ + [ + "./modules/issue-966/button.css", + ".button-hey { + color: red; } ", "", @@ -265,1053 +259,986 @@ Array [ ] `; -exports[`modules case \`class-names\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +exports[`"modules" option issue #966: warnings 1`] = `[]`; -exports[`modules case \`comment-in-local\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #967: errors 1`] = `[]`; -exports[`modules case \`comment-in-local\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; - -exports[`modules case \`comment-in-local\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ":local(.c1/*.c2*/.c3) { background: red; } -", - "", - ], -] -`; +exports[`"modules" option issue #967: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.modules-issue-967-path-placeholder__foo__--sep---sep---sep---sep----sep---sep---sep---sep---sep-- { + color: red; +} -exports[`modules case \`comment-in-local\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +.modules-issue-967-path-placeholder__foo\\\\/bar__--sep---sep---sep---sep----sep---sep---sep---sep---sep-- { + color: blue; +} -exports[`modules case \`comment-in-local\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +.modules-issue-967-path-placeholder__\\\\[\\\\/\\\\?\\\\<\\\\>\\\\\\\\\\\\\\\\\\\\3A \\\\*\\\\|\\\\"\\\\3A \\\\]__--sep---sep---sep---sep----sep---sep---sep---sep---sep-- { + color: yellow; +} +\`, ""]); +// Exports +export var foo = \`modules-issue-967-path-placeholder__foo__--sep---sep---sep---sep----sep---sep---sep---sep---sep--\`; +var _1 = \`modules-issue-967-path-placeholder__foo/bar__--sep---sep---sep---sep----sep---sep---sep---sep---sep--\`; +export { _1 as "foo/bar" }; +var _2 = \`modules-issue-967-path-placeholder__[/?<>\\\\\\\\:*|":]__--sep---sep---sep---sep----sep---sep---sep---sep---sep--\`; +export { _2 as "[/?<>\\\\\\\\:*|\\":]" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option issue #967: result 1`] = ` +[ + [ + "./modules/issue-967/path-placeholder.css", + ".modules-issue-967-path-placeholder__foo__--sep---sep---sep---sep----sep---sep---sep---sep---sep-- { + color: red; +} -exports[`modules case \`comment-in-local\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "c1": "_1xn1UbV-5a_s7ig53fR7Lz", - "c3": "_36mr1nZ1pdjd1s5j3RV-z7", +.modules-issue-967-path-placeholder__foo\\/bar__--sep---sep---sep---sep----sep---sep---sep---sep---sep-- { + color: blue; } -`; -exports[`modules case \`comment-in-local\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1xn1UbV-5a_s7ig53fR7Lz/*.c2*/._36mr1nZ1pdjd1s5j3RV-z7 { background: red; } +.modules-issue-967-path-placeholder__\\[\\/\\?\\<\\>\\\\\\\\\\3A \\*\\|\\"\\3A \\]__--sep---sep---sep---sep----sep---sep---sep---sep---sep-- { + color: yellow; +} ", "", ], ] `; -exports[`modules case \`comment-in-local\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +exports[`"modules" option issue #967: warnings 1`] = `[]`; -exports[`modules case \`comment-in-local\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #980: errors 1`] = `[]`; -exports[`modules case \`comment-in-local\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "c1": "_1xn1UbV-5a_s7ig53fR7Lz", - "c3": "_36mr1nZ1pdjd1s5j3RV-z7", +exports[`"modules" option issue #980: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.file-with-many-dots-in-name_a_KwVdi { + color: red; } +\`, ""]); +// Exports +export var a = \`file-with-many-dots-in-name_a_KwVdi\`; +export default ___CSS_LOADER_EXPORT___; +" `; -exports[`modules case \`comment-in-local\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1xn1UbV-5a_s7ig53fR7Lz/*.c2*/._36mr1nZ1pdjd1s5j3RV-z7 { background: red; } +exports[`"modules" option issue #980: result 1`] = ` +[ + [ + "./modules/issue-980/file.with.many.dots.in.name.css", + ".file-with-many-dots-in-name_a_KwVdi { + color: red; +} ", "", ], ] `; -exports[`modules case \`comment-in-local\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +exports[`"modules" option issue #980: warnings 1`] = `[]`; -exports[`modules case \`comment-in-local\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #995 #2: errors 1`] = `[]`; -exports[`modules case \`comment-in-local\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "c1": "_c1", - "c3": "_c3", +exports[`"modules" option issue #995 #2: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`/* class="😀" */ +.a { + color: red; } -`; - -exports[`modules case \`comment-in-local\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._c1/*.c2*/._c3 { background: red; } -", - "", - ], -] -`; -exports[`modules case \`comment-in-local\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +/* class="😀 😓" */ +.a.b { + color: red; +} -exports[`modules case \`comment-in-local\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +/* class="😀" > class="😓" */ +.a .b { + color: red; +} -exports[`modules case \`comment-in-local\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "c1": "_c1", - "c3": "_c3", +/* class="😀" */ +.😀 { + color: red; } -`; -exports[`modules case \`comment-in-local\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._c1/*.c2*/._c3 { background: red; } -", - "", - ], -] -`; +/* class="😀 😓" */ +.😀.😓 { + color: red; +} -exports[`modules case \`comment-in-local\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +/* class="😀" > class="😓" */ +.😀 .😓 { + color: red; +} -exports[`modules case \`comment-in-local\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +/* class="😀" */ +.\\\\1F600 { + color: red; +} -exports[`modules case \`comment-in-local\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "c1": "_1xn1UbV-5a_s7ig53fR7Lz", - "c3": "_36mr1nZ1pdjd1s5j3RV-z7", +/* class="😀 😓" */ +.\\\\1F600.\\\\1F613 { + color: red; } -`; -exports[`modules case \`comment-in-local\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1xn1UbV-5a_s7ig53fR7Lz/*.c2*/._36mr1nZ1pdjd1s5j3RV-z7 { background: red; } -", - "", - ], -] -`; +/* class="😀" > class="😓" */ +.\\\\1F600 .\\\\1F613 { + color: red; +} -exports[`modules case \`comment-in-local\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +/* Local */ -exports[`modules case \`comments\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +/* class="😀" */ +.\\\\ { + color: red; +} -exports[`modules case \`comments\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +/* class="😀 😓" */ +.\\\\ .\\\\ { + color: red; +} -exports[`modules case \`comments\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "/* - * a ' above - */ +/* class="😀" > class="😓" */ +.\\\\ .\\\\ { + color: red; +} -.bg { - background-image: url(/webpack/public/path/img.png); +.\\\\1F600 .a .\\\\1F600 { + color: red; } -/* - * a ' below - */ -", - "", - ], -] -`; +.\\\\ .\\\\ .\\\\ { + color: red; +} -exports[`modules case \`comments\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +div:not(.\\\\ ) { + color: red; +} -exports[`modules case \`comments\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +.\\\\ .b { + color: red; +} -exports[`modules case \`comments\` (\`modules\` value is \`global)\`: locals 1`] = `undefined`; +.b .\\\\ { + color: red; +} -exports[`modules case \`comments\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "/* - * a ' above - */ +.\\\\1F613 .\\\\ { + color: red; +} -.bg { - background-image: url(/webpack/public/path/img.png); +.\\\\1F613 .\\\\ { + color: red; } -/* - * a ' below - */ -", - "", - ], -] -`; +.\\\\ > .\\\\ > .\\\\ { + color: red; +} +\`, ""]); +// Exports +export var a = \` \`; +export var b = \` \`; +export var c = \` \`; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option issue #995 #2: result 1`] = ` +[ + [ + "./modules/issue-995/issue-995.css", + "/* class="😀" */ +.a { + color: red; +} -exports[`modules case \`comments\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +/* class="😀 😓" */ +.a.b { + color: red; +} -exports[`modules case \`comments\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +/* class="😀" > class="😓" */ +.a .b { + color: red; +} -exports[`modules case \`comments\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "bg": "_28-VAWbJ8gQCgX50Jcqtzs", +/* class="😀" */ +.😀 { + color: red; } -`; -exports[`modules case \`comments\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "/* - * a ' above - */ - -._28-VAWbJ8gQCgX50Jcqtzs { - background-image: url(/webpack/public/path/img.png); +/* class="😀 😓" */ +.😀.😓 { + color: red; } -/* - * a ' below - */ -", - "", - ], -] -`; - -exports[`modules case \`comments\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; - -exports[`modules case \`comments\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; - -exports[`modules case \`comments\` (\`modules\` value is \`object with mode global)\`: locals 1`] = `undefined`; +/* class="😀" > class="😓" */ +.😀 .😓 { + color: red; +} -exports[`modules case \`comments\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "/* - * a ' above - */ +/* class="😀" */ +.\\1F600 { + color: red; +} -.bg { - background-image: url(/webpack/public/path/img.png); +/* class="😀 😓" */ +.\\1F600.\\1F613 { + color: red; } -/* - * a ' below - */ -", - "", - ], -] -`; +/* class="😀" > class="😓" */ +.\\1F600 .\\1F613 { + color: red; +} -exports[`modules case \`comments\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +/* Local */ -exports[`modules case \`comments\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +/* class="😀" */ +.\\ { + color: red; +} -exports[`modules case \`comments\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "bg": "_bg", +/* class="😀 😓" */ +.\\ .\\ { + color: red; } -`; -exports[`modules case \`comments\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "/* - * a ' above - */ +/* class="😀" > class="😓" */ +.\\ .\\ { + color: red; +} -._bg { - background-image: url(/webpack/public/path/img.png); +.\\1F600 .a .\\1F600 { + color: red; } -/* - * a ' below - */ -", - "", - ], -] -`; +.\\ .\\ .\\ { + color: red; +} -exports[`modules case \`comments\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +div:not(.\\ ) { + color: red; +} -exports[`modules case \`comments\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +.\\ .b { + color: red; +} -exports[`modules case \`comments\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "bg": "_28-VAWbJ8gQCgX50Jcqtzs", +.b .\\ { + color: red; } -`; -exports[`modules case \`comments\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "/* - * a ' above - */ +.\\1F613 .\\ { + color: red; +} -._28-VAWbJ8gQCgX50Jcqtzs { - background-image: url(/webpack/public/path/img.png); +.\\1F613 .\\ { + color: red; } -/* - * a ' below - */ +.\\ > .\\ > .\\ { + color: red; +} ", "", ], ] `; -exports[`modules case \`comments\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; - -exports[`modules case \`composes\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #995 #2: warnings 1`] = `[]`; -exports[`modules case \`composes\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; - -exports[`modules case \`composes\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ":local(.c1) { a: 1; } -:local(.c2) { composes: c1; b: 1; } -", - "", - ], -] -`; +exports[`"modules" option issue #995: errors 1`] = `[]`; -exports[`modules case \`composes\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +exports[`"modules" option issue #995: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`/* class="😀" */ +.a { + color: red; +} -exports[`modules case \`composes\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +/* class="😀 😓" */ +.a.b { + color: red; +} -exports[`modules case \`composes\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "c1": "_2lVGKlfYXzywV6_acW1a3J", - "c2": "_2FPXZHdIWogtLWkFQcjYj7 _2lVGKlfYXzywV6_acW1a3J", +/* class="😀" > class="😓" */ +.a .b { + color: red; } -`; -exports[`modules case \`composes\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._2lVGKlfYXzywV6_acW1a3J { a: 1; } -._2FPXZHdIWogtLWkFQcjYj7 { b: 1; } -", - "", - ], -] -`; +/* class="😀" */ +.😀 { + color: red; +} -exports[`modules case \`composes\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +/* class="😀 😓" */ +.😀.😓 { + color: red; +} -exports[`modules case \`composes\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +/* class="😀" > class="😓" */ +.😀 .😓 { + color: red; +} -exports[`modules case \`composes\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "c1": "_2lVGKlfYXzywV6_acW1a3J", - "c2": "_2FPXZHdIWogtLWkFQcjYj7 _2lVGKlfYXzywV6_acW1a3J", +/* class="😀" */ +.\\\\1F600 { + color: red; } -`; -exports[`modules case \`composes\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._2lVGKlfYXzywV6_acW1a3J { a: 1; } -._2FPXZHdIWogtLWkFQcjYj7 { b: 1; } -", - "", - ], -] -`; +/* class="😀 😓" */ +.\\\\1F600.\\\\1F613 { + color: red; +} -exports[`modules case \`composes\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +/* class="😀" > class="😓" */ +.\\\\1F600 .\\\\1F613 { + color: red; +} -exports[`modules case \`composes\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +/* Local */ -exports[`modules case \`composes\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "c1": "_c1", - "c2": "_c2 _c1", +/* class="😀" */ +.😀 { + color: red; } -`; - -exports[`modules case \`composes\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._c1 { a: 1; } -._c2 { b: 1; } -", - "", - ], -] -`; -exports[`modules case \`composes\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +/* class="😀 😓" */ +.😀.😀 { + color: red; +} -exports[`modules case \`composes\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +/* class="😀" > class="😓" */ +.😀 .😀 { + color: red; +} -exports[`modules case \`composes\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "c1": "_c1", - "c2": "_c2 _c1", +.\\\\1F600 .a .\\\\1F600 { + color: red; } -`; -exports[`modules case \`composes\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._c1 { a: 1; } -._c2 { b: 1; } -", - "", - ], -] -`; +.😀 .😀 .😀 { + color: red; +} -exports[`modules case \`composes\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +div:not(.😀) { + color: red; +} -exports[`modules case \`composes\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +.😀 .b { + color: red; +} -exports[`modules case \`composes\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "c1": "_2lVGKlfYXzywV6_acW1a3J", - "c2": "_2FPXZHdIWogtLWkFQcjYj7 _2lVGKlfYXzywV6_acW1a3J", +.b .😀 { + color: red; } -`; -exports[`modules case \`composes\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._2lVGKlfYXzywV6_acW1a3J { a: 1; } -._2FPXZHdIWogtLWkFQcjYj7 { b: 1; } -", - "", - ], -] -`; +.\\\\1F613 .😀 { + color: red; +} -exports[`modules case \`composes\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +.\\\\1F613 .😀 { + color: red; +} -exports[`modules case \`composes-1\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +.😀 > .😀 > .😀 { + color: red; +} +\`, ""]); +// Exports +export var a = \`😀\`; +export var b = \`😀\`; +export var c = \`😀\`; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option issue #995: result 1`] = ` +[ + [ + "./modules/issue-995/issue-995.css", + "/* class="😀" */ +.a { + color: red; +} -exports[`modules case \`composes-1\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +/* class="😀 😓" */ +.a.b { + color: red; +} -exports[`modules case \`composes-1\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ":local(.c1) { composes: c2 from \\"./file.css\\"; b: 1; } -:local(.c3) { composes: c1; b: 3; } -:local(.c5) { composes: c2 c4 from \\"./file.css\\"; b: 5; } -", - "", - ], -] -`; +/* class="😀" > class="😓" */ +.a .b { + color: red; +} -exports[`modules case \`composes-1\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +/* class="😀" */ +.😀 { + color: red; +} -exports[`modules case \`composes-1\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +/* class="😀 😓" */ +.😀.😓 { + color: red; +} -exports[`modules case \`composes-1\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "c1": "_1DZQbqp1oX8etdFa5oSOnV _1xYJRliqpSHYzUvktbdaCo", - "c3": "_1PKuwglb3xQB3gwJBZx6_G _1DZQbqp1oX8etdFa5oSOnV _1xYJRliqpSHYzUvktbdaCo", - "c5": "_1MtdK0_soIbU20fcYBbRAe _1xYJRliqpSHYzUvktbdaCo _1jdJRc6HaM3lHykxBSOeII", +/* class="😀" > class="😓" */ +.😀 .😓 { + color: red; } -`; -exports[`modules case \`composes-1\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._1xYJRliqpSHYzUvktbdaCo { +/* class="😀" */ +.\\1F600 { color: red; } -._1jdJRc6HaM3lHykxBSOeII { - color: blue; +/* class="😀 😓" */ +.\\1F600.\\1F613 { + color: red; } -.test{ - c: d +/* class="😀" > class="😓" */ +.\\1F600 .\\1F613 { + color: red; } -", - "", - ], - Array [ - 1, - "._1DZQbqp1oX8etdFa5oSOnV { b: 1; } -._1PKuwglb3xQB3gwJBZx6_G { b: 3; } -._1MtdK0_soIbU20fcYBbRAe { b: 5; } -", - "", - ], -] -`; -exports[`modules case \`composes-1\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +/* Local */ -exports[`modules case \`composes-1\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +/* class="😀" */ +.😀 { + color: red; +} -exports[`modules case \`composes-1\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "c1": "_1DZQbqp1oX8etdFa5oSOnV _1xYJRliqpSHYzUvktbdaCo", - "c3": "_1PKuwglb3xQB3gwJBZx6_G _1DZQbqp1oX8etdFa5oSOnV _1xYJRliqpSHYzUvktbdaCo", - "c5": "_1MtdK0_soIbU20fcYBbRAe _1xYJRliqpSHYzUvktbdaCo _1jdJRc6HaM3lHykxBSOeII", +/* class="😀 😓" */ +.😀.😀 { + color: red; } -`; -exports[`modules case \`composes-1\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._1xYJRliqpSHYzUvktbdaCo { +/* class="😀" > class="😓" */ +.😀 .😀 { color: red; } -._1jdJRc6HaM3lHykxBSOeII { - color: blue; +.\\1F600 .a .\\1F600 { + color: red; } -._3YdnDqqBfyyJ_9JKWIle3X{ - c: d +.😀 .😀 .😀 { + color: red; } -", - "", - ], - Array [ - 1, - "._1DZQbqp1oX8etdFa5oSOnV { b: 1; } -._1PKuwglb3xQB3gwJBZx6_G { b: 3; } -._1MtdK0_soIbU20fcYBbRAe { b: 5; } -", - "", - ], -] -`; -exports[`modules case \`composes-1\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +div:not(.😀) { + color: red; +} -exports[`modules case \`composes-1\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +.😀 .b { + color: red; +} -exports[`modules case \`composes-1\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "c1": "_c1 _c2", - "c3": "_c3 _c1 _c2", - "c5": "_c5 _c2 _c4", +.b .😀 { + color: red; } -`; -exports[`modules case \`composes-1\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._c2 { +.\\1F613 .😀 { color: red; } -._c4 { - color: blue; +.\\1F613 .😀 { + color: red; } -.test{ - c: d +.😀 > .😀 > .😀 { + color: red; } -", - "", - ], - Array [ - 1, - "._c1 { b: 1; } -._c3 { b: 3; } -._c5 { b: 5; } ", "", ], ] `; -exports[`modules case \`composes-1\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +exports[`"modules" option issue #995: warnings 1`] = `[]`; -exports[`modules case \`composes-1\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; - -exports[`modules case \`composes-1\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "c1": "_c1 _c2", - "c3": "_c3 _c1 _c2", - "c5": "_c5 _c2 _c4", -} +exports[`"modules" option issue #1063 throw error: errors 1`] = ` +[ + "ModuleError: Module Error (from \`replaced original path\`): +options.mode must be either "global", "local" or "pure" (default "local")", + "ModuleError: Module Error (from \`replaced original path\`): +options.mode must be either "global", "local" or "pure" (default "local")", + "ModuleError: Module Error (from \`replaced original path\`): +options.mode must be either "global", "local" or "pure" (default "local")", +] `; -exports[`modules case \`composes-1\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._c2 { - color: red; +exports[`"modules" option issue #1063 throw error: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.classNameLocalFile { + color: green; } -._c4 { +:global(.otherClassLocalFile) { color: blue; } +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; -._test{ - c: d +exports[`"modules" option issue #1063 throw error: module 2`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.classNameGlobalFile { + color: black; } -", - "", - ], - Array [ - 1, - "._c1 { b: 1; } -._c3 { b: 3; } -._c5 { b: 5; } -", - "", - ], -] -`; - -exports[`modules case \`composes-1\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; -exports[`modules case \`composes-1\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; - -exports[`modules case \`composes-1\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "c1": "_1DZQbqp1oX8etdFa5oSOnV _1xYJRliqpSHYzUvktbdaCo", - "c3": "_1PKuwglb3xQB3gwJBZx6_G _1DZQbqp1oX8etdFa5oSOnV _1xYJRliqpSHYzUvktbdaCo", - "c5": "_1MtdK0_soIbU20fcYBbRAe _1xYJRliqpSHYzUvktbdaCo _1jdJRc6HaM3lHykxBSOeII", +:local(.otherClassGlobalFile) { + color: coral; } +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" `; -exports[`modules case \`composes-1\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._1xYJRliqpSHYzUvktbdaCo { - color: red; +exports[`"modules" option issue #1063 throw error: result 1`] = ` +".classNameLocalFile { + color: green; } -._1jdJRc6HaM3lHykxBSOeII { +:global(.otherClassLocalFile) { color: blue; } +.classNameGlobalFile { + color: black; +} -._3YdnDqqBfyyJ_9JKWIle3X{ - c: d +:local(.otherClassGlobalFile) { + color: coral; } -", - "", - ], - Array [ - 1, - "._1DZQbqp1oX8etdFa5oSOnV { b: 1; } -._1PKuwglb3xQB3gwJBZx6_G { b: 3; } -._1MtdK0_soIbU20fcYBbRAe { b: 5; } -", - "", - ], -] +.foo :local(.bar) { + color: red; +} +" `; -exports[`modules case \`composes-1\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; - -exports[`modules case \`composes-2\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; - -exports[`modules case \`composes-2\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; - -exports[`modules case \`composes-2\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ":local(.c1) { composes: c-2 from \\"./file.css\\"; b: 1; } -:local(.c3) { composes: c1; b: 3; } -:local(.c5) { composes: c-2 c4 from \\"./file.css\\"; b: 5; } -", - "", - ], -] -`; +exports[`"modules" option issue #1063 throw error: warnings 1`] = `[]`; -exports[`modules case \`composes-2\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +exports[`"modules" option issue #1063: errors 1`] = `[]`; -exports[`modules case \`composes-2\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #1063: module with the \`global\` mode 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.classNameGlobalFile { + color: black; +} -exports[`modules case \`composes-2\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "c1": "_2tj5Xzv7Ei8HGFvkrlGXyv _3CxjkH18CkEkRZ4FO4v-NQ", - "c3": "_1TPNBQGz_snQ6aGvXARYo0 _2tj5Xzv7Ei8HGFvkrlGXyv _3CxjkH18CkEkRZ4FO4v-NQ", - "c5": "rkDOmH5RkgZGaQ5Fey09Z _3CxjkH18CkEkRZ4FO4v-NQ G8VU3XI3HtOvZPlSEb9S3", +.OgdGONvTFtVRlDH24Xxl { + color: coral; } +\`, ""]); +// Exports +export var otherClassGlobalFile = \`OgdGONvTFtVRlDH24Xxl\`; +export default ___CSS_LOADER_EXPORT___; +" `; -exports[`modules case \`composes-2\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._3CxjkH18CkEkRZ4FO4v-NQ { - color: red; +exports[`"modules" option issue #1063: module with the \`local\` mode 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.XQP_Uob2ss9FjIlDgMOk { + color: green; } -.G8VU3XI3HtOvZPlSEb9S3 { +.otherClassLocalFile { color: blue; } - -.test{ - c: d -} -", - "", - ], - Array [ - 1, - "._2tj5Xzv7Ei8HGFvkrlGXyv { b: 1; } -._1TPNBQGz_snQ6aGvXARYo0 { b: 3; } -.rkDOmH5RkgZGaQ5Fey09Z { b: 5; } -", - "", - ], -] +\`, ""]); +// Exports +export var classNameLocalFile = \`XQP_Uob2ss9FjIlDgMOk\`; +export default ___CSS_LOADER_EXPORT___; +" `; -exports[`modules case \`composes-2\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; - -exports[`modules case \`composes-2\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; - -exports[`modules case \`composes-2\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "c1": "_2tj5Xzv7Ei8HGFvkrlGXyv _3CxjkH18CkEkRZ4FO4v-NQ", - "c3": "_1TPNBQGz_snQ6aGvXARYo0 _2tj5Xzv7Ei8HGFvkrlGXyv _3CxjkH18CkEkRZ4FO4v-NQ", - "c5": "rkDOmH5RkgZGaQ5Fey09Z _3CxjkH18CkEkRZ4FO4v-NQ G8VU3XI3HtOvZPlSEb9S3", +exports[`"modules" option issue #1063: module with the \`pure\` mode 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.O3Bw7YaDjucmoBcLTWv6 .bsnf8w1D6AQzl0nVBMef { + color: red; } +\`, ""]); +// Exports +export var foo = \`O3Bw7YaDjucmoBcLTWv6\`; +export var bar = \`bsnf8w1D6AQzl0nVBMef\`; +export default ___CSS_LOADER_EXPORT___; +" `; -exports[`modules case \`composes-2\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._3CxjkH18CkEkRZ4FO4v-NQ { - color: red; +exports[`"modules" option issue #1063: result 1`] = ` +".XQP_Uob2ss9FjIlDgMOk { + color: green; } -.G8VU3XI3HtOvZPlSEb9S3 { +.otherClassLocalFile { color: blue; } +.classNameGlobalFile { + color: black; +} -._10rrqoQ7Mb3ZcY6LixlnpR{ - c: d +.OgdGONvTFtVRlDH24Xxl { + color: coral; } -", - "", - ], - Array [ - 1, - "._2tj5Xzv7Ei8HGFvkrlGXyv { b: 1; } -._1TPNBQGz_snQ6aGvXARYo0 { b: 3; } -.rkDOmH5RkgZGaQ5Fey09Z { b: 5; } -", - "", - ], -] +.O3Bw7YaDjucmoBcLTWv6 .bsnf8w1D6AQzl0nVBMef { + color: red; +} +" `; -exports[`modules case \`composes-2\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; - -exports[`modules case \`composes-2\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #1063: warnings 1`] = `[]`; -exports[`modules case \`composes-2\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "c1": "_c1 _c-2", - "c3": "_c3 _c1 _c-2", - "c5": "_c5 _c-2 _c4", -} -`; +exports[`"modules" option issue #1191 - fallback to default getLocalIdent: errors 1`] = `[]`; -exports[`modules case \`composes-2\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._c-2 { +exports[`"modules" option issue #1191 - fallback to default getLocalIdent: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.some-class { color: red; } - -._c4 { - color: blue; -} - -.test{ - c: d +\`, ""]); +// Exports +var _1 = \`some-class\`; +export { _1 as "some-class" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option issue #1191 - fallback to default getLocalIdent: result 1`] = ` +{ + "css1": [ + [ + "./modules/issue-1191/issue-1191.css", + ".some-class { + color: red; } ", - "", + "", + ], ], - Array [ - 1, - "._c1 { b: 1; } -._c3 { b: 3; } -._c5 { b: 5; } + "css2": [ + [ + "./modules/issue-1191/issue-1191-custom.css", + ".custom-some-class { + color: red; +} ", - "", + "", + ], ], -] +} `; -exports[`modules case \`composes-2\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +exports[`"modules" option issue #1191 - fallback to default getLocalIdent: warnings 1`] = `[]`; -exports[`modules case \`composes-2\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; - -exports[`modules case \`composes-2\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "c1": "_c1 _c-2", - "c3": "_c3 _c1 _c-2", - "c5": "_c5 _c-2 _c4", -} -`; +exports[`"modules" option should avoid unnecessary "require": errors 1`] = `[]`; -exports[`modules case \`composes-2\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._c-2 { +exports[`"modules" option should avoid unnecessary "require": module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +import ___CSS_LOADER_ICSS_IMPORT_0___, * as ___CSS_LOADER_ICSS_IMPORT_0____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./imported-simple.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, "", true); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.Ps8VWEq9D6yYDbYD8Z74 { color: red; } -._c4 { - color: blue; +.RoQqX1UKTeWtDXMISYk9 { + color: red; } - -._test{ - c: d +\`, ""]); +// Exports +var _1 = \`Ps8VWEq9D6yYDbYD8Z74 \${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["imported-simple"]}\`; +export { _1 as "simple-foo" }; +var _2 = \`RoQqX1UKTeWtDXMISYk9 \${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["imported-simple"]}\`; +export { _2 as "simple-bar" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should avoid unnecessary "require": result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/composes/imported-simple.css", + ".pCAAqHK9Lcplw9QM7Rj0 { + display: block; } ", "", ], - Array [ - 1, - "._c1 { b: 1; } -._c3 { b: 3; } -._c5 { b: 5; } -", - "", - ], -] -`; - -exports[`modules case \`composes-2\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; - -exports[`modules case \`composes-2\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; - -exports[`modules case \`composes-2\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "c1": "_2tj5Xzv7Ei8HGFvkrlGXyv _3CxjkH18CkEkRZ4FO4v-NQ", - "c3": "_1TPNBQGz_snQ6aGvXARYo0 _2tj5Xzv7Ei8HGFvkrlGXyv _3CxjkH18CkEkRZ4FO4v-NQ", - "c5": "rkDOmH5RkgZGaQ5Fey09Z _3CxjkH18CkEkRZ4FO4v-NQ G8VU3XI3HtOvZPlSEb9S3", -} -`; - -exports[`modules case \`composes-2\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._3CxjkH18CkEkRZ4FO4v-NQ { + [ + "./modules/composes/composes-duplicate.css", + ".Ps8VWEq9D6yYDbYD8Z74 { color: red; } -.G8VU3XI3HtOvZPlSEb9S3 { - color: blue; -} - -._10rrqoQ7Mb3ZcY6LixlnpR{ - c: d +.RoQqX1UKTeWtDXMISYk9 { + color: red; } -", - "", - ], - Array [ - 1, - "._2tj5Xzv7Ei8HGFvkrlGXyv { b: 1; } -._1TPNBQGz_snQ6aGvXARYo0 { b: 3; } -.rkDOmH5RkgZGaQ5Fey09Z { b: 5; } ", "", ], ] `; -exports[`modules case \`composes-2\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; - -exports[`modules case \`composes-multiple\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +exports[`"modules" option should avoid unnecessary "require": warnings 1`] = `[]`; -exports[`modules case \`composes-multiple\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +exports[`"modules" option should dedupe same modules in one module (issue #1037): errors 1`] = `[]`; -exports[`modules case \`composes-multiple\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ":local(.abc) { - composes: def1 from \\"./file1.css\\"; - composes: def2 from \\"./file2.css\\"; +exports[`"modules" option should dedupe same modules in one module (issue #1037): module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +import ___CSS_LOADER_ICSS_IMPORT_0___, * as ___CSS_LOADER_ICSS_IMPORT_0____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./buttons/primary-button.css"; +import ___CSS_LOADER_ICSS_IMPORT_1___, * as ___CSS_LOADER_ICSS_IMPORT_1____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./buttons/secondary-button.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, "", true); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_1___, "", true); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.cxBUjVsu_UGx0Xg0ywCw +{ } -", - "", - ], -] -`; - -exports[`modules case \`composes-multiple\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; -exports[`modules case \`composes-multiple\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; - -exports[`modules case \`composes-multiple\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "abc": "_1bAv4bLL8-hE3a7MyZXrT- _3hEvHUTrMHercKPgTBsK6W _1UYEX_kWsPgokwmdBHI8pU", +.mKgsL_hCxK21zxRDQMbn +{ } +\`, ""]); +// Exports +export var nextButton = \`cxBUjVsu_UGx0Xg0ywCw \${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["primaryButton"]}\`; +export var backButton = \`mKgsL_hCxK21zxRDQMbn \${___CSS_LOADER_ICSS_IMPORT_1____NAMED___["secondaryButton"]}\`; +export default ___CSS_LOADER_EXPORT___; +" `; -exports[`modules case \`composes-multiple\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._3hEvHUTrMHercKPgTBsK6W { - color: red; +exports[`"modules" option should dedupe same modules in one module (issue #1037): result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/dedupe/buttons/button.css", + ".ETyYv0AQ15QGLXaOjUIU +{ + border:none; + padding:7px 15px; + cursor:pointer; } ", "", ], - Array [ - 3, - "._1UYEX_kWsPgokwmdBHI8pU { - color: blue; + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/dedupe/buttons/primary-button.css", + ".T3rsQRYGiFPb789T3nPW +{ + background-color:blue; + color:white; } ", "", ], - Array [ - 1, - "._1bAv4bLL8-hE3a7MyZXrT- { + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/dedupe/buttons/secondary-button.css", + "._BsvPO61W5jn4UqX0Jck +{ + background-color:#555; + color:white; } ", "", ], -] -`; - -exports[`modules case \`composes-multiple\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; - -exports[`modules case \`composes-multiple\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; - -exports[`modules case \`composes-multiple\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "abc": "_1bAv4bLL8-hE3a7MyZXrT- _3hEvHUTrMHercKPgTBsK6W _1UYEX_kWsPgokwmdBHI8pU", + [ + "./modules/dedupe/source.css", + ".cxBUjVsu_UGx0Xg0ywCw +{ } -`; -exports[`modules case \`composes-multiple\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._3hEvHUTrMHercKPgTBsK6W { - color: red; -} -", - "", - ], - Array [ - 3, - "._1UYEX_kWsPgokwmdBHI8pU { - color: blue; +.mKgsL_hCxK21zxRDQMbn +{ } ", "", ], - Array [ - 1, - "._1bAv4bLL8-hE3a7MyZXrT- { -} -", - "", +] +`; + +exports[`"modules" option should dedupe same modules in one module (issue #1037): warnings 1`] = `[]`; + +exports[`"modules" option should emit warning when localIdentName is emoji: errors 1`] = `[]`; + +exports[`"modules" option should emit warning when localIdentName is emoji: warnings 1`] = `[]`; + +exports[`"modules" option should invoke the custom getJSON function if provided: args 1`] = ` +[ + [ + { + "exports": [ + { + "name": "a", + "value": "RT7ktT7mB7tfBR25sJDZ ___CSS_LOADER_ICSS_IMPORT_0_REPLACEMENT_0___", + }, + { + "name": "b", + "value": "IZmhTnK9CIeu6ww6Zjbv ___CSS_LOADER_ICSS_IMPORT_0_REPLACEMENT_1___", + }, + ], + "imports": [ + { + "importName": "___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___", + "url": ""../../../../src/runtime/noSourceMaps.js"", + }, + { + "importName": "___CSS_LOADER_API_IMPORT___", + "type": "api_import", + "url": ""../../../../src/runtime/api.js"", + }, + { + "icss": true, + "importName": "___CSS_LOADER_ICSS_IMPORT_0___", + "index": 0, + "type": "icss_import", + "url": ""-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./composeSource.css"", + }, + ], + "replacements": [ + { + "importName": "___CSS_LOADER_ICSS_IMPORT_0___", + "localName": "composedA", + "replacementName": "___CSS_LOADER_ICSS_IMPORT_0_REPLACEMENT_0___", + }, + { + "importName": "___CSS_LOADER_ICSS_IMPORT_0___", + "localName": "composedB", + "replacementName": "___CSS_LOADER_ICSS_IMPORT_0_REPLACEMENT_1___", + }, + ], + "resourcePath": "/test/fixtures/modules/getJSON/source.css", + }, + ], + [ + { + "exports": [ + { + "name": "composedA", + "value": "mm3SuQiO3doywWWliORs", + }, + { + "name": "composedB", + "value": "hFeFcgvjCoj_9RRA4E59 mm3SuQiO3doywWWliORs", + }, + ], + "imports": [ + { + "importName": "___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___", + "url": ""../../../../src/runtime/noSourceMaps.js"", + }, + { + "importName": "___CSS_LOADER_API_IMPORT___", + "type": "api_import", + "url": ""../../../../src/runtime/api.js"", + }, + ], + "replacements": [], + "resourcePath": "/test/fixtures/modules/getJSON/composeSource.css", + }, ], ] `; -exports[`modules case \`composes-multiple\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +exports[`"modules" option should invoke the custom getJSON function if provided: errors 1`] = `[]`; -exports[`modules case \`composes-multiple\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +exports[`"modules" option should invoke the custom getJSON function if provided: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +import ___CSS_LOADER_ICSS_IMPORT_0___, * as ___CSS_LOADER_ICSS_IMPORT_0____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./composeSource.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, "", true); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.RT7ktT7mB7tfBR25sJDZ { -exports[`modules case \`composes-multiple\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "abc": "_abc _def1 _def2", + background-color: aliceblue; } -`; -exports[`modules case \`composes-multiple\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._def1 { - color: red; -} -", - "", - ], - Array [ - 3, - "._def2 { - color: blue; -} -", - "", - ], - Array [ - 1, - "._abc { +.IZmhTnK9CIeu6ww6Zjbv { + + background-color: blanchedalmond; } -", - "", - ], -] +\`, ""]); +// Exports +export var a = \`RT7ktT7mB7tfBR25sJDZ \${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["composedA"]}\`; +export var b = \`IZmhTnK9CIeu6ww6Zjbv \${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["composedB"]}\`; +export default ___CSS_LOADER_EXPORT___; +" `; -exports[`modules case \`composes-multiple\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; - -exports[`modules case \`composes-multiple\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; - -exports[`modules case \`composes-multiple\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "abc": "_abc _def1 _def2", +exports[`"modules" option should invoke the custom getJSON function if provided: result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/getJSON/composeSource.css", + ".mm3SuQiO3doywWWliORs { + height: 200px; } -`; -exports[`modules case \`composes-multiple\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._def1 { - color: red; +.hFeFcgvjCoj_9RRA4E59 { } ", "", ], - Array [ - 3, - "._def2 { - color: blue; + [ + "./modules/getJSON/source.css", + ".RT7ktT7mB7tfBR25sJDZ { + + background-color: aliceblue; } -", - "", - ], - Array [ - 1, - "._abc { + +.IZmhTnK9CIeu6ww6Zjbv { + + background-color: blanchedalmond; } ", "", @@ -1319,86 +1246,70 @@ Array [ ] `; -exports[`modules case \`composes-multiple\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +exports[`"modules" option should invoke the custom getJSON function if provided: warnings 1`] = `[]`; -exports[`modules case \`composes-multiple\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +exports[`"modules" option should keep order: errors 1`] = `[]`; -exports[`modules case \`composes-multiple\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "abc": "_1bAv4bLL8-hE3a7MyZXrT- _3hEvHUTrMHercKPgTBsK6W _1UYEX_kWsPgokwmdBHI8pU", +exports[`"modules" option should keep order: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +import ___CSS_LOADER_ICSS_IMPORT_0___, * as ___CSS_LOADER_ICSS_IMPORT_0____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./order-1.css"; +import ___CSS_LOADER_ICSS_IMPORT_1___, * as ___CSS_LOADER_ICSS_IMPORT_1____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./order-2.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, "", true); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_1___, "", true); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.Q9ZbfN73CE9nTzgsOKaJ { + display: block; } -`; -exports[`modules case \`composes-multiple\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._3hEvHUTrMHercKPgTBsK6W { +.BRalxsptB32EbO5CVyzm { + display: inline; +} +\`, ""]); +// Exports +export var simple = \`Q9ZbfN73CE9nTzgsOKaJ \${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["order-1"]} \${___CSS_LOADER_ICSS_IMPORT_1____NAMED___["order-2"]} \${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["order-1-1"]} \${___CSS_LOADER_ICSS_IMPORT_1____NAMED___["order-2-2"]}\`; +var _1 = \`BRalxsptB32EbO5CVyzm \${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["order-1"]}\`; +export { _1 as "simple-other" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should keep order: result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/order/order-1.css", + ".f6n4s_1IY8eI9OLwFkLZ { color: red; } -", - "", - ], - Array [ - 3, - "._1UYEX_kWsPgokwmdBHI8pU { - color: blue; + +.xIASfsMafltm9AZOHmbo { + color: aliceblue; } ", "", ], - Array [ - 1, - "._1bAv4bLL8-hE3a7MyZXrT- { + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/order/order-2.css", + ".EPgSMUSXLA4RUVdEmb8f { + color: blue; } -", - "", - ], -] -`; - -exports[`modules case \`composes-multiple\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; - -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; - -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ":local(.abc) { - composes: def from \\"./file.css\\"; +.WSVzOOOUl82t8IEBx9dS { + color: azure; } ", "", ], -] -`; - -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; - -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; - -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "abc": "_3sT-Lzs6aj6TM9J3mM7_Cj zu3DT3PNuTYdVravHX310", + [ + "./modules/order/index.css", + ".Q9ZbfN73CE9nTzgsOKaJ { + display: block; } -`; -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - ".zu3DT3PNuTYdVravHX310 { - color: red; -} -", - "", - ], - Array [ - 1, - "._3sT-Lzs6aj6TM9J3mM7_Cj { +.BRalxsptB32EbO5CVyzm { + display: inline; } ", "", @@ -1406,278 +1317,427 @@ Array [ ] `; -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +exports[`"modules" option should keep order: warnings 1`] = `[]`; -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +exports[`"modules" option should resolve absolute path in composes: errors 1`] = `[]`; -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "abc": "_3sT-Lzs6aj6TM9J3mM7_Cj zu3DT3PNuTYdVravHX310", -} +exports[`"modules" option should resolve absolute path in composes: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +import ___CSS_LOADER_ICSS_IMPORT_0___, * as ___CSS_LOADER_ICSS_IMPORT_0____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./imported-simple.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, "", true); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.kyvwkn92Lnd2EucgzJse { color: red; }\`, ""]); +// Exports +export var simple = \`kyvwkn92Lnd2EucgzJse \${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["imported-simple"]}\`; +export default ___CSS_LOADER_EXPORT___; +" `; -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - ".zu3DT3PNuTYdVravHX310 { - color: red; +exports[`"modules" option should resolve absolute path in composes: result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/composes/imported-simple.css", + ".pCAAqHK9Lcplw9QM7Rj0 { + display: block; } ", "", ], - Array [ - 1, - "._3sT-Lzs6aj6TM9J3mM7_Cj { -} -", + [ + "./modules/composes/composes-absolute.css", + ".kyvwkn92Lnd2EucgzJse { color: red; }", "", ], ] `; -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +exports[`"modules" option should resolve absolute path in composes: warnings 1`] = `[]`; -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +exports[`"modules" option should resolve package from node_modules with and without tilde: errors 1`] = `[]`; -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "abc": "_abc _def", +exports[`"modules" option should resolve package from node_modules with and without tilde: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +import ___CSS_LOADER_ICSS_IMPORT_0___, * as ___CSS_LOADER_ICSS_IMPORT_0____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!../node_modules/test/index.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, "", true); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.dplP4w4XMPrlPI5jKzht { + color: \${ ___CSS_LOADER_ICSS_IMPORT_0____NAMED___["foo"] }; + background: \${ ___CSS_LOADER_ICSS_IMPORT_0____NAMED___["bar"] }; } + +\`, ""]); +// Exports +export var foo = \`\${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["foo"]}\`; +export var bar = \`\${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["bar"]}\`; +export var className = \`dplP4w4XMPrlPI5jKzht\`; +export default ___CSS_LOADER_EXPORT___; +" `; -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._def { - color: red; -} +exports[`"modules" option should resolve package from node_modules with and without tilde: result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/node_modules/test/index.css", + " ", "", ], - Array [ - 1, - "._abc { + [ + "./modules/issue-914/source.css", + ".dplP4w4XMPrlPI5jKzht { + color: red; + background: green; } + ", "", ], ] `; -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +exports[`"modules" option should resolve package from node_modules with and without tilde: warnings 1`] = `[]`; -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +exports[`"modules" option should should work with two leading hyphens: errors 1`] = `[]`; -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "abc": "_abc _def", +exports[`"modules" option should should work with two leading hyphens: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`._--test { + background: red; } -`; -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._def { - color: red; +._--_test { + background: blue; } -", - "", - ], - Array [ - 1, - "._abc { + +._--className { + background: red; } -", - "", - ], -] -`; -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +#_--someId { + background: green; +} -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +._--className ._--subClass { + color: green; +} -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "abc": "_3sT-Lzs6aj6TM9J3mM7_Cj zu3DT3PNuTYdVravHX310", +#_--someId ._--subClass { + color: blue; } -`; -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - ".zu3DT3PNuTYdVravHX310 { +._---a0-34a___f { color: red; } -", - "", - ], - Array [ - 1, - "._3sT-Lzs6aj6TM9J3mM7_Cj { + +._--m_x_\\\\@ { + margin-left: auto !important; + margin-right: auto !important; } -", - "", - ], -] -`; -exports[`modules case \`composes-with-importing\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +._--B\\\\&W\\\\? { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`declaration-value\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +/* matches elements with class=":\\\`(" */ +._--\\\\3A \\\\\\\`\\\\( { + color: aqua; +} -exports[`modules case \`declaration-value\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +/* matches elements with class="1a2b3c" */ +._--\\\\31 a2b3c { + color: aliceblue; +} -exports[`modules case \`declaration-value\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "@value blue: red; +/* matches the element with id="#fake-id" */ +#_--\\\\#fake-id { + color: antiquewhite; +} -.a { - border: 1px solid blue; +/* matches the element with id="-a-b-c-" */ +#_---a-b-c- { + color: azure; } -", - "", - ], -] -`; -exports[`modules case \`declaration-value\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +/* matches the element with id="©" */ +#_--© { + color: black; +} -exports[`modules case \`declaration-value\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +._--♥ { background: lime; } +._--© { background: lime; } +._--😍 { background: lime; } +._--“‘’” { background: lime; } +._--☺☃ { background: lime; } +._--⌘⌥ { background: lime; } +._--𝄞♪♩♫♬ { background: lime; } +._--💩 { background: lime; } +._--\\\\? { background: lime; } +._--\\\\@ { background: lime; } +._--\\\\. { background: lime; } +._--\\\\3A \\\\) { background: lime; } +._--\\\\3A \\\\\\\`\\\\( { background: lime; } +._--\\\\31 23 { background: lime; } +._--\\\\31 a2b3c { background: lime; } +._--\\\\ { background: lime; } +._--\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\> { background: lime; } +._--\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\. { background: lime; } +._--\\\\# { background: lime; } +._--\\\\#\\\\# { background: lime; } +._--\\\\#\\\\.\\\\#\\\\.\\\\# { background: lime; } +._--\\\\_ { background: lime; } +._--\\\\{\\\\} { background: lime; } +._--\\\\#fake\\\\-id { background: lime; } +._--foo\\\\.bar { background: lime; } +._--\\\\3A hover { background: lime; } +._--\\\\3A hover\\\\3A focus\\\\3A active { background: lime; } +._--\\\\[attr\\\\=value\\\\] { background: lime; } +._--f\\\\/o\\\\/o { background: lime; } +._--f\\\\\\\\o\\\\\\\\o { background: lime; } +._--f\\\\*o\\\\*o { background: lime; } +._--f\\\\!o\\\\!o { background: lime; } +._--f\\\\'o\\\\'o { background: lime; } +._--f\\\\~o\\\\~o { background: lime; } +._--f\\\\+o\\\\+o { background: lime; } -exports[`modules case \`declaration-value\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "blue": "red", +._--foo\\\\/bar { + background: hotpink; } -`; -exports[`modules case \`declaration-value\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".a { - border: 1px solid red; +._--foo\\\\\\\\bar { + background: hotpink; } -", - "", - ], -] -`; -exports[`modules case \`declaration-value\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; - -exports[`modules case \`declaration-value\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +._--foo\\\\/bar\\\\/baz { + background: hotpink; +} -exports[`modules case \`declaration-value\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "a": "rUmYXW8EUSiAHIrtvLLrL", - "blue": "red", +._--foo\\\\\\\\bar\\\\\\\\baz { + background: hotpink; +} +\`, ""]); +// Exports +var _1 = \`_--123\`; +export { _1 as "123" }; +export var test = \`_--test\`; +export var _test = \`_--_test\`; +export var className = \`_--className\`; +export var someId = \`_--someId\`; +export var subClass = \`_--subClass\`; +var _2 = \`_---a0-34a___f\`; +export { _2 as "-a0-34a___f" }; +var _3 = \`_--m_x_@\`; +export { _3 as "m_x_@" }; +var _4 = \`_--B&W?\`; +export { _4 as "B&W?" }; +var _5 = \`_--:\\\`(\`; +export { _5 as ":\`(" }; +var _6 = \`_--1a2b3c\`; +export { _6 as "1a2b3c" }; +var _7 = \`_--#fake-id\`; +export { _7 as "#fake-id" }; +var _8 = \`_---a-b-c-\`; +export { _8 as "-a-b-c-" }; +var _9 = \`_--©\`; +export { _9 as "©" }; +var _a = \`_--♥\`; +export { _a as "♥" }; +var _b = \`_--😍\`; +export { _b as "😍" }; +var _c = \`_--“‘’”\`; +export { _c as "“‘’”" }; +var _d = \`_--☺☃\`; +export { _d as "☺☃" }; +var _e = \`_--⌘⌥\`; +export { _e as "⌘⌥" }; +var _f = \`_--𝄞♪♩♫♬\`; +export { _f as "𝄞♪♩♫♬" }; +var _10 = \`_--💩\`; +export { _10 as "💩" }; +var _11 = \`_--?\`; +export { _11 as "?" }; +var _12 = \`_--@\`; +export { _12 as "@" }; +var _13 = \`_--.\`; +export { _13 as "." }; +var _14 = \`_--:)\`; +export { _14 as ":)" }; +var _15 = \`_--

\`; +export { _15 as "

" }; +var _16 = \`_--<><<<>><>\`; +export { _16 as "<><<<>><>" }; +var _17 = \`_--++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.\`; +export { _17 as "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." }; +var _18 = \`_--#\`; +export { _18 as "#" }; +var _19 = \`_--##\`; +export { _19 as "##" }; +var _1a = \`_--#.#.#\`; +export { _1a as "#.#.#" }; +export var _ = \`_--_\`; +var _1b = \`_--{}\`; +export { _1b as "{}" }; +var _1c = \`_--foo.bar\`; +export { _1c as "foo.bar" }; +var _1d = \`_--:hover\`; +export { _1d as ":hover" }; +var _1e = \`_--:hover:focus:active\`; +export { _1e as ":hover:focus:active" }; +var _1f = \`_--[attr=value]\`; +export { _1f as "[attr=value]" }; +var _20 = \`_--f/o/o\`; +export { _20 as "f/o/o" }; +var _21 = \`_--f\\\\o\\\\o\`; +export { _21 as "f\\\\o\\\\o" }; +var _22 = \`_--f*o*o\`; +export { _22 as "f*o*o" }; +var _23 = \`_--f!o!o\`; +export { _23 as "f!o!o" }; +var _24 = \`_--f'o'o\`; +export { _24 as "f'o'o" }; +var _25 = \`_--f~o~o\`; +export { _25 as "f~o~o" }; +var _26 = \`_--f+o+o\`; +export { _26 as "f+o+o" }; +var _27 = \`_--foo/bar\`; +export { _27 as "foo/bar" }; +var _28 = \`_--foo\\\\bar\`; +export { _28 as "foo\\\\bar" }; +var _29 = \`_--foo/bar/baz\`; +export { _29 as "foo/bar/baz" }; +var _2a = \`_--foo\\\\bar\\\\baz\`; +export { _2a as "foo\\\\bar\\\\baz" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should should work with two leading hyphens: result 1`] = ` +[ + [ + "./modules/localIdentName/localIdentName.css", + "._--test { + background: red; } -`; -exports[`modules case \`declaration-value\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".rUmYXW8EUSiAHIrtvLLrL { - border: 1px solid red; +._--_test { + background: blue; } -", - "", - ], -] -`; -exports[`modules case \`declaration-value\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +._--className { + background: red; +} -exports[`modules case \`declaration-value\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +#_--someId { + background: green; +} -exports[`modules case \`declaration-value\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "blue": "red", +._--className ._--subClass { + color: green; } -`; -exports[`modules case \`declaration-value\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".a { - border: 1px solid red; +#_--someId ._--subClass { + color: blue; } -", - "", - ], -] -`; -exports[`modules case \`declaration-value\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +._---a0-34a___f { + color: red; +} -exports[`modules case \`declaration-value\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +._--m_x_\\@ { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`declaration-value\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "a": "_a", - "blue": "red", +._--B\\&W\\? { + margin-left: auto !important; + margin-right: auto !important; } -`; -exports[`modules case \`declaration-value\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._a { - border: 1px solid red; +/* matches elements with class=":\`(" */ +._--\\3A \\\`\\( { + color: aqua; } -", - "", - ], -] -`; -exports[`modules case \`declaration-value\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +/* matches elements with class="1a2b3c" */ +._--\\31 a2b3c { + color: aliceblue; +} -exports[`modules case \`declaration-value\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +/* matches the element with id="#fake-id" */ +#_--\\#fake-id { + color: antiquewhite; +} -exports[`modules case \`declaration-value\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "a": "rUmYXW8EUSiAHIrtvLLrL", - "blue": "red", +/* matches the element with id="-a-b-c-" */ +#_---a-b-c- { + color: azure; } -`; -exports[`modules case \`declaration-value\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".rUmYXW8EUSiAHIrtvLLrL { - border: 1px solid red; +/* matches the element with id="©" */ +#_--© { + color: black; } -", - "", - ], -] -`; -exports[`modules case \`declaration-value\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +._--♥ { background: lime; } +._--© { background: lime; } +._--😍 { background: lime; } +._--“‘’” { background: lime; } +._--☺☃ { background: lime; } +._--⌘⌥ { background: lime; } +._--𝄞♪♩♫♬ { background: lime; } +._--💩 { background: lime; } +._--\\? { background: lime; } +._--\\@ { background: lime; } +._--\\. { background: lime; } +._--\\3A \\) { background: lime; } +._--\\3A \\\`\\( { background: lime; } +._--\\31 23 { background: lime; } +._--\\31 a2b3c { background: lime; } +._--\\ { background: lime; } +._--\\<\\>\\<\\<\\<\\>\\>\\<\\> { background: lime; } +._--\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\[\\>\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\>\\+\\<\\<\\<\\<\\-\\]\\>\\+\\+\\.\\>\\+\\.\\+\\+\\+\\+\\+\\+\\+\\.\\.\\+\\+\\+\\.\\>\\+\\+\\.\\<\\<\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\.\\>\\.\\+\\+\\+\\.\\-\\-\\-\\-\\-\\-\\.\\-\\-\\-\\-\\-\\-\\-\\-\\.\\>\\+\\.\\>\\. { background: lime; } +._--\\# { background: lime; } +._--\\#\\# { background: lime; } +._--\\#\\.\\#\\.\\# { background: lime; } +._--\\_ { background: lime; } +._--\\{\\} { background: lime; } +._--\\#fake\\-id { background: lime; } +._--foo\\.bar { background: lime; } +._--\\3A hover { background: lime; } +._--\\3A hover\\3A focus\\3A active { background: lime; } +._--\\[attr\\=value\\] { background: lime; } +._--f\\/o\\/o { background: lime; } +._--f\\\\o\\\\o { background: lime; } +._--f\\*o\\*o { background: lime; } +._--f\\!o\\!o { background: lime; } +._--f\\'o\\'o { background: lime; } +._--f\\~o\\~o { background: lime; } +._--f\\+o\\+o { background: lime; } + +._--foo\\/bar { + background: hotpink; +} -exports[`modules case \`issue-589\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +._--foo\\\\bar { + background: hotpink; +} -exports[`modules case \`issue-589\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +._--foo\\/bar\\/baz { + background: hotpink; +} -exports[`modules case \`issue-589\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "body:before { - content: ''; - background: url(/webpack/public/path/5b1f36bc41ab31f5b801d48ba1d65781.png); +._--foo\\\\bar\\\\baz { + background: hotpink; } ", "", @@ -1685,227 +1745,343 @@ Array [ ] `; -exports[`modules case \`issue-589\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; - -exports[`modules case \`issue-589\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +exports[`"modules" option should should work with two leading hyphens: warnings 1`] = `[]`; -exports[`modules case \`issue-589\` (\`modules\` value is \`global)\`: locals 1`] = `undefined`; +exports[`"modules" option should should work with two leading underscore: errors 1`] = `[]`; -exports[`modules case \`issue-589\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "body:before { - content: ''; - background: url(/webpack/public/path/5b1f36bc41ab31f5b801d48ba1d65781.png); +exports[`"modules" option should should work with two leading underscore: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.__test { + background: red; } -", - "", - ], -] -`; -exports[`modules case \`issue-589\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +.___test { + background: blue; +} -exports[`modules case \`issue-589\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +.__className { + background: red; +} -exports[`modules case \`issue-589\` (\`modules\` value is \`local)\`: locals 1`] = `undefined`; +#__someId { + background: green; +} -exports[`modules case \`issue-589\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "body:before { - content: ''; - background: url(/webpack/public/path/5b1f36bc41ab31f5b801d48ba1d65781.png); +.__className .__subClass { + color: green; } -", - "", - ], -] -`; -exports[`modules case \`issue-589\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +#__someId .__subClass { + color: blue; +} -exports[`modules case \`issue-589\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +.__-a0-34a___f { + color: red; +} -exports[`modules case \`issue-589\` (\`modules\` value is \`object with mode global)\`: locals 1`] = `undefined`; +.__m_x_\\\\@ { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`issue-589\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "body:before { - content: ''; - background: url(/webpack/public/path/5b1f36bc41ab31f5b801d48ba1d65781.png); +.__B\\\\&W\\\\? { + margin-left: auto !important; + margin-right: auto !important; } -", - "", - ], -] -`; -exports[`modules case \`issue-589\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +/* matches elements with class=":\\\`(" */ +.__\\\\3A \\\\\\\`\\\\( { + color: aqua; +} -exports[`modules case \`issue-589\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +/* matches elements with class="1a2b3c" */ +.__\\\\31 a2b3c { + color: aliceblue; +} -exports[`modules case \`issue-589\` (\`modules\` value is \`object with mode local)\`: locals 1`] = `undefined`; +/* matches the element with id="#fake-id" */ +#__\\\\#fake-id { + color: antiquewhite; +} -exports[`modules case \`issue-589\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "body:before { - content: ''; - background: url(/webpack/public/path/5b1f36bc41ab31f5b801d48ba1d65781.png); +/* matches the element with id="-a-b-c-" */ +#__-a-b-c- { + color: azure; } -", - "", - ], -] -`; -exports[`modules case \`issue-589\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +/* matches the element with id="©" */ +#__© { + color: black; +} -exports[`modules case \`issue-589\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +.__♥ { background: lime; } +.__© { background: lime; } +.__😍 { background: lime; } +.__“‘’” { background: lime; } +.__☺☃ { background: lime; } +.__⌘⌥ { background: lime; } +.__𝄞♪♩♫♬ { background: lime; } +.__💩 { background: lime; } +.__\\\\? { background: lime; } +.__\\\\@ { background: lime; } +.__\\\\. { background: lime; } +.__\\\\3A \\\\) { background: lime; } +.__\\\\3A \\\\\\\`\\\\( { background: lime; } +.__\\\\31 23 { background: lime; } +.__\\\\31 a2b3c { background: lime; } +.__\\\\ { background: lime; } +.__\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\> { background: lime; } +.__\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\. { background: lime; } +.__\\\\# { background: lime; } +.__\\\\#\\\\# { background: lime; } +.__\\\\#\\\\.\\\\#\\\\.\\\\# { background: lime; } +.__\\\\_ { background: lime; } +.__\\\\{\\\\} { background: lime; } +.__\\\\#fake\\\\-id { background: lime; } +.__foo\\\\.bar { background: lime; } +.__\\\\3A hover { background: lime; } +.__\\\\3A hover\\\\3A focus\\\\3A active { background: lime; } +.__\\\\[attr\\\\=value\\\\] { background: lime; } +.__f\\\\/o\\\\/o { background: lime; } +.__f\\\\\\\\o\\\\\\\\o { background: lime; } +.__f\\\\*o\\\\*o { background: lime; } +.__f\\\\!o\\\\!o { background: lime; } +.__f\\\\'o\\\\'o { background: lime; } +.__f\\\\~o\\\\~o { background: lime; } +.__f\\\\+o\\\\+o { background: lime; } + +.__foo\\\\/bar { + background: hotpink; +} -exports[`modules case \`issue-589\` (\`modules\` value is \`true)\`: locals 1`] = `undefined`; +.__foo\\\\\\\\bar { + background: hotpink; +} -exports[`modules case \`issue-589\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "body:before { - content: ''; - background: url(/webpack/public/path/5b1f36bc41ab31f5b801d48ba1d65781.png); +.__foo\\\\/bar\\\\/baz { + background: hotpink; } -", - "", - ], -] -`; - -exports[`modules case \`issue-589\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; - -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; - -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".a { - color: green; +.__foo\\\\\\\\bar\\\\\\\\baz { + background: hotpink; } - -@keyframes bounce { - 0% { - transform: translateY(-100%); - opacity: 0; - } - 5% { - transform: translateY(-100%); - opacity: 0; - } +\`, ""]); +// Exports +var _1 = \`__123\`; +export { _1 as "123" }; +export var test = \`__test\`; +export var _test = \`___test\`; +export var className = \`__className\`; +export var someId = \`__someId\`; +export var subClass = \`__subClass\`; +var _2 = \`__-a0-34a___f\`; +export { _2 as "-a0-34a___f" }; +var _3 = \`__m_x_@\`; +export { _3 as "m_x_@" }; +var _4 = \`__B&W?\`; +export { _4 as "B&W?" }; +var _5 = \`__:\\\`(\`; +export { _5 as ":\`(" }; +var _6 = \`__1a2b3c\`; +export { _6 as "1a2b3c" }; +var _7 = \`__#fake-id\`; +export { _7 as "#fake-id" }; +var _8 = \`__-a-b-c-\`; +export { _8 as "-a-b-c-" }; +var _9 = \`__©\`; +export { _9 as "©" }; +var _a = \`__♥\`; +export { _a as "♥" }; +var _b = \`__😍\`; +export { _b as "😍" }; +var _c = \`__“‘’”\`; +export { _c as "“‘’”" }; +var _d = \`__☺☃\`; +export { _d as "☺☃" }; +var _e = \`__⌘⌥\`; +export { _e as "⌘⌥" }; +var _f = \`__𝄞♪♩♫♬\`; +export { _f as "𝄞♪♩♫♬" }; +var _10 = \`__💩\`; +export { _10 as "💩" }; +var _11 = \`__?\`; +export { _11 as "?" }; +var _12 = \`__@\`; +export { _12 as "@" }; +var _13 = \`__.\`; +export { _13 as "." }; +var _14 = \`__:)\`; +export { _14 as ":)" }; +var _15 = \`__

\`; +export { _15 as "

" }; +var _16 = \`__<><<<>><>\`; +export { _16 as "<><<<>><>" }; +var _17 = \`__++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.\`; +export { _17 as "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." }; +var _18 = \`__#\`; +export { _18 as "#" }; +var _19 = \`__##\`; +export { _19 as "##" }; +var _1a = \`__#.#.#\`; +export { _1a as "#.#.#" }; +export var _ = \`___\`; +var _1b = \`__{}\`; +export { _1b as "{}" }; +var _1c = \`__foo.bar\`; +export { _1c as "foo.bar" }; +var _1d = \`__:hover\`; +export { _1d as ":hover" }; +var _1e = \`__:hover:focus:active\`; +export { _1e as ":hover:focus:active" }; +var _1f = \`__[attr=value]\`; +export { _1f as "[attr=value]" }; +var _20 = \`__f/o/o\`; +export { _20 as "f/o/o" }; +var _21 = \`__f\\\\o\\\\o\`; +export { _21 as "f\\\\o\\\\o" }; +var _22 = \`__f*o*o\`; +export { _22 as "f*o*o" }; +var _23 = \`__f!o!o\`; +export { _23 as "f!o!o" }; +var _24 = \`__f'o'o\`; +export { _24 as "f'o'o" }; +var _25 = \`__f~o~o\`; +export { _25 as "f~o~o" }; +var _26 = \`__f+o+o\`; +export { _26 as "f+o+o" }; +var _27 = \`__foo/bar\`; +export { _27 as "foo/bar" }; +var _28 = \`__foo\\\\bar\`; +export { _28 as "foo\\\\bar" }; +var _29 = \`__foo/bar/baz\`; +export { _29 as "foo/bar/baz" }; +var _2a = \`__foo\\\\bar\\\\baz\`; +export { _2a as "foo\\\\bar\\\\baz" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should should work with two leading underscore: result 1`] = ` +[ + [ + "./modules/localIdentName/localIdentName.css", + ".__test { + background: red; } -@-webkit-keyframes bounce2 { - 0% { - transform: translateY(-100%); - opacity: 0; - } - 5% { - transform: translateY(-100%); - opacity: 0; - } +.___test { + background: blue; } -.bounce { - animation-name: bounce; - animation: bounce2 1s ease; +.__className { + background: red; } -.bounce2 { - color: green; - animation: bounce 1s ease; - animation-name: bounce2; +#__someId { + background: green; } -.bounce3 { - animation: bounce 1s ease, bounce2 +.__className .__subClass { + color: green; } -.bounce4 { - animation: bounce 1s ease, bounce2; +#__someId .__subClass { + color: blue; } -.b { - color: green; +.__-a0-34a___f { + color: red; } -", - "", - ], -] -`; -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +.__m_x_\\@ { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +.__B\\&W\\? { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`global)\`: locals 1`] = `undefined`; +/* matches elements with class=":\`(" */ +.__\\3A \\\`\\( { + color: aqua; +} -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".a { - color: green; +/* matches elements with class="1a2b3c" */ +.__\\31 a2b3c { + color: aliceblue; } -@keyframes bounce { - 0% { - transform: translateY(-100%); - opacity: 0; - } - 5% { - transform: translateY(-100%); - opacity: 0; - } +/* matches the element with id="#fake-id" */ +#__\\#fake-id { + color: antiquewhite; } -@-webkit-keyframes bounce2 { - 0% { - transform: translateY(-100%); - opacity: 0; - } - 5% { - transform: translateY(-100%); - opacity: 0; - } +/* matches the element with id="-a-b-c-" */ +#__-a-b-c- { + color: azure; } -.bounce { - animation-name: bounce; - animation: bounce2 1s ease; +/* matches the element with id="©" */ +#__© { + color: black; } -.bounce2 { - color: green; - animation: bounce 1s ease; - animation-name: bounce2; +.__♥ { background: lime; } +.__© { background: lime; } +.__😍 { background: lime; } +.__“‘’” { background: lime; } +.__☺☃ { background: lime; } +.__⌘⌥ { background: lime; } +.__𝄞♪♩♫♬ { background: lime; } +.__💩 { background: lime; } +.__\\? { background: lime; } +.__\\@ { background: lime; } +.__\\. { background: lime; } +.__\\3A \\) { background: lime; } +.__\\3A \\\`\\( { background: lime; } +.__\\31 23 { background: lime; } +.__\\31 a2b3c { background: lime; } +.__\\ { background: lime; } +.__\\<\\>\\<\\<\\<\\>\\>\\<\\> { background: lime; } +.__\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\[\\>\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\>\\+\\<\\<\\<\\<\\-\\]\\>\\+\\+\\.\\>\\+\\.\\+\\+\\+\\+\\+\\+\\+\\.\\.\\+\\+\\+\\.\\>\\+\\+\\.\\<\\<\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\.\\>\\.\\+\\+\\+\\.\\-\\-\\-\\-\\-\\-\\.\\-\\-\\-\\-\\-\\-\\-\\-\\.\\>\\+\\.\\>\\. { background: lime; } +.__\\# { background: lime; } +.__\\#\\# { background: lime; } +.__\\#\\.\\#\\.\\# { background: lime; } +.__\\_ { background: lime; } +.__\\{\\} { background: lime; } +.__\\#fake\\-id { background: lime; } +.__foo\\.bar { background: lime; } +.__\\3A hover { background: lime; } +.__\\3A hover\\3A focus\\3A active { background: lime; } +.__\\[attr\\=value\\] { background: lime; } +.__f\\/o\\/o { background: lime; } +.__f\\\\o\\\\o { background: lime; } +.__f\\*o\\*o { background: lime; } +.__f\\!o\\!o { background: lime; } +.__f\\'o\\'o { background: lime; } +.__f\\~o\\~o { background: lime; } +.__f\\+o\\+o { background: lime; } + +.__foo\\/bar { + background: hotpink; } -.bounce3 { - animation: bounce 1s ease, bounce2 +.__foo\\\\bar { + background: hotpink; } -.bounce4 { - animation: bounce 1s ease, bounce2; +.__foo\\/bar\\/baz { + background: hotpink; } -.b { - color: green; +.__foo\\\\bar\\\\baz { + background: hotpink; } ", "", @@ -1913,136 +2089,106 @@ Array [ ] `; -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; - -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; - -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "a": "_1AzRoWem1zBzZ9hLlF5IJC", - "b": "_1eH5GHM6EfKYOklEd2mhle", - "bounce": "_355y8MvF-ilfLoMa6xQMuq", - "bounce2": "_20oF72x8NQuWNrNLEjvczE", - "bounce3": "_3OQHSo2d42CWSR-npTXaic", - "bounce4": "_3bL1lmhMKE-Qlk83VSMCHN", -} -`; - -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1AzRoWem1zBzZ9hLlF5IJC { - color: green; -} - -@keyframes _355y8MvF-ilfLoMa6xQMuq { - 0% { - transform: translateY(-100%); - opacity: 0; - } - 5% { - transform: translateY(-100%); - opacity: 0; - } -} +exports[`"modules" option should should work with two leading underscore: warnings 1`] = `[]`; -@-webkit-keyframes _20oF72x8NQuWNrNLEjvczE { - 0% { - transform: translateY(-100%); - opacity: 0; - } - 5% { - transform: translateY(-100%); - opacity: 0; - } -} +exports[`"modules" option should support resolving in composes preprocessor files with extensions: errors 1`] = `[]`; -._355y8MvF-ilfLoMa6xQMuq { - animation-name: _355y8MvF-ilfLoMa6xQMuq; - animation: _20oF72x8NQuWNrNLEjvczE 1s ease; +exports[`"modules" option should support resolving in composes preprocessor files with extensions: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +import ___CSS_LOADER_ICSS_IMPORT_0___, * as ___CSS_LOADER_ICSS_IMPORT_0____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./values.css"; +import ___CSS_LOADER_ICSS_IMPORT_1___, * as ___CSS_LOADER_ICSS_IMPORT_1____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./less-file.less"; +import ___CSS_LOADER_ICSS_IMPORT_2___, * as ___CSS_LOADER_ICSS_IMPORT_2____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./scss-file.scss"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, "", true); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_1___, "", true); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_2___, "", true); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.globalClassName { + color: orange; } -._20oF72x8NQuWNrNLEjvczE { - color: green; - animation: _355y8MvF-ilfLoMa6xQMuq 1s ease; - animation-name: _20oF72x8NQuWNrNLEjvczE; +.jfnINdjNmjmNE30hJhM2 { + color: \${ ___CSS_LOADER_ICSS_IMPORT_0____NAMED___["v-def"] }; } -._3OQHSo2d42CWSR-npTXaic { - animation: _355y8MvF-ilfLoMa6xQMuq 1s ease, _20oF72x8NQuWNrNLEjvczE +.UIbsE5LKj9LULxJh5lui { + color: \${ ___CSS_LOADER_ICSS_IMPORT_1____NAMED___["v-foo"] }; } -._3bL1lmhMKE-Qlk83VSMCHN { - animation: _355y8MvF-ilfLoMa6xQMuq 1s ease, _20oF72x8NQuWNrNLEjvczE; +.IhDiFbofjUNbC6vdWN9Z { + color: \${ ___CSS_LOADER_ICSS_IMPORT_2____NAMED___["v-bar"] }; } -._1eH5GHM6EfKYOklEd2mhle { - color: green; +.vtrwouBgSegFPwkaXOt_ { + background: #000; } +\`, ""]); +// Exports +var _1 = \`\${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["v-def"]}\`; +export { _1 as "v-def" }; +var _2 = \`\${___CSS_LOADER_ICSS_IMPORT_1____NAMED___["v-foo"]}\`; +export { _2 as "v-foo" }; +var _3 = \`\${___CSS_LOADER_ICSS_IMPORT_2____NAMED___["v-bar"]}\`; +export { _3 as "v-bar" }; +export var globalClassName = \`globalClassName\`; +export var ghi = \`jfnINdjNmjmNE30hJhM2\`; +var _4 = \`UIbsE5LKj9LULxJh5lui \${___CSS_LOADER_ICSS_IMPORT_1____NAMED___["lessClass"]}\`; +export { _4 as "class" }; +export var other = \`IhDiFbofjUNbC6vdWN9Z \${___CSS_LOADER_ICSS_IMPORT_2____NAMED___["scssClass"]}\`; +export var otherClassName = \`vtrwouBgSegFPwkaXOt_ globalClassName\`; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should support resolving in composes preprocessor files with extensions: result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/composes/values.css", + " ", "", ], -] -`; - -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; - -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; - -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`object with mode global)\`: locals 1`] = `undefined`; - -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".a { - color: green; -} - -@keyframes bounce { - 0% { - transform: translateY(-100%); - opacity: 0; - } - 5% { - transform: translateY(-100%); - opacity: 0; - } + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/composes/less-file.less", + ".t5MH7YkQgNxGoiYDjLHG { + padding: 5px; } +", + "", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/composes/scss-file.scss", + "$color: red; -@-webkit-keyframes bounce2 { - 0% { - transform: translateY(-100%); - opacity: 0; - } - 5% { - transform: translateY(-100%); - opacity: 0; - } +.oNU7JF6MtPAFrlrthaOD { + color: $color; + padding: 15px; } - -.bounce { - animation-name: bounce; - animation: bounce2 1s ease; +", + "", + ], + [ + "./modules/composes/composes-preprocessors.css", + ".globalClassName { + color: orange; } -.bounce2 { - color: green; - animation: bounce 1s ease; - animation-name: bounce2; +.jfnINdjNmjmNE30hJhM2 { + color: red; } -.bounce3 { - animation: bounce 1s ease, bounce2 +.UIbsE5LKj9LULxJh5lui { + color: green; } -.bounce4 { - animation: bounce 1s ease, bounce2; +.IhDiFbofjUNbC6vdWN9Z { + color: white; } -.b { - color: green; +.vtrwouBgSegFPwkaXOt_ { + background: #000; } ", "", @@ -2050,251 +2196,433 @@ Array [ ] `; -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +exports[`"modules" option should support resolving in composes preprocessor files with extensions: warnings 1`] = `[]`; + +exports[`"modules" option should support resolving in composes: errors 1`] = `[]`; + +exports[`"modules" option should support resolving in composes: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +import ___CSS_LOADER_ICSS_IMPORT_0___, * as ___CSS_LOADER_ICSS_IMPORT_0____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./values.css"; +import ___CSS_LOADER_ICSS_IMPORT_1___, * as ___CSS_LOADER_ICSS_IMPORT_1____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css"; +import ___CSS_LOADER_ICSS_IMPORT_2___, * as ___CSS_LOADER_ICSS_IMPORT_2____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./imported-simple.css"; +import ___CSS_LOADER_ICSS_IMPORT_3___, * as ___CSS_LOADER_ICSS_IMPORT_3____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./relative.css"; +import ___CSS_LOADER_ICSS_IMPORT_4___, * as ___CSS_LOADER_ICSS_IMPORT_4____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./top-relative.css"; +import ___CSS_LOADER_ICSS_IMPORT_5___, * as ___CSS_LOADER_ICSS_IMPORT_5____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!../issue-861/node_modules/package/style.css"; +import ___CSS_LOADER_ICSS_IMPORT_6___, * as ___CSS_LOADER_ICSS_IMPORT_6____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./alias.css"; +import ___CSS_LOADER_ICSS_IMPORT_7___, * as ___CSS_LOADER_ICSS_IMPORT_7____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!sass-loader!./scss-file.scss"; +import ___CSS_LOADER_AT_RULE_IMPORT_0___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./test-other.css"; +import ___CSS_LOADER_GET_URL_IMPORT___ from "../../../../src/runtime/getUrl.js"; +var ___CSS_LOADER_URL_IMPORT_0___ = new URL("../../url/img.png", import.meta.url); +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, "(min-width: 100px)"); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, "", true); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_1___, "", true); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_2___, "", true); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_3___, "", true); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_4___, "", true); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_5___, "", true); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_6___, "", true); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_7___, "", true); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.ozGmfTedr1GnFJDWqNUH { + color: \${ ___CSS_LOADER_ICSS_IMPORT_0____NAMED___["v-def"] }; +} -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +.zchqshjqLbPAHaRvIBET { + color: blue; +} -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "a": "_a", - "b": "_b", - "bounce": "_bounce", - "bounce2": "_bounce2", - "bounce3": "_bounce3", - "bounce4": "_bounce4", +.WZBxXqS2GytaA3IBhhnd { + display: block; } -`; -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._a { - color: green; +.W51zcAMuJMsNFi1CXgWr { + width: \${ ___CSS_LOADER_ICSS_IMPORT_1____NAMED___["v-something"] }; } -@keyframes _bounce { - 0% { - transform: translateY(-100%); - opacity: 0; - } - 5% { - transform: translateY(-100%); - opacity: 0; - } +.KEl5ZxzNkpjfWorrBglC { + color: \${ ___CSS_LOADER_ICSS_IMPORT_0____NAMED___["v-other"] }; } -@-webkit-keyframes _bounce2 { - 0% { - transform: translateY(-100%); - opacity: 0; - } - 5% { - transform: translateY(-100%); - opacity: 0; - } +.ecAEWh2vww9pNEdyj9Jn { + prop: \${ ___CSS_LOADER_ICSS_IMPORT_0____NAMED___["v-def"] }; + duplicate: \${ ___CSS_LOADER_ICSS_IMPORT_0____NAMED___["v-other"] }; } -._bounce { - animation-name: _bounce; - animation: _bounce2 1s ease; +.CBlowYk8qiAgWWzFeXRA { + color: red; } -._bounce2 { - color: green; - animation: _bounce 1s ease; - animation-name: _bounce2; +.c_NHnDcX1bd_kuxgsuYi { + color: yellow; } -._bounce3 { - animation: _bounce 1s ease, _bounce2 +.S0Kwou8pVmsENtBP3hYm { + color: gray; } -._bounce4 { - animation: _bounce 1s ease, _bounce2; +.rq663Pq_zV0CjpwttvK4 { + color: gray; } -._b { - color: green; +.fadRMHArJofp7sWEbPVR { + color: gainsboro; } -", - "", - ], -] -`; -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +.sg1HlXqlWy6l6_Wm5iA7 { + color: gainsboro; +} -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +.bnRUswvicYag6u0SPnvI { + color: #BF4040; +} -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "a": "_1AzRoWem1zBzZ9hLlF5IJC", - "b": "_1eH5GHM6EfKYOklEd2mhle", - "bounce": "_355y8MvF-ilfLoMa6xQMuq", - "bounce2": "_20oF72x8NQuWNrNLEjvczE", - "bounce3": "_3OQHSo2d42CWSR-npTXaic", - "bounce4": "_3bL1lmhMKE-Qlk83VSMCHN", +.kEJRwpukB2OtmkGTknbU { + color: black; } -`; -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1AzRoWem1zBzZ9hLlF5IJC { - color: green; +@media (min-width: 960px) { + .hY2PI5vC9ABuJY1nkWnf { + padding: 0 20px; + } } -@keyframes _355y8MvF-ilfLoMa6xQMuq { - 0% { - transform: translateY(-100%); - opacity: 0; - } - 5% { - transform: translateY(-100%); - opacity: 0; - } +.\${ ___CSS_LOADER_ICSS_IMPORT_0____NAMED___["s-white"] } { + color: white; } -@-webkit-keyframes _20oF72x8NQuWNrNLEjvczE { - 0% { - transform: translateY(-100%); - opacity: 0; - } - 5% { - transform: translateY(-100%); - opacity: 0; - } +@media \${ ___CSS_LOADER_ICSS_IMPORT_0____NAMED___["m-small"] } { + .hY2PI5vC9ABuJY1nkWnf { + padding: 20px 20px; + } } -._355y8MvF-ilfLoMa6xQMuq { - animation-name: _355y8MvF-ilfLoMa6xQMuq; - animation: _20oF72x8NQuWNrNLEjvczE 1s ease; +.q8mv0HutzqdsVWjl8mAz { + v-ident: validIdent; + v-pre-defined-ident: left; + v-string: 'content'; + v-string-1: ''; + v-url: url(https://www.exammple.com/images/my-background.png); + v-url-1: url('https://www.exammple.com/images/my-background.png'); + v-url-2: url("https://www.exammple.com/images/my-background.png"); + v-integer: 100; + v-integer-1: -100; + v-integer-2: +100; + v-number: .60; + v-number-1: -456.8; + v-number-2: -3.4e-2; + v-dimension: 12px; + v-percentage: 100%; + v-hex: #fff; + v-comment: /* comment */ 10px /* comment */; + v-function: rgb(0,0,0); + v-unicode-range: U+0025-00FF; + mutliple: #fff .60 100%; } -._20oF72x8NQuWNrNLEjvczE { - color: green; - animation: _355y8MvF-ilfLoMa6xQMuq 1s ease; - animation-name: _20oF72x8NQuWNrNLEjvczE; + +a { + content: 'content'; +} + +@supports (content: 'content') { + a { + content: 'content'; + } } -._3OQHSo2d42CWSR-npTXaic { - animation: _355y8MvF-ilfLoMa6xQMuq 1s ease, _20oF72x8NQuWNrNLEjvczE +[class~='content'] { + color:green; } -._3bL1lmhMKE-Qlk83VSMCHN { - animation: _355y8MvF-ilfLoMa6xQMuq 1s ease, _20oF72x8NQuWNrNLEjvczE; +.xajoqP1d3SwrjJ4WEM8g { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); } -._1eH5GHM6EfKYOklEd2mhle { - color: green; +.Ix5nEHiVOsWuWxdx0twz { + background: red; +} +\`, ""]); +// Exports +var _1 = \`\${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["v-def"]}\`; +export { _1 as "v-def" }; +var _2 = \`\${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["v-other"]}\`; +export { _2 as "v-other" }; +var _3 = \`\${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["s-white"]}\`; +export { _3 as "s-white" }; +var _4 = \`\${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["m-small"]}\`; +export { _4 as "m-small" }; +var _5 = \`\${___CSS_LOADER_ICSS_IMPORT_1____NAMED___["v-something"]}\`; +export { _5 as "v-something" }; +var _6 = \`blue\`; +export { _6 as "v-foo" }; +var _7 = \`block\`; +export { _7 as "v-bar" }; +var _8 = \`#BF4040\`; +export { _8 as "v-primary" }; +var _9 = \`black-selector\`; +export { _9 as "s-black" }; +var _a = \`(min-width: 960px)\`; +export { _a as "m-large" }; +var _b = \`validIdent\`; +export { _b as "v-ident" }; +var _c = \`left\`; +export { _c as "v-pre-defined-ident" }; +var _d = \`'content'\`; +export { _d as "v-string" }; +var _e = \`''\`; +export { _e as "v-string-1" }; +var _f = \`url(https://www.exammple.com/images/my-background.png)\`; +export { _f as "v-url" }; +var _10 = \`url('https://www.exammple.com/images/my-background.png')\`; +export { _10 as "v-url-1" }; +var _11 = \`url("https://www.exammple.com/images/my-background.png")\`; +export { _11 as "v-url-2" }; +var _12 = \`100\`; +export { _12 as "v-integer" }; +var _13 = \`-100\`; +export { _13 as "v-integer-1" }; +var _14 = \`+100\`; +export { _14 as "v-integer-2" }; +var _15 = \`.60\`; +export { _15 as "v-number" }; +var _16 = \`-456.8\`; +export { _16 as "v-number-1" }; +var _17 = \`-3.4e-2\`; +export { _17 as "v-number-2" }; +var _18 = \`12px\`; +export { _18 as "v-dimension" }; +var _19 = \`100%\`; +export { _19 as "v-percentage" }; +var _1a = \`#fff\`; +export { _1a as "v-hex" }; +var _1b = \` /* comment */\`; +export { _1b as "v-comment" }; +var _1c = \`rgb(0,0,0)\`; +export { _1c as "v-function" }; +var _1d = \`U+0025-00FF\`; +export { _1d as "v-unicode-range" }; +export var ghi = \`ozGmfTedr1GnFJDWqNUH\`; +var _1e = \`zchqshjqLbPAHaRvIBET\`; +export { _1e as "my-class" }; +export var other = \`WZBxXqS2GytaA3IBhhnd\`; +var _1f = \`W51zcAMuJMsNFi1CXgWr\`; +export { _1f as "other-other" }; +export var green = \`KEl5ZxzNkpjfWorrBglC\`; +export var foo = \`ecAEWh2vww9pNEdyj9Jn\`; +export var simple = \`CBlowYk8qiAgWWzFeXRA \${___CSS_LOADER_ICSS_IMPORT_2____NAMED___["imported-simple"]}\`; +export var relative = \`c_NHnDcX1bd_kuxgsuYi \${___CSS_LOADER_ICSS_IMPORT_3____NAMED___["imported-relative"]}\`; +var _20 = \`S0Kwou8pVmsENtBP3hYm \${___CSS_LOADER_ICSS_IMPORT_4____NAMED___["imported-relative"]}\`; +export { _20 as "top-relative" }; +var _21 = \`rq663Pq_zV0CjpwttvK4 \${___CSS_LOADER_ICSS_IMPORT_5____NAMED___["imported-module"]}\`; +export { _21 as "my-module" }; +export var alias = \`fadRMHArJofp7sWEbPVR \${___CSS_LOADER_ICSS_IMPORT_6____NAMED___["imported-alias"]}\`; +var _22 = \`sg1HlXqlWy6l6_Wm5iA7 \${___CSS_LOADER_ICSS_IMPORT_6____NAMED___["imported-alias"]}\`; +export { _22 as "alias-duplicate" }; +var _23 = \`bnRUswvicYag6u0SPnvI\`; +export { _23 as "primary-selector" }; +var _24 = \`kEJRwpukB2OtmkGTknbU\`; +export { _24 as "black-selector" }; +export var header = \`hY2PI5vC9ABuJY1nkWnf\`; +export var foobarbaz = \`q8mv0HutzqdsVWjl8mAz\`; +export var url = \`xajoqP1d3SwrjJ4WEM8g\`; +export var main = \`Ix5nEHiVOsWuWxdx0twz \${___CSS_LOADER_ICSS_IMPORT_7____NAMED___["scssClass"]}\`; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should support resolving in composes: result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/composes/test-other.css", + ".s4X7wVQcTygYUV4ttKyQ { + d: d; +} +", + "(min-width: 100px)", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/composes/values.css", + " +", + "", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/composes/something.css", + " +", + "", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/composes/imported-simple.css", + ".pCAAqHK9Lcplw9QM7Rj0 { + display: block; } ", "", ], -] -`; + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/composes/relative.css", + ".o0pMg4suYQOIzdBIQJv1 { + display: inline; +} +", + "", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/composes/top-relative.css", + ".l9CmW32NEl99tuNLdbzp { + display: flex; +} +", + "", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/issue-861/node_modules/package/style.css", + ".q49Ogfvno__tAgAiYJcD { + display: inline-block; +} +", + "", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/composes/alias.css", + ".dnhKs1AYKq4KodZdfzcx { + display: table; +} +", + "", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!../../node_modules/sass-loader/dist/cjs.js!./modules/composes/scss-file.scss", + ".oNU7JF6MtPAFrlrthaOD { + color: red; + padding: 15px; +}", + "", + ], + [ + "./modules/composes/composes.css", + ".ozGmfTedr1GnFJDWqNUH { + color: red; +} -exports[`modules case \`keyframes-and-animation\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +.zchqshjqLbPAHaRvIBET { + color: blue; +} -exports[`modules case \`leak-scope\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +.WZBxXqS2GytaA3IBhhnd { + display: block; +} -exports[`modules case \`leak-scope\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +.W51zcAMuJMsNFi1CXgWr { + width: 2112moon; +} -exports[`modules case \`leak-scope\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".a { - color: green; - animation: a; +.KEl5ZxzNkpjfWorrBglC { + color: green; } -@keyframes b { - 0% { left: 10px; } - 100% { left: 20px; } +.ecAEWh2vww9pNEdyj9Jn { + prop: red; + duplicate: green; } -.b { - animation: b; +.CBlowYk8qiAgWWzFeXRA { + color: red; } -@keyframes :global(c) { - 0% { left: 10px; } - 100% { left: 20px; } +.c_NHnDcX1bd_kuxgsuYi { + color: yellow; } -.c { - animation: c1; - animation: c2, c3, c4; +.S0Kwou8pVmsENtBP3hYm { + color: gray; } -@keyframes :global(d) { - 0% { left: 10px; } - 100% { left: 20px; } +.rq663Pq_zV0CjpwttvK4 { + color: gray; } -:global .d1 { - animation: d1; - animation: d2, d3, d4; +.fadRMHArJofp7sWEbPVR { + color: gainsboro; } -:global(.d2) { - animation: d2; +.sg1HlXqlWy6l6_Wm5iA7 { + color: gainsboro; } -", - "", - ], -] -`; -exports[`modules case \`leak-scope\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +.bnRUswvicYag6u0SPnvI { + color: #BF4040; +} -exports[`modules case \`leak-scope\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +.kEJRwpukB2OtmkGTknbU { + color: black; +} -exports[`modules case \`leak-scope\` (\`modules\` value is \`global)\`: locals 1`] = `undefined`; +@media (min-width: 960px) { + .hY2PI5vC9ABuJY1nkWnf { + padding: 0 20px; + } +} -exports[`modules case \`leak-scope\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".a { - color: green; - animation: a; +.white { + color: white; } -@keyframes b { - 0% { left: 10px; } - 100% { left: 20px; } +@media (min-width: 320px) { + .hY2PI5vC9ABuJY1nkWnf { + padding: 20px 20px; + } } -.b { - animation: b; +.q8mv0HutzqdsVWjl8mAz { + v-ident: validIdent; + v-pre-defined-ident: left; + v-string: 'content'; + v-string-1: ''; + v-url: url(https://www.exammple.com/images/my-background.png); + v-url-1: url('https://www.exammple.com/images/my-background.png'); + v-url-2: url("https://www.exammple.com/images/my-background.png"); + v-integer: 100; + v-integer-1: -100; + v-integer-2: +100; + v-number: .60; + v-number-1: -456.8; + v-number-2: -3.4e-2; + v-dimension: 12px; + v-percentage: 100%; + v-hex: #fff; + v-comment: /* comment */ 10px /* comment */; + v-function: rgb(0,0,0); + v-unicode-range: U+0025-00FF; + mutliple: #fff .60 100%; } -@keyframes c { - 0% { left: 10px; } - 100% { left: 20px; } + +a { + content: 'content'; } -.c { - animation: c1; - animation: c2, c3, c4; +@supports (content: 'content') { + a { + content: 'content'; + } } -@keyframes d { - 0% { left: 10px; } - 100% { left: 20px; } +[class~='content'] { + color:green; } -.d1 { - animation: d1; - animation: d2, d3, d4; +.xajoqP1d3SwrjJ4WEM8g { + background: url(replaced_file_protocol_/webpack/public/path/img.png); } -.d2 { - animation: d2; +.Ix5nEHiVOsWuWxdx0twz { + background: red; } ", "", @@ -2302,267 +2630,389 @@ Array [ ] `; -exports[`modules case \`leak-scope\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +exports[`"modules" option should support resolving in composes: warnings 1`] = ` +[ + "ModuleWarning: Module Warning (from \`replaced original path\`): +Deprecation The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0. -exports[`modules case \`leak-scope\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +More info: https://sass-lang.com/d/legacy-js-api", +] +`; -exports[`modules case \`leak-scope\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "a": "_1OjK2G7L6Ypn9Qqa8lly-H", - "b": "_2cTRWn5QG4xtPeFL2wrKvv", - "c": "_3MHGI9_Tl4A_kJUxXx1q2j", - "c1": "_1PQ8UpcdVbFbAcYs6wdRXj", - "c2": "_3JhTjOsNov-pQXnd3o0JJ", - "c3": "_9skQ6KRXi6qCorV5zNSyV", - "c4": "_1Gh6Pqr28qXCExbnssOGX9", - "d2": "_35GAwk8Rb2LyIN0pSAXjyy", -} +exports[`"modules" option should throw an error on unresolved import: errors 1`] = ` +[ + "ModuleBuildError: Module build failed (from \`replaced original path\`): +Error: Can't resolve './unresolved.css' in '/test/fixtures/modules/unresolved'", +] `; -exports[`modules case \`leak-scope\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1OjK2G7L6Ypn9Qqa8lly-H { - color: green; - animation: _1OjK2G7L6Ypn9Qqa8lly-H; -} +exports[`"modules" option should throw an error on unresolved import: warnings 1`] = `[]`; -@keyframes _2cTRWn5QG4xtPeFL2wrKvv { - 0% { left: 10px; } - 100% { left: 20px; } -} +exports[`"modules" option should throw an error when class has unsupported name (JavaScript reserved words): errors 1`] = `[]`; -._2cTRWn5QG4xtPeFL2wrKvv { - animation: _2cTRWn5QG4xtPeFL2wrKvv; -} +exports[`"modules" option should throw an error when class has unsupported name (JavaScript reserved words): warnings 1`] = `[]`; -@keyframes c { - 0% { left: 10px; } - 100% { left: 20px; } -} +exports[`"modules" option should throw an error when the "namedExport" is enabled and the "exportLocalsConvention" options has not "camelCaseOnly" value: errors 1`] = `[]`; -._3MHGI9_Tl4A_kJUxXx1q2j { - animation: _1PQ8UpcdVbFbAcYs6wdRXj; - animation: _3JhTjOsNov-pQXnd3o0JJ, _9skQ6KRXi6qCorV5zNSyV, _1Gh6Pqr28qXCExbnssOGX9; -} +exports[`"modules" option should throw an error when the "namedExport" is enabled and the "exportLocalsConvention" options has not "camelCaseOnly" value: warnings 1`] = `[]`; -@keyframes d { - 0% { left: 10px; } - 100% { left: 20px; } -} +exports[`"modules" option should throw an error when the "namedExport" option is "true", but the "esModule" is "false": errors 1`] = ` +[ + "ModuleBuildError: Module build failed (from \`replaced original path\`): +Error: The 'modules.namedExport' option requires the 'esModule' option to be enabled", +] +`; -.d1 { - animation: d1; - animation: d2, d3, d4; -} +exports[`"modules" option should throw an error when the "namedExport" option is "true", but the "esModule" is "false": warnings 1`] = `[]`; -.d2 { - animation: _35GAwk8Rb2LyIN0pSAXjyy; -} -", - "", - ], +exports[`"modules" option should throw error when the "exportLocalsConvention" function throw error: errors 1`] = ` +[ + "ModuleBuildError: Module build failed (from \`replaced original path\`): +Error: namedExportFn error", ] `; -exports[`modules case \`leak-scope\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +exports[`"modules" option should throw error when the "exportLocalsConvention" function throw error: warnings 1`] = `[]`; -exports[`modules case \`leak-scope\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +exports[`"modules" option should throw error with composes when the "namedExport" is enabled and "exportLocalsConvention" options has invalid value: errors 1`] = `[]`; -exports[`modules case \`leak-scope\` (\`modules\` value is \`object with mode global)\`: locals 1`] = `undefined`; +exports[`"modules" option should throw error with composes when the "namedExport" is enabled and "exportLocalsConvention" options has invalid value: warnings 1`] = `[]`; -exports[`modules case \`leak-scope\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".a { - color: green; - animation: a; -} +exports[`"modules" option should work and correctly replace escaped symbols: errors 1`] = `[]`; -@keyframes b { - 0% { left: 10px; } - 100% { left: 20px; } +exports[`"modules" option should work and correctly replace escaped symbols: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.test--KuIS { + background: red; } -.b { - animation: b; +._test--Lb3f { + background: blue; } -@keyframes c { - 0% { left: 10px; } - 100% { left: 20px; } +.className--Ldhp { + background: red; } -.c { - animation: c1; - animation: c2, c3, c4; +#someId--b0rh { + background: green; } -@keyframes d { - 0% { left: 10px; } - 100% { left: 20px; } +.className--Ldhp .subClass--Mw9j { + color: green; } -.d1 { - animation: d1; - animation: d2, d3, d4; +#someId--b0rh .subClass--Mw9j { + color: blue; } -.d2 { - animation: d2; +.-a0-34a___f--DdFW { + color: red; } -", - "", - ], -] -`; -exports[`modules case \`leak-scope\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +.m_x_\\\\@--OdAm { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`leak-scope\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +.B\\\\&W\\\\?--h4SE { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`leak-scope\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "a": "_a", - "b": "_b", - "c": "_c", - "c1": "_c1", - "c2": "_c2", - "c3": "_c3", - "c4": "_c4", - "d2": "_d2", +/* matches elements with class=":\\\`(" */ +.\\\\3A \\\\\\\`\\\\(--fKJQ { + color: aqua; } -`; -exports[`modules case \`leak-scope\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._a { - color: green; - animation: _a; +/* matches elements with class="1a2b3c" */ +.\\\\31 a2b3c--YR1u { + color: aliceblue; } -@keyframes _b { - 0% { left: 10px; } - 100% { left: 20px; } +/* matches the element with id="#fake-id" */ +#\\\\#fake-id--AqiA { + color: antiquewhite; } -._b { - animation: _b; +/* matches the element with id="-a-b-c-" */ +#-a-b-c---CwXv { + color: azure; } -@keyframes c { - 0% { left: 10px; } - 100% { left: 20px; } +/* matches the element with id="©" */ +#©--jBj0 { + color: black; } -._c { - animation: _c1; - animation: _c2, _c3, _c4; +.♥--vJl9 { background: lime; } +.©--jBj0 { background: lime; } +.😍--CNLr { background: lime; } +.“‘’”--GM0Y { background: lime; } +.☺☃--NKrB { background: lime; } +.⌘⌥--edHW { background: lime; } +.𝄞♪♩♫♬--QyMp { background: lime; } +.💩--B82Y { background: lime; } +.\\\\?--ndmp { background: lime; } +.\\\\@--v3gq { background: lime; } +.\\\\.--zd5u { background: lime; } +.\\\\3A \\\\)--ZiZn { background: lime; } +.\\\\3A \\\\\\\`\\\\(--fKJQ { background: lime; } +.\\\\31 23--oqRG { background: lime; } +.\\\\31 a2b3c--YR1u { background: lime; } +.\\\\--TdAx { background: lime; } +.\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\>--ozNs { background: lime; } +.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\.--ByKo { background: lime; } +.\\\\#--HkwI { background: lime; } +.\\\\#\\\\#--IJc6 { background: lime; } +.\\\\#\\\\.\\\\#\\\\.\\\\#--BnPp { background: lime; } +.\\\\_--bCwk { background: lime; } +.\\\\{\\\\}--IZkB { background: lime; } +.\\\\#fake\\\\-id--AqiA { background: lime; } +.foo\\\\.bar--uajo { background: lime; } +.\\\\3A hover--HVud { background: lime; } +.\\\\3A hover\\\\3A focus\\\\3A active--Zlaa { background: lime; } +.\\\\[attr\\\\=value\\\\]--PWvC { background: lime; } +.f\\\\/o\\\\/o--A5l5 { background: lime; } +.f\\\\\\\\o\\\\\\\\o--DFfh { background: lime; } +.f\\\\*o\\\\*o--gv1E { background: lime; } +.f\\\\!o\\\\!o--_aIy { background: lime; } +.f\\\\'o\\\\'o--HSXN { background: lime; } +.f\\\\~o\\\\~o--MrVz { background: lime; } +.f\\\\+o\\\\+o--EvMH { background: lime; } + +.foo\\\\/bar--hei2 { + background: hotpink; } -@keyframes d { - 0% { left: 10px; } - 100% { left: 20px; } +.foo\\\\\\\\bar--IgSz { + background: hotpink; } -.d1 { - animation: d1; - animation: d2, d3, d4; +.foo\\\\/bar\\\\/baz--p6KJ { + background: hotpink; } -.d2 { - animation: _d2; +.foo\\\\\\\\bar\\\\\\\\baz--HZer { + background: hotpink; +} +\`, ""]); +// Exports +var _1 = \`123--oqRG\`; +export { _1 as "123" }; +export var test = \`test--KuIS\`; +export var _test = \`_test--Lb3f\`; +export var className = \`className--Ldhp\`; +export var someId = \`someId--b0rh\`; +export var subClass = \`subClass--Mw9j\`; +var _2 = \`-a0-34a___f--DdFW\`; +export { _2 as "-a0-34a___f" }; +var _3 = \`m_x_@--OdAm\`; +export { _3 as "m_x_@" }; +var _4 = \`B&W?--h4SE\`; +export { _4 as "B&W?" }; +var _5 = \`:\\\`(--fKJQ\`; +export { _5 as ":\`(" }; +var _6 = \`1a2b3c--YR1u\`; +export { _6 as "1a2b3c" }; +var _7 = \`#fake-id--AqiA\`; +export { _7 as "#fake-id" }; +var _8 = \`-a-b-c---CwXv\`; +export { _8 as "-a-b-c-" }; +var _9 = \`©--jBj0\`; +export { _9 as "©" }; +var _a = \`♥--vJl9\`; +export { _a as "♥" }; +var _b = \`😍--CNLr\`; +export { _b as "😍" }; +var _c = \`“‘’”--GM0Y\`; +export { _c as "“‘’”" }; +var _d = \`☺☃--NKrB\`; +export { _d as "☺☃" }; +var _e = \`⌘⌥--edHW\`; +export { _e as "⌘⌥" }; +var _f = \`𝄞♪♩♫♬--QyMp\`; +export { _f as "𝄞♪♩♫♬" }; +var _10 = \`💩--B82Y\`; +export { _10 as "💩" }; +var _11 = \`?--ndmp\`; +export { _11 as "?" }; +var _12 = \`@--v3gq\`; +export { _12 as "@" }; +var _13 = \`.--zd5u\`; +export { _13 as "." }; +var _14 = \`:)--ZiZn\`; +export { _14 as ":)" }; +var _15 = \`

--TdAx\`; +export { _15 as "

" }; +var _16 = \`<><<<>><>--ozNs\`; +export { _16 as "<><<<>><>" }; +var _17 = \`++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.--ByKo\`; +export { _17 as "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." }; +var _18 = \`#--HkwI\`; +export { _18 as "#" }; +var _19 = \`##--IJc6\`; +export { _19 as "##" }; +var _1a = \`#.#.#--BnPp\`; +export { _1a as "#.#.#" }; +export var _ = \`_--bCwk\`; +var _1b = \`{}--IZkB\`; +export { _1b as "{}" }; +var _1c = \`foo.bar--uajo\`; +export { _1c as "foo.bar" }; +var _1d = \`:hover--HVud\`; +export { _1d as ":hover" }; +var _1e = \`:hover:focus:active--Zlaa\`; +export { _1e as ":hover:focus:active" }; +var _1f = \`[attr=value]--PWvC\`; +export { _1f as "[attr=value]" }; +var _20 = \`f/o/o--A5l5\`; +export { _20 as "f/o/o" }; +var _21 = \`f\\\\o\\\\o--DFfh\`; +export { _21 as "f\\\\o\\\\o" }; +var _22 = \`f*o*o--gv1E\`; +export { _22 as "f*o*o" }; +var _23 = \`f!o!o--_aIy\`; +export { _23 as "f!o!o" }; +var _24 = \`f'o'o--HSXN\`; +export { _24 as "f'o'o" }; +var _25 = \`f~o~o--MrVz\`; +export { _25 as "f~o~o" }; +var _26 = \`f+o+o--EvMH\`; +export { _26 as "f+o+o" }; +var _27 = \`foo/bar--hei2\`; +export { _27 as "foo/bar" }; +var _28 = \`foo\\\\bar--IgSz\`; +export { _28 as "foo\\\\bar" }; +var _29 = \`foo/bar/baz--p6KJ\`; +export { _29 as "foo/bar/baz" }; +var _2a = \`foo\\\\bar\\\\baz--HZer\`; +export { _2a as "foo\\\\bar\\\\baz" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and correctly replace escaped symbols: result 1`] = ` +[ + [ + "./modules/localIdentName/localIdentName.css", + ".test--KuIS { + background: red; } -", - "", - ], -] -`; -exports[`modules case \`leak-scope\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +._test--Lb3f { + background: blue; +} -exports[`modules case \`leak-scope\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +.className--Ldhp { + background: red; +} -exports[`modules case \`leak-scope\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "a": "_1OjK2G7L6Ypn9Qqa8lly-H", - "b": "_2cTRWn5QG4xtPeFL2wrKvv", - "c": "_3MHGI9_Tl4A_kJUxXx1q2j", - "c1": "_1PQ8UpcdVbFbAcYs6wdRXj", - "c2": "_3JhTjOsNov-pQXnd3o0JJ", - "c3": "_9skQ6KRXi6qCorV5zNSyV", - "c4": "_1Gh6Pqr28qXCExbnssOGX9", - "d2": "_35GAwk8Rb2LyIN0pSAXjyy", +#someId--b0rh { + background: green; } -`; -exports[`modules case \`leak-scope\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1OjK2G7L6Ypn9Qqa8lly-H { - color: green; - animation: _1OjK2G7L6Ypn9Qqa8lly-H; +.className--Ldhp .subClass--Mw9j { + color: green; } -@keyframes _2cTRWn5QG4xtPeFL2wrKvv { - 0% { left: 10px; } - 100% { left: 20px; } +#someId--b0rh .subClass--Mw9j { + color: blue; } -._2cTRWn5QG4xtPeFL2wrKvv { - animation: _2cTRWn5QG4xtPeFL2wrKvv; +.-a0-34a___f--DdFW { + color: red; } -@keyframes c { - 0% { left: 10px; } - 100% { left: 20px; } +.m_x_\\@--OdAm { + margin-left: auto !important; + margin-right: auto !important; +} + +.B\\&W\\?--h4SE { + margin-left: auto !important; + margin-right: auto !important; } -._3MHGI9_Tl4A_kJUxXx1q2j { - animation: _1PQ8UpcdVbFbAcYs6wdRXj; - animation: _3JhTjOsNov-pQXnd3o0JJ, _9skQ6KRXi6qCorV5zNSyV, _1Gh6Pqr28qXCExbnssOGX9; +/* matches elements with class=":\`(" */ +.\\3A \\\`\\(--fKJQ { + color: aqua; } -@keyframes d { - 0% { left: 10px; } - 100% { left: 20px; } +/* matches elements with class="1a2b3c" */ +.\\31 a2b3c--YR1u { + color: aliceblue; } -.d1 { - animation: d1; - animation: d2, d3, d4; +/* matches the element with id="#fake-id" */ +#\\#fake-id--AqiA { + color: antiquewhite; } -.d2 { - animation: _35GAwk8Rb2LyIN0pSAXjyy; +/* matches the element with id="-a-b-c-" */ +#-a-b-c---CwXv { + color: azure; } -", - "", - ], -] -`; -exports[`modules case \`leak-scope\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +/* matches the element with id="©" */ +#©--jBj0 { + color: black; +} -exports[`modules case \`local\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +.♥--vJl9 { background: lime; } +.©--jBj0 { background: lime; } +.😍--CNLr { background: lime; } +.“‘’”--GM0Y { background: lime; } +.☺☃--NKrB { background: lime; } +.⌘⌥--edHW { background: lime; } +.𝄞♪♩♫♬--QyMp { background: lime; } +.💩--B82Y { background: lime; } +.\\?--ndmp { background: lime; } +.\\@--v3gq { background: lime; } +.\\.--zd5u { background: lime; } +.\\3A \\)--ZiZn { background: lime; } +.\\3A \\\`\\(--fKJQ { background: lime; } +.\\31 23--oqRG { background: lime; } +.\\31 a2b3c--YR1u { background: lime; } +.\\--TdAx { background: lime; } +.\\<\\>\\<\\<\\<\\>\\>\\<\\>--ozNs { background: lime; } +.\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\[\\>\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\>\\+\\<\\<\\<\\<\\-\\]\\>\\+\\+\\.\\>\\+\\.\\+\\+\\+\\+\\+\\+\\+\\.\\.\\+\\+\\+\\.\\>\\+\\+\\.\\<\\<\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\.\\>\\.\\+\\+\\+\\.\\-\\-\\-\\-\\-\\-\\.\\-\\-\\-\\-\\-\\-\\-\\-\\.\\>\\+\\.\\>\\.--ByKo { background: lime; } +.\\#--HkwI { background: lime; } +.\\#\\#--IJc6 { background: lime; } +.\\#\\.\\#\\.\\#--BnPp { background: lime; } +.\\_--bCwk { background: lime; } +.\\{\\}--IZkB { background: lime; } +.\\#fake\\-id--AqiA { background: lime; } +.foo\\.bar--uajo { background: lime; } +.\\3A hover--HVud { background: lime; } +.\\3A hover\\3A focus\\3A active--Zlaa { background: lime; } +.\\[attr\\=value\\]--PWvC { background: lime; } +.f\\/o\\/o--A5l5 { background: lime; } +.f\\\\o\\\\o--DFfh { background: lime; } +.f\\*o\\*o--gv1E { background: lime; } +.f\\!o\\!o--_aIy { background: lime; } +.f\\'o\\'o--HSXN { background: lime; } +.f\\~o\\~o--MrVz { background: lime; } +.f\\+o\\+o--EvMH { background: lime; } + +.foo\\/bar--hei2 { + background: hotpink; +} -exports[`modules case \`local\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +.foo\\\\bar--IgSz { + background: hotpink; +} -exports[`modules case \`local\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".abc :local(.def) { - color: red; +.foo\\/bar\\/baz--p6KJ { + background: hotpink; } -:local .ghi .jkl { - color: blue; +.foo\\\\bar\\\\baz--HZer { + background: hotpink; } ", "", @@ -2570,524 +3020,1012 @@ Array [ ] `; -exports[`modules case \`local\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; - -exports[`modules case \`local\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; - -exports[`modules case \`local\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "def": "_1UnGDcMVVYIU_547CDqQJU", - "ghi": "_1k8c5svlAtK4vFkSsZdl4o", - "jkl": "pRQR9FSSkxNL6roex-uGp", +exports[`"modules" option should work and correctly replace escaped symbols: warnings 1`] = `[]`; + +exports[`"modules" option should work and generate the same classes for client and server: client errors 1`] = `[]`; + +exports[`"modules" option should work and generate the same classes for client and server: client module 1`] = ` +"// extracted by mini-css-extract-plugin +var _1 = "oqRGsO4UR7_DWiqWXJMz"; +var _2 = "HkwIsjW5i7WNAxVRd5cg"; +var _3 = "IJc6Xl4ZKVZvSoeIuI2Q"; +var _4 = "BnPpnJmPeNr51pj2ZTlf"; +var _5 = "AqiAGSfnwaXj3eqg0Om8"; +var _6 = "ByKoYcSrMT2cN3V2iAgZ"; +var _7 = "CwXv27VMwyQqKBvNNaFr"; +var _8 = "DdFWMPoluIgmQirKzoS6"; +var _9 = "zd5uIZq6KrAWTwBjwZdC"; +var _a = "YR1u_buYf6paLzzUM6Vc"; +var _b = "ZiZnRjRT03NgoqVQwkGO"; +var _c = "fKJQkLarfQOel4wwbIrn"; +var _d = "HVudUNXnLNQoCLpVn82S"; +var _e = "ZlaaXvHLUsJOCFzItB_1"; +var _f = "ozNsTIG0LL2gSQdL5dzv"; +var _10 = "TdAx2ZSkw7Hbktc7KR72"; +var _11 = "ndmpvNNltJXbDVvqKuxt"; +var _12 = "v3gq0wPogd6ZPfq_pfyZ"; +var _13 = "h4SEF34CLwChRsak1742"; +var _14 = "PWvC4jVM5SwUmKmw2tfW"; +var _15 = "bCwkZEDuxDAOhKnMdLVF"; +var _16 = "Lb3fhDAuJv4v7BXOPttP"; +var _17 = "LdhpkZRWyKT7zDwJ0lt8"; +var _18 = "_aIyR9ETAs8ipXmRrrDO"; +var _19 = "HSXNnSjt1QaHBHUb_UIs"; +var _1a = "gv1E2n_bVvy0iT8TaHIv"; +var _1b = "EvMHRmCudyKg3GpLjAfj"; +var _1c = "A5l5sDODF4CQBW_PtlQD"; +var _1d = "DFfh4KyqOODVQsTPb3wt"; +var _1e = "uajo7mHzD_tTqOXqaqdg"; +var _1f = "hei2uQgDeX2YNkppCHp9"; +var _20 = "p6KJMhNWwmCU2bXHJB93"; +var _21 = "IgSzmmsCqiJBl4SibwgR"; +var _22 = "HZerWgmU0ffpPzySVi_g"; +var _23 = "MrVzSIcSXyoDsr5G0K5_"; +var _24 = "OdAmghrme3xnUYOdzoDw"; +var _25 = "b0rhwJStMR3eH63oapwW"; +var _26 = "Mw9j4nIdjx1xCGDt7d6a"; +var _27 = "KuIShlgsYfxvLoLHT1mu"; +var _28 = "IZkBfE9iUPen76w2bB_q"; +var _29 = "jBj0sZiWBysiwRyGu_go"; +var _2a = "GM0Y0nFCPtkVMz6Esfno"; +var _2b = "edHWpSne18gmGmfN6SV6"; +var _2c = "NKrBw7EAqPT7Cgn7JzrA"; +var _2d = "vJl9A9Ds21oujVsd5UD2"; +var _2e = "QyMp9YMEoYUmEHEdpRal"; +var _2f = "B82YxwgREHbKn8IpgaWw"; +var _30 = "CNLr9yJwqs3dm6FgpOqA"; +export { _1 as "123", _2 as "#", _3 as "##", _4 as "#.#.#", _5 as "#fake-id", _6 as "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.", _7 as "-a-b-c-", _8 as "-a0-34a___f", _9 as ".", _a as "1a2b3c", _b as ":)", _c as ":\`(", _d as ":hover", _e as ":hover:focus:active", _f as "<><<<>><>", _10 as "

", _11 as "?", _12 as "@", _13 as "B&W?", _14 as "[attr=value]", _15 as "_", _16 as "_test", _17 as "className", _18 as "f!o!o", _19 as "f'o'o", _1a as "f*o*o", _1b as "f+o+o", _1c as "f/o/o", _1d as "f\\\\o\\\\o", _1e as "foo.bar", _1f as "foo/bar", _20 as "foo/bar/baz", _21 as "foo\\\\bar", _22 as "foo\\\\bar\\\\baz", _23 as "f~o~o", _24 as "m_x_@", _25 as "someId", _26 as "subClass", _27 as "test", _28 as "{}", _29 as "©", _2a as "“‘’”", _2b as "⌘⌥", _2c as "☺☃", _2d as "♥", _2e as "𝄞♪♩♫♬", _2f as "💩", _30 as "😍" } +" +`; + +exports[`"modules" option should work and generate the same classes for client and server: client result 1`] = ` +{ + "#": "HkwIsjW5i7WNAxVRd5cg", + "##": "IJc6Xl4ZKVZvSoeIuI2Q", + "#.#.#": "BnPpnJmPeNr51pj2ZTlf", + "#fake-id": "AqiAGSfnwaXj3eqg0Om8", + "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.": "ByKoYcSrMT2cN3V2iAgZ", + "-a-b-c-": "CwXv27VMwyQqKBvNNaFr", + "-a0-34a___f": "DdFWMPoluIgmQirKzoS6", + ".": "zd5uIZq6KrAWTwBjwZdC", + "123": "oqRGsO4UR7_DWiqWXJMz", + "1a2b3c": "YR1u_buYf6paLzzUM6Vc", + ":)": "ZiZnRjRT03NgoqVQwkGO", + ":\`(": "fKJQkLarfQOel4wwbIrn", + ":hover": "HVudUNXnLNQoCLpVn82S", + ":hover:focus:active": "ZlaaXvHLUsJOCFzItB_1", + "<><<<>><>": "ozNsTIG0LL2gSQdL5dzv", + "

": "TdAx2ZSkw7Hbktc7KR72", + "?": "ndmpvNNltJXbDVvqKuxt", + "@": "v3gq0wPogd6ZPfq_pfyZ", + "B&W?": "h4SEF34CLwChRsak1742", + "[attr=value]": "PWvC4jVM5SwUmKmw2tfW", + "_": "bCwkZEDuxDAOhKnMdLVF", + "_test": "Lb3fhDAuJv4v7BXOPttP", + "className": "LdhpkZRWyKT7zDwJ0lt8", + "f!o!o": "_aIyR9ETAs8ipXmRrrDO", + "f'o'o": "HSXNnSjt1QaHBHUb_UIs", + "f*o*o": "gv1E2n_bVvy0iT8TaHIv", + "f+o+o": "EvMHRmCudyKg3GpLjAfj", + "f/o/o": "A5l5sDODF4CQBW_PtlQD", + "f\\o\\o": "DFfh4KyqOODVQsTPb3wt", + "foo.bar": "uajo7mHzD_tTqOXqaqdg", + "foo/bar": "hei2uQgDeX2YNkppCHp9", + "foo/bar/baz": "p6KJMhNWwmCU2bXHJB93", + "foo\\bar": "IgSzmmsCqiJBl4SibwgR", + "foo\\bar\\baz": "HZerWgmU0ffpPzySVi_g", + "f~o~o": "MrVzSIcSXyoDsr5G0K5_", + "m_x_@": "OdAmghrme3xnUYOdzoDw", + "someId": "b0rhwJStMR3eH63oapwW", + "subClass": "Mw9j4nIdjx1xCGDt7d6a", + "test": "KuIShlgsYfxvLoLHT1mu", + "{}": "IZkBfE9iUPen76w2bB_q", + "©": "jBj0sZiWBysiwRyGu_go", + "“‘’”": "GM0Y0nFCPtkVMz6Esfno", + "⌘⌥": "edHWpSne18gmGmfN6SV6", + "☺☃": "NKrBw7EAqPT7Cgn7JzrA", + "♥": "vJl9A9Ds21oujVsd5UD2", + "𝄞♪♩♫♬": "QyMp9YMEoYUmEHEdpRal", + "💩": "B82YxwgREHbKn8IpgaWw", + "😍": "CNLr9yJwqs3dm6FgpOqA", +} +`; + +exports[`"modules" option should work and generate the same classes for client and server: client warnings 1`] = `[]`; + +exports[`"modules" option should work and generate the same classes for client and server: server errors 1`] = `[]`; + +exports[`"modules" option should work and generate the same classes for client and server: server module 1`] = ` +"// Exports +var _1 = \`oqRGsO4UR7_DWiqWXJMz\`; +export { _1 as "123" }; +export var test = \`KuIShlgsYfxvLoLHT1mu\`; +export var _test = \`Lb3fhDAuJv4v7BXOPttP\`; +export var className = \`LdhpkZRWyKT7zDwJ0lt8\`; +export var someId = \`b0rhwJStMR3eH63oapwW\`; +export var subClass = \`Mw9j4nIdjx1xCGDt7d6a\`; +var _2 = \`DdFWMPoluIgmQirKzoS6\`; +export { _2 as "-a0-34a___f" }; +var _3 = \`OdAmghrme3xnUYOdzoDw\`; +export { _3 as "m_x_@" }; +var _4 = \`h4SEF34CLwChRsak1742\`; +export { _4 as "B&W?" }; +var _5 = \`fKJQkLarfQOel4wwbIrn\`; +export { _5 as ":\`(" }; +var _6 = \`YR1u_buYf6paLzzUM6Vc\`; +export { _6 as "1a2b3c" }; +var _7 = \`AqiAGSfnwaXj3eqg0Om8\`; +export { _7 as "#fake-id" }; +var _8 = \`CwXv27VMwyQqKBvNNaFr\`; +export { _8 as "-a-b-c-" }; +var _9 = \`jBj0sZiWBysiwRyGu_go\`; +export { _9 as "©" }; +var _a = \`vJl9A9Ds21oujVsd5UD2\`; +export { _a as "♥" }; +var _b = \`CNLr9yJwqs3dm6FgpOqA\`; +export { _b as "😍" }; +var _c = \`GM0Y0nFCPtkVMz6Esfno\`; +export { _c as "“‘’”" }; +var _d = \`NKrBw7EAqPT7Cgn7JzrA\`; +export { _d as "☺☃" }; +var _e = \`edHWpSne18gmGmfN6SV6\`; +export { _e as "⌘⌥" }; +var _f = \`QyMp9YMEoYUmEHEdpRal\`; +export { _f as "𝄞♪♩♫♬" }; +var _10 = \`B82YxwgREHbKn8IpgaWw\`; +export { _10 as "💩" }; +var _11 = \`ndmpvNNltJXbDVvqKuxt\`; +export { _11 as "?" }; +var _12 = \`v3gq0wPogd6ZPfq_pfyZ\`; +export { _12 as "@" }; +var _13 = \`zd5uIZq6KrAWTwBjwZdC\`; +export { _13 as "." }; +var _14 = \`ZiZnRjRT03NgoqVQwkGO\`; +export { _14 as ":)" }; +var _15 = \`TdAx2ZSkw7Hbktc7KR72\`; +export { _15 as "

" }; +var _16 = \`ozNsTIG0LL2gSQdL5dzv\`; +export { _16 as "<><<<>><>" }; +var _17 = \`ByKoYcSrMT2cN3V2iAgZ\`; +export { _17 as "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." }; +var _18 = \`HkwIsjW5i7WNAxVRd5cg\`; +export { _18 as "#" }; +var _19 = \`IJc6Xl4ZKVZvSoeIuI2Q\`; +export { _19 as "##" }; +var _1a = \`BnPpnJmPeNr51pj2ZTlf\`; +export { _1a as "#.#.#" }; +export var _ = \`bCwkZEDuxDAOhKnMdLVF\`; +var _1b = \`IZkBfE9iUPen76w2bB_q\`; +export { _1b as "{}" }; +var _1c = \`uajo7mHzD_tTqOXqaqdg\`; +export { _1c as "foo.bar" }; +var _1d = \`HVudUNXnLNQoCLpVn82S\`; +export { _1d as ":hover" }; +var _1e = \`ZlaaXvHLUsJOCFzItB_1\`; +export { _1e as ":hover:focus:active" }; +var _1f = \`PWvC4jVM5SwUmKmw2tfW\`; +export { _1f as "[attr=value]" }; +var _20 = \`A5l5sDODF4CQBW_PtlQD\`; +export { _20 as "f/o/o" }; +var _21 = \`DFfh4KyqOODVQsTPb3wt\`; +export { _21 as "f\\\\o\\\\o" }; +var _22 = \`gv1E2n_bVvy0iT8TaHIv\`; +export { _22 as "f*o*o" }; +var _23 = \`_aIyR9ETAs8ipXmRrrDO\`; +export { _23 as "f!o!o" }; +var _24 = \`HSXNnSjt1QaHBHUb_UIs\`; +export { _24 as "f'o'o" }; +var _25 = \`MrVzSIcSXyoDsr5G0K5_\`; +export { _25 as "f~o~o" }; +var _26 = \`EvMHRmCudyKg3GpLjAfj\`; +export { _26 as "f+o+o" }; +var _27 = \`hei2uQgDeX2YNkppCHp9\`; +export { _27 as "foo/bar" }; +var _28 = \`IgSzmmsCqiJBl4SibwgR\`; +export { _28 as "foo\\\\bar" }; +var _29 = \`p6KJMhNWwmCU2bXHJB93\`; +export { _29 as "foo/bar/baz" }; +var _2a = \`HZerWgmU0ffpPzySVi_g\`; +export { _2a as "foo\\\\bar\\\\baz" }; +" +`; + +exports[`"modules" option should work and generate the same classes for client and server: server result 1`] = ` +{ + "#": "HkwIsjW5i7WNAxVRd5cg", + "##": "IJc6Xl4ZKVZvSoeIuI2Q", + "#.#.#": "BnPpnJmPeNr51pj2ZTlf", + "#fake-id": "AqiAGSfnwaXj3eqg0Om8", + "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.": "ByKoYcSrMT2cN3V2iAgZ", + "-a-b-c-": "CwXv27VMwyQqKBvNNaFr", + "-a0-34a___f": "DdFWMPoluIgmQirKzoS6", + ".": "zd5uIZq6KrAWTwBjwZdC", + "123": "oqRGsO4UR7_DWiqWXJMz", + "1a2b3c": "YR1u_buYf6paLzzUM6Vc", + ":)": "ZiZnRjRT03NgoqVQwkGO", + ":\`(": "fKJQkLarfQOel4wwbIrn", + ":hover": "HVudUNXnLNQoCLpVn82S", + ":hover:focus:active": "ZlaaXvHLUsJOCFzItB_1", + "<><<<>><>": "ozNsTIG0LL2gSQdL5dzv", + "

": "TdAx2ZSkw7Hbktc7KR72", + "?": "ndmpvNNltJXbDVvqKuxt", + "@": "v3gq0wPogd6ZPfq_pfyZ", + "B&W?": "h4SEF34CLwChRsak1742", + "[attr=value]": "PWvC4jVM5SwUmKmw2tfW", + "_": "bCwkZEDuxDAOhKnMdLVF", + "_test": "Lb3fhDAuJv4v7BXOPttP", + "className": "LdhpkZRWyKT7zDwJ0lt8", + "f!o!o": "_aIyR9ETAs8ipXmRrrDO", + "f'o'o": "HSXNnSjt1QaHBHUb_UIs", + "f*o*o": "gv1E2n_bVvy0iT8TaHIv", + "f+o+o": "EvMHRmCudyKg3GpLjAfj", + "f/o/o": "A5l5sDODF4CQBW_PtlQD", + "f\\o\\o": "DFfh4KyqOODVQsTPb3wt", + "foo.bar": "uajo7mHzD_tTqOXqaqdg", + "foo/bar": "hei2uQgDeX2YNkppCHp9", + "foo/bar/baz": "p6KJMhNWwmCU2bXHJB93", + "foo\\bar": "IgSzmmsCqiJBl4SibwgR", + "foo\\bar\\baz": "HZerWgmU0ffpPzySVi_g", + "f~o~o": "MrVzSIcSXyoDsr5G0K5_", + "m_x_@": "OdAmghrme3xnUYOdzoDw", + "someId": "b0rhwJStMR3eH63oapwW", + "subClass": "Mw9j4nIdjx1xCGDt7d6a", + "test": "KuIShlgsYfxvLoLHT1mu", + "{}": "IZkBfE9iUPen76w2bB_q", + "©": "jBj0sZiWBysiwRyGu_go", + "“‘’”": "GM0Y0nFCPtkVMz6Esfno", + "⌘⌥": "edHWpSne18gmGmfN6SV6", + "☺☃": "NKrBw7EAqPT7Cgn7JzrA", + "♥": "vJl9A9Ds21oujVsd5UD2", + "𝄞♪♩♫♬": "QyMp9YMEoYUmEHEdpRal", + "💩": "B82YxwgREHbKn8IpgaWw", + "😍": "CNLr9yJwqs3dm6FgpOqA", +} +`; + +exports[`"modules" option should work and generate the same classes for client and server: server warnings 1`] = `[]`; + +exports[`"modules" option should work and has "undefined" context if no context was given: errors 1`] = `[]`; + +exports[`"modules" option should work and has "undefined" context if no context was given: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.foo { + background: red; } -`; -exports[`modules case \`local\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".abc ._1UnGDcMVVYIU_547CDqQJU { - color: red; +.foo { + background: blue; } -._1k8c5svlAtK4vFkSsZdl4o .pRQR9FSSkxNL6roex-uGp { - color: blue; +.foo { + background: red; } -", - "", - ], -] -`; -exports[`modules case \`local\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +#foo { + background: green; +} -exports[`modules case \`local\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +.foo .foo { + color: green; +} -exports[`modules case \`local\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "abc": "_2EPIUiYqPKxP0HS9Vgqa8e", - "def": "_1UnGDcMVVYIU_547CDqQJU", - "ghi": "_1k8c5svlAtK4vFkSsZdl4o", - "jkl": "pRQR9FSSkxNL6roex-uGp", +#foo .foo { + color: blue; } -`; -exports[`modules case \`local\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._2EPIUiYqPKxP0HS9Vgqa8e ._1UnGDcMVVYIU_547CDqQJU { +.foo { color: red; } -._1k8c5svlAtK4vFkSsZdl4o .pRQR9FSSkxNL6roex-uGp { - color: blue; +.foo { + margin-left: auto !important; + margin-right: auto !important; } -", - "", - ], -] -`; -exports[`modules case \`local\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.foo { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`local\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +/* matches elements with class=":\\\`(" */ +.foo { + color: aqua; +} -exports[`modules case \`local\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "def": "_def", - "ghi": "_ghi", - "jkl": "_jkl", +/* matches elements with class="1a2b3c" */ +.foo { + color: aliceblue; } -`; -exports[`modules case \`local\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".abc ._def { - color: red; +/* matches the element with id="#fake-id" */ +#foo { + color: antiquewhite; } -._ghi ._jkl { - color: blue; +/* matches the element with id="-a-b-c-" */ +#foo { + color: azure; } -", - "", - ], -] -`; -exports[`modules case \`local\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +/* matches the element with id="©" */ +#foo { + color: black; +} -exports[`modules case \`local\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } + +.foo { + background: hotpink; +} -exports[`modules case \`local\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "abc": "_abc", - "def": "_def", - "ghi": "_ghi", - "jkl": "_jkl", +.foo { + background: hotpink; } -`; -exports[`modules case \`local\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._abc ._def { - color: red; +.foo { + background: hotpink; } -._ghi ._jkl { - color: blue; +.foo { + background: hotpink; +} +\`, ""]); +// Exports +var _1 = \`foo\`; +export { _1 as "123" }; +export var test = \`foo\`; +export var _test = \`foo\`; +export var className = \`foo\`; +export var someId = \`foo\`; +export var subClass = \`foo\`; +var _2 = \`foo\`; +export { _2 as "-a0-34a___f" }; +var _3 = \`foo\`; +export { _3 as "m_x_@" }; +var _4 = \`foo\`; +export { _4 as "B&W?" }; +var _5 = \`foo\`; +export { _5 as ":\`(" }; +var _6 = \`foo\`; +export { _6 as "1a2b3c" }; +var _7 = \`foo\`; +export { _7 as "#fake-id" }; +var _8 = \`foo\`; +export { _8 as "-a-b-c-" }; +var _9 = \`foo\`; +export { _9 as "©" }; +var _a = \`foo\`; +export { _a as "♥" }; +var _b = \`foo\`; +export { _b as "😍" }; +var _c = \`foo\`; +export { _c as "“‘’”" }; +var _d = \`foo\`; +export { _d as "☺☃" }; +var _e = \`foo\`; +export { _e as "⌘⌥" }; +var _f = \`foo\`; +export { _f as "𝄞♪♩♫♬" }; +var _10 = \`foo\`; +export { _10 as "💩" }; +var _11 = \`foo\`; +export { _11 as "?" }; +var _12 = \`foo\`; +export { _12 as "@" }; +var _13 = \`foo\`; +export { _13 as "." }; +var _14 = \`foo\`; +export { _14 as ":)" }; +var _15 = \`foo\`; +export { _15 as "

" }; +var _16 = \`foo\`; +export { _16 as "<><<<>><>" }; +var _17 = \`foo\`; +export { _17 as "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." }; +var _18 = \`foo\`; +export { _18 as "#" }; +var _19 = \`foo\`; +export { _19 as "##" }; +var _1a = \`foo\`; +export { _1a as "#.#.#" }; +export var _ = \`foo\`; +var _1b = \`foo\`; +export { _1b as "{}" }; +var _1c = \`foo\`; +export { _1c as "foo.bar" }; +var _1d = \`foo\`; +export { _1d as ":hover" }; +var _1e = \`foo\`; +export { _1e as ":hover:focus:active" }; +var _1f = \`foo\`; +export { _1f as "[attr=value]" }; +var _20 = \`foo\`; +export { _20 as "f/o/o" }; +var _21 = \`foo\`; +export { _21 as "f\\\\o\\\\o" }; +var _22 = \`foo\`; +export { _22 as "f*o*o" }; +var _23 = \`foo\`; +export { _23 as "f!o!o" }; +var _24 = \`foo\`; +export { _24 as "f'o'o" }; +var _25 = \`foo\`; +export { _25 as "f~o~o" }; +var _26 = \`foo\`; +export { _26 as "f+o+o" }; +var _27 = \`foo\`; +export { _27 as "foo/bar" }; +var _28 = \`foo\`; +export { _28 as "foo\\\\bar" }; +var _29 = \`foo\`; +export { _29 as "foo/bar/baz" }; +var _2a = \`foo\`; +export { _2a as "foo\\\\bar\\\\baz" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and has "undefined" context if no context was given: result 1`] = ` +[ + [ + "./modules/localIdentName/localIdentName.css", + ".foo { + background: red; } -", - "", - ], -] -`; -exports[`modules case \`local\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +.foo { + background: blue; +} -exports[`modules case \`local\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +.foo { + background: red; +} -exports[`modules case \`local\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "abc": "_2EPIUiYqPKxP0HS9Vgqa8e", - "def": "_1UnGDcMVVYIU_547CDqQJU", - "ghi": "_1k8c5svlAtK4vFkSsZdl4o", - "jkl": "pRQR9FSSkxNL6roex-uGp", +#foo { + background: green; } -`; -exports[`modules case \`local\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._2EPIUiYqPKxP0HS9Vgqa8e ._1UnGDcMVVYIU_547CDqQJU { - color: red; +.foo .foo { + color: green; } -._1k8c5svlAtK4vFkSsZdl4o .pRQR9FSSkxNL6roex-uGp { +#foo .foo { color: blue; } -", - "", - ], -] -`; -exports[`modules case \`local\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +.foo { + color: red; +} -exports[`modules case \`local-2\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +.foo { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`local-2\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +.foo { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`local-2\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ":local(.className) { background: red; } -:local(#someId) { background: green; } -:local(.className .subClass) { color: green; } -:local(#someId .subClass) { color: blue; } -", - "", - ], -] -`; +/* matches elements with class=":\`(" */ +.foo { + color: aqua; +} -exports[`modules case \`local-2\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +/* matches elements with class="1a2b3c" */ +.foo { + color: aliceblue; +} -exports[`modules case \`local-2\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +/* matches the element with id="#fake-id" */ +#foo { + color: antiquewhite; +} -exports[`modules case \`local-2\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "className": "PTH0TZDPxpREaV5cxtahd", - "someId": "_1XQl0Np_jYcDGudXKxmL8A", - "subClass": "_2MrzTmc8jtF-E5FfuMPQie", +/* matches the element with id="-a-b-c-" */ +#foo { + color: azure; } -`; -exports[`modules case \`local-2\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".PTH0TZDPxpREaV5cxtahd { background: red; } -#_1XQl0Np_jYcDGudXKxmL8A { background: green; } -.PTH0TZDPxpREaV5cxtahd ._2MrzTmc8jtF-E5FfuMPQie { color: green; } -#_1XQl0Np_jYcDGudXKxmL8A ._2MrzTmc8jtF-E5FfuMPQie { color: blue; } -", - "", - ], -] -`; +/* matches the element with id="©" */ +#foo { + color: black; +} -exports[`modules case \`local-2\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } + +.foo { + background: hotpink; +} -exports[`modules case \`local-2\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +.foo { + background: hotpink; +} -exports[`modules case \`local-2\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "className": "PTH0TZDPxpREaV5cxtahd", - "someId": "_1XQl0Np_jYcDGudXKxmL8A", - "subClass": "_2MrzTmc8jtF-E5FfuMPQie", +.foo { + background: hotpink; } -`; -exports[`modules case \`local-2\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".PTH0TZDPxpREaV5cxtahd { background: red; } -#_1XQl0Np_jYcDGudXKxmL8A { background: green; } -.PTH0TZDPxpREaV5cxtahd ._2MrzTmc8jtF-E5FfuMPQie { color: green; } -#_1XQl0Np_jYcDGudXKxmL8A ._2MrzTmc8jtF-E5FfuMPQie { color: blue; } +.foo { + background: hotpink; +} ", "", ], ] `; -exports[`modules case \`local-2\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +exports[`"modules" option should work and has "undefined" context if no context was given: warnings 1`] = `[]`; -exports[`modules case \`local-2\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +exports[`"modules" option should work and prefer relative for "composes": errors 1`] = `[]`; + +exports[`"modules" option should work and prefer relative for "composes": module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +import ___CSS_LOADER_ICSS_IMPORT_0___, * as ___CSS_LOADER_ICSS_IMPORT_0____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./package/one.css"; +import ___CSS_LOADER_ICSS_IMPORT_1___, * as ___CSS_LOADER_ICSS_IMPORT_1____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./node_modules/package/two.css"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, "", true); +___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_1___, "", true); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.eY6jkKjjXnFY1QWC5gpe { + color: yellow; +} -exports[`modules case \`local-2\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "className": "_className", - "someId": "_someId", - "subClass": "_subClass", +.cfTHoySzymaJQ150LQPh { + color: yellow; } +\`, ""]); +// Exports +export var one = \`eY6jkKjjXnFY1QWC5gpe \${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["imported-relative"]}\`; +export var two = \`cfTHoySzymaJQ150LQPh \${___CSS_LOADER_ICSS_IMPORT_1____NAMED___["imported-relative"]}\`; +export default ___CSS_LOADER_EXPORT___; +" `; -exports[`modules case \`local-2\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._className { background: red; } -#_someId { background: green; } -._className ._subClass { color: green; } -#_someId ._subClass { color: blue; } +exports[`"modules" option should work and prefer relative for "composes": result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/prefer-relative/package/one.css", + ".x6BAJm_OUHnABwnaBJG6 { + display: block; +} ", "", ], -] -`; - -exports[`modules case \`local-2\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; - -exports[`modules case \`local-2\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; - -exports[`modules case \`local-2\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "className": "_className", - "someId": "_someId", - "subClass": "_subClass", + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/prefer-relative/node_modules/package/two.css", + ".sFLAbn2jg871KRraVJSF { + display: inline; } -`; - -exports[`modules case \`local-2\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._className { background: red; } -#_someId { background: green; } -._className ._subClass { color: green; } -#_someId ._subClass { color: blue; } ", "", ], -] -`; - -exports[`modules case \`local-2\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; - -exports[`modules case \`local-2\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; - -exports[`modules case \`local-2\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "className": "PTH0TZDPxpREaV5cxtahd", - "someId": "_1XQl0Np_jYcDGudXKxmL8A", - "subClass": "_2MrzTmc8jtF-E5FfuMPQie", + [ + "./modules/prefer-relative/source.css", + ".eY6jkKjjXnFY1QWC5gpe { + color: yellow; } -`; -exports[`modules case \`local-2\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".PTH0TZDPxpREaV5cxtahd { background: red; } -#_1XQl0Np_jYcDGudXKxmL8A { background: green; } -.PTH0TZDPxpREaV5cxtahd ._2MrzTmc8jtF-E5FfuMPQie { color: green; } -#_1XQl0Np_jYcDGudXKxmL8A ._2MrzTmc8jtF-E5FfuMPQie { color: blue; } +.cfTHoySzymaJQ150LQPh { + color: yellow; +} ", "", ], ] `; -exports[`modules case \`local-2\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +exports[`"modules" option should work and prefer relative for "composes": warnings 1`] = `[]`; -exports[`modules case \`local-and-composes\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +exports[`"modules" option should work and prefix leading hyphen when digit is first: errors 1`] = `[]`; -exports[`modules case \`local-and-composes\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +exports[`"modules" option should work and prefix leading hyphen when digit is first: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`._-1test { + background: red; +} -exports[`modules case \`local-and-composes\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ":local(.abc) { - color: red; +._-1_test { + background: blue; } -:local(.def) { - composes: abc; - background: green; + +._-1className { + background: red; } -", - "", - ], -] -`; -exports[`modules case \`local-and-composes\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +#_-1someId { + background: green; +} -exports[`modules case \`local-and-composes\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +._-1className ._-1subClass { + color: green; +} -exports[`modules case \`local-and-composes\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "abc": "_1wzWGMZGmVz3uhGAmwbXwR", - "def": "_3zcEXyCxYPLdb_6bVqY6Df _1wzWGMZGmVz3uhGAmwbXwR", +#_-1someId ._-1subClass { + color: blue; } -`; -exports[`modules case \`local-and-composes\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1wzWGMZGmVz3uhGAmwbXwR { +._-1-a0-34a___f { color: red; } -._3zcEXyCxYPLdb_6bVqY6Df { - background: green; + +._-1m_x_\\\\@ { + margin-left: auto !important; + margin-right: auto !important; } -", - "", - ], -] -`; -exports[`modules case \`local-and-composes\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +._-1B\\\\&W\\\\? { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`local-and-composes\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +/* matches elements with class=":\\\`(" */ +._-1\\\\3A \\\\\\\`\\\\( { + color: aqua; +} -exports[`modules case \`local-and-composes\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "abc": "_1wzWGMZGmVz3uhGAmwbXwR", - "def": "_3zcEXyCxYPLdb_6bVqY6Df _1wzWGMZGmVz3uhGAmwbXwR", +/* matches elements with class="1a2b3c" */ +._-1\\\\31 a2b3c { + color: aliceblue; } -`; -exports[`modules case \`local-and-composes\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1wzWGMZGmVz3uhGAmwbXwR { - color: red; +/* matches the element with id="#fake-id" */ +#_-1\\\\#fake-id { + color: antiquewhite; } -._3zcEXyCxYPLdb_6bVqY6Df { - background: green; + +/* matches the element with id="-a-b-c-" */ +#_-1-a-b-c- { + color: azure; } -", - "", - ], -] -`; -exports[`modules case \`local-and-composes\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +/* matches the element with id="©" */ +#_-1© { + color: black; +} -exports[`modules case \`local-and-composes\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +._-1♥ { background: lime; } +._-1© { background: lime; } +._-1😍 { background: lime; } +._-1“‘’” { background: lime; } +._-1☺☃ { background: lime; } +._-1⌘⌥ { background: lime; } +._-1𝄞♪♩♫♬ { background: lime; } +._-1💩 { background: lime; } +._-1\\\\? { background: lime; } +._-1\\\\@ { background: lime; } +._-1\\\\. { background: lime; } +._-1\\\\3A \\\\) { background: lime; } +._-1\\\\3A \\\\\\\`\\\\( { background: lime; } +._-1\\\\31 23 { background: lime; } +._-1\\\\31 a2b3c { background: lime; } +._-1\\\\ { background: lime; } +._-1\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\> { background: lime; } +._-1\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\. { background: lime; } +._-1\\\\# { background: lime; } +._-1\\\\#\\\\# { background: lime; } +._-1\\\\#\\\\.\\\\#\\\\.\\\\# { background: lime; } +._-1\\\\_ { background: lime; } +._-1\\\\{\\\\} { background: lime; } +._-1\\\\#fake\\\\-id { background: lime; } +._-1foo\\\\.bar { background: lime; } +._-1\\\\3A hover { background: lime; } +._-1\\\\3A hover\\\\3A focus\\\\3A active { background: lime; } +._-1\\\\[attr\\\\=value\\\\] { background: lime; } +._-1f\\\\/o\\\\/o { background: lime; } +._-1f\\\\\\\\o\\\\\\\\o { background: lime; } +._-1f\\\\*o\\\\*o { background: lime; } +._-1f\\\\!o\\\\!o { background: lime; } +._-1f\\\\'o\\\\'o { background: lime; } +._-1f\\\\~o\\\\~o { background: lime; } +._-1f\\\\+o\\\\+o { background: lime; } -exports[`modules case \`local-and-composes\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "abc": "_abc", - "def": "_def _abc", +._-1foo\\\\/bar { + background: hotpink; } -`; -exports[`modules case \`local-and-composes\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._abc { - color: red; -} -._def { - background: green; +._-1foo\\\\\\\\bar { + background: hotpink; } -", - "", - ], -] -`; -exports[`modules case \`local-and-composes\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +._-1foo\\\\/bar\\\\/baz { + background: hotpink; +} -exports[`modules case \`local-and-composes\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +._-1foo\\\\\\\\bar\\\\\\\\baz { + background: hotpink; +} +\`, ""]); +// Exports +var _1 = \`_-1123\`; +export { _1 as "123" }; +export var test = \`_-1test\`; +export var _test = \`_-1_test\`; +export var className = \`_-1className\`; +export var someId = \`_-1someId\`; +export var subClass = \`_-1subClass\`; +var _2 = \`_-1-a0-34a___f\`; +export { _2 as "-a0-34a___f" }; +var _3 = \`_-1m_x_@\`; +export { _3 as "m_x_@" }; +var _4 = \`_-1B&W?\`; +export { _4 as "B&W?" }; +var _5 = \`_-1:\\\`(\`; +export { _5 as ":\`(" }; +var _6 = \`_-11a2b3c\`; +export { _6 as "1a2b3c" }; +var _7 = \`_-1#fake-id\`; +export { _7 as "#fake-id" }; +var _8 = \`_-1-a-b-c-\`; +export { _8 as "-a-b-c-" }; +var _9 = \`_-1©\`; +export { _9 as "©" }; +var _a = \`_-1♥\`; +export { _a as "♥" }; +var _b = \`_-1😍\`; +export { _b as "😍" }; +var _c = \`_-1“‘’”\`; +export { _c as "“‘’”" }; +var _d = \`_-1☺☃\`; +export { _d as "☺☃" }; +var _e = \`_-1⌘⌥\`; +export { _e as "⌘⌥" }; +var _f = \`_-1𝄞♪♩♫♬\`; +export { _f as "𝄞♪♩♫♬" }; +var _10 = \`_-1💩\`; +export { _10 as "💩" }; +var _11 = \`_-1?\`; +export { _11 as "?" }; +var _12 = \`_-1@\`; +export { _12 as "@" }; +var _13 = \`_-1.\`; +export { _13 as "." }; +var _14 = \`_-1:)\`; +export { _14 as ":)" }; +var _15 = \`_-1

\`; +export { _15 as "

" }; +var _16 = \`_-1<><<<>><>\`; +export { _16 as "<><<<>><>" }; +var _17 = \`_-1++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.\`; +export { _17 as "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." }; +var _18 = \`_-1#\`; +export { _18 as "#" }; +var _19 = \`_-1##\`; +export { _19 as "##" }; +var _1a = \`_-1#.#.#\`; +export { _1a as "#.#.#" }; +export var _ = \`_-1_\`; +var _1b = \`_-1{}\`; +export { _1b as "{}" }; +var _1c = \`_-1foo.bar\`; +export { _1c as "foo.bar" }; +var _1d = \`_-1:hover\`; +export { _1d as ":hover" }; +var _1e = \`_-1:hover:focus:active\`; +export { _1e as ":hover:focus:active" }; +var _1f = \`_-1[attr=value]\`; +export { _1f as "[attr=value]" }; +var _20 = \`_-1f/o/o\`; +export { _20 as "f/o/o" }; +var _21 = \`_-1f\\\\o\\\\o\`; +export { _21 as "f\\\\o\\\\o" }; +var _22 = \`_-1f*o*o\`; +export { _22 as "f*o*o" }; +var _23 = \`_-1f!o!o\`; +export { _23 as "f!o!o" }; +var _24 = \`_-1f'o'o\`; +export { _24 as "f'o'o" }; +var _25 = \`_-1f~o~o\`; +export { _25 as "f~o~o" }; +var _26 = \`_-1f+o+o\`; +export { _26 as "f+o+o" }; +var _27 = \`_-1foo/bar\`; +export { _27 as "foo/bar" }; +var _28 = \`_-1foo\\\\bar\`; +export { _28 as "foo\\\\bar" }; +var _29 = \`_-1foo/bar/baz\`; +export { _29 as "foo/bar/baz" }; +var _2a = \`_-1foo\\\\bar\\\\baz\`; +export { _2a as "foo\\\\bar\\\\baz" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and prefix leading hyphen when digit is first: result 1`] = ` +[ + [ + "./modules/localIdentName/localIdentName.css", + "._-1test { + background: red; +} -exports[`modules case \`local-and-composes\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "abc": "_abc", - "def": "_def _abc", +._-1_test { + background: blue; } -`; -exports[`modules case \`local-and-composes\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._abc { - color: red; +._-1className { + background: red; } -._def { + +#_-1someId { background: green; } -", - "", - ], -] -`; -exports[`modules case \`local-and-composes\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; - -exports[`modules case \`local-and-composes\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +._-1className ._-1subClass { + color: green; +} -exports[`modules case \`local-and-composes\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "abc": "_1wzWGMZGmVz3uhGAmwbXwR", - "def": "_3zcEXyCxYPLdb_6bVqY6Df _1wzWGMZGmVz3uhGAmwbXwR", +#_-1someId ._-1subClass { + color: blue; } -`; -exports[`modules case \`local-and-composes\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1wzWGMZGmVz3uhGAmwbXwR { +._-1-a0-34a___f { color: red; } -._3zcEXyCxYPLdb_6bVqY6Df { - background: green; -} -", - "", - ], -] -`; - -exports[`modules case \`local-and-composes\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; -exports[`modules case \`local-with-string\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +._-1m_x_\\@ { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`local-with-string\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +._-1B\\&W\\? { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`local-with-string\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ":local(.c1[data-attr=\\".c2)]'\\"]:not(.c3):not(.c4)) { - background: red; +/* matches elements with class=":\`(" */ +._-1\\3A \\\`\\( { + color: aqua; } -", - "", - ], -] -`; -exports[`modules case \`local-with-string\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +/* matches elements with class="1a2b3c" */ +._-1\\31 a2b3c { + color: aliceblue; +} -exports[`modules case \`local-with-string\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +/* matches the element with id="#fake-id" */ +#_-1\\#fake-id { + color: antiquewhite; +} -exports[`modules case \`local-with-string\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "c1": "_1sz8PE1ejGPcGRSnIAWKZt", - "c3": "_2DFDxRic974g-wJ7S9rbP1", - "c4": "xo8O_am1gQUkHa-_J-WSe", +/* matches the element with id="-a-b-c-" */ +#_-1-a-b-c- { + color: azure; } -`; -exports[`modules case \`local-with-string\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1sz8PE1ejGPcGRSnIAWKZt[data-attr=\\".c2)]'\\"]:not(._2DFDxRic974g-wJ7S9rbP1):not(.xo8O_am1gQUkHa-_J-WSe) { - background: red; +/* matches the element with id="©" */ +#_-1© { + color: black; } -", - "", - ], -] -`; -exports[`modules case \`local-with-string\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +._-1♥ { background: lime; } +._-1© { background: lime; } +._-1😍 { background: lime; } +._-1“‘’” { background: lime; } +._-1☺☃ { background: lime; } +._-1⌘⌥ { background: lime; } +._-1𝄞♪♩♫♬ { background: lime; } +._-1💩 { background: lime; } +._-1\\? { background: lime; } +._-1\\@ { background: lime; } +._-1\\. { background: lime; } +._-1\\3A \\) { background: lime; } +._-1\\3A \\\`\\( { background: lime; } +._-1\\31 23 { background: lime; } +._-1\\31 a2b3c { background: lime; } +._-1\\ { background: lime; } +._-1\\<\\>\\<\\<\\<\\>\\>\\<\\> { background: lime; } +._-1\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\[\\>\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\>\\+\\<\\<\\<\\<\\-\\]\\>\\+\\+\\.\\>\\+\\.\\+\\+\\+\\+\\+\\+\\+\\.\\.\\+\\+\\+\\.\\>\\+\\+\\.\\<\\<\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\.\\>\\.\\+\\+\\+\\.\\-\\-\\-\\-\\-\\-\\.\\-\\-\\-\\-\\-\\-\\-\\-\\.\\>\\+\\.\\>\\. { background: lime; } +._-1\\# { background: lime; } +._-1\\#\\# { background: lime; } +._-1\\#\\.\\#\\.\\# { background: lime; } +._-1\\_ { background: lime; } +._-1\\{\\} { background: lime; } +._-1\\#fake\\-id { background: lime; } +._-1foo\\.bar { background: lime; } +._-1\\3A hover { background: lime; } +._-1\\3A hover\\3A focus\\3A active { background: lime; } +._-1\\[attr\\=value\\] { background: lime; } +._-1f\\/o\\/o { background: lime; } +._-1f\\\\o\\\\o { background: lime; } +._-1f\\*o\\*o { background: lime; } +._-1f\\!o\\!o { background: lime; } +._-1f\\'o\\'o { background: lime; } +._-1f\\~o\\~o { background: lime; } +._-1f\\+o\\+o { background: lime; } + +._-1foo\\/bar { + background: hotpink; +} -exports[`modules case \`local-with-string\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +._-1foo\\\\bar { + background: hotpink; +} -exports[`modules case \`local-with-string\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "c1": "_1sz8PE1ejGPcGRSnIAWKZt", - "c3": "_2DFDxRic974g-wJ7S9rbP1", - "c4": "xo8O_am1gQUkHa-_J-WSe", +._-1foo\\/bar\\/baz { + background: hotpink; } -`; -exports[`modules case \`local-with-string\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1sz8PE1ejGPcGRSnIAWKZt[data-attr=\\".c2)]'\\"]:not(._2DFDxRic974g-wJ7S9rbP1):not(.xo8O_am1gQUkHa-_J-WSe) { - background: red; +._-1foo\\\\bar\\\\baz { + background: hotpink; } ", "", @@ -3095,225 +4033,343 @@ Array [ ] `; -exports[`modules case \`local-with-string\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +exports[`"modules" option should work and prefix leading hyphen when digit is first: warnings 1`] = `[]`; -exports[`modules case \`local-with-string\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +exports[`"modules" option should work and respect the "context" option: errors 1`] = `[]`; -exports[`modules case \`local-with-string\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "c1": "_c1", - "c3": "_c3", - "c4": "_c4", +exports[`"modules" option should work and respect the "context" option: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.Cqfpw57I { + background: red; +} + +.TGo4Rmnn { + background: blue; } -`; -exports[`modules case \`local-with-string\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._c1[data-attr=\\".c2)]'\\"]:not(._c3):not(._c4) { +.V3rkzYqn { background: red; } -", - "", - ], -] -`; -exports[`modules case \`local-with-string\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +#p0emrDgk { + background: green; +} -exports[`modules case \`local-with-string\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +.V3rkzYqn .v0YwV1mq { + color: green; +} -exports[`modules case \`local-with-string\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "c1": "_c1", - "c3": "_c3", - "c4": "_c4", +#p0emrDgk .v0YwV1mq { + color: blue; } -`; -exports[`modules case \`local-with-string\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._c1[data-attr=\\".c2)]'\\"]:not(._c3):not(._c4) { - background: red; +.iD7O58t6 { + color: red; } -", - "", - ], -] -`; -exports[`modules case \`local-with-string\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +.RH_w1QEb { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`local-with-string\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +.Ag92YvL3 { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`local-with-string\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "c1": "_1sz8PE1ejGPcGRSnIAWKZt", - "c3": "_2DFDxRic974g-wJ7S9rbP1", - "c4": "xo8O_am1gQUkHa-_J-WSe", +/* matches elements with class=":\\\`(" */ +.ETB9N0Rx { + color: aqua; } -`; -exports[`modules case \`local-with-string\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1sz8PE1ejGPcGRSnIAWKZt[data-attr=\\".c2)]'\\"]:not(._2DFDxRic974g-wJ7S9rbP1):not(.xo8O_am1gQUkHa-_J-WSe) { - background: red; +/* matches elements with class="1a2b3c" */ +.LEy8bpHz { + color: aliceblue; } -", - "", - ], -] -`; -exports[`modules case \`local-with-string\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +/* matches the element with id="#fake-id" */ +#JOQqQG3P { + color: antiquewhite; +} -exports[`modules case \`media\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +/* matches the element with id="-a-b-c-" */ +#LD6vZ0vn { + color: azure; +} -exports[`modules case \`media\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +/* matches the element with id="©" */ +#bD4iEyBe { + color: black; +} -exports[`modules case \`media\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "@value small: (max-width: 599px); +.pHooKEFO { background: lime; } +.bD4iEyBe { background: lime; } +.MkprjEQN { background: lime; } +.hsoP1NHa { background: lime; } +.AERfnIsn { background: lime; } +.s83tEkiy { background: lime; } +.sIO5dUZQ { background: lime; } +.zVi6sc5A { background: lime; } +.N9lQNAW2 { background: lime; } +.SysYqBF2 { background: lime; } +._TYYa2xJ { background: lime; } +.TFikf3jN { background: lime; } +.ETB9N0Rx { background: lime; } +.DEfkSXfj { background: lime; } +.LEy8bpHz { background: lime; } +.nMEppSss { background: lime; } +.cGH8351B { background: lime; } +._sBaAj4v { background: lime; } +.Ig420xMn { background: lime; } +.t_MNCpGV { background: lime; } +.ozULn22d { background: lime; } +.qR0Vnn20 { background: lime; } +.tt66IaNP { background: lime; } +.JOQqQG3P { background: lime; } +.RFVWf69B { background: lime; } +.QnhABYwt { background: lime; } +.qRhRpbmB { background: lime; } +.wkL_QN8C { background: lime; } +.KDSjlnnR { background: lime; } +.LsVcYH6Y { background: lime; } +.CNQowmKT { background: lime; } +.eUsF4mDa { background: lime; } +.ESWnsA_A { background: lime; } +.taQ7D9sF { background: lime; } +.AL7FEeDx { background: lime; } + +.GOPxpaxq { + background: hotpink; +} -@media small { - .header { - box-shadow: 0 0 4px #1F4F7F; - } +.chesbSdq { + background: hotpink; } -", - "", - ], -] -`; -exports[`modules case \`media\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +.QMeNd406 { + background: hotpink; +} -exports[`modules case \`media\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +.jXaakDKS { + background: hotpink; +} +\`, ""]); +// Exports +var _1 = \`DEfkSXfj\`; +export { _1 as "123" }; +export var test = \`Cqfpw57I\`; +export var _test = \`TGo4Rmnn\`; +export var className = \`V3rkzYqn\`; +export var someId = \`p0emrDgk\`; +export var subClass = \`v0YwV1mq\`; +var _2 = \`iD7O58t6\`; +export { _2 as "-a0-34a___f" }; +var _3 = \`RH_w1QEb\`; +export { _3 as "m_x_@" }; +var _4 = \`Ag92YvL3\`; +export { _4 as "B&W?" }; +var _5 = \`ETB9N0Rx\`; +export { _5 as ":\`(" }; +var _6 = \`LEy8bpHz\`; +export { _6 as "1a2b3c" }; +var _7 = \`JOQqQG3P\`; +export { _7 as "#fake-id" }; +var _8 = \`LD6vZ0vn\`; +export { _8 as "-a-b-c-" }; +var _9 = \`bD4iEyBe\`; +export { _9 as "©" }; +var _a = \`pHooKEFO\`; +export { _a as "♥" }; +var _b = \`MkprjEQN\`; +export { _b as "😍" }; +var _c = \`hsoP1NHa\`; +export { _c as "“‘’”" }; +var _d = \`AERfnIsn\`; +export { _d as "☺☃" }; +var _e = \`s83tEkiy\`; +export { _e as "⌘⌥" }; +var _f = \`sIO5dUZQ\`; +export { _f as "𝄞♪♩♫♬" }; +var _10 = \`zVi6sc5A\`; +export { _10 as "💩" }; +var _11 = \`N9lQNAW2\`; +export { _11 as "?" }; +var _12 = \`SysYqBF2\`; +export { _12 as "@" }; +var _13 = \`_TYYa2xJ\`; +export { _13 as "." }; +var _14 = \`TFikf3jN\`; +export { _14 as ":)" }; +var _15 = \`nMEppSss\`; +export { _15 as "

" }; +var _16 = \`cGH8351B\`; +export { _16 as "<><<<>><>" }; +var _17 = \`_sBaAj4v\`; +export { _17 as "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." }; +var _18 = \`Ig420xMn\`; +export { _18 as "#" }; +var _19 = \`t_MNCpGV\`; +export { _19 as "##" }; +var _1a = \`ozULn22d\`; +export { _1a as "#.#.#" }; +export var _ = \`qR0Vnn20\`; +var _1b = \`tt66IaNP\`; +export { _1b as "{}" }; +var _1c = \`RFVWf69B\`; +export { _1c as "foo.bar" }; +var _1d = \`QnhABYwt\`; +export { _1d as ":hover" }; +var _1e = \`qRhRpbmB\`; +export { _1e as ":hover:focus:active" }; +var _1f = \`wkL_QN8C\`; +export { _1f as "[attr=value]" }; +var _20 = \`KDSjlnnR\`; +export { _20 as "f/o/o" }; +var _21 = \`LsVcYH6Y\`; +export { _21 as "f\\\\o\\\\o" }; +var _22 = \`CNQowmKT\`; +export { _22 as "f*o*o" }; +var _23 = \`eUsF4mDa\`; +export { _23 as "f!o!o" }; +var _24 = \`ESWnsA_A\`; +export { _24 as "f'o'o" }; +var _25 = \`taQ7D9sF\`; +export { _25 as "f~o~o" }; +var _26 = \`AL7FEeDx\`; +export { _26 as "f+o+o" }; +var _27 = \`GOPxpaxq\`; +export { _27 as "foo/bar" }; +var _28 = \`chesbSdq\`; +export { _28 as "foo\\\\bar" }; +var _29 = \`QMeNd406\`; +export { _29 as "foo/bar/baz" }; +var _2a = \`jXaakDKS\`; +export { _2a as "foo\\\\bar\\\\baz" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the "context" option: result 1`] = ` +[ + [ + "./modules/localIdentName/localIdentName.css", + ".Cqfpw57I { + background: red; +} -exports[`modules case \`media\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "small": "(max-width: 599px)", +.TGo4Rmnn { + background: blue; } -`; -exports[`modules case \`media\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "@media (max-width: 599px) { - .header { - box-shadow: 0 0 4px #1F4F7F; - } +.V3rkzYqn { + background: red; } -", - "", - ], -] -`; -exports[`modules case \`media\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; - -exports[`modules case \`media\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +#p0emrDgk { + background: green; +} -exports[`modules case \`media\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "header": "_1wyVAJXtjGZLoQNO_yG8b3", - "small": "(max-width: 599px)", +.V3rkzYqn .v0YwV1mq { + color: green; } -`; -exports[`modules case \`media\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "@media (max-width: 599px) { - ._1wyVAJXtjGZLoQNO_yG8b3 { - box-shadow: 0 0 4px #1F4F7F; - } +#p0emrDgk .v0YwV1mq { + color: blue; } -", - "", - ], -] -`; -exports[`modules case \`media\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.iD7O58t6 { + color: red; +} -exports[`modules case \`media\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +.RH_w1QEb { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`media\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "small": "(max-width: 599px)", +.Ag92YvL3 { + margin-left: auto !important; + margin-right: auto !important; } -`; -exports[`modules case \`media\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "@media (max-width: 599px) { - .header { - box-shadow: 0 0 4px #1F4F7F; - } +/* matches elements with class=":\`(" */ +.ETB9N0Rx { + color: aqua; } -", - "", - ], -] -`; -exports[`modules case \`media\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +/* matches elements with class="1a2b3c" */ +.LEy8bpHz { + color: aliceblue; +} -exports[`modules case \`media\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +/* matches the element with id="#fake-id" */ +#JOQqQG3P { + color: antiquewhite; +} -exports[`modules case \`media\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "header": "_header", - "small": "(max-width: 599px)", +/* matches the element with id="-a-b-c-" */ +#LD6vZ0vn { + color: azure; } -`; -exports[`modules case \`media\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "@media (max-width: 599px) { - ._header { - box-shadow: 0 0 4px #1F4F7F; - } +/* matches the element with id="©" */ +#bD4iEyBe { + color: black; } -", - "", - ], -] -`; -exports[`modules case \`media\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +.pHooKEFO { background: lime; } +.bD4iEyBe { background: lime; } +.MkprjEQN { background: lime; } +.hsoP1NHa { background: lime; } +.AERfnIsn { background: lime; } +.s83tEkiy { background: lime; } +.sIO5dUZQ { background: lime; } +.zVi6sc5A { background: lime; } +.N9lQNAW2 { background: lime; } +.SysYqBF2 { background: lime; } +._TYYa2xJ { background: lime; } +.TFikf3jN { background: lime; } +.ETB9N0Rx { background: lime; } +.DEfkSXfj { background: lime; } +.LEy8bpHz { background: lime; } +.nMEppSss { background: lime; } +.cGH8351B { background: lime; } +._sBaAj4v { background: lime; } +.Ig420xMn { background: lime; } +.t_MNCpGV { background: lime; } +.ozULn22d { background: lime; } +.qR0Vnn20 { background: lime; } +.tt66IaNP { background: lime; } +.JOQqQG3P { background: lime; } +.RFVWf69B { background: lime; } +.QnhABYwt { background: lime; } +.qRhRpbmB { background: lime; } +.wkL_QN8C { background: lime; } +.KDSjlnnR { background: lime; } +.LsVcYH6Y { background: lime; } +.CNQowmKT { background: lime; } +.eUsF4mDa { background: lime; } +.ESWnsA_A { background: lime; } +.taQ7D9sF { background: lime; } +.AL7FEeDx { background: lime; } + +.GOPxpaxq { + background: hotpink; +} -exports[`modules case \`media\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +.chesbSdq { + background: hotpink; +} -exports[`modules case \`media\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "header": "_1wyVAJXtjGZLoQNO_yG8b3", - "small": "(max-width: 599px)", +.QMeNd406 { + background: hotpink; } -`; -exports[`modules case \`media\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "@media (max-width: 599px) { - ._1wyVAJXtjGZLoQNO_yG8b3 { - box-shadow: 0 0 4px #1F4F7F; - } +.jXaakDKS { + background: hotpink; } ", "", @@ -3321,147 +4377,105 @@ Array [ ] `; -exports[`modules case \`media\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; - -exports[`modules case \`media-2\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +exports[`"modules" option should work and respect the "context" option: warnings 1`] = `[]`; -exports[`modules case \`media-2\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +exports[`"modules" option should work and respect the "exportLocalsConvention" option with the "function" type and returns array names: errors 1`] = `[]`; -exports[`modules case \`media-2\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "@value small from './file.css'; -@media small { - .header { - box-shadow: 0 0 4px #1F4F7F; - } +exports[`"modules" option should work and respect the "exportLocalsConvention" option with the "function" type and returns array names: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.rmc8ltu8P1VXaeqLNU6N { + color: blue; } -", - "", - ], -] -`; -exports[`modules case \`media-2\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; - -exports[`modules case \`media-2\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; - -exports[`modules case \`media-2\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "small": "(max-width: 599px)", +.AooVHuvzAIGXWngdfslc { + color: blue; } -`; -exports[`modules case \`media-2\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - "@media (max-width: 599px) { - .header { - box-shadow: 0 0 4px #1F4F7F; - } +.snmJCrfw3LVnrlx87XVC { + color: red; } -", - "", - ], -] -`; -exports[`modules case \`media-2\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +a { + color: yellow; +} -exports[`modules case \`media-2\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +.vA4oeh0XymefKJVIJyg1 { + color: red; +} -exports[`modules case \`media-2\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "header": "UbDEjEuweJXO7yHMpC8qp", - "small": "(max-width: 599px)", +.mDiC1MIOTWjgsd86woaJ { + color: red; } -`; -exports[`modules case \`media-2\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - "@media (max-width: 599px) { - .UbDEjEuweJXO7yHMpC8qp { - box-shadow: 0 0 4px #1F4F7F; - } +.kY3VVFqpzmTiFlxOd9KU { + color: red; } -", - "", - ], -] -`; -exports[`modules case \`media-2\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.eiLdMC_n9TCXQ0oPIJyI { + color: red; +} +\`, ""]); +// Exports +export var foo_TEST_1 = \`bar\`; +export var foo_TEST_3 = \`bar\`; +export var my_btn_info_is_disabled_TEST_1 = \`value\`; +export var my_btn_info_is_disabled_TEST_3 = \`value\`; +export var btn_info_is_disabled_TEST_1 = \`rmc8ltu8P1VXaeqLNU6N\`; +export var btn_info_is_disabled_TEST_3 = \`rmc8ltu8P1VXaeqLNU6N\`; +export var btn__info_is_disabled_1_TEST_1 = \`AooVHuvzAIGXWngdfslc\`; +export var btn__info_is_disabled_1_TEST_3 = \`AooVHuvzAIGXWngdfslc\`; +export var simple_TEST_1 = \`snmJCrfw3LVnrlx87XVC\`; +export var simple_TEST_3 = \`snmJCrfw3LVnrlx87XVC\`; +export var foo_bar_TEST_1 = \`vA4oeh0XymefKJVIJyg1\`; +export var foo_bar_TEST_3 = \`vA4oeh0XymefKJVIJyg1\`; +export var class_TEST_1 = \`mDiC1MIOTWjgsd86woaJ\`; +export var class_TEST_3 = \`mDiC1MIOTWjgsd86woaJ\`; +export var fooBarBaz_TEST_1 = \`kY3VVFqpzmTiFlxOd9KU\`; +export var fooBarBaz_TEST_3 = \`kY3VVFqpzmTiFlxOd9KU\`; +export var b_TEST_1 = \`eiLdMC_n9TCXQ0oPIJyI\`; +export var b_TEST_3 = \`eiLdMC_n9TCXQ0oPIJyI\`; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the "exportLocalsConvention" option with the "function" type and returns array names: result 1`] = ` +[ + [ + "./modules/localsConvention/localsConvention.css", + ".rmc8ltu8P1VXaeqLNU6N { + color: blue; +} -exports[`modules case \`media-2\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +.AooVHuvzAIGXWngdfslc { + color: blue; +} -exports[`modules case \`media-2\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "small": "(max-width: 599px)", +.snmJCrfw3LVnrlx87XVC { + color: red; } -`; -exports[`modules case \`media-2\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - "@media (max-width: 599px) { - .header { - box-shadow: 0 0 4px #1F4F7F; - } +a { + color: yellow; } -", - "", - ], -] -`; -exports[`modules case \`media-2\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +.vA4oeh0XymefKJVIJyg1 { + color: red; +} -exports[`modules case \`media-2\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +.mDiC1MIOTWjgsd86woaJ { + color: red; +} -exports[`modules case \`media-2\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "header": "_header", - "small": "(max-width: 599px)", +.kY3VVFqpzmTiFlxOd9KU { + color: red; } -`; -exports[`modules case \`media-2\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - "@media (max-width: 599px) { - ._header { - box-shadow: 0 0 4px #1F4F7F; - } +.eiLdMC_n9TCXQ0oPIJyI { + color: red; } ", "", @@ -3469,302 +4483,600 @@ Array [ ] `; -exports[`modules case \`media-2\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +exports[`"modules" option should work and respect the "exportLocalsConvention" option with the "function" type and returns array names: warnings 1`] = `[]`; -exports[`modules case \`media-2\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +exports[`"modules" option should work and respect the "exportLocalsConvention" option with the "function" type: errors 1`] = `[]`; + +exports[`"modules" option should work and respect the "exportLocalsConvention" option with the "function" type: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.rmc8ltu8P1VXaeqLNU6N { + color: blue; +} -exports[`modules case \`media-2\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "header": "UbDEjEuweJXO7yHMpC8qp", - "small": "(max-width: 599px)", +.AooVHuvzAIGXWngdfslc { + color: blue; } -`; -exports[`modules case \`media-2\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - "@media (max-width: 599px) { - .UbDEjEuweJXO7yHMpC8qp { - box-shadow: 0 0 4px #1F4F7F; - } +.snmJCrfw3LVnrlx87XVC { + color: red; } -", - "", - ], -] -`; -exports[`modules case \`media-2\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +a { + color: yellow; +} -exports[`modules case \`mode-switching\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +.vA4oeh0XymefKJVIJyg1 { + color: red; +} -exports[`modules case \`mode-switching\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +.mDiC1MIOTWjgsd86woaJ { + color: red; +} -exports[`modules case \`mode-switching\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".c1 :local .c2 .c3 :global .c4 :local .c5, .c6 :local .c7 { background: red; } -.c8 { background: red; } -", - "", - ], -] -`; +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} -exports[`modules case \`mode-switching\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +.eiLdMC_n9TCXQ0oPIJyI { + color: red; +} +\`, ""]); +// Exports +export var foo_TEST = \`bar\`; +export var my_btn_info_is_disabled_TEST = \`value\`; +export var btn_info_is_disabled_TEST = \`rmc8ltu8P1VXaeqLNU6N\`; +export var btn__info_is_disabled_1_TEST = \`AooVHuvzAIGXWngdfslc\`; +export var simple_TEST = \`snmJCrfw3LVnrlx87XVC\`; +export var foo_bar_TEST = \`vA4oeh0XymefKJVIJyg1\`; +export var class_TEST = \`mDiC1MIOTWjgsd86woaJ\`; +export var fooBarBaz_TEST = \`kY3VVFqpzmTiFlxOd9KU\`; +export var b_TEST = \`eiLdMC_n9TCXQ0oPIJyI\`; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the "exportLocalsConvention" option with the "function" type: result 1`] = ` +[ + [ + "./modules/localsConvention/localsConvention.css", + ".rmc8ltu8P1VXaeqLNU6N { + color: blue; +} -exports[`modules case \`mode-switching\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +.AooVHuvzAIGXWngdfslc { + color: blue; +} -exports[`modules case \`mode-switching\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "c2": "LgC5kpXZK3IOCPWWctF7f", - "c3": "_2ZTY7KJ2nkQND4VqlaSz9a", - "c5": "tEu6_PTqhxImp1tyYQTWz", - "c7": "FBEuAfqI8VKhU-w-9RNH", +.snmJCrfw3LVnrlx87XVC { + color: red; } -`; -exports[`modules case \`mode-switching\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".c1 .LgC5kpXZK3IOCPWWctF7f ._2ZTY7KJ2nkQND4VqlaSz9a .c4 .tEu6_PTqhxImp1tyYQTWz, .c6 .FBEuAfqI8VKhU-w-9RNH { background: red; } -.c8 { background: red; } -", - "", - ], -] -`; +a { + color: yellow; +} -exports[`modules case \`mode-switching\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +.vA4oeh0XymefKJVIJyg1 { + color: red; +} -exports[`modules case \`mode-switching\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +.mDiC1MIOTWjgsd86woaJ { + color: red; +} -exports[`modules case \`mode-switching\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "c1": "_sSeqF3tTS8i-oJLOiW66", - "c2": "LgC5kpXZK3IOCPWWctF7f", - "c3": "_2ZTY7KJ2nkQND4VqlaSz9a", - "c5": "tEu6_PTqhxImp1tyYQTWz", - "c6": "sUDXsigYAAb8sNlOMs_Oc", - "c7": "FBEuAfqI8VKhU-w-9RNH", - "c8": "_1JUWq0LIxk9cx-H1cbqyAD", +.kY3VVFqpzmTiFlxOd9KU { + color: red; } -`; -exports[`modules case \`mode-switching\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._sSeqF3tTS8i-oJLOiW66 .LgC5kpXZK3IOCPWWctF7f ._2ZTY7KJ2nkQND4VqlaSz9a .c4 .tEu6_PTqhxImp1tyYQTWz, .sUDXsigYAAb8sNlOMs_Oc .FBEuAfqI8VKhU-w-9RNH { background: red; } -._1JUWq0LIxk9cx-H1cbqyAD { background: red; } +.eiLdMC_n9TCXQ0oPIJyI { + color: red; +} ", "", ], ] `; -exports[`modules case \`mode-switching\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +exports[`"modules" option should work and respect the "exportLocalsConvention" option with the "function" type: warnings 1`] = `[]`; -exports[`modules case \`mode-switching\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +exports[`"modules" option should work and respect the "exportOnlyLocals" option: errors 1`] = `[]`; -exports[`modules case \`mode-switching\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "c2": "_c2", - "c3": "_c3", - "c5": "_c5", - "c7": "_c7", +exports[`"modules" option should work and respect the "exportOnlyLocals" option: module 1`] = ` +"// Imports +import * as ___CSS_LOADER_ICSS_IMPORT_0____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./values.css"; +import * as ___CSS_LOADER_ICSS_IMPORT_1____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./something.css"; +import * as ___CSS_LOADER_ICSS_IMPORT_2____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./imported-simple.css"; +import * as ___CSS_LOADER_ICSS_IMPORT_3____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./relative.css"; +import * as ___CSS_LOADER_ICSS_IMPORT_4____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./top-relative.css"; +import * as ___CSS_LOADER_ICSS_IMPORT_5____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!../issue-861/node_modules/package/style.css"; +import * as ___CSS_LOADER_ICSS_IMPORT_6____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!./alias.css"; +import * as ___CSS_LOADER_ICSS_IMPORT_7____NAMED___ from "-!../../../../src/index.js??ruleSet[1].rules[0].use[0]!sass-loader!./scss-file.scss"; +// Exports +var _1 = \`\${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["v-def"]}\`; +export { _1 as "v-def" }; +var _2 = \`\${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["v-other"]}\`; +export { _2 as "v-other" }; +var _3 = \`\${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["s-white"]}\`; +export { _3 as "s-white" }; +var _4 = \`\${___CSS_LOADER_ICSS_IMPORT_0____NAMED___["m-small"]}\`; +export { _4 as "m-small" }; +var _5 = \`\${___CSS_LOADER_ICSS_IMPORT_1____NAMED___["v-something"]}\`; +export { _5 as "v-something" }; +var _6 = \`blue\`; +export { _6 as "v-foo" }; +var _7 = \`block\`; +export { _7 as "v-bar" }; +var _8 = \`#BF4040\`; +export { _8 as "v-primary" }; +var _9 = \`black-selector\`; +export { _9 as "s-black" }; +var _a = \`(min-width: 960px)\`; +export { _a as "m-large" }; +var _b = \`validIdent\`; +export { _b as "v-ident" }; +var _c = \`left\`; +export { _c as "v-pre-defined-ident" }; +var _d = \`'content'\`; +export { _d as "v-string" }; +var _e = \`''\`; +export { _e as "v-string-1" }; +var _f = \`url(https://www.exammple.com/images/my-background.png)\`; +export { _f as "v-url" }; +var _10 = \`url('https://www.exammple.com/images/my-background.png')\`; +export { _10 as "v-url-1" }; +var _11 = \`url("https://www.exammple.com/images/my-background.png")\`; +export { _11 as "v-url-2" }; +var _12 = \`100\`; +export { _12 as "v-integer" }; +var _13 = \`-100\`; +export { _13 as "v-integer-1" }; +var _14 = \`+100\`; +export { _14 as "v-integer-2" }; +var _15 = \`.60\`; +export { _15 as "v-number" }; +var _16 = \`-456.8\`; +export { _16 as "v-number-1" }; +var _17 = \`-3.4e-2\`; +export { _17 as "v-number-2" }; +var _18 = \`12px\`; +export { _18 as "v-dimension" }; +var _19 = \`100%\`; +export { _19 as "v-percentage" }; +var _1a = \`#fff\`; +export { _1a as "v-hex" }; +var _1b = \` /* comment */\`; +export { _1b as "v-comment" }; +var _1c = \`rgb(0,0,0)\`; +export { _1c as "v-function" }; +var _1d = \`U+0025-00FF\`; +export { _1d as "v-unicode-range" }; +export var ghi = \`_ghi\`; +var _1e = \`_my-class\`; +export { _1e as "my-class" }; +export var other = \`_other\`; +var _1f = \`_other-other\`; +export { _1f as "other-other" }; +export var green = \`_green\`; +export var foo = \`_foo\`; +export var simple = \`_simple \${___CSS_LOADER_ICSS_IMPORT_2____NAMED___["imported-simple"]}\`; +export var relative = \`_relative \${___CSS_LOADER_ICSS_IMPORT_3____NAMED___["imported-relative"]}\`; +var _20 = \`_top-relative \${___CSS_LOADER_ICSS_IMPORT_4____NAMED___["imported-relative"]}\`; +export { _20 as "top-relative" }; +var _21 = \`_my-module \${___CSS_LOADER_ICSS_IMPORT_5____NAMED___["imported-module"]}\`; +export { _21 as "my-module" }; +export var alias = \`_alias \${___CSS_LOADER_ICSS_IMPORT_6____NAMED___["imported-alias"]}\`; +var _22 = \`_alias-duplicate \${___CSS_LOADER_ICSS_IMPORT_6____NAMED___["imported-alias"]}\`; +export { _22 as "alias-duplicate" }; +var _23 = \`_primary-selector\`; +export { _23 as "primary-selector" }; +var _24 = \`_black-selector\`; +export { _24 as "black-selector" }; +export var header = \`_header\`; +export var foobarbaz = \`_foobarbaz\`; +export var url = \`_url\`; +export var main = \`_main \${___CSS_LOADER_ICSS_IMPORT_7____NAMED___["scssClass"]}\`; +" +`; + +exports[`"modules" option should work and respect the "exportOnlyLocals" option: result 1`] = ` +{ + "alias": "_alias _imported-alias", + "alias-duplicate": "_alias-duplicate _imported-alias", + "black-selector": "_black-selector", + "foo": "_foo", + "foobarbaz": "_foobarbaz", + "ghi": "_ghi", + "green": "_green", + "header": "_header", + "m-large": "(min-width: 960px)", + "m-small": "(min-width: 320px)", + "main": "_main _scssClass", + "my-class": "_my-class", + "my-module": "_my-module _imported-module", + "other": "_other", + "other-other": "_other-other", + "primary-selector": "_primary-selector", + "relative": "_relative _imported-relative", + "s-black": "black-selector", + "s-white": "white", + "simple": "_simple _imported-simple", + "top-relative": "_top-relative _imported-relative", + "url": "_url", + "v-bar": "block", + "v-comment": " /* comment */", + "v-def": "red", + "v-dimension": "12px", + "v-foo": "blue", + "v-function": "rgb(0,0,0)", + "v-hex": "#fff", + "v-ident": "validIdent", + "v-integer": "100", + "v-integer-1": "-100", + "v-integer-2": "+100", + "v-number": ".60", + "v-number-1": "-456.8", + "v-number-2": "-3.4e-2", + "v-other": "green", + "v-percentage": "100%", + "v-pre-defined-ident": "left", + "v-primary": "#BF4040", + "v-something": "2112moon", + "v-string": "'content'", + "v-string-1": "''", + "v-unicode-range": "U+0025-00FF", + "v-url": "url(https://www.exammple.com/images/my-background.png)", + "v-url-1": "url('https://www.exammple.com/images/my-background.png')", + "v-url-2": "url("https://www.exammple.com/images/my-background.png")", } `; -exports[`modules case \`mode-switching\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".c1 ._c2 ._c3 .c4 ._c5, .c6 ._c7 { background: red; } -.c8 { background: red; } -", - "", - ], +exports[`"modules" option should work and respect the "exportOnlyLocals" option: warnings 1`] = ` +[ + "ModuleWarning: Module Warning (from \`replaced original path\`): +Deprecation The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0. + +More info: https://sass-lang.com/d/legacy-js-api", ] `; -exports[`modules case \`mode-switching\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +exports[`"modules" option should work and respect the "getLocalIdent" option: errors 1`] = `[]`; -exports[`modules case \`mode-switching\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +exports[`"modules" option should work and respect the "getLocalIdent" option: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.foo { + background: red; +} -exports[`modules case \`mode-switching\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "c1": "_c1", - "c2": "_c2", - "c3": "_c3", - "c5": "_c5", - "c6": "_c6", - "c7": "_c7", - "c8": "_c8", +.foo { + background: blue; } -`; -exports[`modules case \`mode-switching\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._c1 ._c2 ._c3 .c4 ._c5, ._c6 ._c7 { background: red; } -._c8 { background: red; } -", - "", - ], -] -`; +.foo { + background: red; +} -exports[`modules case \`mode-switching\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +#foo { + background: green; +} -exports[`modules case \`mode-switching\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +.foo .foo { + color: green; +} -exports[`modules case \`mode-switching\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "c1": "_sSeqF3tTS8i-oJLOiW66", - "c2": "LgC5kpXZK3IOCPWWctF7f", - "c3": "_2ZTY7KJ2nkQND4VqlaSz9a", - "c5": "tEu6_PTqhxImp1tyYQTWz", - "c6": "sUDXsigYAAb8sNlOMs_Oc", - "c7": "FBEuAfqI8VKhU-w-9RNH", - "c8": "_1JUWq0LIxk9cx-H1cbqyAD", +#foo .foo { + color: blue; } -`; -exports[`modules case \`mode-switching\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._sSeqF3tTS8i-oJLOiW66 .LgC5kpXZK3IOCPWWctF7f ._2ZTY7KJ2nkQND4VqlaSz9a .c4 .tEu6_PTqhxImp1tyYQTWz, .sUDXsigYAAb8sNlOMs_Oc .FBEuAfqI8VKhU-w-9RNH { background: red; } -._1JUWq0LIxk9cx-H1cbqyAD { background: red; } -", - "", - ], -] -`; +.foo { + color: red; +} -exports[`modules case \`mode-switching\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +.foo { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`simple\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +.foo { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`simple\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +/* matches elements with class=":\\\`(" */ +.foo { + color: aqua; +} -exports[`modules case \`simple\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".a .b, .c .d, #id { - color: green; - font-size: 1.5pt; +/* matches elements with class="1a2b3c" */ +.foo { + color: aliceblue; } -a[href=\\"#b.c\\"].x.y { - color: green; - font-size: 1.5pt; + +/* matches the element with id="#fake-id" */ +#foo { + color: antiquewhite; } -@keyframes z { - 2.5% {color: green;} + +/* matches the element with id="-a-b-c-" */ +#foo { + color: azure; } -", - "", - ], -] -`; -exports[`modules case \`simple\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +/* matches the element with id="©" */ +#foo { + color: black; +} -exports[`modules case \`simple\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } + +.foo { + background: hotpink; +} -exports[`modules case \`simple\` (\`modules\` value is \`global)\`: locals 1`] = `undefined`; +.foo { + background: hotpink; +} -exports[`modules case \`simple\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".a .b, .c .d, #id { - color: green; - font-size: 1.5pt; +.foo { + background: hotpink; } -a[href=\\"#b.c\\"].x.y { - color: green; - font-size: 1.5pt; + +.foo { + background: hotpink; } -@keyframes z { - 2.5% {color: green;} +\`, ""]); +// Exports +var _1 = \`foo\`; +export { _1 as "123" }; +export var test = \`foo\`; +export var _test = \`foo\`; +export var className = \`foo\`; +export var someId = \`foo\`; +export var subClass = \`foo\`; +var _2 = \`foo\`; +export { _2 as "-a0-34a___f" }; +var _3 = \`foo\`; +export { _3 as "m_x_@" }; +var _4 = \`foo\`; +export { _4 as "B&W?" }; +var _5 = \`foo\`; +export { _5 as ":\`(" }; +var _6 = \`foo\`; +export { _6 as "1a2b3c" }; +var _7 = \`foo\`; +export { _7 as "#fake-id" }; +var _8 = \`foo\`; +export { _8 as "-a-b-c-" }; +var _9 = \`foo\`; +export { _9 as "©" }; +var _a = \`foo\`; +export { _a as "♥" }; +var _b = \`foo\`; +export { _b as "😍" }; +var _c = \`foo\`; +export { _c as "“‘’”" }; +var _d = \`foo\`; +export { _d as "☺☃" }; +var _e = \`foo\`; +export { _e as "⌘⌥" }; +var _f = \`foo\`; +export { _f as "𝄞♪♩♫♬" }; +var _10 = \`foo\`; +export { _10 as "💩" }; +var _11 = \`foo\`; +export { _11 as "?" }; +var _12 = \`foo\`; +export { _12 as "@" }; +var _13 = \`foo\`; +export { _13 as "." }; +var _14 = \`foo\`; +export { _14 as ":)" }; +var _15 = \`foo\`; +export { _15 as "

" }; +var _16 = \`foo\`; +export { _16 as "<><<<>><>" }; +var _17 = \`foo\`; +export { _17 as "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." }; +var _18 = \`foo\`; +export { _18 as "#" }; +var _19 = \`foo\`; +export { _19 as "##" }; +var _1a = \`foo\`; +export { _1a as "#.#.#" }; +export var _ = \`foo\`; +var _1b = \`foo\`; +export { _1b as "{}" }; +var _1c = \`foo\`; +export { _1c as "foo.bar" }; +var _1d = \`foo\`; +export { _1d as ":hover" }; +var _1e = \`foo\`; +export { _1e as ":hover:focus:active" }; +var _1f = \`foo\`; +export { _1f as "[attr=value]" }; +var _20 = \`foo\`; +export { _20 as "f/o/o" }; +var _21 = \`foo\`; +export { _21 as "f\\\\o\\\\o" }; +var _22 = \`foo\`; +export { _22 as "f*o*o" }; +var _23 = \`foo\`; +export { _23 as "f!o!o" }; +var _24 = \`foo\`; +export { _24 as "f'o'o" }; +var _25 = \`foo\`; +export { _25 as "f~o~o" }; +var _26 = \`foo\`; +export { _26 as "f+o+o" }; +var _27 = \`foo\`; +export { _27 as "foo/bar" }; +var _28 = \`foo\`; +export { _28 as "foo\\\\bar" }; +var _29 = \`foo\`; +export { _29 as "foo/bar/baz" }; +var _2a = \`foo\`; +export { _2a as "foo\\\\bar\\\\baz" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the "getLocalIdent" option: result 1`] = ` +[ + [ + "./modules/localIdentName/localIdentName.css", + ".foo { + background: red; } -", - "", - ], -] -`; -exports[`modules case \`simple\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +.foo { + background: blue; +} -exports[`modules case \`simple\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +.foo { + background: red; +} -exports[`modules case \`simple\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "a": "_3Usq4DWpHHUfARGj76o2W1", - "b": "_2sE42PHfIbHjbGigpdA5M2", - "c": "_3JN7IxYrHx5fpD-QuNH8Vg", - "d": "_169FAY78xdP6MpwfqxWVlS", - "id": "_2w6DrNK6drHoI8na0s2YJu", - "x": "_3jqDKJEcQhMnSj5LXFzCMT", - "y": "_2CdavzdbxA-_uaXjgT2eG", - "z": "eawDxhAAUQ-HvrUhhwSML", +#foo { + background: green; } -`; -exports[`modules case \`simple\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._3Usq4DWpHHUfARGj76o2W1 ._2sE42PHfIbHjbGigpdA5M2, ._3JN7IxYrHx5fpD-QuNH8Vg ._169FAY78xdP6MpwfqxWVlS, #_2w6DrNK6drHoI8na0s2YJu { - color: green; - font-size: 1.5pt; +.foo .foo { + color: green; } -a[href=\\"#b.c\\"]._3jqDKJEcQhMnSj5LXFzCMT._2CdavzdbxA-_uaXjgT2eG { - color: green; - font-size: 1.5pt; + +#foo .foo { + color: blue; } -@keyframes eawDxhAAUQ-HvrUhhwSML { - 2.5% {color: green;} + +.foo { + color: red; +} + +.foo { + margin-left: auto !important; + margin-right: auto !important; } -", - "", - ], -] -`; -exports[`modules case \`simple\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.foo { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`simple\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +/* matches elements with class=":\`(" */ +.foo { + color: aqua; +} -exports[`modules case \`simple\` (\`modules\` value is \`object with mode global)\`: locals 1`] = `undefined`; +/* matches elements with class="1a2b3c" */ +.foo { + color: aliceblue; +} -exports[`modules case \`simple\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".a .b, .c .d, #id { - color: green; - font-size: 1.5pt; +/* matches the element with id="#fake-id" */ +#foo { + color: antiquewhite; } -a[href=\\"#b.c\\"].x.y { - color: green; - font-size: 1.5pt; + +/* matches the element with id="-a-b-c-" */ +#foo { + color: azure; } -@keyframes z { - 2.5% {color: green;} + +/* matches the element with id="©" */ +#foo { + color: black; +} + +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } +.foo { background: lime; } + +.foo { + background: hotpink; +} + +.foo { + background: hotpink; +} + +.foo { + background: hotpink; +} + +.foo { + background: hotpink; } ", "", @@ -3772,267 +5084,343 @@ a[href=\\"#b.c\\"].x.y { ] `; -exports[`modules case \`simple\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +exports[`"modules" option should work and respect the "getLocalIdent" option: warnings 1`] = `[]`; -exports[`modules case \`simple\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +exports[`"modules" option should work and respect the "hashSalt" option: errors 1`] = `[]`; -exports[`modules case \`simple\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "a": "_a", - "b": "_b", - "c": "_c", - "d": "_d", - "id": "_id", - "x": "_x", - "y": "_y", - "z": "_z", +exports[`"modules" option should work and respect the "hashSalt" option: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.test--a5c5ad41747f587b6274 { + background: red; } -`; -exports[`modules case \`simple\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._a ._b, ._c ._d, #_id { - color: green; - font-size: 1.5pt; +._test--df4a97df5d4981c18fd3 { + background: blue; } -a[href=\\"#b.c\\"]._x._y { - color: green; - font-size: 1.5pt; + +.className--f51a39697d46ec360e5d { + background: red; } -@keyframes _z { - 2.5% {color: green;} + +#someId--a66e8413a3c261c3b5db { + background: green; } -", - "", - ], -] -`; -exports[`modules case \`simple\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +.className--f51a39697d46ec360e5d .subClass--a2c5762a1671ee02d495 { + color: green; +} -exports[`modules case \`simple\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +#someId--a66e8413a3c261c3b5db .subClass--a2c5762a1671ee02d495 { + color: blue; +} -exports[`modules case \`simple\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "a": "_3Usq4DWpHHUfARGj76o2W1", - "b": "_2sE42PHfIbHjbGigpdA5M2", - "c": "_3JN7IxYrHx5fpD-QuNH8Vg", - "d": "_169FAY78xdP6MpwfqxWVlS", - "id": "_2w6DrNK6drHoI8na0s2YJu", - "x": "_3jqDKJEcQhMnSj5LXFzCMT", - "y": "_2CdavzdbxA-_uaXjgT2eG", - "z": "eawDxhAAUQ-HvrUhhwSML", +.-a0-34a___f--bcceae76b21ea32837d1 { + color: red; } -`; -exports[`modules case \`simple\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._3Usq4DWpHHUfARGj76o2W1 ._2sE42PHfIbHjbGigpdA5M2, ._3JN7IxYrHx5fpD-QuNH8Vg ._169FAY78xdP6MpwfqxWVlS, #_2w6DrNK6drHoI8na0s2YJu { - color: green; - font-size: 1.5pt; +.m_x_\\\\@--bf8f3ed982973d67547f { + margin-left: auto !important; + margin-right: auto !important; } -a[href=\\"#b.c\\"]._3jqDKJEcQhMnSj5LXFzCMT._2CdavzdbxA-_uaXjgT2eG { - color: green; - font-size: 1.5pt; + +.B\\\\&W\\\\?--fdee73d5165bc2acf73d { + margin-left: auto !important; + margin-right: auto !important; } -@keyframes eawDxhAAUQ-HvrUhhwSML { - 2.5% {color: green;} + +/* matches elements with class=":\\\`(" */ +.\\\\3A \\\\\\\`\\\\(--daecad79b824a8ae7e46 { + color: aqua; } -", - "", - ], -] -`; -exports[`modules case \`simple\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +/* matches elements with class="1a2b3c" */ +.\\\\31 a2b3c--d785e50a661529be89f2 { + color: aliceblue; +} -exports[`modules case \`urls\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +/* matches the element with id="#fake-id" */ +#\\\\#fake-id--a2d7428449895097291a { + color: antiquewhite; +} -exports[`modules case \`urls\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +/* matches the element with id="-a-b-c-" */ +#-a-b-c---ccf3274dd45a8534913a { + color: azure; +} -exports[`modules case \`urls\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".a { - background: url(/webpack/public/path/img.png); - background: url(/webpack/public/path/img.png); - background: url(\\"/webpack/public/path/img img.png\\"); - background: url(\\"/webpack/public/path/img img.png\\"); - background: url(/webpack/public/path/img.png); - background: url(/webpack/public/path/img.png#?iefix); - background: url(\\"#hash\\"); - background: url(\\"#\\"); - background: url(data:image/png;base64,AAA); - background: url(http://example.com/image.jpg); - background: url(//example.com/image.png); - background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) url(/webpack/public/path/img.png) url(\\"/webpack/public/path/img img.png\\") xyz; +/* matches the element with id="©" */ +#©--adb36177ba3316dd9afb { + color: black; } -", - "", - ], -] -`; -exports[`modules case \`urls\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +.♥--c663262caaf9ada1c6a0 { background: lime; } +.©--adb36177ba3316dd9afb { background: lime; } +.😍--d8e76280f5be316bb39c { background: lime; } +.“‘’”--f87afd60ed2beca8050a { background: lime; } +.☺☃--fe372e2946d00a877026 { background: lime; } +.⌘⌥--fc006a6459cc592e3b7c { background: lime; } +.𝄞♪♩♫♬--fd618d266b80203525ea { background: lime; } +.💩--da6582591f548841513d { background: lime; } +.\\\\?--b11162427f8dc0109aaf { background: lime; } +.\\\\@--bb281d67eaa9e09d6112 { background: lime; } +.\\\\.--b1699afe1173ecd986e4 { background: lime; } +.\\\\3A \\\\)--a94f76ff951371f51151 { background: lime; } +.\\\\3A \\\\\\\`\\\\(--daecad79b824a8ae7e46 { background: lime; } +.\\\\31 23--d235ae87e4273d19e7e5 { background: lime; } +.\\\\31 a2b3c--d785e50a661529be89f2 { background: lime; } +.\\\\--cc00b17b428adef51f6c { background: lime; } +.\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\>--a2a770d06d29491cb90e { background: lime; } +.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\.--cc7846d4433278cb7dc4 { background: lime; } +.\\\\#--c7a943b3297883fd2089 { background: lime; } +.\\\\#\\\\#--ea628e8df88221969552 { background: lime; } +.\\\\#\\\\.\\\\#\\\\.\\\\#--dea710d8c9521902e062 { background: lime; } +.\\\\_--e9f571bfd47fb40b377c { background: lime; } +.\\\\{\\\\}--def5f97b0ff315e9c069 { background: lime; } +.\\\\#fake\\\\-id--a2d7428449895097291a { background: lime; } +.foo\\\\.bar--a4aa4a1a78b94ac062a8 { background: lime; } +.\\\\3A hover--cc13dcdd34f352f8db26 { background: lime; } +.\\\\3A hover\\\\3A focus\\\\3A active--de4f205b1da2542a3508 { background: lime; } +.\\\\[attr\\\\=value\\\\]--ed6f9744ffabc36e81fd { background: lime; } +.f\\\\/o\\\\/o--fef3c40a18a3bdc6aadf { background: lime; } +.f\\\\\\\\o\\\\\\\\o--bed5a37b85151828fd59 { background: lime; } +.f\\\\*o\\\\*o--dbb328bab1b211b02df5 { background: lime; } +.f\\\\!o\\\\!o--d35399e626d374f6a536 { background: lime; } +.f\\\\'o\\\\'o--dffb0a3cb0c3b935c5f4 { background: lime; } +.f\\\\~o\\\\~o--f3f5d93f57c13ee77bb5 { background: lime; } +.f\\\\+o\\\\+o--d70c625b18c77fdca148 { background: lime; } + +.foo\\\\/bar--bb4ad2f425527544553f { + background: hotpink; +} -exports[`modules case \`urls\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +.foo\\\\\\\\bar--e8ba4f9a74f8b7fa8361 { + background: hotpink; +} -exports[`modules case \`urls\` (\`modules\` value is \`global)\`: locals 1`] = `undefined`; +.foo\\\\/bar\\\\/baz--b5eb40201778b94976f0 { + background: hotpink; +} -exports[`modules case \`urls\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".a { - background: url(/webpack/public/path/img.png); - background: url(/webpack/public/path/img.png); - background: url(\\"/webpack/public/path/img img.png\\"); - background: url(\\"/webpack/public/path/img img.png\\"); - background: url(/webpack/public/path/img.png); - background: url(/webpack/public/path/img.png#?iefix); - background: url(\\"#hash\\"); - background: url(\\"#\\"); - background: url(data:image/png;base64,AAA); - background: url(http://example.com/image.jpg); - background: url(//example.com/image.png); - background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) url(/webpack/public/path/img.png) url(\\"/webpack/public/path/img img.png\\") xyz; +.foo\\\\\\\\bar\\\\\\\\baz--b178648b8128f2bbc548 { + background: hotpink; +} +\`, ""]); +// Exports +var _1 = \`123--d235ae87e4273d19e7e5\`; +export { _1 as "123" }; +export var test = \`test--a5c5ad41747f587b6274\`; +export var _test = \`_test--df4a97df5d4981c18fd3\`; +export var className = \`className--f51a39697d46ec360e5d\`; +export var someId = \`someId--a66e8413a3c261c3b5db\`; +export var subClass = \`subClass--a2c5762a1671ee02d495\`; +var _2 = \`-a0-34a___f--bcceae76b21ea32837d1\`; +export { _2 as "-a0-34a___f" }; +var _3 = \`m_x_@--bf8f3ed982973d67547f\`; +export { _3 as "m_x_@" }; +var _4 = \`B&W?--fdee73d5165bc2acf73d\`; +export { _4 as "B&W?" }; +var _5 = \`:\\\`(--daecad79b824a8ae7e46\`; +export { _5 as ":\`(" }; +var _6 = \`1a2b3c--d785e50a661529be89f2\`; +export { _6 as "1a2b3c" }; +var _7 = \`#fake-id--a2d7428449895097291a\`; +export { _7 as "#fake-id" }; +var _8 = \`-a-b-c---ccf3274dd45a8534913a\`; +export { _8 as "-a-b-c-" }; +var _9 = \`©--adb36177ba3316dd9afb\`; +export { _9 as "©" }; +var _a = \`♥--c663262caaf9ada1c6a0\`; +export { _a as "♥" }; +var _b = \`😍--d8e76280f5be316bb39c\`; +export { _b as "😍" }; +var _c = \`“‘’”--f87afd60ed2beca8050a\`; +export { _c as "“‘’”" }; +var _d = \`☺☃--fe372e2946d00a877026\`; +export { _d as "☺☃" }; +var _e = \`⌘⌥--fc006a6459cc592e3b7c\`; +export { _e as "⌘⌥" }; +var _f = \`𝄞♪♩♫♬--fd618d266b80203525ea\`; +export { _f as "𝄞♪♩♫♬" }; +var _10 = \`💩--da6582591f548841513d\`; +export { _10 as "💩" }; +var _11 = \`?--b11162427f8dc0109aaf\`; +export { _11 as "?" }; +var _12 = \`@--bb281d67eaa9e09d6112\`; +export { _12 as "@" }; +var _13 = \`.--b1699afe1173ecd986e4\`; +export { _13 as "." }; +var _14 = \`:)--a94f76ff951371f51151\`; +export { _14 as ":)" }; +var _15 = \`

--cc00b17b428adef51f6c\`; +export { _15 as "

" }; +var _16 = \`<><<<>><>--a2a770d06d29491cb90e\`; +export { _16 as "<><<<>><>" }; +var _17 = \`++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.--cc7846d4433278cb7dc4\`; +export { _17 as "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." }; +var _18 = \`#--c7a943b3297883fd2089\`; +export { _18 as "#" }; +var _19 = \`##--ea628e8df88221969552\`; +export { _19 as "##" }; +var _1a = \`#.#.#--dea710d8c9521902e062\`; +export { _1a as "#.#.#" }; +export var _ = \`_--e9f571bfd47fb40b377c\`; +var _1b = \`{}--def5f97b0ff315e9c069\`; +export { _1b as "{}" }; +var _1c = \`foo.bar--a4aa4a1a78b94ac062a8\`; +export { _1c as "foo.bar" }; +var _1d = \`:hover--cc13dcdd34f352f8db26\`; +export { _1d as ":hover" }; +var _1e = \`:hover:focus:active--de4f205b1da2542a3508\`; +export { _1e as ":hover:focus:active" }; +var _1f = \`[attr=value]--ed6f9744ffabc36e81fd\`; +export { _1f as "[attr=value]" }; +var _20 = \`f/o/o--fef3c40a18a3bdc6aadf\`; +export { _20 as "f/o/o" }; +var _21 = \`f\\\\o\\\\o--bed5a37b85151828fd59\`; +export { _21 as "f\\\\o\\\\o" }; +var _22 = \`f*o*o--dbb328bab1b211b02df5\`; +export { _22 as "f*o*o" }; +var _23 = \`f!o!o--d35399e626d374f6a536\`; +export { _23 as "f!o!o" }; +var _24 = \`f'o'o--dffb0a3cb0c3b935c5f4\`; +export { _24 as "f'o'o" }; +var _25 = \`f~o~o--f3f5d93f57c13ee77bb5\`; +export { _25 as "f~o~o" }; +var _26 = \`f+o+o--d70c625b18c77fdca148\`; +export { _26 as "f+o+o" }; +var _27 = \`foo/bar--bb4ad2f425527544553f\`; +export { _27 as "foo/bar" }; +var _28 = \`foo\\\\bar--e8ba4f9a74f8b7fa8361\`; +export { _28 as "foo\\\\bar" }; +var _29 = \`foo/bar/baz--b5eb40201778b94976f0\`; +export { _29 as "foo/bar/baz" }; +var _2a = \`foo\\\\bar\\\\baz--b178648b8128f2bbc548\`; +export { _2a as "foo\\\\bar\\\\baz" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the "hashSalt" option: result 1`] = ` +[ + [ + "./modules/localIdentName/localIdentName.css", + ".test--a5c5ad41747f587b6274 { + background: red; +} + +._test--df4a97df5d4981c18fd3 { + background: blue; } -", - "", - ], -] -`; -exports[`modules case \`urls\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +.className--f51a39697d46ec360e5d { + background: red; +} -exports[`modules case \`urls\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +#someId--a66e8413a3c261c3b5db { + background: green; +} -exports[`modules case \`urls\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "a": "_1goi1QVFtUMjX82JoFfLLJ", +.className--f51a39697d46ec360e5d .subClass--a2c5762a1671ee02d495 { + color: green; } -`; -exports[`modules case \`urls\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1goi1QVFtUMjX82JoFfLLJ { - background: url(/webpack/public/path/img.png); - background: url(/webpack/public/path/img.png); - background: url(\\"/webpack/public/path/img img.png\\"); - background: url(\\"/webpack/public/path/img img.png\\"); - background: url(/webpack/public/path/img.png); - background: url(/webpack/public/path/img.png#?iefix); - background: url(\\"#hash\\"); - background: url(\\"#\\"); - background: url(data:image/png;base64,AAA); - background: url(http://example.com/image.jpg); - background: url(//example.com/image.png); - background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) url(/webpack/public/path/img.png) url(\\"/webpack/public/path/img img.png\\") xyz; +#someId--a66e8413a3c261c3b5db .subClass--a2c5762a1671ee02d495 { + color: blue; } -", - "", - ], -] -`; -exports[`modules case \`urls\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.-a0-34a___f--bcceae76b21ea32837d1 { + color: red; +} -exports[`modules case \`urls\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +.m_x_\\@--bf8f3ed982973d67547f { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`urls\` (\`modules\` value is \`object with mode global)\`: locals 1`] = `undefined`; +.B\\&W\\?--fdee73d5165bc2acf73d { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`urls\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".a { - background: url(/webpack/public/path/img.png); - background: url(/webpack/public/path/img.png); - background: url(\\"/webpack/public/path/img img.png\\"); - background: url(\\"/webpack/public/path/img img.png\\"); - background: url(/webpack/public/path/img.png); - background: url(/webpack/public/path/img.png#?iefix); - background: url(\\"#hash\\"); - background: url(\\"#\\"); - background: url(data:image/png;base64,AAA); - background: url(http://example.com/image.jpg); - background: url(//example.com/image.png); - background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) url(/webpack/public/path/img.png) url(\\"/webpack/public/path/img img.png\\") xyz; +/* matches elements with class=":\`(" */ +.\\3A \\\`\\(--daecad79b824a8ae7e46 { + color: aqua; } -", - "", - ], -] -`; -exports[`modules case \`urls\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +/* matches elements with class="1a2b3c" */ +.\\31 a2b3c--d785e50a661529be89f2 { + color: aliceblue; +} -exports[`modules case \`urls\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +/* matches the element with id="#fake-id" */ +#\\#fake-id--a2d7428449895097291a { + color: antiquewhite; +} -exports[`modules case \`urls\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "a": "_a", +/* matches the element with id="-a-b-c-" */ +#-a-b-c---ccf3274dd45a8534913a { + color: azure; } -`; -exports[`modules case \`urls\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._a { - background: url(/webpack/public/path/img.png); - background: url(/webpack/public/path/img.png); - background: url(\\"/webpack/public/path/img img.png\\"); - background: url(\\"/webpack/public/path/img img.png\\"); - background: url(/webpack/public/path/img.png); - background: url(/webpack/public/path/img.png#?iefix); - background: url(\\"#hash\\"); - background: url(\\"#\\"); - background: url(data:image/png;base64,AAA); - background: url(http://example.com/image.jpg); - background: url(//example.com/image.png); - background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) url(/webpack/public/path/img.png) url(\\"/webpack/public/path/img img.png\\") xyz; +/* matches the element with id="©" */ +#©--adb36177ba3316dd9afb { + color: black; } -", - "", - ], -] -`; -exports[`modules case \`urls\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +.♥--c663262caaf9ada1c6a0 { background: lime; } +.©--adb36177ba3316dd9afb { background: lime; } +.😍--d8e76280f5be316bb39c { background: lime; } +.“‘’”--f87afd60ed2beca8050a { background: lime; } +.☺☃--fe372e2946d00a877026 { background: lime; } +.⌘⌥--fc006a6459cc592e3b7c { background: lime; } +.𝄞♪♩♫♬--fd618d266b80203525ea { background: lime; } +.💩--da6582591f548841513d { background: lime; } +.\\?--b11162427f8dc0109aaf { background: lime; } +.\\@--bb281d67eaa9e09d6112 { background: lime; } +.\\.--b1699afe1173ecd986e4 { background: lime; } +.\\3A \\)--a94f76ff951371f51151 { background: lime; } +.\\3A \\\`\\(--daecad79b824a8ae7e46 { background: lime; } +.\\31 23--d235ae87e4273d19e7e5 { background: lime; } +.\\31 a2b3c--d785e50a661529be89f2 { background: lime; } +.\\--cc00b17b428adef51f6c { background: lime; } +.\\<\\>\\<\\<\\<\\>\\>\\<\\>--a2a770d06d29491cb90e { background: lime; } +.\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\[\\>\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\>\\+\\<\\<\\<\\<\\-\\]\\>\\+\\+\\.\\>\\+\\.\\+\\+\\+\\+\\+\\+\\+\\.\\.\\+\\+\\+\\.\\>\\+\\+\\.\\<\\<\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\.\\>\\.\\+\\+\\+\\.\\-\\-\\-\\-\\-\\-\\.\\-\\-\\-\\-\\-\\-\\-\\-\\.\\>\\+\\.\\>\\.--cc7846d4433278cb7dc4 { background: lime; } +.\\#--c7a943b3297883fd2089 { background: lime; } +.\\#\\#--ea628e8df88221969552 { background: lime; } +.\\#\\.\\#\\.\\#--dea710d8c9521902e062 { background: lime; } +.\\_--e9f571bfd47fb40b377c { background: lime; } +.\\{\\}--def5f97b0ff315e9c069 { background: lime; } +.\\#fake\\-id--a2d7428449895097291a { background: lime; } +.foo\\.bar--a4aa4a1a78b94ac062a8 { background: lime; } +.\\3A hover--cc13dcdd34f352f8db26 { background: lime; } +.\\3A hover\\3A focus\\3A active--de4f205b1da2542a3508 { background: lime; } +.\\[attr\\=value\\]--ed6f9744ffabc36e81fd { background: lime; } +.f\\/o\\/o--fef3c40a18a3bdc6aadf { background: lime; } +.f\\\\o\\\\o--bed5a37b85151828fd59 { background: lime; } +.f\\*o\\*o--dbb328bab1b211b02df5 { background: lime; } +.f\\!o\\!o--d35399e626d374f6a536 { background: lime; } +.f\\'o\\'o--dffb0a3cb0c3b935c5f4 { background: lime; } +.f\\~o\\~o--f3f5d93f57c13ee77bb5 { background: lime; } +.f\\+o\\+o--d70c625b18c77fdca148 { background: lime; } + +.foo\\/bar--bb4ad2f425527544553f { + background: hotpink; +} -exports[`modules case \`urls\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +.foo\\\\bar--e8ba4f9a74f8b7fa8361 { + background: hotpink; +} -exports[`modules case \`urls\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "a": "_1goi1QVFtUMjX82JoFfLLJ", +.foo\\/bar\\/baz--b5eb40201778b94976f0 { + background: hotpink; } -`; -exports[`modules case \`urls\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1goi1QVFtUMjX82JoFfLLJ { - background: url(/webpack/public/path/img.png); - background: url(/webpack/public/path/img.png); - background: url(\\"/webpack/public/path/img img.png\\"); - background: url(\\"/webpack/public/path/img img.png\\"); - background: url(/webpack/public/path/img.png); - background: url(/webpack/public/path/img.png#?iefix); - background: url(\\"#hash\\"); - background: url(\\"#\\"); - background: url(data:image/png;base64,AAA); - background: url(http://example.com/image.jpg); - background: url(//example.com/image.png); - background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) url(/webpack/public/path/img.png) url(\\"/webpack/public/path/img img.png\\") xyz; +.foo\\\\bar\\\\baz--b178648b8128f2bbc548 { + background: hotpink; } ", "", @@ -4040,1296 +5428,1818 @@ Array [ ] `; -exports[`modules case \`urls\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; - -exports[`modules case \`values\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +exports[`"modules" option should work and respect the "hashSalt" option: warnings 1`] = `[]`; -exports[`modules case \`values\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +exports[`"modules" option should work and respect the "hashStrategy" = "minimal-subset" and [local]: errors 1`] = `[]`; -exports[`modules case \`values\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "@value aaa: red; -@value bbb: green; -@value ccc: aaa; +exports[`"modules" option should work and respect the "hashStrategy" = "minimal-subset" and [local]: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.test__iHMJbI42 { + background: red; +} -.a { - background: aaa; - background: bbb; - background: ccc; +._test__iHMJbI42 { + background: blue; } -", - "", - ], -] -`; - -exports[`modules case \`values\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; - -exports[`modules case \`values\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; -exports[`modules case \`values\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "aaa": "red", - "bbb": "green", - "ccc": "red", +.className__iHMJbI42 { + background: red; } -`; -exports[`modules case \`values\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".a { - background: red; - background: green; - background: red; +#someId__iHMJbI42 { + background: green; } -", - "", - ], -] -`; -exports[`modules case \`values\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; - -exports[`modules case \`values\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +.className__iHMJbI42 .subClass__iHMJbI42 { + color: green; +} -exports[`modules case \`values\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "a": "_18yRHBx_s3xK1t_zOjEfo", - "aaa": "red", - "bbb": "green", - "ccc": "red", +#someId__iHMJbI42 .subClass__iHMJbI42 { + color: blue; } -`; -exports[`modules case \`values\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._18yRHBx_s3xK1t_zOjEfo { - background: red; - background: green; - background: red; +.-a0-34a___f__iHMJbI42 { + color: red; } -", - "", - ], -] -`; -exports[`modules case \`values\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.m_x_\\\\@__iHMJbI42 { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`values\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +.B\\\\&W\\\\?__iHMJbI42 { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`values\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "aaa": "red", - "bbb": "green", - "ccc": "red", +/* matches elements with class=":\\\`(" */ +.\\\\3A \\\\\\\`\\\\(__iHMJbI42 { + color: aqua; } -`; -exports[`modules case \`values\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".a { - background: red; - background: green; - background: red; +/* matches elements with class="1a2b3c" */ +.\\\\31 a2b3c__iHMJbI42 { + color: aliceblue; } -", - "", - ], -] -`; -exports[`modules case \`values\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +/* matches the element with id="#fake-id" */ +#\\\\#fake-id__iHMJbI42 { + color: antiquewhite; +} -exports[`modules case \`values\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +/* matches the element with id="-a-b-c-" */ +#-a-b-c-__iHMJbI42 { + color: azure; +} -exports[`modules case \`values\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "a": "_a", - "aaa": "red", - "bbb": "green", - "ccc": "red", +/* matches the element with id="©" */ +#©__iHMJbI42 { + color: black; } -`; -exports[`modules case \`values\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._a { - background: red; - background: green; - background: red; +.♥__iHMJbI42 { background: lime; } +.©__iHMJbI42 { background: lime; } +.😍__iHMJbI42 { background: lime; } +.“‘’”__iHMJbI42 { background: lime; } +.☺☃__iHMJbI42 { background: lime; } +.⌘⌥__iHMJbI42 { background: lime; } +.𝄞♪♩♫♬__iHMJbI42 { background: lime; } +.💩__iHMJbI42 { background: lime; } +.\\\\?__iHMJbI42 { background: lime; } +.\\\\@__iHMJbI42 { background: lime; } +.\\\\.__iHMJbI42 { background: lime; } +.\\\\3A \\\\)__iHMJbI42 { background: lime; } +.\\\\3A \\\\\\\`\\\\(__iHMJbI42 { background: lime; } +.\\\\31 23__iHMJbI42 { background: lime; } +.\\\\31 a2b3c__iHMJbI42 { background: lime; } +.\\\\__iHMJbI42 { background: lime; } +.\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\>__iHMJbI42 { background: lime; } +.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\.__iHMJbI42 { background: lime; } +.\\\\#__iHMJbI42 { background: lime; } +.\\\\#\\\\#__iHMJbI42 { background: lime; } +.\\\\#\\\\.\\\\#\\\\.\\\\#__iHMJbI42 { background: lime; } +.\\\\___iHMJbI42 { background: lime; } +.\\\\{\\\\}__iHMJbI42 { background: lime; } +.\\\\#fake\\\\-id__iHMJbI42 { background: lime; } +.foo\\\\.bar__iHMJbI42 { background: lime; } +.\\\\3A hover__iHMJbI42 { background: lime; } +.\\\\3A hover\\\\3A focus\\\\3A active__iHMJbI42 { background: lime; } +.\\\\[attr\\\\=value\\\\]__iHMJbI42 { background: lime; } +.f\\\\/o\\\\/o__iHMJbI42 { background: lime; } +.f\\\\\\\\o\\\\\\\\o__iHMJbI42 { background: lime; } +.f\\\\*o\\\\*o__iHMJbI42 { background: lime; } +.f\\\\!o\\\\!o__iHMJbI42 { background: lime; } +.f\\\\'o\\\\'o__iHMJbI42 { background: lime; } +.f\\\\~o\\\\~o__iHMJbI42 { background: lime; } +.f\\\\+o\\\\+o__iHMJbI42 { background: lime; } + +.foo\\\\/bar__iHMJbI42 { + background: hotpink; } -", - "", - ], -] -`; -exports[`modules case \`values\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +.foo\\\\\\\\bar__iHMJbI42 { + background: hotpink; +} -exports[`modules case \`values\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +.foo\\\\/bar\\\\/baz__iHMJbI42 { + background: hotpink; +} -exports[`modules case \`values\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "a": "_18yRHBx_s3xK1t_zOjEfo", - "aaa": "red", - "bbb": "green", - "ccc": "red", +.foo\\\\\\\\bar\\\\\\\\baz__iHMJbI42 { + background: hotpink; +} +\`, ""]); +// Exports +var _1 = \`123__iHMJbI42\`; +export { _1 as "123" }; +export var test = \`test__iHMJbI42\`; +export var _test = \`_test__iHMJbI42\`; +export var className = \`className__iHMJbI42\`; +export var someId = \`someId__iHMJbI42\`; +export var subClass = \`subClass__iHMJbI42\`; +var _2 = \`-a0-34a___f__iHMJbI42\`; +export { _2 as "-a0-34a___f" }; +var _3 = \`m_x_@__iHMJbI42\`; +export { _3 as "m_x_@" }; +var _4 = \`B&W?__iHMJbI42\`; +export { _4 as "B&W?" }; +var _5 = \`:\\\`(__iHMJbI42\`; +export { _5 as ":\`(" }; +var _6 = \`1a2b3c__iHMJbI42\`; +export { _6 as "1a2b3c" }; +var _7 = \`#fake-id__iHMJbI42\`; +export { _7 as "#fake-id" }; +var _8 = \`-a-b-c-__iHMJbI42\`; +export { _8 as "-a-b-c-" }; +var _9 = \`©__iHMJbI42\`; +export { _9 as "©" }; +var _a = \`♥__iHMJbI42\`; +export { _a as "♥" }; +var _b = \`😍__iHMJbI42\`; +export { _b as "😍" }; +var _c = \`“‘’”__iHMJbI42\`; +export { _c as "“‘’”" }; +var _d = \`☺☃__iHMJbI42\`; +export { _d as "☺☃" }; +var _e = \`⌘⌥__iHMJbI42\`; +export { _e as "⌘⌥" }; +var _f = \`𝄞♪♩♫♬__iHMJbI42\`; +export { _f as "𝄞♪♩♫♬" }; +var _10 = \`💩__iHMJbI42\`; +export { _10 as "💩" }; +var _11 = \`?__iHMJbI42\`; +export { _11 as "?" }; +var _12 = \`@__iHMJbI42\`; +export { _12 as "@" }; +var _13 = \`.__iHMJbI42\`; +export { _13 as "." }; +var _14 = \`:)__iHMJbI42\`; +export { _14 as ":)" }; +var _15 = \`

__iHMJbI42\`; +export { _15 as "

" }; +var _16 = \`<><<<>><>__iHMJbI42\`; +export { _16 as "<><<<>><>" }; +var _17 = \`++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.__iHMJbI42\`; +export { _17 as "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." }; +var _18 = \`#__iHMJbI42\`; +export { _18 as "#" }; +var _19 = \`##__iHMJbI42\`; +export { _19 as "##" }; +var _1a = \`#.#.#__iHMJbI42\`; +export { _1a as "#.#.#" }; +export var _ = \`___iHMJbI42\`; +var _1b = \`{}__iHMJbI42\`; +export { _1b as "{}" }; +var _1c = \`foo.bar__iHMJbI42\`; +export { _1c as "foo.bar" }; +var _1d = \`:hover__iHMJbI42\`; +export { _1d as ":hover" }; +var _1e = \`:hover:focus:active__iHMJbI42\`; +export { _1e as ":hover:focus:active" }; +var _1f = \`[attr=value]__iHMJbI42\`; +export { _1f as "[attr=value]" }; +var _20 = \`f/o/o__iHMJbI42\`; +export { _20 as "f/o/o" }; +var _21 = \`f\\\\o\\\\o__iHMJbI42\`; +export { _21 as "f\\\\o\\\\o" }; +var _22 = \`f*o*o__iHMJbI42\`; +export { _22 as "f*o*o" }; +var _23 = \`f!o!o__iHMJbI42\`; +export { _23 as "f!o!o" }; +var _24 = \`f'o'o__iHMJbI42\`; +export { _24 as "f'o'o" }; +var _25 = \`f~o~o__iHMJbI42\`; +export { _25 as "f~o~o" }; +var _26 = \`f+o+o__iHMJbI42\`; +export { _26 as "f+o+o" }; +var _27 = \`foo/bar__iHMJbI42\`; +export { _27 as "foo/bar" }; +var _28 = \`foo\\\\bar__iHMJbI42\`; +export { _28 as "foo\\\\bar" }; +var _29 = \`foo/bar/baz__iHMJbI42\`; +export { _29 as "foo/bar/baz" }; +var _2a = \`foo\\\\bar\\\\baz__iHMJbI42\`; +export { _2a as "foo\\\\bar\\\\baz" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the "hashStrategy" = "minimal-subset" and [local]: result 1`] = ` +[ + [ + "./modules/localIdentName/localIdentName.css", + ".test__iHMJbI42 { + background: red; } -`; -exports[`modules case \`values\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._18yRHBx_s3xK1t_zOjEfo { - background: red; - background: green; - background: red; +._test__iHMJbI42 { + background: blue; } -", - "", - ], -] -`; -exports[`modules case \`values\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +.className__iHMJbI42 { + background: red; +} -exports[`modules case \`values-1\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +#someId__iHMJbI42 { + background: green; +} -exports[`modules case \`values-1\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +.className__iHMJbI42 .subClass__iHMJbI42 { + color: green; +} -exports[`modules case \`values-1\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "@value def: red; -@value ghi: 1px solid black; -", - "", - ], -] -`; +#someId__iHMJbI42 .subClass__iHMJbI42 { + color: blue; +} -exports[`modules case \`values-1\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +.-a0-34a___f__iHMJbI42 { + color: red; +} -exports[`modules case \`values-1\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +.m_x_\\@__iHMJbI42 { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`values-1\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "def": "red", - "ghi": "1px solid black", +.B\\&W\\?__iHMJbI42 { + margin-left: auto !important; + margin-right: auto !important; } -`; -exports[`modules case \`values-1\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - " -", - "", - ], -] -`; +/* matches elements with class=":\`(" */ +.\\3A \\\`\\(__iHMJbI42 { + color: aqua; +} -exports[`modules case \`values-1\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +/* matches elements with class="1a2b3c" */ +.\\31 a2b3c__iHMJbI42 { + color: aliceblue; +} -exports[`modules case \`values-1\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +/* matches the element with id="#fake-id" */ +#\\#fake-id__iHMJbI42 { + color: antiquewhite; +} -exports[`modules case \`values-1\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "def": "red", - "ghi": "1px solid black", +/* matches the element with id="-a-b-c-" */ +#-a-b-c-__iHMJbI42 { + color: azure; } -`; -exports[`modules case \`values-1\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - " -", - "", - ], -] -`; +/* matches the element with id="©" */ +#©__iHMJbI42 { + color: black; +} -exports[`modules case \`values-1\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.♥__iHMJbI42 { background: lime; } +.©__iHMJbI42 { background: lime; } +.😍__iHMJbI42 { background: lime; } +.“‘’”__iHMJbI42 { background: lime; } +.☺☃__iHMJbI42 { background: lime; } +.⌘⌥__iHMJbI42 { background: lime; } +.𝄞♪♩♫♬__iHMJbI42 { background: lime; } +.💩__iHMJbI42 { background: lime; } +.\\?__iHMJbI42 { background: lime; } +.\\@__iHMJbI42 { background: lime; } +.\\.__iHMJbI42 { background: lime; } +.\\3A \\)__iHMJbI42 { background: lime; } +.\\3A \\\`\\(__iHMJbI42 { background: lime; } +.\\31 23__iHMJbI42 { background: lime; } +.\\31 a2b3c__iHMJbI42 { background: lime; } +.\\__iHMJbI42 { background: lime; } +.\\<\\>\\<\\<\\<\\>\\>\\<\\>__iHMJbI42 { background: lime; } +.\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\[\\>\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\>\\+\\<\\<\\<\\<\\-\\]\\>\\+\\+\\.\\>\\+\\.\\+\\+\\+\\+\\+\\+\\+\\.\\.\\+\\+\\+\\.\\>\\+\\+\\.\\<\\<\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\.\\>\\.\\+\\+\\+\\.\\-\\-\\-\\-\\-\\-\\.\\-\\-\\-\\-\\-\\-\\-\\-\\.\\>\\+\\.\\>\\.__iHMJbI42 { background: lime; } +.\\#__iHMJbI42 { background: lime; } +.\\#\\#__iHMJbI42 { background: lime; } +.\\#\\.\\#\\.\\#__iHMJbI42 { background: lime; } +.\\___iHMJbI42 { background: lime; } +.\\{\\}__iHMJbI42 { background: lime; } +.\\#fake\\-id__iHMJbI42 { background: lime; } +.foo\\.bar__iHMJbI42 { background: lime; } +.\\3A hover__iHMJbI42 { background: lime; } +.\\3A hover\\3A focus\\3A active__iHMJbI42 { background: lime; } +.\\[attr\\=value\\]__iHMJbI42 { background: lime; } +.f\\/o\\/o__iHMJbI42 { background: lime; } +.f\\\\o\\\\o__iHMJbI42 { background: lime; } +.f\\*o\\*o__iHMJbI42 { background: lime; } +.f\\!o\\!o__iHMJbI42 { background: lime; } +.f\\'o\\'o__iHMJbI42 { background: lime; } +.f\\~o\\~o__iHMJbI42 { background: lime; } +.f\\+o\\+o__iHMJbI42 { background: lime; } + +.foo\\/bar__iHMJbI42 { + background: hotpink; +} -exports[`modules case \`values-1\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +.foo\\\\bar__iHMJbI42 { + background: hotpink; +} -exports[`modules case \`values-1\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "def": "red", - "ghi": "1px solid black", +.foo\\/bar\\/baz__iHMJbI42 { + background: hotpink; } -`; -exports[`modules case \`values-1\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - " +.foo\\\\bar\\\\baz__iHMJbI42 { + background: hotpink; +} ", "", ], ] `; -exports[`modules case \`values-1\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +exports[`"modules" option should work and respect the "hashStrategy" = "minimal-subset" and [local]: warnings 1`] = `[]`; -exports[`modules case \`values-1\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +exports[`"modules" option should work and respect the "hashStrategy" = "minimal-subset" and no [local]: errors 1`] = `[]`; -exports[`modules case \`values-1\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "def": "red", - "ghi": "1px solid black", +exports[`"modules" option should work and respect the "hashStrategy" = "minimal-subset" and no [local]: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.KuIShlgs { + background: red; } -`; -exports[`modules case \`values-1\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - " -", - "", - ], -] -`; +.Lb3fhDAu { + background: blue; +} -exports[`modules case \`values-1\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +.LdhpkZRW { + background: red; +} -exports[`modules case \`values-1\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +#b0rhwJSt { + background: green; +} -exports[`modules case \`values-1\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "def": "red", - "ghi": "1px solid black", +.LdhpkZRW .Mw9j4nId { + color: green; } -`; -exports[`modules case \`values-1\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - " -", - "", - ], -] -`; +#b0rhwJSt .Mw9j4nId { + color: blue; +} -exports[`modules case \`values-1\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +.DdFWMPol { + color: red; +} -exports[`modules case \`values-2\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +.OdAmghrm { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`values-2\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +.h4SEF34C { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`values-2\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "@value def: red; -.ghi { color: def; } -", - "", - ], -] -`; +/* matches elements with class=":\\\`(" */ +.fKJQkLar { + color: aqua; +} -exports[`modules case \`values-2\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +/* matches elements with class="1a2b3c" */ +.YR1u_buY { + color: aliceblue; +} -exports[`modules case \`values-2\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +/* matches the element with id="#fake-id" */ +#AqiAGSfn { + color: antiquewhite; +} -exports[`modules case \`values-2\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "def": "red", +/* matches the element with id="-a-b-c-" */ +#CwXv27VM { + color: azure; } -`; -exports[`modules case \`values-2\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".ghi { color: red; } -", - "", - ], -] -`; +/* matches the element with id="©" */ +#jBj0sZiW { + color: black; +} -exports[`modules case \`values-2\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +.vJl9A9Ds { background: lime; } +.jBj0sZiW { background: lime; } +.CNLr9yJw { background: lime; } +.GM0Y0nFC { background: lime; } +.NKrBw7EA { background: lime; } +.edHWpSne { background: lime; } +.QyMp9YME { background: lime; } +.B82YxwgR { background: lime; } +.ndmpvNNl { background: lime; } +.v3gq0wPo { background: lime; } +.zd5uIZq6 { background: lime; } +.ZiZnRjRT { background: lime; } +.fKJQkLar { background: lime; } +.oqRGsO4U { background: lime; } +.YR1u_buY { background: lime; } +.TdAx2ZSk { background: lime; } +.ozNsTIG0 { background: lime; } +.ByKoYcSr { background: lime; } +.HkwIsjW5 { background: lime; } +.IJc6Xl4Z { background: lime; } +.BnPpnJmP { background: lime; } +.bCwkZEDu { background: lime; } +.IZkBfE9i { background: lime; } +.AqiAGSfn { background: lime; } +.uajo7mHz { background: lime; } +.HVudUNXn { background: lime; } +.ZlaaXvHL { background: lime; } +.PWvC4jVM { background: lime; } +.A5l5sDOD { background: lime; } +.DFfh4Kyq { background: lime; } +.gv1E2n_b { background: lime; } +._aIyR9ET { background: lime; } +.HSXNnSjt { background: lime; } +.MrVzSIcS { background: lime; } +.EvMHRmCu { background: lime; } + +.hei2uQgD { + background: hotpink; +} -exports[`modules case \`values-2\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +.IgSzmmsC { + background: hotpink; +} -exports[`modules case \`values-2\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "def": "red", - "ghi": "_2aKAT4pAinaabqEIFgdhTC", +.p6KJMhNW { + background: hotpink; } -`; -exports[`modules case \`values-2\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._2aKAT4pAinaabqEIFgdhTC { color: red; } -", - "", - ], -] -`; +.HZerWgmU { + background: hotpink; +} +\`, ""]); +// Exports +var _1 = \`oqRGsO4U\`; +export { _1 as "123" }; +export var test = \`KuIShlgs\`; +export var _test = \`Lb3fhDAu\`; +export var className = \`LdhpkZRW\`; +export var someId = \`b0rhwJSt\`; +export var subClass = \`Mw9j4nId\`; +var _2 = \`DdFWMPol\`; +export { _2 as "-a0-34a___f" }; +var _3 = \`OdAmghrm\`; +export { _3 as "m_x_@" }; +var _4 = \`h4SEF34C\`; +export { _4 as "B&W?" }; +var _5 = \`fKJQkLar\`; +export { _5 as ":\`(" }; +var _6 = \`YR1u_buY\`; +export { _6 as "1a2b3c" }; +var _7 = \`AqiAGSfn\`; +export { _7 as "#fake-id" }; +var _8 = \`CwXv27VM\`; +export { _8 as "-a-b-c-" }; +var _9 = \`jBj0sZiW\`; +export { _9 as "©" }; +var _a = \`vJl9A9Ds\`; +export { _a as "♥" }; +var _b = \`CNLr9yJw\`; +export { _b as "😍" }; +var _c = \`GM0Y0nFC\`; +export { _c as "“‘’”" }; +var _d = \`NKrBw7EA\`; +export { _d as "☺☃" }; +var _e = \`edHWpSne\`; +export { _e as "⌘⌥" }; +var _f = \`QyMp9YME\`; +export { _f as "𝄞♪♩♫♬" }; +var _10 = \`B82YxwgR\`; +export { _10 as "💩" }; +var _11 = \`ndmpvNNl\`; +export { _11 as "?" }; +var _12 = \`v3gq0wPo\`; +export { _12 as "@" }; +var _13 = \`zd5uIZq6\`; +export { _13 as "." }; +var _14 = \`ZiZnRjRT\`; +export { _14 as ":)" }; +var _15 = \`TdAx2ZSk\`; +export { _15 as "

" }; +var _16 = \`ozNsTIG0\`; +export { _16 as "<><<<>><>" }; +var _17 = \`ByKoYcSr\`; +export { _17 as "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." }; +var _18 = \`HkwIsjW5\`; +export { _18 as "#" }; +var _19 = \`IJc6Xl4Z\`; +export { _19 as "##" }; +var _1a = \`BnPpnJmP\`; +export { _1a as "#.#.#" }; +export var _ = \`bCwkZEDu\`; +var _1b = \`IZkBfE9i\`; +export { _1b as "{}" }; +var _1c = \`uajo7mHz\`; +export { _1c as "foo.bar" }; +var _1d = \`HVudUNXn\`; +export { _1d as ":hover" }; +var _1e = \`ZlaaXvHL\`; +export { _1e as ":hover:focus:active" }; +var _1f = \`PWvC4jVM\`; +export { _1f as "[attr=value]" }; +var _20 = \`A5l5sDOD\`; +export { _20 as "f/o/o" }; +var _21 = \`DFfh4Kyq\`; +export { _21 as "f\\\\o\\\\o" }; +var _22 = \`gv1E2n_b\`; +export { _22 as "f*o*o" }; +var _23 = \`_aIyR9ET\`; +export { _23 as "f!o!o" }; +var _24 = \`HSXNnSjt\`; +export { _24 as "f'o'o" }; +var _25 = \`MrVzSIcS\`; +export { _25 as "f~o~o" }; +var _26 = \`EvMHRmCu\`; +export { _26 as "f+o+o" }; +var _27 = \`hei2uQgD\`; +export { _27 as "foo/bar" }; +var _28 = \`IgSzmmsC\`; +export { _28 as "foo\\\\bar" }; +var _29 = \`p6KJMhNW\`; +export { _29 as "foo/bar/baz" }; +var _2a = \`HZerWgmU\`; +export { _2a as "foo\\\\bar\\\\baz" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the "hashStrategy" = "minimal-subset" and no [local]: result 1`] = ` +[ + [ + "./modules/localIdentName/localIdentName.css", + ".KuIShlgs { + background: red; +} -exports[`modules case \`values-2\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.Lb3fhDAu { + background: blue; +} -exports[`modules case \`values-2\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +.LdhpkZRW { + background: red; +} -exports[`modules case \`values-2\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "def": "red", +#b0rhwJSt { + background: green; } -`; -exports[`modules case \`values-2\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".ghi { color: red; } -", - "", - ], -] -`; +.LdhpkZRW .Mw9j4nId { + color: green; +} -exports[`modules case \`values-2\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +#b0rhwJSt .Mw9j4nId { + color: blue; +} -exports[`modules case \`values-2\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +.DdFWMPol { + color: red; +} -exports[`modules case \`values-2\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "def": "red", - "ghi": "_ghi", +.OdAmghrm { + margin-left: auto !important; + margin-right: auto !important; } -`; -exports[`modules case \`values-2\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._ghi { color: red; } -", - "", - ], -] -`; +.h4SEF34C { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`values-2\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +/* matches elements with class=":\`(" */ +.fKJQkLar { + color: aqua; +} -exports[`modules case \`values-2\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +/* matches elements with class="1a2b3c" */ +.YR1u_buY { + color: aliceblue; +} -exports[`modules case \`values-2\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "def": "red", - "ghi": "_2aKAT4pAinaabqEIFgdhTC", +/* matches the element with id="#fake-id" */ +#AqiAGSfn { + color: antiquewhite; } -`; -exports[`modules case \`values-2\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._2aKAT4pAinaabqEIFgdhTC { color: red; } -", - "", - ], -] -`; +/* matches the element with id="-a-b-c-" */ +#CwXv27VM { + color: azure; +} -exports[`modules case \`values-2\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +/* matches the element with id="©" */ +#jBj0sZiW { + color: black; +} + +.vJl9A9Ds { background: lime; } +.jBj0sZiW { background: lime; } +.CNLr9yJw { background: lime; } +.GM0Y0nFC { background: lime; } +.NKrBw7EA { background: lime; } +.edHWpSne { background: lime; } +.QyMp9YME { background: lime; } +.B82YxwgR { background: lime; } +.ndmpvNNl { background: lime; } +.v3gq0wPo { background: lime; } +.zd5uIZq6 { background: lime; } +.ZiZnRjRT { background: lime; } +.fKJQkLar { background: lime; } +.oqRGsO4U { background: lime; } +.YR1u_buY { background: lime; } +.TdAx2ZSk { background: lime; } +.ozNsTIG0 { background: lime; } +.ByKoYcSr { background: lime; } +.HkwIsjW5 { background: lime; } +.IJc6Xl4Z { background: lime; } +.BnPpnJmP { background: lime; } +.bCwkZEDu { background: lime; } +.IZkBfE9i { background: lime; } +.AqiAGSfn { background: lime; } +.uajo7mHz { background: lime; } +.HVudUNXn { background: lime; } +.ZlaaXvHL { background: lime; } +.PWvC4jVM { background: lime; } +.A5l5sDOD { background: lime; } +.DFfh4Kyq { background: lime; } +.gv1E2n_b { background: lime; } +._aIyR9ET { background: lime; } +.HSXNnSjt { background: lime; } +.MrVzSIcS { background: lime; } +.EvMHRmCu { background: lime; } + +.hei2uQgD { + background: hotpink; +} -exports[`modules case \`values-3\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +.IgSzmmsC { + background: hotpink; +} -exports[`modules case \`values-3\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +.p6KJMhNW { + background: hotpink; +} -exports[`modules case \`values-3\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "@value def from './file.css'; -.ghi { color: def; } +.HZerWgmU { + background: hotpink; +} ", "", ], ] `; -exports[`modules case \`values-3\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +exports[`"modules" option should work and respect the "hashStrategy" = "minimal-subset" and no [local]: warnings 1`] = `[]`; -exports[`modules case \`values-3\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +exports[`"modules" option should work and respect the "hashStrategy" = "resource-path-and-local-name": errors 1`] = `[]`; -exports[`modules case \`values-3\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "def": "red", +exports[`"modules" option should work and respect the "hashStrategy" = "resource-path-and-local-name": module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.test__KuIShlgs { + background: red; } -`; -exports[`modules case \`values-3\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - ".ghi { color: red; } -", - "", - ], -] -`; +._test__Lb3fhDAu { + background: blue; +} -exports[`modules case \`values-3\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +.className__LdhpkZRW { + background: red; +} -exports[`modules case \`values-3\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +#someId__b0rhwJSt { + background: green; +} -exports[`modules case \`values-3\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "def": "red", - "ghi": "_29ART3-NNe4DU1X-5_7419", +.className__LdhpkZRW .subClass__Mw9j4nId { + color: green; } -`; -exports[`modules case \`values-3\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - "._29ART3-NNe4DU1X-5_7419 { color: red; } -", - "", - ], -] -`; +#someId__b0rhwJSt .subClass__Mw9j4nId { + color: blue; +} -exports[`modules case \`values-3\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.-a0-34a___f__DdFWMPol { + color: red; +} -exports[`modules case \`values-3\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +.m_x_\\\\@__OdAmghrm { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`values-3\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "def": "red", +.B\\\\&W\\\\?__h4SEF34C { + margin-left: auto !important; + margin-right: auto !important; } -`; -exports[`modules case \`values-3\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - ".ghi { color: red; } -", - "", - ], -] -`; +/* matches elements with class=":\\\`(" */ +.\\\\3A \\\\\\\`\\\\(__fKJQkLar { + color: aqua; +} -exports[`modules case \`values-3\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +/* matches elements with class="1a2b3c" */ +.\\\\31 a2b3c__YR1u_buY { + color: aliceblue; +} -exports[`modules case \`values-3\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +/* matches the element with id="#fake-id" */ +#\\\\#fake-id__AqiAGSfn { + color: antiquewhite; +} -exports[`modules case \`values-3\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "def": "red", - "ghi": "_ghi", +/* matches the element with id="-a-b-c-" */ +#-a-b-c-__CwXv27VM { + color: azure; } -`; -exports[`modules case \`values-3\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - "._ghi { color: red; } -", - "", - ], -] -`; +/* matches the element with id="©" */ +#©__jBj0sZiW { + color: black; +} -exports[`modules case \`values-3\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +.♥__vJl9A9Ds { background: lime; } +.©__jBj0sZiW { background: lime; } +.😍__CNLr9yJw { background: lime; } +.“‘’”__GM0Y0nFC { background: lime; } +.☺☃__NKrBw7EA { background: lime; } +.⌘⌥__edHWpSne { background: lime; } +.𝄞♪♩♫♬__QyMp9YME { background: lime; } +.💩__B82YxwgR { background: lime; } +.\\\\?__ndmpvNNl { background: lime; } +.\\\\@__v3gq0wPo { background: lime; } +.\\\\.__zd5uIZq6 { background: lime; } +.\\\\3A \\\\)__ZiZnRjRT { background: lime; } +.\\\\3A \\\\\\\`\\\\(__fKJQkLar { background: lime; } +.\\\\31 23__oqRGsO4U { background: lime; } +.\\\\31 a2b3c__YR1u_buY { background: lime; } +.\\\\__TdAx2ZSk { background: lime; } +.\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\>__ozNsTIG0 { background: lime; } +.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\.__ByKoYcSr { background: lime; } +.\\\\#__HkwIsjW5 { background: lime; } +.\\\\#\\\\#__IJc6Xl4Z { background: lime; } +.\\\\#\\\\.\\\\#\\\\.\\\\#__BnPpnJmP { background: lime; } +.\\\\___bCwkZEDu { background: lime; } +.\\\\{\\\\}__IZkBfE9i { background: lime; } +.\\\\#fake\\\\-id__AqiAGSfn { background: lime; } +.foo\\\\.bar__uajo7mHz { background: lime; } +.\\\\3A hover__HVudUNXn { background: lime; } +.\\\\3A hover\\\\3A focus\\\\3A active__ZlaaXvHL { background: lime; } +.\\\\[attr\\\\=value\\\\]__PWvC4jVM { background: lime; } +.f\\\\/o\\\\/o__A5l5sDOD { background: lime; } +.f\\\\\\\\o\\\\\\\\o__DFfh4Kyq { background: lime; } +.f\\\\*o\\\\*o__gv1E2n_b { background: lime; } +.f\\\\!o\\\\!o___aIyR9ET { background: lime; } +.f\\\\'o\\\\'o__HSXNnSjt { background: lime; } +.f\\\\~o\\\\~o__MrVzSIcS { background: lime; } +.f\\\\+o\\\\+o__EvMHRmCu { background: lime; } + +.foo\\\\/bar__hei2uQgD { + background: hotpink; +} -exports[`modules case \`values-3\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +.foo\\\\\\\\bar__IgSzmmsC { + background: hotpink; +} -exports[`modules case \`values-3\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "def": "red", - "ghi": "_29ART3-NNe4DU1X-5_7419", +.foo\\\\/bar\\\\/baz__p6KJMhNW { + background: hotpink; } -`; -exports[`modules case \`values-3\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - "._29ART3-NNe4DU1X-5_7419 { color: red; } -", - "", - ], -] -`; +.foo\\\\\\\\bar\\\\\\\\baz__HZerWgmU { + background: hotpink; +} +\`, ""]); +// Exports +var _1 = \`123__oqRGsO4U\`; +export { _1 as "123" }; +export var test = \`test__KuIShlgs\`; +export var _test = \`_test__Lb3fhDAu\`; +export var className = \`className__LdhpkZRW\`; +export var someId = \`someId__b0rhwJSt\`; +export var subClass = \`subClass__Mw9j4nId\`; +var _2 = \`-a0-34a___f__DdFWMPol\`; +export { _2 as "-a0-34a___f" }; +var _3 = \`m_x_@__OdAmghrm\`; +export { _3 as "m_x_@" }; +var _4 = \`B&W?__h4SEF34C\`; +export { _4 as "B&W?" }; +var _5 = \`:\\\`(__fKJQkLar\`; +export { _5 as ":\`(" }; +var _6 = \`1a2b3c__YR1u_buY\`; +export { _6 as "1a2b3c" }; +var _7 = \`#fake-id__AqiAGSfn\`; +export { _7 as "#fake-id" }; +var _8 = \`-a-b-c-__CwXv27VM\`; +export { _8 as "-a-b-c-" }; +var _9 = \`©__jBj0sZiW\`; +export { _9 as "©" }; +var _a = \`♥__vJl9A9Ds\`; +export { _a as "♥" }; +var _b = \`😍__CNLr9yJw\`; +export { _b as "😍" }; +var _c = \`“‘’”__GM0Y0nFC\`; +export { _c as "“‘’”" }; +var _d = \`☺☃__NKrBw7EA\`; +export { _d as "☺☃" }; +var _e = \`⌘⌥__edHWpSne\`; +export { _e as "⌘⌥" }; +var _f = \`𝄞♪♩♫♬__QyMp9YME\`; +export { _f as "𝄞♪♩♫♬" }; +var _10 = \`💩__B82YxwgR\`; +export { _10 as "💩" }; +var _11 = \`?__ndmpvNNl\`; +export { _11 as "?" }; +var _12 = \`@__v3gq0wPo\`; +export { _12 as "@" }; +var _13 = \`.__zd5uIZq6\`; +export { _13 as "." }; +var _14 = \`:)__ZiZnRjRT\`; +export { _14 as ":)" }; +var _15 = \`

__TdAx2ZSk\`; +export { _15 as "

" }; +var _16 = \`<><<<>><>__ozNsTIG0\`; +export { _16 as "<><<<>><>" }; +var _17 = \`++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.__ByKoYcSr\`; +export { _17 as "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." }; +var _18 = \`#__HkwIsjW5\`; +export { _18 as "#" }; +var _19 = \`##__IJc6Xl4Z\`; +export { _19 as "##" }; +var _1a = \`#.#.#__BnPpnJmP\`; +export { _1a as "#.#.#" }; +export var _ = \`___bCwkZEDu\`; +var _1b = \`{}__IZkBfE9i\`; +export { _1b as "{}" }; +var _1c = \`foo.bar__uajo7mHz\`; +export { _1c as "foo.bar" }; +var _1d = \`:hover__HVudUNXn\`; +export { _1d as ":hover" }; +var _1e = \`:hover:focus:active__ZlaaXvHL\`; +export { _1e as ":hover:focus:active" }; +var _1f = \`[attr=value]__PWvC4jVM\`; +export { _1f as "[attr=value]" }; +var _20 = \`f/o/o__A5l5sDOD\`; +export { _20 as "f/o/o" }; +var _21 = \`f\\\\o\\\\o__DFfh4Kyq\`; +export { _21 as "f\\\\o\\\\o" }; +var _22 = \`f*o*o__gv1E2n_b\`; +export { _22 as "f*o*o" }; +var _23 = \`f!o!o___aIyR9ET\`; +export { _23 as "f!o!o" }; +var _24 = \`f'o'o__HSXNnSjt\`; +export { _24 as "f'o'o" }; +var _25 = \`f~o~o__MrVzSIcS\`; +export { _25 as "f~o~o" }; +var _26 = \`f+o+o__EvMHRmCu\`; +export { _26 as "f+o+o" }; +var _27 = \`foo/bar__hei2uQgD\`; +export { _27 as "foo/bar" }; +var _28 = \`foo\\\\bar__IgSzmmsC\`; +export { _28 as "foo\\\\bar" }; +var _29 = \`foo/bar/baz__p6KJMhNW\`; +export { _29 as "foo/bar/baz" }; +var _2a = \`foo\\\\bar\\\\baz__HZerWgmU\`; +export { _2a as "foo\\\\bar\\\\baz" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the "hashStrategy" = "resource-path-and-local-name": result 1`] = ` +[ + [ + "./modules/localIdentName/localIdentName.css", + ".test__KuIShlgs { + background: red; +} -exports[`modules case \`values-3\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +._test__Lb3fhDAu { + background: blue; +} + +.className__LdhpkZRW { + background: red; +} -exports[`modules case \`values-4\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +#someId__b0rhwJSt { + background: green; +} -exports[`modules case \`values-4\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +.className__LdhpkZRW .subClass__Mw9j4nId { + color: green; +} -exports[`modules case \`values-4\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "@value def as aaa from './file1.css'; -@value def as bbb from './file2.css'; -.ghi { background: aaa, bbb, def; } -", - "", - ], -] -`; +#someId__b0rhwJSt .subClass__Mw9j4nId { + color: blue; +} -exports[`modules case \`values-4\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +.-a0-34a___f__DdFWMPol { + color: red; +} -exports[`modules case \`values-4\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +.m_x_\\@__OdAmghrm { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`values-4\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "aaa": "red", - "bbb": "green", +.B\\&W\\?__h4SEF34C { + margin-left: auto !important; + margin-right: auto !important; } -`; -exports[`modules case \`values-4\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 3, - " -", - "", - ], - Array [ - 1, - ".ghi { background: red, green, def; } -", - "", - ], -] -`; +/* matches elements with class=":\`(" */ +.\\3A \\\`\\(__fKJQkLar { + color: aqua; +} -exports[`modules case \`values-4\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +/* matches elements with class="1a2b3c" */ +.\\31 a2b3c__YR1u_buY { + color: aliceblue; +} -exports[`modules case \`values-4\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +/* matches the element with id="#fake-id" */ +#\\#fake-id__AqiAGSfn { + color: antiquewhite; +} -exports[`modules case \`values-4\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "aaa": "red", - "bbb": "green", - "ghi": "_1vGjNPdz_qWrUvzTY2pCsS", +/* matches the element with id="-a-b-c-" */ +#-a-b-c-__CwXv27VM { + color: azure; } -`; -exports[`modules case \`values-4\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 3, - " -", - "", - ], - Array [ - 1, - "._1vGjNPdz_qWrUvzTY2pCsS { background: red, green, def; } -", - "", - ], -] -`; +/* matches the element with id="©" */ +#©__jBj0sZiW { + color: black; +} -exports[`modules case \`values-4\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.♥__vJl9A9Ds { background: lime; } +.©__jBj0sZiW { background: lime; } +.😍__CNLr9yJw { background: lime; } +.“‘’”__GM0Y0nFC { background: lime; } +.☺☃__NKrBw7EA { background: lime; } +.⌘⌥__edHWpSne { background: lime; } +.𝄞♪♩♫♬__QyMp9YME { background: lime; } +.💩__B82YxwgR { background: lime; } +.\\?__ndmpvNNl { background: lime; } +.\\@__v3gq0wPo { background: lime; } +.\\.__zd5uIZq6 { background: lime; } +.\\3A \\)__ZiZnRjRT { background: lime; } +.\\3A \\\`\\(__fKJQkLar { background: lime; } +.\\31 23__oqRGsO4U { background: lime; } +.\\31 a2b3c__YR1u_buY { background: lime; } +.\\__TdAx2ZSk { background: lime; } +.\\<\\>\\<\\<\\<\\>\\>\\<\\>__ozNsTIG0 { background: lime; } +.\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\[\\>\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\>\\+\\<\\<\\<\\<\\-\\]\\>\\+\\+\\.\\>\\+\\.\\+\\+\\+\\+\\+\\+\\+\\.\\.\\+\\+\\+\\.\\>\\+\\+\\.\\<\\<\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\.\\>\\.\\+\\+\\+\\.\\-\\-\\-\\-\\-\\-\\.\\-\\-\\-\\-\\-\\-\\-\\-\\.\\>\\+\\.\\>\\.__ByKoYcSr { background: lime; } +.\\#__HkwIsjW5 { background: lime; } +.\\#\\#__IJc6Xl4Z { background: lime; } +.\\#\\.\\#\\.\\#__BnPpnJmP { background: lime; } +.\\___bCwkZEDu { background: lime; } +.\\{\\}__IZkBfE9i { background: lime; } +.\\#fake\\-id__AqiAGSfn { background: lime; } +.foo\\.bar__uajo7mHz { background: lime; } +.\\3A hover__HVudUNXn { background: lime; } +.\\3A hover\\3A focus\\3A active__ZlaaXvHL { background: lime; } +.\\[attr\\=value\\]__PWvC4jVM { background: lime; } +.f\\/o\\/o__A5l5sDOD { background: lime; } +.f\\\\o\\\\o__DFfh4Kyq { background: lime; } +.f\\*o\\*o__gv1E2n_b { background: lime; } +.f\\!o\\!o___aIyR9ET { background: lime; } +.f\\'o\\'o__HSXNnSjt { background: lime; } +.f\\~o\\~o__MrVzSIcS { background: lime; } +.f\\+o\\+o__EvMHRmCu { background: lime; } + +.foo\\/bar__hei2uQgD { + background: hotpink; +} -exports[`modules case \`values-4\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +.foo\\\\bar__IgSzmmsC { + background: hotpink; +} -exports[`modules case \`values-4\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "aaa": "red", - "bbb": "green", +.foo\\/bar\\/baz__p6KJMhNW { + background: hotpink; } -`; -exports[`modules case \`values-4\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 3, - " -", - "", - ], - Array [ - 1, - ".ghi { background: red, green, def; } +.foo\\\\bar\\\\baz__HZerWgmU { + background: hotpink; +} ", "", ], ] `; -exports[`modules case \`values-4\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +exports[`"modules" option should work and respect the "hashStrategy" = "resource-path-and-local-name": warnings 1`] = `[]`; -exports[`modules case \`values-4\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +exports[`"modules" option should work and respect the "localConvention" option with the "asIs" value: errors 1`] = `[]`; -exports[`modules case \`values-4\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "aaa": "red", - "bbb": "green", - "ghi": "_ghi", +exports[`"modules" option should work and respect the "localConvention" option with the "asIs" value: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.rmc8ltu8P1VXaeqLNU6N { + color: blue; } -`; - -exports[`modules case \`values-4\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 3, - " -", - "", - ], - Array [ - 1, - "._ghi { background: red, green, def; } -", - "", - ], -] -`; -exports[`modules case \`values-4\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +.AooVHuvzAIGXWngdfslc { + color: blue; +} -exports[`modules case \`values-4\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +.snmJCrfw3LVnrlx87XVC { + color: red; +} -exports[`modules case \`values-4\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "aaa": "red", - "bbb": "green", - "ghi": "_1vGjNPdz_qWrUvzTY2pCsS", +a { + color: yellow; } -`; -exports[`modules case \`values-4\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 3, - " -", - "", - ], - Array [ - 1, - "._1vGjNPdz_qWrUvzTY2pCsS { background: red, green, def; } -", - "", - ], -] -`; +.vA4oeh0XymefKJVIJyg1 { + color: red; +} -exports[`modules case \`values-4\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +.mDiC1MIOTWjgsd86woaJ { + color: red; +} -exports[`modules case \`values-5\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} -exports[`modules case \`values-5\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +.eiLdMC_n9TCXQ0oPIJyI { + color: red; +} +\`, ""]); +// Exports +export var foo = \`bar\`; +var _1 = \`value\`; +export { _1 as "my-btn-info_is-disabled" }; +var _2 = \`rmc8ltu8P1VXaeqLNU6N\`; +export { _2 as "btn-info_is-disabled" }; +var _3 = \`AooVHuvzAIGXWngdfslc\`; +export { _3 as "btn--info_is-disabled_1" }; +export var simple = \`snmJCrfw3LVnrlx87XVC\`; +export var foo_bar = \`vA4oeh0XymefKJVIJyg1\`; +var _4 = \`mDiC1MIOTWjgsd86woaJ\`; +export { _4 as "class" }; +export var fooBarBaz = \`kY3VVFqpzmTiFlxOd9KU\`; +export var b = \`eiLdMC_n9TCXQ0oPIJyI\`; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the "localConvention" option with the "asIs" value: result 1`] = ` +[ + [ + "./modules/localsConvention/localsConvention.css", + ".rmc8ltu8P1VXaeqLNU6N { + color: blue; +} -exports[`modules case \`values-5\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "@value color from './file1.css'; -@value shadow: 0 0 color,0 0 color; -.ghi { box-shadow: shadow; } -", - "", - ], -] -`; +.AooVHuvzAIGXWngdfslc { + color: blue; +} -exports[`modules case \`values-5\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +.snmJCrfw3LVnrlx87XVC { + color: red; +} -exports[`modules case \`values-5\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +a { + color: yellow; +} -exports[`modules case \`values-5\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "color": "red", - "shadow": "0 0 red,0 0 red", +.vA4oeh0XymefKJVIJyg1 { + color: red; } -`; -exports[`modules case \`values-5\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - ".ghi { box-shadow: 0 0 red,0 0 red; } +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.eiLdMC_n9TCXQ0oPIJyI { + color: red; +} ", "", ], ] `; -exports[`modules case \`values-5\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +exports[`"modules" option should work and respect the "localConvention" option with the "asIs" value: warnings 1`] = `[]`; + +exports[`"modules" option should work and respect the "localIdentHashFunction" option: errors 1`] = `[]`; -exports[`modules case \`values-5\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +exports[`"modules" option should work and respect the "localIdentHashFunction" option: errors 2`] = `[]`; -exports[`modules case \`values-5\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "color": "red", - "ghi": "_3Uw-A6Tr2LkIED6NTqwFvj", - "shadow": "0 0 red,0 0 red", +exports[`"modules" option should work and respect the "localIdentHashFunction" option: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.test--ddd414ab5d5137709283 { + background: red; } -`; -exports[`modules case \`values-5\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - "._3Uw-A6Tr2LkIED6NTqwFvj { box-shadow: 0 0 red,0 0 red; } -", - "", - ], -] -`; +._test--e91d3d0c5fd37cd4b01b { + background: blue; +} -exports[`modules case \`values-5\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.className--e02e6f829b2bee39d627 { + background: red; +} -exports[`modules case \`values-5\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +#someId--de52fa8c46db92b11447 { + background: green; +} -exports[`modules case \`values-5\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "color": "red", - "shadow": "0 0 red,0 0 red", +.className--e02e6f829b2bee39d627 .subClass--be91981b36e10e364e4c { + color: green; } -`; -exports[`modules case \`values-5\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - ".ghi { box-shadow: 0 0 red,0 0 red; } -", - "", - ], -] -`; +#someId--de52fa8c46db92b11447 .subClass--be91981b36e10e364e4c { + color: blue; +} -exports[`modules case \`values-5\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +.-a0-34a___f--da00a255d4f26816d790 { + color: red; +} -exports[`modules case \`values-5\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +.m_x_\\\\@--bfd2a88024baab94215a { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`values-5\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "color": "red", - "ghi": "_ghi", - "shadow": "0 0 red,0 0 red", +.B\\\\&W\\\\?--bdeaa204fa06e193156e { + margin-left: auto !important; + margin-right: auto !important; } -`; -exports[`modules case \`values-5\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - "._ghi { box-shadow: 0 0 red,0 0 red; } -", - "", - ], -] -`; +/* matches elements with class=":\\\`(" */ +.\\\\3A \\\\\\\`\\\\(--ca761b17eca1ae06d42e { + color: aqua; +} -exports[`modules case \`values-5\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +/* matches elements with class="1a2b3c" */ +.\\\\31 a2b3c--a35141d9affd245508ec { + color: aliceblue; +} -exports[`modules case \`values-5\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +/* matches the element with id="#fake-id" */ +#\\\\#fake-id--ad040e49adcf9ebf2b28 { + color: antiquewhite; +} -exports[`modules case \`values-5\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "color": "red", - "ghi": "_3Uw-A6Tr2LkIED6NTqwFvj", - "shadow": "0 0 red,0 0 red", +/* matches the element with id="-a-b-c-" */ +#-a-b-c---e778be7522ccfc908a7f { + color: azure; } -`; -exports[`modules case \`values-5\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - "._3Uw-A6Tr2LkIED6NTqwFvj { box-shadow: 0 0 red,0 0 red; } -", - "", - ], -] -`; +/* matches the element with id="©" */ +#©--e0f3ca20d394f3e4c0c4 { + color: black; +} -exports[`modules case \`values-5\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +.♥--a33350b333a80f1b1a5b { background: lime; } +.©--e0f3ca20d394f3e4c0c4 { background: lime; } +.😍--c0436529b39516386e8e { background: lime; } +.“‘’”--e70e1ad7759d3f300df8 { background: lime; } +.☺☃--a0cb57576a5c7938d368 { background: lime; } +.⌘⌥--e217e979d1184a514863 { background: lime; } +.𝄞♪♩♫♬--a84ff99d334be3b94b99 { background: lime; } +.💩--d850ae0fa2bc4c199f78 { background: lime; } +.\\\\?--ce25d6e6d5d3f7f1caf8 { background: lime; } +.\\\\@--af4ac041e6ccf6398ff5 { background: lime; } +.\\\\.--e94958877c738509339f { background: lime; } +.\\\\3A \\\\)--c80360aed4da410414fc { background: lime; } +.\\\\3A \\\\\\\`\\\\(--ca761b17eca1ae06d42e { background: lime; } +.\\\\31 23--c945113ffceee32ec307 { background: lime; } +.\\\\31 a2b3c--a35141d9affd245508ec { background: lime; } +.\\\\--b01c44339fab06966cef { background: lime; } +.\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\>--e4fde695b6d3728c37e2 { background: lime; } +.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\.--dd1263b9248633b49ab6 { background: lime; } +.\\\\#--e135fb99b5f04b604132 { background: lime; } +.\\\\#\\\\#--ba6fb20eb138e8d73dc4 { background: lime; } +.\\\\#\\\\.\\\\#\\\\.\\\\#--a6704dcf2abf08ff56bd { background: lime; } +.\\\\_--aa2521adbafa6a1b57d0 { background: lime; } +.\\\\{\\\\}--c716be70a0fac8bbc9e8 { background: lime; } +.\\\\#fake\\\\-id--ad040e49adcf9ebf2b28 { background: lime; } +.foo\\\\.bar--ce58180c03c903fcc73c { background: lime; } +.\\\\3A hover--defde77234f3cb7141b1 { background: lime; } +.\\\\3A hover\\\\3A focus\\\\3A active--cf83606abd36c7adf7e7 { background: lime; } +.\\\\[attr\\\\=value\\\\]--c9620f5e0b4a2472cd5a { background: lime; } +.f\\\\/o\\\\/o--d439f5313663238836bb { background: lime; } +.f\\\\\\\\o\\\\\\\\o--f64285b41af14c5e74b5 { background: lime; } +.f\\\\*o\\\\*o--e844a318c45519219501 { background: lime; } +.f\\\\!o\\\\!o--ae46ad5331777ab05875 { background: lime; } +.f\\\\'o\\\\'o--a23d7b9b14b04706b089 { background: lime; } +.f\\\\~o\\\\~o--cc96b7a27dbd52fba7a5 { background: lime; } +.f\\\\+o\\\\+o--debcf9986b3f64af6af9 { background: lime; } + +.foo\\\\/bar--d76ec2006d8359a0df78 { + background: hotpink; +} -exports[`modules case \`values-6\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +.foo\\\\\\\\bar--c17737aec664275b67b0 { + background: hotpink; +} -exports[`modules case \`values-6\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +.foo\\\\/bar\\\\/baz--c948ac137924110011f2 { + background: hotpink; +} -exports[`modules case \`values-6\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "@value color from './file1.css'; -@value shadow: 0 0 color ,0 0 color; -.ghi { box-shadow: shadow; } -", - "", - ], -] -`; +.foo\\\\\\\\bar\\\\\\\\baz--ee89c9e938e6eb8df43d { + background: hotpink; +} +\`, ""]); +// Exports +var _1 = \`123--c945113ffceee32ec307\`; +export { _1 as "123" }; +export var test = \`test--ddd414ab5d5137709283\`; +export var _test = \`_test--e91d3d0c5fd37cd4b01b\`; +export var className = \`className--e02e6f829b2bee39d627\`; +export var someId = \`someId--de52fa8c46db92b11447\`; +export var subClass = \`subClass--be91981b36e10e364e4c\`; +var _2 = \`-a0-34a___f--da00a255d4f26816d790\`; +export { _2 as "-a0-34a___f" }; +var _3 = \`m_x_@--bfd2a88024baab94215a\`; +export { _3 as "m_x_@" }; +var _4 = \`B&W?--bdeaa204fa06e193156e\`; +export { _4 as "B&W?" }; +var _5 = \`:\\\`(--ca761b17eca1ae06d42e\`; +export { _5 as ":\`(" }; +var _6 = \`1a2b3c--a35141d9affd245508ec\`; +export { _6 as "1a2b3c" }; +var _7 = \`#fake-id--ad040e49adcf9ebf2b28\`; +export { _7 as "#fake-id" }; +var _8 = \`-a-b-c---e778be7522ccfc908a7f\`; +export { _8 as "-a-b-c-" }; +var _9 = \`©--e0f3ca20d394f3e4c0c4\`; +export { _9 as "©" }; +var _a = \`♥--a33350b333a80f1b1a5b\`; +export { _a as "♥" }; +var _b = \`😍--c0436529b39516386e8e\`; +export { _b as "😍" }; +var _c = \`“‘’”--e70e1ad7759d3f300df8\`; +export { _c as "“‘’”" }; +var _d = \`☺☃--a0cb57576a5c7938d368\`; +export { _d as "☺☃" }; +var _e = \`⌘⌥--e217e979d1184a514863\`; +export { _e as "⌘⌥" }; +var _f = \`𝄞♪♩♫♬--a84ff99d334be3b94b99\`; +export { _f as "𝄞♪♩♫♬" }; +var _10 = \`💩--d850ae0fa2bc4c199f78\`; +export { _10 as "💩" }; +var _11 = \`?--ce25d6e6d5d3f7f1caf8\`; +export { _11 as "?" }; +var _12 = \`@--af4ac041e6ccf6398ff5\`; +export { _12 as "@" }; +var _13 = \`.--e94958877c738509339f\`; +export { _13 as "." }; +var _14 = \`:)--c80360aed4da410414fc\`; +export { _14 as ":)" }; +var _15 = \`

--b01c44339fab06966cef\`; +export { _15 as "

" }; +var _16 = \`<><<<>><>--e4fde695b6d3728c37e2\`; +export { _16 as "<><<<>><>" }; +var _17 = \`++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.--dd1263b9248633b49ab6\`; +export { _17 as "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." }; +var _18 = \`#--e135fb99b5f04b604132\`; +export { _18 as "#" }; +var _19 = \`##--ba6fb20eb138e8d73dc4\`; +export { _19 as "##" }; +var _1a = \`#.#.#--a6704dcf2abf08ff56bd\`; +export { _1a as "#.#.#" }; +export var _ = \`_--aa2521adbafa6a1b57d0\`; +var _1b = \`{}--c716be70a0fac8bbc9e8\`; +export { _1b as "{}" }; +var _1c = \`foo.bar--ce58180c03c903fcc73c\`; +export { _1c as "foo.bar" }; +var _1d = \`:hover--defde77234f3cb7141b1\`; +export { _1d as ":hover" }; +var _1e = \`:hover:focus:active--cf83606abd36c7adf7e7\`; +export { _1e as ":hover:focus:active" }; +var _1f = \`[attr=value]--c9620f5e0b4a2472cd5a\`; +export { _1f as "[attr=value]" }; +var _20 = \`f/o/o--d439f5313663238836bb\`; +export { _20 as "f/o/o" }; +var _21 = \`f\\\\o\\\\o--f64285b41af14c5e74b5\`; +export { _21 as "f\\\\o\\\\o" }; +var _22 = \`f*o*o--e844a318c45519219501\`; +export { _22 as "f*o*o" }; +var _23 = \`f!o!o--ae46ad5331777ab05875\`; +export { _23 as "f!o!o" }; +var _24 = \`f'o'o--a23d7b9b14b04706b089\`; +export { _24 as "f'o'o" }; +var _25 = \`f~o~o--cc96b7a27dbd52fba7a5\`; +export { _25 as "f~o~o" }; +var _26 = \`f+o+o--debcf9986b3f64af6af9\`; +export { _26 as "f+o+o" }; +var _27 = \`foo/bar--d76ec2006d8359a0df78\`; +export { _27 as "foo/bar" }; +var _28 = \`foo\\\\bar--c17737aec664275b67b0\`; +export { _28 as "foo\\\\bar" }; +var _29 = \`foo/bar/baz--c948ac137924110011f2\`; +export { _29 as "foo/bar/baz" }; +var _2a = \`foo\\\\bar\\\\baz--ee89c9e938e6eb8df43d\`; +export { _2a as "foo\\\\bar\\\\baz" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the "localIdentHashFunction" option: module 2`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.test--KuIShlgsYf { + background: red; +} -exports[`modules case \`values-6\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +._test--Lb3fhDAuJv { + background: blue; +} -exports[`modules case \`values-6\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +.className--LdhpkZRWyK { + background: red; +} -exports[`modules case \`values-6\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "color": "red", - "shadow": "0 0 red ,0 0 red", +#someId--b0rhwJStMR { + background: green; } -`; -exports[`modules case \`values-6\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - ".ghi { box-shadow: 0 0 red ,0 0 red; } -", - "", - ], -] -`; +.className--LdhpkZRWyK .subClass--Mw9j4nIdjx { + color: green; +} + +#someId--b0rhwJStMR .subClass--Mw9j4nIdjx { + color: blue; +} + +.-a0-34a___f--DdFWMPoluI { + color: red; +} -exports[`modules case \`values-6\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +.m_x_\\\\@--OdAmghrme3 { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`values-6\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +.B\\\\&W\\\\?--h4SEF34CLw { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`values-6\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "color": "red", - "ghi": "_2qKjolC-wu9Dp8-RCkWiLN", - "shadow": "0 0 red ,0 0 red", +/* matches elements with class=":\\\`(" */ +.\\\\3A \\\\\\\`\\\\(--fKJQkLarfQ { + color: aqua; } -`; -exports[`modules case \`values-6\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - "._2qKjolC-wu9Dp8-RCkWiLN { box-shadow: 0 0 red ,0 0 red; } -", - "", - ], -] -`; +/* matches elements with class="1a2b3c" */ +.\\\\31 a2b3c--YR1u_buYf6 { + color: aliceblue; +} -exports[`modules case \`values-6\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +/* matches the element with id="#fake-id" */ +#\\\\#fake-id--AqiAGSfnwa { + color: antiquewhite; +} -exports[`modules case \`values-6\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +/* matches the element with id="-a-b-c-" */ +#-a-b-c---CwXv27VMwy { + color: azure; +} -exports[`modules case \`values-6\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "color": "red", - "shadow": "0 0 red ,0 0 red", +/* matches the element with id="©" */ +#©--jBj0sZiWBy { + color: black; } -`; -exports[`modules case \`values-6\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - ".ghi { box-shadow: 0 0 red ,0 0 red; } -", - "", - ], -] -`; +.♥--vJl9A9Ds21 { background: lime; } +.©--jBj0sZiWBy { background: lime; } +.😍--CNLr9yJwqs { background: lime; } +.“‘’”--GM0Y0nFCPt { background: lime; } +.☺☃--NKrBw7EAqP { background: lime; } +.⌘⌥--edHWpSne18 { background: lime; } +.𝄞♪♩♫♬--QyMp9YMEoY { background: lime; } +.💩--B82YxwgREH { background: lime; } +.\\\\?--ndmpvNNltJ { background: lime; } +.\\\\@--v3gq0wPogd { background: lime; } +.\\\\.--zd5uIZq6Kr { background: lime; } +.\\\\3A \\\\)--ZiZnRjRT03 { background: lime; } +.\\\\3A \\\\\\\`\\\\(--fKJQkLarfQ { background: lime; } +.\\\\31 23--oqRGsO4UR7 { background: lime; } +.\\\\31 a2b3c--YR1u_buYf6 { background: lime; } +.\\\\--TdAx2ZSkw7 { background: lime; } +.\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\>--ozNsTIG0LL { background: lime; } +.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\.--ByKoYcSrMT { background: lime; } +.\\\\#--HkwIsjW5i7 { background: lime; } +.\\\\#\\\\#--IJc6Xl4ZKV { background: lime; } +.\\\\#\\\\.\\\\#\\\\.\\\\#--BnPpnJmPeN { background: lime; } +.\\\\_--bCwkZEDuxD { background: lime; } +.\\\\{\\\\}--IZkBfE9iUP { background: lime; } +.\\\\#fake\\\\-id--AqiAGSfnwa { background: lime; } +.foo\\\\.bar--uajo7mHzD_ { background: lime; } +.\\\\3A hover--HVudUNXnLN { background: lime; } +.\\\\3A hover\\\\3A focus\\\\3A active--ZlaaXvHLUs { background: lime; } +.\\\\[attr\\\\=value\\\\]--PWvC4jVM5S { background: lime; } +.f\\\\/o\\\\/o--A5l5sDODF4 { background: lime; } +.f\\\\\\\\o\\\\\\\\o--DFfh4KyqOO { background: lime; } +.f\\\\*o\\\\*o--gv1E2n_bVv { background: lime; } +.f\\\\!o\\\\!o--_aIyR9ETAs { background: lime; } +.f\\\\'o\\\\'o--HSXNnSjt1Q { background: lime; } +.f\\\\~o\\\\~o--MrVzSIcSXy { background: lime; } +.f\\\\+o\\\\+o--EvMHRmCudy { background: lime; } + +.foo\\\\/bar--hei2uQgDeX { + background: hotpink; +} -exports[`modules case \`values-6\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +.foo\\\\\\\\bar--IgSzmmsCqi { + background: hotpink; +} -exports[`modules case \`values-6\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +.foo\\\\/bar\\\\/baz--p6KJMhNWwm { + background: hotpink; +} -exports[`modules case \`values-6\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "color": "red", - "ghi": "_ghi", - "shadow": "0 0 red ,0 0 red", +.foo\\\\\\\\bar\\\\\\\\baz--HZerWgmU0f { + background: hotpink; +} +\`, ""]); +// Exports +var _1 = \`123--oqRGsO4UR7\`; +export { _1 as "123" }; +export var test = \`test--KuIShlgsYf\`; +export var _test = \`_test--Lb3fhDAuJv\`; +export var className = \`className--LdhpkZRWyK\`; +export var someId = \`someId--b0rhwJStMR\`; +export var subClass = \`subClass--Mw9j4nIdjx\`; +var _2 = \`-a0-34a___f--DdFWMPoluI\`; +export { _2 as "-a0-34a___f" }; +var _3 = \`m_x_@--OdAmghrme3\`; +export { _3 as "m_x_@" }; +var _4 = \`B&W?--h4SEF34CLw\`; +export { _4 as "B&W?" }; +var _5 = \`:\\\`(--fKJQkLarfQ\`; +export { _5 as ":\`(" }; +var _6 = \`1a2b3c--YR1u_buYf6\`; +export { _6 as "1a2b3c" }; +var _7 = \`#fake-id--AqiAGSfnwa\`; +export { _7 as "#fake-id" }; +var _8 = \`-a-b-c---CwXv27VMwy\`; +export { _8 as "-a-b-c-" }; +var _9 = \`©--jBj0sZiWBy\`; +export { _9 as "©" }; +var _a = \`♥--vJl9A9Ds21\`; +export { _a as "♥" }; +var _b = \`😍--CNLr9yJwqs\`; +export { _b as "😍" }; +var _c = \`“‘’”--GM0Y0nFCPt\`; +export { _c as "“‘’”" }; +var _d = \`☺☃--NKrBw7EAqP\`; +export { _d as "☺☃" }; +var _e = \`⌘⌥--edHWpSne18\`; +export { _e as "⌘⌥" }; +var _f = \`𝄞♪♩♫♬--QyMp9YMEoY\`; +export { _f as "𝄞♪♩♫♬" }; +var _10 = \`💩--B82YxwgREH\`; +export { _10 as "💩" }; +var _11 = \`?--ndmpvNNltJ\`; +export { _11 as "?" }; +var _12 = \`@--v3gq0wPogd\`; +export { _12 as "@" }; +var _13 = \`.--zd5uIZq6Kr\`; +export { _13 as "." }; +var _14 = \`:)--ZiZnRjRT03\`; +export { _14 as ":)" }; +var _15 = \`

--TdAx2ZSkw7\`; +export { _15 as "

" }; +var _16 = \`<><<<>><>--ozNsTIG0LL\`; +export { _16 as "<><<<>><>" }; +var _17 = \`++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.--ByKoYcSrMT\`; +export { _17 as "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." }; +var _18 = \`#--HkwIsjW5i7\`; +export { _18 as "#" }; +var _19 = \`##--IJc6Xl4ZKV\`; +export { _19 as "##" }; +var _1a = \`#.#.#--BnPpnJmPeN\`; +export { _1a as "#.#.#" }; +export var _ = \`_--bCwkZEDuxD\`; +var _1b = \`{}--IZkBfE9iUP\`; +export { _1b as "{}" }; +var _1c = \`foo.bar--uajo7mHzD_\`; +export { _1c as "foo.bar" }; +var _1d = \`:hover--HVudUNXnLN\`; +export { _1d as ":hover" }; +var _1e = \`:hover:focus:active--ZlaaXvHLUs\`; +export { _1e as ":hover:focus:active" }; +var _1f = \`[attr=value]--PWvC4jVM5S\`; +export { _1f as "[attr=value]" }; +var _20 = \`f/o/o--A5l5sDODF4\`; +export { _20 as "f/o/o" }; +var _21 = \`f\\\\o\\\\o--DFfh4KyqOO\`; +export { _21 as "f\\\\o\\\\o" }; +var _22 = \`f*o*o--gv1E2n_bVv\`; +export { _22 as "f*o*o" }; +var _23 = \`f!o!o--_aIyR9ETAs\`; +export { _23 as "f!o!o" }; +var _24 = \`f'o'o--HSXNnSjt1Q\`; +export { _24 as "f'o'o" }; +var _25 = \`f~o~o--MrVzSIcSXy\`; +export { _25 as "f~o~o" }; +var _26 = \`f+o+o--EvMHRmCudy\`; +export { _26 as "f+o+o" }; +var _27 = \`foo/bar--hei2uQgDeX\`; +export { _27 as "foo/bar" }; +var _28 = \`foo\\\\bar--IgSzmmsCqi\`; +export { _28 as "foo\\\\bar" }; +var _29 = \`foo/bar/baz--p6KJMhNWwm\`; +export { _29 as "foo/bar/baz" }; +var _2a = \`foo\\\\bar\\\\baz--HZerWgmU0f\`; +export { _2a as "foo\\\\bar\\\\baz" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the "localIdentHashFunction" option: result 1`] = ` +[ + [ + "./modules/localIdentName/localIdentName.css", + ".test--ddd414ab5d5137709283 { + background: red; } -`; -exports[`modules case \`values-6\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - "._ghi { box-shadow: 0 0 red ,0 0 red; } -", - "", - ], -] -`; +._test--e91d3d0c5fd37cd4b01b { + background: blue; +} -exports[`modules case \`values-6\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +.className--e02e6f829b2bee39d627 { + background: red; +} -exports[`modules case \`values-6\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +#someId--de52fa8c46db92b11447 { + background: green; +} -exports[`modules case \`values-6\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "color": "red", - "ghi": "_2qKjolC-wu9Dp8-RCkWiLN", - "shadow": "0 0 red ,0 0 red", +.className--e02e6f829b2bee39d627 .subClass--be91981b36e10e364e4c { + color: green; } -`; -exports[`modules case \`values-6\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - "._2qKjolC-wu9Dp8-RCkWiLN { box-shadow: 0 0 red ,0 0 red; } -", - "", - ], -] -`; +#someId--de52fa8c46db92b11447 .subClass--be91981b36e10e364e4c { + color: blue; +} -exports[`modules case \`values-6\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +.-a0-34a___f--da00a255d4f26816d790 { + color: red; +} -exports[`modules case \`values-7\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +.m_x_\\@--bfd2a88024baab94215a { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`values-7\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +.B\\&W\\?--bdeaa204fa06e193156e { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`values-7\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "@value color from './file1.css'; -@value shadow: 0 0 color, 0 0 color; -.ghi { box-shadow: shadow; } -", - "", - ], -] -`; +/* matches elements with class=":\`(" */ +.\\3A \\\`\\(--ca761b17eca1ae06d42e { + color: aqua; +} -exports[`modules case \`values-7\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +/* matches elements with class="1a2b3c" */ +.\\31 a2b3c--a35141d9affd245508ec { + color: aliceblue; +} -exports[`modules case \`values-7\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +/* matches the element with id="#fake-id" */ +#\\#fake-id--ad040e49adcf9ebf2b28 { + color: antiquewhite; +} -exports[`modules case \`values-7\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "color": "red", - "shadow": "0 0 red, 0 0 red", +/* matches the element with id="-a-b-c-" */ +#-a-b-c---e778be7522ccfc908a7f { + color: azure; } -`; -exports[`modules case \`values-7\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - ".ghi { box-shadow: 0 0 red, 0 0 red; } -", - "", - ], -] -`; +/* matches the element with id="©" */ +#©--e0f3ca20d394f3e4c0c4 { + color: black; +} -exports[`modules case \`values-7\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +.♥--a33350b333a80f1b1a5b { background: lime; } +.©--e0f3ca20d394f3e4c0c4 { background: lime; } +.😍--c0436529b39516386e8e { background: lime; } +.“‘’”--e70e1ad7759d3f300df8 { background: lime; } +.☺☃--a0cb57576a5c7938d368 { background: lime; } +.⌘⌥--e217e979d1184a514863 { background: lime; } +.𝄞♪♩♫♬--a84ff99d334be3b94b99 { background: lime; } +.💩--d850ae0fa2bc4c199f78 { background: lime; } +.\\?--ce25d6e6d5d3f7f1caf8 { background: lime; } +.\\@--af4ac041e6ccf6398ff5 { background: lime; } +.\\.--e94958877c738509339f { background: lime; } +.\\3A \\)--c80360aed4da410414fc { background: lime; } +.\\3A \\\`\\(--ca761b17eca1ae06d42e { background: lime; } +.\\31 23--c945113ffceee32ec307 { background: lime; } +.\\31 a2b3c--a35141d9affd245508ec { background: lime; } +.\\--b01c44339fab06966cef { background: lime; } +.\\<\\>\\<\\<\\<\\>\\>\\<\\>--e4fde695b6d3728c37e2 { background: lime; } +.\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\[\\>\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\>\\+\\<\\<\\<\\<\\-\\]\\>\\+\\+\\.\\>\\+\\.\\+\\+\\+\\+\\+\\+\\+\\.\\.\\+\\+\\+\\.\\>\\+\\+\\.\\<\\<\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\.\\>\\.\\+\\+\\+\\.\\-\\-\\-\\-\\-\\-\\.\\-\\-\\-\\-\\-\\-\\-\\-\\.\\>\\+\\.\\>\\.--dd1263b9248633b49ab6 { background: lime; } +.\\#--e135fb99b5f04b604132 { background: lime; } +.\\#\\#--ba6fb20eb138e8d73dc4 { background: lime; } +.\\#\\.\\#\\.\\#--a6704dcf2abf08ff56bd { background: lime; } +.\\_--aa2521adbafa6a1b57d0 { background: lime; } +.\\{\\}--c716be70a0fac8bbc9e8 { background: lime; } +.\\#fake\\-id--ad040e49adcf9ebf2b28 { background: lime; } +.foo\\.bar--ce58180c03c903fcc73c { background: lime; } +.\\3A hover--defde77234f3cb7141b1 { background: lime; } +.\\3A hover\\3A focus\\3A active--cf83606abd36c7adf7e7 { background: lime; } +.\\[attr\\=value\\]--c9620f5e0b4a2472cd5a { background: lime; } +.f\\/o\\/o--d439f5313663238836bb { background: lime; } +.f\\\\o\\\\o--f64285b41af14c5e74b5 { background: lime; } +.f\\*o\\*o--e844a318c45519219501 { background: lime; } +.f\\!o\\!o--ae46ad5331777ab05875 { background: lime; } +.f\\'o\\'o--a23d7b9b14b04706b089 { background: lime; } +.f\\~o\\~o--cc96b7a27dbd52fba7a5 { background: lime; } +.f\\+o\\+o--debcf9986b3f64af6af9 { background: lime; } + +.foo\\/bar--d76ec2006d8359a0df78 { + background: hotpink; +} -exports[`modules case \`values-7\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +.foo\\\\bar--c17737aec664275b67b0 { + background: hotpink; +} -exports[`modules case \`values-7\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "color": "red", - "ghi": "_1SVUxnI1T0vYEcq2VXU5pr", - "shadow": "0 0 red, 0 0 red", +.foo\\/bar\\/baz--c948ac137924110011f2 { + background: hotpink; } -`; -exports[`modules case \`values-7\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - "._1SVUxnI1T0vYEcq2VXU5pr { box-shadow: 0 0 red, 0 0 red; } +.foo\\\\bar\\\\baz--ee89c9e938e6eb8df43d { + background: hotpink; +} ", "", ], ] `; -exports[`modules case \`values-7\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; - -exports[`modules case \`values-7\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; - -exports[`modules case \`values-7\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "color": "red", - "shadow": "0 0 red, 0 0 red", +exports[`"modules" option should work and respect the "localIdentHashFunction" option: result 2`] = ` +[ + [ + "./modules/localIdentName/localIdentName.css", + ".test--KuIShlgsYf { + background: red; } -`; -exports[`modules case \`values-7\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - ".ghi { box-shadow: 0 0 red, 0 0 red; } -", - "", - ], -] -`; - -exports[`modules case \`values-7\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +._test--Lb3fhDAuJv { + background: blue; +} -exports[`modules case \`values-7\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +.className--LdhpkZRWyK { + background: red; +} -exports[`modules case \`values-7\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "color": "red", - "ghi": "_ghi", - "shadow": "0 0 red, 0 0 red", +#someId--b0rhwJStMR { + background: green; } -`; -exports[`modules case \`values-7\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - "._ghi { box-shadow: 0 0 red, 0 0 red; } -", - "", - ], -] -`; +.className--LdhpkZRWyK .subClass--Mw9j4nIdjx { + color: green; +} -exports[`modules case \`values-7\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +#someId--b0rhwJStMR .subClass--Mw9j4nIdjx { + color: blue; +} -exports[`modules case \`values-7\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +.-a0-34a___f--DdFWMPoluI { + color: red; +} -exports[`modules case \`values-7\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "color": "red", - "ghi": "_1SVUxnI1T0vYEcq2VXU5pr", - "shadow": "0 0 red, 0 0 red", +.m_x_\\@--OdAmghrme3 { + margin-left: auto !important; + margin-right: auto !important; } -`; -exports[`modules case \`values-7\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 1, - "._1SVUxnI1T0vYEcq2VXU5pr { box-shadow: 0 0 red, 0 0 red; } -", - "", - ], -] -`; +.B\\&W\\?--h4SEF34CLw { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`values-7\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +/* matches elements with class=":\`(" */ +.\\3A \\\`\\(--fKJQkLarfQ { + color: aqua; +} -exports[`modules case \`values-8\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +/* matches elements with class="1a2b3c" */ +.\\31 a2b3c--YR1u_buYf6 { + color: aliceblue; +} -exports[`modules case \`values-8\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +/* matches the element with id="#fake-id" */ +#\\#fake-id--AqiAGSfnwa { + color: antiquewhite; +} -exports[`modules case \`values-8\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "@value shadow-color: rgba(0, 0, 0, 0.5); +/* matches the element with id="-a-b-c-" */ +#-a-b-c---CwXv27VMwy { + color: azure; +} -.shadow { - box-shadow: 0 10px 10px shadow-color, - 10px 0px 5px shadow-color; +/* matches the element with id="©" */ +#©--jBj0sZiWBy { + color: black; } -", - "", - ], -] -`; -exports[`modules case \`values-8\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +.♥--vJl9A9Ds21 { background: lime; } +.©--jBj0sZiWBy { background: lime; } +.😍--CNLr9yJwqs { background: lime; } +.“‘’”--GM0Y0nFCPt { background: lime; } +.☺☃--NKrBw7EAqP { background: lime; } +.⌘⌥--edHWpSne18 { background: lime; } +.𝄞♪♩♫♬--QyMp9YMEoY { background: lime; } +.💩--B82YxwgREH { background: lime; } +.\\?--ndmpvNNltJ { background: lime; } +.\\@--v3gq0wPogd { background: lime; } +.\\.--zd5uIZq6Kr { background: lime; } +.\\3A \\)--ZiZnRjRT03 { background: lime; } +.\\3A \\\`\\(--fKJQkLarfQ { background: lime; } +.\\31 23--oqRGsO4UR7 { background: lime; } +.\\31 a2b3c--YR1u_buYf6 { background: lime; } +.\\--TdAx2ZSkw7 { background: lime; } +.\\<\\>\\<\\<\\<\\>\\>\\<\\>--ozNsTIG0LL { background: lime; } +.\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\[\\>\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\>\\+\\<\\<\\<\\<\\-\\]\\>\\+\\+\\.\\>\\+\\.\\+\\+\\+\\+\\+\\+\\+\\.\\.\\+\\+\\+\\.\\>\\+\\+\\.\\<\\<\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\.\\>\\.\\+\\+\\+\\.\\-\\-\\-\\-\\-\\-\\.\\-\\-\\-\\-\\-\\-\\-\\-\\.\\>\\+\\.\\>\\.--ByKoYcSrMT { background: lime; } +.\\#--HkwIsjW5i7 { background: lime; } +.\\#\\#--IJc6Xl4ZKV { background: lime; } +.\\#\\.\\#\\.\\#--BnPpnJmPeN { background: lime; } +.\\_--bCwkZEDuxD { background: lime; } +.\\{\\}--IZkBfE9iUP { background: lime; } +.\\#fake\\-id--AqiAGSfnwa { background: lime; } +.foo\\.bar--uajo7mHzD_ { background: lime; } +.\\3A hover--HVudUNXnLN { background: lime; } +.\\3A hover\\3A focus\\3A active--ZlaaXvHLUs { background: lime; } +.\\[attr\\=value\\]--PWvC4jVM5S { background: lime; } +.f\\/o\\/o--A5l5sDODF4 { background: lime; } +.f\\\\o\\\\o--DFfh4KyqOO { background: lime; } +.f\\*o\\*o--gv1E2n_bVv { background: lime; } +.f\\!o\\!o--_aIyR9ETAs { background: lime; } +.f\\'o\\'o--HSXNnSjt1Q { background: lime; } +.f\\~o\\~o--MrVzSIcSXy { background: lime; } +.f\\+o\\+o--EvMHRmCudy { background: lime; } + +.foo\\/bar--hei2uQgDeX { + background: hotpink; +} -exports[`modules case \`values-8\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +.foo\\\\bar--IgSzmmsCqi { + background: hotpink; +} -exports[`modules case \`values-8\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "shadow-color": "rgba(0, 0, 0, 0.5)", +.foo\\/bar\\/baz--p6KJMhNWwm { + background: hotpink; } -`; -exports[`modules case \`values-8\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".shadow { - box-shadow: 0 10px 10px rgba(0, 0, 0, 0.5), - 10px 0px 5px rgba(0, 0, 0, 0.5); +.foo\\\\bar\\\\baz--HZerWgmU0f { + background: hotpink; } ", "", @@ -5337,190 +7247,345 @@ Array [ ] `; -exports[`modules case \`values-8\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +exports[`"modules" option should work and respect the "localIdentHashFunction" option: warnings 1`] = `[]`; + +exports[`"modules" option should work and respect the "localIdentHashFunction" option: warnings 2`] = `[]`; -exports[`modules case \`values-8\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +exports[`"modules" option should work and respect the "localIdentName" option 2: errors 1`] = `[]`; -exports[`modules case \`values-8\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "shadow": "_3fhB2YwAmhjTmtcd6ofBQH", - "shadow-color": "rgba(0, 0, 0, 0.5)", +exports[`"modules" option should work and respect the "localIdentName" option 2: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.localIdentName--test--aa7e9 { + background: red; } -`; -exports[`modules case \`values-8\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._3fhB2YwAmhjTmtcd6ofBQH { - box-shadow: 0 10px 10px rgba(0, 0, 0, 0.5), - 10px 0px 5px rgba(0, 0, 0, 0.5); +.localIdentName--_test--c6a38 { + background: blue; } -", - "", - ], -] -`; -exports[`modules case \`values-8\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.localIdentName--className--ae4cd { + background: red; +} -exports[`modules case \`values-8\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +#localIdentName--someId--a747a { + background: green; +} -exports[`modules case \`values-8\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "shadow-color": "rgba(0, 0, 0, 0.5)", +.localIdentName--className--ae4cd .localIdentName--subClass--bf463 { + color: green; } -`; -exports[`modules case \`values-8\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".shadow { - box-shadow: 0 10px 10px rgba(0, 0, 0, 0.5), - 10px 0px 5px rgba(0, 0, 0, 0.5); +#localIdentName--someId--a747a .localIdentName--subClass--bf463 { + color: blue; } -", - "", - ], -] -`; -exports[`modules case \`values-8\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +.localIdentName---a0-34a___f--d3488 { + color: red; +} -exports[`modules case \`values-8\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +.localIdentName--m_x_\\\\@--ff0d5 { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`values-8\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "shadow": "_shadow", - "shadow-color": "rgba(0, 0, 0, 0.5)", +.localIdentName--B\\\\&W\\\\?--f7662 { + margin-left: auto !important; + margin-right: auto !important; } -`; -exports[`modules case \`values-8\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._shadow { - box-shadow: 0 10px 10px rgba(0, 0, 0, 0.5), - 10px 0px 5px rgba(0, 0, 0, 0.5); +/* matches elements with class=":\\\`(" */ +.localIdentName--\\\\3A \\\\\\\`\\\\(--d3744 { + color: aqua; } -", - "", - ], -] -`; -exports[`modules case \`values-8\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +/* matches elements with class="1a2b3c" */ +.localIdentName--\\\\31 a2b3c--c4cbc { + color: aliceblue; +} -exports[`modules case \`values-8\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +/* matches the element with id="#fake-id" */ +#localIdentName--\\\\#fake-id--e42a4 { + color: antiquewhite; +} -exports[`modules case \`values-8\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "shadow": "_3fhB2YwAmhjTmtcd6ofBQH", - "shadow-color": "rgba(0, 0, 0, 0.5)", +/* matches the element with id="-a-b-c-" */ +#localIdentName---a-b-c---e4b0f { + color: azure; } -`; -exports[`modules case \`values-8\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._3fhB2YwAmhjTmtcd6ofBQH { - box-shadow: 0 10px 10px rgba(0, 0, 0, 0.5), - 10px 0px 5px rgba(0, 0, 0, 0.5); +/* matches the element with id="©" */ +#localIdentName--©--c3e22 { + color: black; } -", - "", - ], -] -`; -exports[`modules case \`values-8\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +.localIdentName--♥--a47a2 { background: lime; } +.localIdentName--©--c3e22 { background: lime; } +.localIdentName--😍--f0c92 { background: lime; } +.localIdentName--“‘’”--ca0fd { background: lime; } +.localIdentName--☺☃--f9c8b { background: lime; } +.localIdentName--⌘⌥--b3cde { background: lime; } +.localIdentName--𝄞♪♩♫♬--d2c20 { background: lime; } +.localIdentName--💩--f7356 { background: lime; } +.localIdentName--\\\\?--d9503 { background: lime; } +.localIdentName--\\\\@--b2fac { background: lime; } +.localIdentName--\\\\.--fd361 { background: lime; } +.localIdentName--\\\\3A \\\\)--c58a4 { background: lime; } +.localIdentName--\\\\3A \\\\\\\`\\\\(--d3744 { background: lime; } +.localIdentName--\\\\31 23--c47e4 { background: lime; } +.localIdentName--\\\\31 a2b3c--c4cbc { background: lime; } +.localIdentName--\\\\--cc129 { background: lime; } +.localIdentName--\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\>--fcdf9 { background: lime; } +.localIdentName--\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\.--fec05 { background: lime; } +.localIdentName--\\\\#--e36d3 { background: lime; } +.localIdentName--\\\\#\\\\#--b7f30 { background: lime; } +.localIdentName--\\\\#\\\\.\\\\#\\\\.\\\\#--a3350 { background: lime; } +.localIdentName--\\\\_--f2a47 { background: lime; } +.localIdentName--\\\\{\\\\}--b6deb { background: lime; } +.localIdentName--\\\\#fake\\\\-id--e42a4 { background: lime; } +.localIdentName--foo\\\\.bar--e5115 { background: lime; } +.localIdentName--\\\\3A hover--dd09e { background: lime; } +.localIdentName--\\\\3A hover\\\\3A focus\\\\3A active--a9185 { background: lime; } +.localIdentName--\\\\[attr\\\\=value\\\\]--c242f { background: lime; } +.localIdentName--f\\\\/o\\\\/o--a3967 { background: lime; } +.localIdentName--f\\\\\\\\o\\\\\\\\o--ec55c { background: lime; } +.localIdentName--f\\\\*o\\\\*o--f8235 { background: lime; } +.localIdentName--f\\\\!o\\\\!o--b05e2 { background: lime; } +.localIdentName--f\\\\'o\\\\'o--e0449 { background: lime; } +.localIdentName--f\\\\~o\\\\~o--b5a43 { background: lime; } +.localIdentName--f\\\\+o\\\\+o--e002f { background: lime; } + +.localIdentName--foo\\\\/bar--e3f1a { + background: hotpink; +} -exports[`modules case \`values-9\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +.localIdentName--foo\\\\\\\\bar--ac6d2 { + background: hotpink; +} -exports[`modules case \`values-9\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +.localIdentName--foo\\\\/bar\\\\/baz--c78d7 { + background: hotpink; +} -exports[`modules case \`values-9\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "@value def: red; +.localIdentName--foo\\\\\\\\bar\\\\\\\\baz--f235d { + background: hotpink; +} +\`, ""]); +// Exports +var _1 = \`localIdentName--123--c47e4\`; +export { _1 as "123" }; +export var test = \`localIdentName--test--aa7e9\`; +export var _test = \`localIdentName--_test--c6a38\`; +export var className = \`localIdentName--className--ae4cd\`; +export var someId = \`localIdentName--someId--a747a\`; +export var subClass = \`localIdentName--subClass--bf463\`; +var _2 = \`localIdentName---a0-34a___f--d3488\`; +export { _2 as "-a0-34a___f" }; +var _3 = \`localIdentName--m_x_@--ff0d5\`; +export { _3 as "m_x_@" }; +var _4 = \`localIdentName--B&W?--f7662\`; +export { _4 as "B&W?" }; +var _5 = \`localIdentName--:\\\`(--d3744\`; +export { _5 as ":\`(" }; +var _6 = \`localIdentName--1a2b3c--c4cbc\`; +export { _6 as "1a2b3c" }; +var _7 = \`localIdentName--#fake-id--e42a4\`; +export { _7 as "#fake-id" }; +var _8 = \`localIdentName---a-b-c---e4b0f\`; +export { _8 as "-a-b-c-" }; +var _9 = \`localIdentName--©--c3e22\`; +export { _9 as "©" }; +var _a = \`localIdentName--♥--a47a2\`; +export { _a as "♥" }; +var _b = \`localIdentName--😍--f0c92\`; +export { _b as "😍" }; +var _c = \`localIdentName--“‘’”--ca0fd\`; +export { _c as "“‘’”" }; +var _d = \`localIdentName--☺☃--f9c8b\`; +export { _d as "☺☃" }; +var _e = \`localIdentName--⌘⌥--b3cde\`; +export { _e as "⌘⌥" }; +var _f = \`localIdentName--𝄞♪♩♫♬--d2c20\`; +export { _f as "𝄞♪♩♫♬" }; +var _10 = \`localIdentName--💩--f7356\`; +export { _10 as "💩" }; +var _11 = \`localIdentName--?--d9503\`; +export { _11 as "?" }; +var _12 = \`localIdentName--@--b2fac\`; +export { _12 as "@" }; +var _13 = \`localIdentName--.--fd361\`; +export { _13 as "." }; +var _14 = \`localIdentName--:)--c58a4\`; +export { _14 as ":)" }; +var _15 = \`localIdentName--

--cc129\`; +export { _15 as "

" }; +var _16 = \`localIdentName--<><<<>><>--fcdf9\`; +export { _16 as "<><<<>><>" }; +var _17 = \`localIdentName--++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.--fec05\`; +export { _17 as "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." }; +var _18 = \`localIdentName--#--e36d3\`; +export { _18 as "#" }; +var _19 = \`localIdentName--##--b7f30\`; +export { _19 as "##" }; +var _1a = \`localIdentName--#.#.#--a3350\`; +export { _1a as "#.#.#" }; +export var _ = \`localIdentName--_--f2a47\`; +var _1b = \`localIdentName--{}--b6deb\`; +export { _1b as "{}" }; +var _1c = \`localIdentName--foo.bar--e5115\`; +export { _1c as "foo.bar" }; +var _1d = \`localIdentName--:hover--dd09e\`; +export { _1d as ":hover" }; +var _1e = \`localIdentName--:hover:focus:active--a9185\`; +export { _1e as ":hover:focus:active" }; +var _1f = \`localIdentName--[attr=value]--c242f\`; +export { _1f as "[attr=value]" }; +var _20 = \`localIdentName--f/o/o--a3967\`; +export { _20 as "f/o/o" }; +var _21 = \`localIdentName--f\\\\o\\\\o--ec55c\`; +export { _21 as "f\\\\o\\\\o" }; +var _22 = \`localIdentName--f*o*o--f8235\`; +export { _22 as "f*o*o" }; +var _23 = \`localIdentName--f!o!o--b05e2\`; +export { _23 as "f!o!o" }; +var _24 = \`localIdentName--f'o'o--e0449\`; +export { _24 as "f'o'o" }; +var _25 = \`localIdentName--f~o~o--b5a43\`; +export { _25 as "f~o~o" }; +var _26 = \`localIdentName--f+o+o--e002f\`; +export { _26 as "f+o+o" }; +var _27 = \`localIdentName--foo/bar--e3f1a\`; +export { _27 as "foo/bar" }; +var _28 = \`localIdentName--foo\\\\bar--ac6d2\`; +export { _28 as "foo\\\\bar" }; +var _29 = \`localIdentName--foo/bar/baz--c78d7\`; +export { _29 as "foo/bar/baz" }; +var _2a = \`localIdentName--foo\\\\bar\\\\baz--f235d\`; +export { _2a as "foo\\\\bar\\\\baz" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the "localIdentName" option 2: result 1`] = ` +[ + [ + "./modules/localIdentName/localIdentName.css", + ".localIdentName--test--aa7e9 { + background: red; +} -.foo1 { - prop: func(def); +.localIdentName--_test--c6a38 { + background: blue; } -.foo2 { - prop: func(10px def); +.localIdentName--className--ae4cd { + background: red; } -.foo3 { - prop: func(def 10px); +#localIdentName--someId--a747a { + background: green; } -.foo4 { - prop: func(10px def 10px); +.localIdentName--className--ae4cd .localIdentName--subClass--bf463 { + color: green; } -.foo5 { - prop: func(10px, def); +#localIdentName--someId--a747a .localIdentName--subClass--bf463 { + color: blue; } -.foo6 { - prop: func(def, 10px); +.localIdentName---a0-34a___f--d3488 { + color: red; } -.foo7 { - prop: func(10px, def, 10px); +.localIdentName--m_x_\\@--ff0d5 { + margin-left: auto !important; + margin-right: auto !important; } -", - "", - ], -] -`; -exports[`modules case \`values-9\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +.localIdentName--B\\&W\\?--f7662 { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`values-9\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +/* matches elements with class=":\`(" */ +.localIdentName--\\3A \\\`\\(--d3744 { + color: aqua; +} -exports[`modules case \`values-9\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "def": "red", +/* matches elements with class="1a2b3c" */ +.localIdentName--\\31 a2b3c--c4cbc { + color: aliceblue; } -`; -exports[`modules case \`values-9\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".foo1 { - prop: func(red); +/* matches the element with id="#fake-id" */ +#localIdentName--\\#fake-id--e42a4 { + color: antiquewhite; } -.foo2 { - prop: func(10px red); +/* matches the element with id="-a-b-c-" */ +#localIdentName---a-b-c---e4b0f { + color: azure; } -.foo3 { - prop: func(red 10px); +/* matches the element with id="©" */ +#localIdentName--©--c3e22 { + color: black; } -.foo4 { - prop: func(10px red 10px); +.localIdentName--♥--a47a2 { background: lime; } +.localIdentName--©--c3e22 { background: lime; } +.localIdentName--😍--f0c92 { background: lime; } +.localIdentName--“‘’”--ca0fd { background: lime; } +.localIdentName--☺☃--f9c8b { background: lime; } +.localIdentName--⌘⌥--b3cde { background: lime; } +.localIdentName--𝄞♪♩♫♬--d2c20 { background: lime; } +.localIdentName--💩--f7356 { background: lime; } +.localIdentName--\\?--d9503 { background: lime; } +.localIdentName--\\@--b2fac { background: lime; } +.localIdentName--\\.--fd361 { background: lime; } +.localIdentName--\\3A \\)--c58a4 { background: lime; } +.localIdentName--\\3A \\\`\\(--d3744 { background: lime; } +.localIdentName--\\31 23--c47e4 { background: lime; } +.localIdentName--\\31 a2b3c--c4cbc { background: lime; } +.localIdentName--\\--cc129 { background: lime; } +.localIdentName--\\<\\>\\<\\<\\<\\>\\>\\<\\>--fcdf9 { background: lime; } +.localIdentName--\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\[\\>\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\>\\+\\<\\<\\<\\<\\-\\]\\>\\+\\+\\.\\>\\+\\.\\+\\+\\+\\+\\+\\+\\+\\.\\.\\+\\+\\+\\.\\>\\+\\+\\.\\<\\<\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\.\\>\\.\\+\\+\\+\\.\\-\\-\\-\\-\\-\\-\\.\\-\\-\\-\\-\\-\\-\\-\\-\\.\\>\\+\\.\\>\\.--fec05 { background: lime; } +.localIdentName--\\#--e36d3 { background: lime; } +.localIdentName--\\#\\#--b7f30 { background: lime; } +.localIdentName--\\#\\.\\#\\.\\#--a3350 { background: lime; } +.localIdentName--\\_--f2a47 { background: lime; } +.localIdentName--\\{\\}--b6deb { background: lime; } +.localIdentName--\\#fake\\-id--e42a4 { background: lime; } +.localIdentName--foo\\.bar--e5115 { background: lime; } +.localIdentName--\\3A hover--dd09e { background: lime; } +.localIdentName--\\3A hover\\3A focus\\3A active--a9185 { background: lime; } +.localIdentName--\\[attr\\=value\\]--c242f { background: lime; } +.localIdentName--f\\/o\\/o--a3967 { background: lime; } +.localIdentName--f\\\\o\\\\o--ec55c { background: lime; } +.localIdentName--f\\*o\\*o--f8235 { background: lime; } +.localIdentName--f\\!o\\!o--b05e2 { background: lime; } +.localIdentName--f\\'o\\'o--e0449 { background: lime; } +.localIdentName--f\\~o\\~o--b5a43 { background: lime; } +.localIdentName--f\\+o\\+o--e002f { background: lime; } + +.localIdentName--foo\\/bar--e3f1a { + background: hotpink; } -.foo5 { - prop: func(10px, red); +.localIdentName--foo\\\\bar--ac6d2 { + background: hotpink; } -.foo6 { - prop: func(red, 10px); +.localIdentName--foo\\/bar\\/baz--c78d7 { + background: hotpink; } -.foo7 { - prop: func(10px, red, 10px); +.localIdentName--foo\\\\bar\\\\baz--f235d { + background: hotpink; } ", "", @@ -5528,208 +7593,343 @@ Array [ ] `; -exports[`modules case \`values-9\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +exports[`"modules" option should work and respect the "localIdentName" option 2: warnings 1`] = `[]`; -exports[`modules case \`values-9\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +exports[`"modules" option should work and respect the "localIdentName" option: errors 1`] = `[]`; -exports[`modules case \`values-9\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "def": "red", - "foo1": "_1V2U7x4U8oxxooLcDA25iL", - "foo2": "_3E1mOwwzg7yDREAM1sTqrf", - "foo3": "_1jURUggvUGFLzQ1zAWjNep", - "foo4": "_2gTeanreYt1oKNw6pvYDuQ", - "foo5": "_1FHimE7YIOvZ66qJzb5oD7", - "foo6": "_2ZsNKxzBYz6NW_ITMiAbSo", - "foo7": "_18TpSE38_jlCbLotZMXh67", +exports[`"modules" option should work and respect the "localIdentName" option: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.localIdentName--test--Cqfpw { + background: red; } -`; -exports[`modules case \`values-9\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1V2U7x4U8oxxooLcDA25iL { - prop: func(red); +.localIdentName--_test--TGo4R { + background: blue; } -._3E1mOwwzg7yDREAM1sTqrf { - prop: func(10px red); +.localIdentName--className--V3rkz { + background: red; } -._1jURUggvUGFLzQ1zAWjNep { - prop: func(red 10px); +#localIdentName--someId--p0emr { + background: green; } -._2gTeanreYt1oKNw6pvYDuQ { - prop: func(10px red 10px); +.localIdentName--className--V3rkz .localIdentName--subClass--v0YwV { + color: green; } -._1FHimE7YIOvZ66qJzb5oD7 { - prop: func(10px, red); +#localIdentName--someId--p0emr .localIdentName--subClass--v0YwV { + color: blue; } -._2ZsNKxzBYz6NW_ITMiAbSo { - prop: func(red, 10px); +.localIdentName---a0-34a___f--iD7O5 { + color: red; } -._18TpSE38_jlCbLotZMXh67 { - prop: func(10px, red, 10px); +.localIdentName--m_x_\\\\@--RH_w1 { + margin-left: auto !important; + margin-right: auto !important; } -", - "", - ], -] -`; -exports[`modules case \`values-9\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.localIdentName--B\\\\&W\\\\?--Ag92Y { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`values-9\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +/* matches elements with class=":\\\`(" */ +.localIdentName--\\\\3A \\\\\\\`\\\\(--ETB9N { + color: aqua; +} -exports[`modules case \`values-9\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "def": "red", +/* matches elements with class="1a2b3c" */ +.localIdentName--\\\\31 a2b3c--LEy8b { + color: aliceblue; } -`; -exports[`modules case \`values-9\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".foo1 { - prop: func(red); +/* matches the element with id="#fake-id" */ +#localIdentName--\\\\#fake-id--JOQqQ { + color: antiquewhite; } -.foo2 { - prop: func(10px red); +/* matches the element with id="-a-b-c-" */ +#localIdentName---a-b-c---LD6vZ { + color: azure; } -.foo3 { - prop: func(red 10px); +/* matches the element with id="©" */ +#localIdentName--©--bD4iE { + color: black; } -.foo4 { - prop: func(10px red 10px); +.localIdentName--♥--pHooK { background: lime; } +.localIdentName--©--bD4iE { background: lime; } +.localIdentName--😍--Mkprj { background: lime; } +.localIdentName--“‘’”--hsoP1 { background: lime; } +.localIdentName--☺☃--AERfn { background: lime; } +.localIdentName--⌘⌥--s83tE { background: lime; } +.localIdentName--𝄞♪♩♫♬--sIO5d { background: lime; } +.localIdentName--💩--zVi6s { background: lime; } +.localIdentName--\\\\?--N9lQN { background: lime; } +.localIdentName--\\\\@--SysYq { background: lime; } +.localIdentName--\\\\.--_TYYa { background: lime; } +.localIdentName--\\\\3A \\\\)--TFikf { background: lime; } +.localIdentName--\\\\3A \\\\\\\`\\\\(--ETB9N { background: lime; } +.localIdentName--\\\\31 23--DEfkS { background: lime; } +.localIdentName--\\\\31 a2b3c--LEy8b { background: lime; } +.localIdentName--\\\\--nMEpp { background: lime; } +.localIdentName--\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\>--cGH83 { background: lime; } +.localIdentName--\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\.--_sBaA { background: lime; } +.localIdentName--\\\\#--Ig420 { background: lime; } +.localIdentName--\\\\#\\\\#--t_MNC { background: lime; } +.localIdentName--\\\\#\\\\.\\\\#\\\\.\\\\#--ozULn { background: lime; } +.localIdentName--\\\\_--qR0Vn { background: lime; } +.localIdentName--\\\\{\\\\}--tt66I { background: lime; } +.localIdentName--\\\\#fake\\\\-id--JOQqQ { background: lime; } +.localIdentName--foo\\\\.bar--RFVWf { background: lime; } +.localIdentName--\\\\3A hover--QnhAB { background: lime; } +.localIdentName--\\\\3A hover\\\\3A focus\\\\3A active--qRhRp { background: lime; } +.localIdentName--\\\\[attr\\\\=value\\\\]--wkL_Q { background: lime; } +.localIdentName--f\\\\/o\\\\/o--KDSjl { background: lime; } +.localIdentName--f\\\\\\\\o\\\\\\\\o--LsVcY { background: lime; } +.localIdentName--f\\\\*o\\\\*o--CNQow { background: lime; } +.localIdentName--f\\\\!o\\\\!o--eUsF4 { background: lime; } +.localIdentName--f\\\\'o\\\\'o--ESWns { background: lime; } +.localIdentName--f\\\\~o\\\\~o--taQ7D { background: lime; } +.localIdentName--f\\\\+o\\\\+o--AL7FE { background: lime; } + +.localIdentName--foo\\\\/bar--GOPxp { + background: hotpink; } -.foo5 { - prop: func(10px, red); +.localIdentName--foo\\\\\\\\bar--chesb { + background: hotpink; } -.foo6 { - prop: func(red, 10px); +.localIdentName--foo\\\\/bar\\\\/baz--QMeNd { + background: hotpink; } -.foo7 { - prop: func(10px, red, 10px); +.localIdentName--foo\\\\\\\\bar\\\\\\\\baz--jXaak { + background: hotpink; } -", - "", - ], -] -`; - -exports[`modules case \`values-9\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; - -exports[`modules case \`values-9\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; - -exports[`modules case \`values-9\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "def": "red", - "foo1": "_foo1", - "foo2": "_foo2", - "foo3": "_foo3", - "foo4": "_foo4", - "foo5": "_foo5", - "foo6": "_foo6", - "foo7": "_foo7", +\`, ""]); +// Exports +var _1 = \`localIdentName--123--DEfkS\`; +export { _1 as "123" }; +export var test = \`localIdentName--test--Cqfpw\`; +export var _test = \`localIdentName--_test--TGo4R\`; +export var className = \`localIdentName--className--V3rkz\`; +export var someId = \`localIdentName--someId--p0emr\`; +export var subClass = \`localIdentName--subClass--v0YwV\`; +var _2 = \`localIdentName---a0-34a___f--iD7O5\`; +export { _2 as "-a0-34a___f" }; +var _3 = \`localIdentName--m_x_@--RH_w1\`; +export { _3 as "m_x_@" }; +var _4 = \`localIdentName--B&W?--Ag92Y\`; +export { _4 as "B&W?" }; +var _5 = \`localIdentName--:\\\`(--ETB9N\`; +export { _5 as ":\`(" }; +var _6 = \`localIdentName--1a2b3c--LEy8b\`; +export { _6 as "1a2b3c" }; +var _7 = \`localIdentName--#fake-id--JOQqQ\`; +export { _7 as "#fake-id" }; +var _8 = \`localIdentName---a-b-c---LD6vZ\`; +export { _8 as "-a-b-c-" }; +var _9 = \`localIdentName--©--bD4iE\`; +export { _9 as "©" }; +var _a = \`localIdentName--♥--pHooK\`; +export { _a as "♥" }; +var _b = \`localIdentName--😍--Mkprj\`; +export { _b as "😍" }; +var _c = \`localIdentName--“‘’”--hsoP1\`; +export { _c as "“‘’”" }; +var _d = \`localIdentName--☺☃--AERfn\`; +export { _d as "☺☃" }; +var _e = \`localIdentName--⌘⌥--s83tE\`; +export { _e as "⌘⌥" }; +var _f = \`localIdentName--𝄞♪♩♫♬--sIO5d\`; +export { _f as "𝄞♪♩♫♬" }; +var _10 = \`localIdentName--💩--zVi6s\`; +export { _10 as "💩" }; +var _11 = \`localIdentName--?--N9lQN\`; +export { _11 as "?" }; +var _12 = \`localIdentName--@--SysYq\`; +export { _12 as "@" }; +var _13 = \`localIdentName--.--_TYYa\`; +export { _13 as "." }; +var _14 = \`localIdentName--:)--TFikf\`; +export { _14 as ":)" }; +var _15 = \`localIdentName--

--nMEpp\`; +export { _15 as "

" }; +var _16 = \`localIdentName--<><<<>><>--cGH83\`; +export { _16 as "<><<<>><>" }; +var _17 = \`localIdentName--++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.--_sBaA\`; +export { _17 as "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." }; +var _18 = \`localIdentName--#--Ig420\`; +export { _18 as "#" }; +var _19 = \`localIdentName--##--t_MNC\`; +export { _19 as "##" }; +var _1a = \`localIdentName--#.#.#--ozULn\`; +export { _1a as "#.#.#" }; +export var _ = \`localIdentName--_--qR0Vn\`; +var _1b = \`localIdentName--{}--tt66I\`; +export { _1b as "{}" }; +var _1c = \`localIdentName--foo.bar--RFVWf\`; +export { _1c as "foo.bar" }; +var _1d = \`localIdentName--:hover--QnhAB\`; +export { _1d as ":hover" }; +var _1e = \`localIdentName--:hover:focus:active--qRhRp\`; +export { _1e as ":hover:focus:active" }; +var _1f = \`localIdentName--[attr=value]--wkL_Q\`; +export { _1f as "[attr=value]" }; +var _20 = \`localIdentName--f/o/o--KDSjl\`; +export { _20 as "f/o/o" }; +var _21 = \`localIdentName--f\\\\o\\\\o--LsVcY\`; +export { _21 as "f\\\\o\\\\o" }; +var _22 = \`localIdentName--f*o*o--CNQow\`; +export { _22 as "f*o*o" }; +var _23 = \`localIdentName--f!o!o--eUsF4\`; +export { _23 as "f!o!o" }; +var _24 = \`localIdentName--f'o'o--ESWns\`; +export { _24 as "f'o'o" }; +var _25 = \`localIdentName--f~o~o--taQ7D\`; +export { _25 as "f~o~o" }; +var _26 = \`localIdentName--f+o+o--AL7FE\`; +export { _26 as "f+o+o" }; +var _27 = \`localIdentName--foo/bar--GOPxp\`; +export { _27 as "foo/bar" }; +var _28 = \`localIdentName--foo\\\\bar--chesb\`; +export { _28 as "foo\\\\bar" }; +var _29 = \`localIdentName--foo/bar/baz--QMeNd\`; +export { _29 as "foo/bar/baz" }; +var _2a = \`localIdentName--foo\\\\bar\\\\baz--jXaak\`; +export { _2a as "foo\\\\bar\\\\baz" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the "localIdentName" option: result 1`] = ` +[ + [ + "./modules/localIdentName/localIdentName.css", + ".localIdentName--test--Cqfpw { + background: red; } -`; -exports[`modules case \`values-9\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._foo1 { - prop: func(red); +.localIdentName--_test--TGo4R { + background: blue; } -._foo2 { - prop: func(10px red); +.localIdentName--className--V3rkz { + background: red; } -._foo3 { - prop: func(red 10px); +#localIdentName--someId--p0emr { + background: green; } -._foo4 { - prop: func(10px red 10px); +.localIdentName--className--V3rkz .localIdentName--subClass--v0YwV { + color: green; } -._foo5 { - prop: func(10px, red); +#localIdentName--someId--p0emr .localIdentName--subClass--v0YwV { + color: blue; } -._foo6 { - prop: func(red, 10px); +.localIdentName---a0-34a___f--iD7O5 { + color: red; } -._foo7 { - prop: func(10px, red, 10px); +.localIdentName--m_x_\\@--RH_w1 { + margin-left: auto !important; + margin-right: auto !important; } -", - "", - ], -] -`; -exports[`modules case \`values-9\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +.localIdentName--B\\&W\\?--Ag92Y { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`values-9\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +/* matches elements with class=":\`(" */ +.localIdentName--\\3A \\\`\\(--ETB9N { + color: aqua; +} -exports[`modules case \`values-9\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "def": "red", - "foo1": "_1V2U7x4U8oxxooLcDA25iL", - "foo2": "_3E1mOwwzg7yDREAM1sTqrf", - "foo3": "_1jURUggvUGFLzQ1zAWjNep", - "foo4": "_2gTeanreYt1oKNw6pvYDuQ", - "foo5": "_1FHimE7YIOvZ66qJzb5oD7", - "foo6": "_2ZsNKxzBYz6NW_ITMiAbSo", - "foo7": "_18TpSE38_jlCbLotZMXh67", +/* matches elements with class="1a2b3c" */ +.localIdentName--\\31 a2b3c--LEy8b { + color: aliceblue; } -`; -exports[`modules case \`values-9\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1V2U7x4U8oxxooLcDA25iL { - prop: func(red); +/* matches the element with id="#fake-id" */ +#localIdentName--\\#fake-id--JOQqQ { + color: antiquewhite; } -._3E1mOwwzg7yDREAM1sTqrf { - prop: func(10px red); +/* matches the element with id="-a-b-c-" */ +#localIdentName---a-b-c---LD6vZ { + color: azure; } -._1jURUggvUGFLzQ1zAWjNep { - prop: func(red 10px); +/* matches the element with id="©" */ +#localIdentName--©--bD4iE { + color: black; } -._2gTeanreYt1oKNw6pvYDuQ { - prop: func(10px red 10px); +.localIdentName--♥--pHooK { background: lime; } +.localIdentName--©--bD4iE { background: lime; } +.localIdentName--😍--Mkprj { background: lime; } +.localIdentName--“‘’”--hsoP1 { background: lime; } +.localIdentName--☺☃--AERfn { background: lime; } +.localIdentName--⌘⌥--s83tE { background: lime; } +.localIdentName--𝄞♪♩♫♬--sIO5d { background: lime; } +.localIdentName--💩--zVi6s { background: lime; } +.localIdentName--\\?--N9lQN { background: lime; } +.localIdentName--\\@--SysYq { background: lime; } +.localIdentName--\\.--_TYYa { background: lime; } +.localIdentName--\\3A \\)--TFikf { background: lime; } +.localIdentName--\\3A \\\`\\(--ETB9N { background: lime; } +.localIdentName--\\31 23--DEfkS { background: lime; } +.localIdentName--\\31 a2b3c--LEy8b { background: lime; } +.localIdentName--\\--nMEpp { background: lime; } +.localIdentName--\\<\\>\\<\\<\\<\\>\\>\\<\\>--cGH83 { background: lime; } +.localIdentName--\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\[\\>\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\>\\+\\<\\<\\<\\<\\-\\]\\>\\+\\+\\.\\>\\+\\.\\+\\+\\+\\+\\+\\+\\+\\.\\.\\+\\+\\+\\.\\>\\+\\+\\.\\<\\<\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\.\\>\\.\\+\\+\\+\\.\\-\\-\\-\\-\\-\\-\\.\\-\\-\\-\\-\\-\\-\\-\\-\\.\\>\\+\\.\\>\\.--_sBaA { background: lime; } +.localIdentName--\\#--Ig420 { background: lime; } +.localIdentName--\\#\\#--t_MNC { background: lime; } +.localIdentName--\\#\\.\\#\\.\\#--ozULn { background: lime; } +.localIdentName--\\_--qR0Vn { background: lime; } +.localIdentName--\\{\\}--tt66I { background: lime; } +.localIdentName--\\#fake\\-id--JOQqQ { background: lime; } +.localIdentName--foo\\.bar--RFVWf { background: lime; } +.localIdentName--\\3A hover--QnhAB { background: lime; } +.localIdentName--\\3A hover\\3A focus\\3A active--qRhRp { background: lime; } +.localIdentName--\\[attr\\=value\\]--wkL_Q { background: lime; } +.localIdentName--f\\/o\\/o--KDSjl { background: lime; } +.localIdentName--f\\\\o\\\\o--LsVcY { background: lime; } +.localIdentName--f\\*o\\*o--CNQow { background: lime; } +.localIdentName--f\\!o\\!o--eUsF4 { background: lime; } +.localIdentName--f\\'o\\'o--ESWns { background: lime; } +.localIdentName--f\\~o\\~o--taQ7D { background: lime; } +.localIdentName--f\\+o\\+o--AL7FE { background: lime; } + +.localIdentName--foo\\/bar--GOPxp { + background: hotpink; } -._1FHimE7YIOvZ66qJzb5oD7 { - prop: func(10px, red); +.localIdentName--foo\\\\bar--chesb { + background: hotpink; } -._2ZsNKxzBYz6NW_ITMiAbSo { - prop: func(red, 10px); +.localIdentName--foo\\/bar\\/baz--QMeNd { + background: hotpink; } -._18TpSE38_jlCbLotZMXh67 { - prop: func(10px, red, 10px); +.localIdentName--foo\\\\bar\\\\baz--jXaak { + background: hotpink; } ", "", @@ -5737,219 +7937,343 @@ Array [ ] `; -exports[`modules case \`values-9\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +exports[`"modules" option should work and respect the "localIdentName" option: warnings 1`] = `[]`; -exports[`modules case \`values-10\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +exports[`"modules" option should work and respect the "localIdentRegExp" option: errors 1`] = `[]`; -exports[`modules case \`values-10\` (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +exports[`"modules" option should work and respect the "localIdentRegExp" option: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.localIdentName__test__KuIShlgs { + background: red; +} -exports[`modules case \`values-10\` (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "@value v-primary: #BF4040; -@value s-black: black-selector; -@value m-large: (min-width: 960px); +.localIdentName___test__Lb3fhDAu { + background: blue; +} -.header { - color: v-primary; - padding: 0 10px; +.localIdentName__className__LdhpkZRW { + background: red; } -.s-black { - color: black; +#localIdentName__someId__b0rhwJSt { + background: green; } -@media m-large { - .header { - padding: 0 20px; - } +.localIdentName__className__LdhpkZRW .localIdentName__subClass__Mw9j4nId { + color: green; } -", - "", - ], -] -`; -exports[`modules case \`values-10\` (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +#localIdentName__someId__b0rhwJSt .localIdentName__subClass__Mw9j4nId { + color: blue; +} -exports[`modules case \`values-10\` (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +.localIdentName__-a0-34a___f__DdFWMPol { + color: red; +} -exports[`modules case \`values-10\` (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "m-large": "(min-width: 960px)", - "s-black": "black-selector", - "v-primary": "#BF4040", +.localIdentName__m_x_\\\\@__OdAmghrm { + margin-left: auto !important; + margin-right: auto !important; } -`; -exports[`modules case \`values-10\` (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".header { - color: #BF4040; - padding: 0 10px; +.localIdentName__B\\\\&W\\\\?__h4SEF34C { + margin-left: auto !important; + margin-right: auto !important; } -.black-selector { - color: black; +/* matches elements with class=":\\\`(" */ +.localIdentName__\\\\3A \\\\\\\`\\\\(__fKJQkLar { + color: aqua; } -@media (min-width: 960px) { - .header { - padding: 0 20px; - } +/* matches elements with class="1a2b3c" */ +.localIdentName__\\\\31 a2b3c__YR1u_buY { + color: aliceblue; } -", - "", - ], -] -`; -exports[`modules case \`values-10\` (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +/* matches the element with id="#fake-id" */ +#localIdentName__\\\\#fake-id__AqiAGSfn { + color: antiquewhite; +} -exports[`modules case \`values-10\` (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +/* matches the element with id="-a-b-c-" */ +#localIdentName__-a-b-c-__CwXv27VM { + color: azure; +} -exports[`modules case \`values-10\` (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "black-selector": "_3xId28FIeFVmNWx5IWeWqN", - "header": "ODvOrT6QaJbrNxuVwTgHn", - "m-large": "(min-width: 960px)", - "s-black": "black-selector", - "v-primary": "#BF4040", +/* matches the element with id="©" */ +#localIdentName__©__jBj0sZiW { + color: black; } -`; -exports[`modules case \`values-10\` (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".ODvOrT6QaJbrNxuVwTgHn { - color: #BF4040; - padding: 0 10px; +.localIdentName__♥__vJl9A9Ds { background: lime; } +.localIdentName__©__jBj0sZiW { background: lime; } +.localIdentName__😍__CNLr9yJw { background: lime; } +.localIdentName__“‘’”__GM0Y0nFC { background: lime; } +.localIdentName__☺☃__NKrBw7EA { background: lime; } +.localIdentName__⌘⌥__edHWpSne { background: lime; } +.localIdentName__𝄞♪♩♫♬__QyMp9YME { background: lime; } +.localIdentName__💩__B82YxwgR { background: lime; } +.localIdentName__\\\\?__ndmpvNNl { background: lime; } +.localIdentName__\\\\@__v3gq0wPo { background: lime; } +.localIdentName__\\\\.__zd5uIZq6 { background: lime; } +.localIdentName__\\\\3A \\\\)__ZiZnRjRT { background: lime; } +.localIdentName__\\\\3A \\\\\\\`\\\\(__fKJQkLar { background: lime; } +.localIdentName__\\\\31 23__oqRGsO4U { background: lime; } +.localIdentName__\\\\31 a2b3c__YR1u_buY { background: lime; } +.localIdentName__\\\\__TdAx2ZSk { background: lime; } +.localIdentName__\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\>__ozNsTIG0 { background: lime; } +.localIdentName__\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\.__ByKoYcSr { background: lime; } +.localIdentName__\\\\#__HkwIsjW5 { background: lime; } +.localIdentName__\\\\#\\\\#__IJc6Xl4Z { background: lime; } +.localIdentName__\\\\#\\\\.\\\\#\\\\.\\\\#__BnPpnJmP { background: lime; } +.localIdentName__\\\\___bCwkZEDu { background: lime; } +.localIdentName__\\\\{\\\\}__IZkBfE9i { background: lime; } +.localIdentName__\\\\#fake\\\\-id__AqiAGSfn { background: lime; } +.localIdentName__foo\\\\.bar__uajo7mHz { background: lime; } +.localIdentName__\\\\3A hover__HVudUNXn { background: lime; } +.localIdentName__\\\\3A hover\\\\3A focus\\\\3A active__ZlaaXvHL { background: lime; } +.localIdentName__\\\\[attr\\\\=value\\\\]__PWvC4jVM { background: lime; } +.localIdentName__f\\\\/o\\\\/o__A5l5sDOD { background: lime; } +.localIdentName__f\\\\\\\\o\\\\\\\\o__DFfh4Kyq { background: lime; } +.localIdentName__f\\\\*o\\\\*o__gv1E2n_b { background: lime; } +.localIdentName__f\\\\!o\\\\!o___aIyR9ET { background: lime; } +.localIdentName__f\\\\'o\\\\'o__HSXNnSjt { background: lime; } +.localIdentName__f\\\\~o\\\\~o__MrVzSIcS { background: lime; } +.localIdentName__f\\\\+o\\\\+o__EvMHRmCu { background: lime; } + +.localIdentName__foo\\\\/bar__hei2uQgD { + background: hotpink; } -._3xId28FIeFVmNWx5IWeWqN { - color: black; +.localIdentName__foo\\\\\\\\bar__IgSzmmsC { + background: hotpink; } -@media (min-width: 960px) { - .ODvOrT6QaJbrNxuVwTgHn { - padding: 0 20px; - } +.localIdentName__foo\\\\/bar\\\\/baz__p6KJMhNW { + background: hotpink; } -", - "", - ], -] -`; -exports[`modules case \`values-10\` (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.localIdentName__foo\\\\\\\\bar\\\\\\\\baz__HZerWgmU { + background: hotpink; +} +\`, ""]); +// Exports +var _1 = \`localIdentName__123__oqRGsO4U\`; +export { _1 as "123" }; +export var test = \`localIdentName__test__KuIShlgs\`; +export var _test = \`localIdentName___test__Lb3fhDAu\`; +export var className = \`localIdentName__className__LdhpkZRW\`; +export var someId = \`localIdentName__someId__b0rhwJSt\`; +export var subClass = \`localIdentName__subClass__Mw9j4nId\`; +var _2 = \`localIdentName__-a0-34a___f__DdFWMPol\`; +export { _2 as "-a0-34a___f" }; +var _3 = \`localIdentName__m_x_@__OdAmghrm\`; +export { _3 as "m_x_@" }; +var _4 = \`localIdentName__B&W?__h4SEF34C\`; +export { _4 as "B&W?" }; +var _5 = \`localIdentName__:\\\`(__fKJQkLar\`; +export { _5 as ":\`(" }; +var _6 = \`localIdentName__1a2b3c__YR1u_buY\`; +export { _6 as "1a2b3c" }; +var _7 = \`localIdentName__#fake-id__AqiAGSfn\`; +export { _7 as "#fake-id" }; +var _8 = \`localIdentName__-a-b-c-__CwXv27VM\`; +export { _8 as "-a-b-c-" }; +var _9 = \`localIdentName__©__jBj0sZiW\`; +export { _9 as "©" }; +var _a = \`localIdentName__♥__vJl9A9Ds\`; +export { _a as "♥" }; +var _b = \`localIdentName__😍__CNLr9yJw\`; +export { _b as "😍" }; +var _c = \`localIdentName__“‘’”__GM0Y0nFC\`; +export { _c as "“‘’”" }; +var _d = \`localIdentName__☺☃__NKrBw7EA\`; +export { _d as "☺☃" }; +var _e = \`localIdentName__⌘⌥__edHWpSne\`; +export { _e as "⌘⌥" }; +var _f = \`localIdentName__𝄞♪♩♫♬__QyMp9YME\`; +export { _f as "𝄞♪♩♫♬" }; +var _10 = \`localIdentName__💩__B82YxwgR\`; +export { _10 as "💩" }; +var _11 = \`localIdentName__?__ndmpvNNl\`; +export { _11 as "?" }; +var _12 = \`localIdentName__@__v3gq0wPo\`; +export { _12 as "@" }; +var _13 = \`localIdentName__.__zd5uIZq6\`; +export { _13 as "." }; +var _14 = \`localIdentName__:)__ZiZnRjRT\`; +export { _14 as ":)" }; +var _15 = \`localIdentName__

__TdAx2ZSk\`; +export { _15 as "

" }; +var _16 = \`localIdentName__<><<<>><>__ozNsTIG0\`; +export { _16 as "<><<<>><>" }; +var _17 = \`localIdentName__++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.__ByKoYcSr\`; +export { _17 as "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." }; +var _18 = \`localIdentName__#__HkwIsjW5\`; +export { _18 as "#" }; +var _19 = \`localIdentName__##__IJc6Xl4Z\`; +export { _19 as "##" }; +var _1a = \`localIdentName__#.#.#__BnPpnJmP\`; +export { _1a as "#.#.#" }; +export var _ = \`localIdentName_____bCwkZEDu\`; +var _1b = \`localIdentName__{}__IZkBfE9i\`; +export { _1b as "{}" }; +var _1c = \`localIdentName__foo.bar__uajo7mHz\`; +export { _1c as "foo.bar" }; +var _1d = \`localIdentName__:hover__HVudUNXn\`; +export { _1d as ":hover" }; +var _1e = \`localIdentName__:hover:focus:active__ZlaaXvHL\`; +export { _1e as ":hover:focus:active" }; +var _1f = \`localIdentName__[attr=value]__PWvC4jVM\`; +export { _1f as "[attr=value]" }; +var _20 = \`localIdentName__f/o/o__A5l5sDOD\`; +export { _20 as "f/o/o" }; +var _21 = \`localIdentName__f\\\\o\\\\o__DFfh4Kyq\`; +export { _21 as "f\\\\o\\\\o" }; +var _22 = \`localIdentName__f*o*o__gv1E2n_b\`; +export { _22 as "f*o*o" }; +var _23 = \`localIdentName__f!o!o___aIyR9ET\`; +export { _23 as "f!o!o" }; +var _24 = \`localIdentName__f'o'o__HSXNnSjt\`; +export { _24 as "f'o'o" }; +var _25 = \`localIdentName__f~o~o__MrVzSIcS\`; +export { _25 as "f~o~o" }; +var _26 = \`localIdentName__f+o+o__EvMHRmCu\`; +export { _26 as "f+o+o" }; +var _27 = \`localIdentName__foo/bar__hei2uQgD\`; +export { _27 as "foo/bar" }; +var _28 = \`localIdentName__foo\\\\bar__IgSzmmsC\`; +export { _28 as "foo\\\\bar" }; +var _29 = \`localIdentName__foo/bar/baz__p6KJMhNW\`; +export { _29 as "foo/bar/baz" }; +var _2a = \`localIdentName__foo\\\\bar\\\\baz__HZerWgmU\`; +export { _2a as "foo\\\\bar\\\\baz" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the "localIdentRegExp" option: result 1`] = ` +[ + [ + "./modules/localIdentName/localIdentName.css", + ".localIdentName__test__KuIShlgs { + background: red; +} -exports[`modules case \`values-10\` (\`modules\` value is \`object with mode global)\`: errors 1`] = `Array []`; +.localIdentName___test__Lb3fhDAu { + background: blue; +} -exports[`modules case \`values-10\` (\`modules\` value is \`object with mode global)\`: locals 1`] = ` -Object { - "m-large": "(min-width: 960px)", - "s-black": "black-selector", - "v-primary": "#BF4040", +.localIdentName__className__LdhpkZRW { + background: red; } -`; -exports[`modules case \`values-10\` (\`modules\` value is \`object with mode global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".header { - color: #BF4040; - padding: 0 10px; +#localIdentName__someId__b0rhwJSt { + background: green; } -.black-selector { - color: black; +.localIdentName__className__LdhpkZRW .localIdentName__subClass__Mw9j4nId { + color: green; } -@media (min-width: 960px) { - .header { - padding: 0 20px; - } +#localIdentName__someId__b0rhwJSt .localIdentName__subClass__Mw9j4nId { + color: blue; } -", - "", - ], -] -`; -exports[`modules case \`values-10\` (\`modules\` value is \`object with mode global)\`: warnings 1`] = `Array []`; +.localIdentName__-a0-34a___f__DdFWMPol { + color: red; +} -exports[`modules case \`values-10\` (\`modules\` value is \`object with mode local)\`: errors 1`] = `Array []`; +.localIdentName__m_x_\\@__OdAmghrm { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`values-10\` (\`modules\` value is \`object with mode local)\`: locals 1`] = ` -Object { - "black-selector": "_black-selector", - "header": "_header", - "m-large": "(min-width: 960px)", - "s-black": "black-selector", - "v-primary": "#BF4040", +.localIdentName__B\\&W\\?__h4SEF34C { + margin-left: auto !important; + margin-right: auto !important; } -`; -exports[`modules case \`values-10\` (\`modules\` value is \`object with mode local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._header { - color: #BF4040; - padding: 0 10px; +/* matches elements with class=":\`(" */ +.localIdentName__\\3A \\\`\\(__fKJQkLar { + color: aqua; } -._black-selector { - color: black; +/* matches elements with class="1a2b3c" */ +.localIdentName__\\31 a2b3c__YR1u_buY { + color: aliceblue; } -@media (min-width: 960px) { - ._header { - padding: 0 20px; - } +/* matches the element with id="#fake-id" */ +#localIdentName__\\#fake-id__AqiAGSfn { + color: antiquewhite; } -", - "", - ], -] -`; -exports[`modules case \`values-10\` (\`modules\` value is \`object with mode local)\`: warnings 1`] = `Array []`; +/* matches the element with id="-a-b-c-" */ +#localIdentName__-a-b-c-__CwXv27VM { + color: azure; +} -exports[`modules case \`values-10\` (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +/* matches the element with id="©" */ +#localIdentName__©__jBj0sZiW { + color: black; +} -exports[`modules case \`values-10\` (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "black-selector": "_3xId28FIeFVmNWx5IWeWqN", - "header": "ODvOrT6QaJbrNxuVwTgHn", - "m-large": "(min-width: 960px)", - "s-black": "black-selector", - "v-primary": "#BF4040", +.localIdentName__♥__vJl9A9Ds { background: lime; } +.localIdentName__©__jBj0sZiW { background: lime; } +.localIdentName__😍__CNLr9yJw { background: lime; } +.localIdentName__“‘’”__GM0Y0nFC { background: lime; } +.localIdentName__☺☃__NKrBw7EA { background: lime; } +.localIdentName__⌘⌥__edHWpSne { background: lime; } +.localIdentName__𝄞♪♩♫♬__QyMp9YME { background: lime; } +.localIdentName__💩__B82YxwgR { background: lime; } +.localIdentName__\\?__ndmpvNNl { background: lime; } +.localIdentName__\\@__v3gq0wPo { background: lime; } +.localIdentName__\\.__zd5uIZq6 { background: lime; } +.localIdentName__\\3A \\)__ZiZnRjRT { background: lime; } +.localIdentName__\\3A \\\`\\(__fKJQkLar { background: lime; } +.localIdentName__\\31 23__oqRGsO4U { background: lime; } +.localIdentName__\\31 a2b3c__YR1u_buY { background: lime; } +.localIdentName__\\__TdAx2ZSk { background: lime; } +.localIdentName__\\<\\>\\<\\<\\<\\>\\>\\<\\>__ozNsTIG0 { background: lime; } +.localIdentName__\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\[\\>\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\>\\+\\<\\<\\<\\<\\-\\]\\>\\+\\+\\.\\>\\+\\.\\+\\+\\+\\+\\+\\+\\+\\.\\.\\+\\+\\+\\.\\>\\+\\+\\.\\<\\<\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\.\\>\\.\\+\\+\\+\\.\\-\\-\\-\\-\\-\\-\\.\\-\\-\\-\\-\\-\\-\\-\\-\\.\\>\\+\\.\\>\\.__ByKoYcSr { background: lime; } +.localIdentName__\\#__HkwIsjW5 { background: lime; } +.localIdentName__\\#\\#__IJc6Xl4Z { background: lime; } +.localIdentName__\\#\\.\\#\\.\\#__BnPpnJmP { background: lime; } +.localIdentName__\\___bCwkZEDu { background: lime; } +.localIdentName__\\{\\}__IZkBfE9i { background: lime; } +.localIdentName__\\#fake\\-id__AqiAGSfn { background: lime; } +.localIdentName__foo\\.bar__uajo7mHz { background: lime; } +.localIdentName__\\3A hover__HVudUNXn { background: lime; } +.localIdentName__\\3A hover\\3A focus\\3A active__ZlaaXvHL { background: lime; } +.localIdentName__\\[attr\\=value\\]__PWvC4jVM { background: lime; } +.localIdentName__f\\/o\\/o__A5l5sDOD { background: lime; } +.localIdentName__f\\\\o\\\\o__DFfh4Kyq { background: lime; } +.localIdentName__f\\*o\\*o__gv1E2n_b { background: lime; } +.localIdentName__f\\!o\\!o___aIyR9ET { background: lime; } +.localIdentName__f\\'o\\'o__HSXNnSjt { background: lime; } +.localIdentName__f\\~o\\~o__MrVzSIcS { background: lime; } +.localIdentName__f\\+o\\+o__EvMHRmCu { background: lime; } + +.localIdentName__foo\\/bar__hei2uQgD { + background: hotpink; } -`; -exports[`modules case \`values-10\` (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".ODvOrT6QaJbrNxuVwTgHn { - color: #BF4040; - padding: 0 10px; +.localIdentName__foo\\\\bar__IgSzmmsC { + background: hotpink; } -._3xId28FIeFVmNWx5IWeWqN { - color: black; +.localIdentName__foo\\/bar\\/baz__p6KJMhNW { + background: hotpink; } -@media (min-width: 960px) { - .ODvOrT6QaJbrNxuVwTgHn { - padding: 0 20px; - } +.localIdentName__foo\\\\bar\\\\baz__HZerWgmU { + background: hotpink; } ", "", @@ -5957,399 +8281,343 @@ Array [ ] `; -exports[`modules case \`values-10\` (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +exports[`"modules" option should work and respect the "localIdentRegExp" option: warnings 1`] = `[]`; -exports[`modules composes should supports resolving: errors 1`] = `Array []`; +exports[`"modules" option should work and respect the "path" placeholder: errors 1`] = `[]`; -exports[`modules composes should supports resolving: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 3, - " -", - "", - ], - Array [ - 4, - "._22ETk3ZhhvjVe-4dAULcsF { - display: block; -} -", - "", - ], - Array [ - 5, - ".dSGVakTZ8YY-XNW64tg9F { - display: inline; -} -", - "", - ], - Array [ - 6, - "._1SUuyapRQ82dAPS8r7zmpY { - display: flex; -} -", - "", - ], - Array [ - 7, - "._2n5szs-7uGKzfFTp9NTK64 { - display: inline-block; -} -", - "", - ], - Array [ - 8, - "._37nzOIvIANGnEtP1lWjZDN { - display: table; -} -", - "", - ], - Array [ - 9, - "._2Nehoi0wFTN-8p0fEfvUYd { - d: d; -} -", - "(min-width: 100px)", - ], - Array [ - 1, - "._14uFt0lIVKKAlKTTT29IIQ { - color: red; +exports[`"modules" option should work and respect the "path" placeholder: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.fixtures-modules-localIdentName-localIdentName__test { + background: red; } -._3XDgIzfUIQkaUInpEdo7fN { - color: blue; +.fixtures-modules-localIdentName-localIdentName___test { + background: blue; } -._1wABXM_RabWHj--wsPrhvM { - display: block; +.fixtures-modules-localIdentName-localIdentName__className { + background: red; } -._1DFEYnAfn9LZyk4fErI86e { - width: 2112moon; +#fixtures-modules-localIdentName-localIdentName__someId { + background: green; } -.Ywv5coVC2RU-pIFhN9O4w { +.fixtures-modules-localIdentName-localIdentName__className .fixtures-modules-localIdentName-localIdentName__subClass { color: green; } -._1tAbIwITRWAdZZE6wKNk9O { - prop: red; - duplicate: green; +#fixtures-modules-localIdentName-localIdentName__someId .fixtures-modules-localIdentName-localIdentName__subClass { + color: blue; } -.Q3SQ3BwtBwUFLlg6adzOI { +.fixtures-modules-localIdentName-localIdentName__-a0-34a___f { color: red; } -._1n5XhXj4SFnYrwziC3un0d { - color: yellow; +.fixtures-modules-localIdentName-localIdentName__m_x_\\\\@ { + margin-left: auto !important; + margin-right: auto !important; } -._3dnFnGkAVAiMA6etF-naHc { - color: gray; +.fixtures-modules-localIdentName-localIdentName__B\\\\&W\\\\? { + margin-left: auto !important; + margin-right: auto !important; } -._1xUePnlnafMQ1cExy3PUWT { - color: gray; +/* matches elements with class=":\\\`(" */ +.fixtures-modules-localIdentName-localIdentName__\\\\3A \\\\\\\`\\\\( { + color: aqua; } -._26Jdfenl9Xn8HXwb2jipvt { - color: gainsboro; +/* matches elements with class="1a2b3c" */ +.fixtures-modules-localIdentName-localIdentName__\\\\31 a2b3c { + color: aliceblue; } -._1ya4VhsDkuPhQeVHQydw2Y { - color: #BF4040; +/* matches the element with id="#fake-id" */ +#fixtures-modules-localIdentName-localIdentName__\\\\#fake-id { + color: antiquewhite; } -.sGE1Q_LliVEZU2Q4q9j4K { - color: black; +/* matches the element with id="-a-b-c-" */ +#fixtures-modules-localIdentName-localIdentName__-a-b-c- { + color: azure; } -@media (min-width: 960px) { - ._2zSMJ4hQh0FesbZjiKW_ya { - padding: 0 20px; - } +/* matches the element with id="©" */ +#fixtures-modules-localIdentName-localIdentName__© { + color: black; } -.white { - color: white; +.fixtures-modules-localIdentName-localIdentName__♥ { background: lime; } +.fixtures-modules-localIdentName-localIdentName__© { background: lime; } +.fixtures-modules-localIdentName-localIdentName__😍 { background: lime; } +.fixtures-modules-localIdentName-localIdentName__“‘’” { background: lime; } +.fixtures-modules-localIdentName-localIdentName__☺☃ { background: lime; } +.fixtures-modules-localIdentName-localIdentName__⌘⌥ { background: lime; } +.fixtures-modules-localIdentName-localIdentName__𝄞♪♩♫♬ { background: lime; } +.fixtures-modules-localIdentName-localIdentName__💩 { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\\\? { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\\\@ { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\\\. { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\\\3A \\\\) { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\\\3A \\\\\\\`\\\\( { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\\\31 23 { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\\\31 a2b3c { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\\\ { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\> { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\. { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\\\# { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\\\#\\\\# { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\\\#\\\\.\\\\#\\\\.\\\\# { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\\\_ { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\\\{\\\\} { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\\\#fake\\\\-id { background: lime; } +.fixtures-modules-localIdentName-localIdentName__foo\\\\.bar { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\\\3A hover { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\\\3A hover\\\\3A focus\\\\3A active { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\\\[attr\\\\=value\\\\] { background: lime; } +.fixtures-modules-localIdentName-localIdentName__f\\\\/o\\\\/o { background: lime; } +.fixtures-modules-localIdentName-localIdentName__f\\\\\\\\o\\\\\\\\o { background: lime; } +.fixtures-modules-localIdentName-localIdentName__f\\\\*o\\\\*o { background: lime; } +.fixtures-modules-localIdentName-localIdentName__f\\\\!o\\\\!o { background: lime; } +.fixtures-modules-localIdentName-localIdentName__f\\\\'o\\\\'o { background: lime; } +.fixtures-modules-localIdentName-localIdentName__f\\\\~o\\\\~o { background: lime; } +.fixtures-modules-localIdentName-localIdentName__f\\\\+o\\\\+o { background: lime; } + +.fixtures-modules-localIdentName-localIdentName__foo\\\\/bar { + background: hotpink; } -@media (min-width: 320px) { - ._2zSMJ4hQh0FesbZjiKW_ya { - padding: 20px 20px; - } +.fixtures-modules-localIdentName-localIdentName__foo\\\\\\\\bar { + background: hotpink; } -@value v-comment: /* comment */; -._3qS0_85PLYhk_pNQ69KfSo { - v-ident: validIdent; - v-pre-defined-ident: left; - v-string: 'content'; - v-string-1: ''; - v-url: url(https://www.exammple.com/images/my-background.png); - v-url-1: url('https://www.exammple.com/images/my-background.png'); - v-url-2: url(\\"https://www.exammple.com/images/my-background.png\\"); - v-integer: 100; - v-integer-1: -100; - v-integer-2: +100; - v-number: .60; - v-number-1: -456.8; - v-number-2: -3.4e-2; - v-dimension: 12px; - v-percentage: 100%; - v-hex: #fff; - v-comment: v-comment 10px v-comment; - v-function: rgb(0,0,0); - v-unicode-range: U+0025-00FF; - mutliple: #fff .60 100%; +.fixtures-modules-localIdentName-localIdentName__foo\\\\/bar\\\\/baz { + background: hotpink; } - -a { - content: 'content'; +.fixtures-modules-localIdentName-localIdentName__foo\\\\\\\\bar\\\\\\\\baz { + background: hotpink; } - -@supports (content: 'content') { - a { - content: 'content'; - } +\`, ""]); +// Exports +var _1 = \`fixtures-modules-localIdentName-localIdentName__123\`; +export { _1 as "123" }; +export var test = \`fixtures-modules-localIdentName-localIdentName__test\`; +export var _test = \`fixtures-modules-localIdentName-localIdentName___test\`; +export var className = \`fixtures-modules-localIdentName-localIdentName__className\`; +export var someId = \`fixtures-modules-localIdentName-localIdentName__someId\`; +export var subClass = \`fixtures-modules-localIdentName-localIdentName__subClass\`; +var _2 = \`fixtures-modules-localIdentName-localIdentName__-a0-34a___f\`; +export { _2 as "-a0-34a___f" }; +var _3 = \`fixtures-modules-localIdentName-localIdentName__m_x_@\`; +export { _3 as "m_x_@" }; +var _4 = \`fixtures-modules-localIdentName-localIdentName__B&W?\`; +export { _4 as "B&W?" }; +var _5 = \`fixtures-modules-localIdentName-localIdentName__:\\\`(\`; +export { _5 as ":\`(" }; +var _6 = \`fixtures-modules-localIdentName-localIdentName__1a2b3c\`; +export { _6 as "1a2b3c" }; +var _7 = \`fixtures-modules-localIdentName-localIdentName__#fake-id\`; +export { _7 as "#fake-id" }; +var _8 = \`fixtures-modules-localIdentName-localIdentName__-a-b-c-\`; +export { _8 as "-a-b-c-" }; +var _9 = \`fixtures-modules-localIdentName-localIdentName__©\`; +export { _9 as "©" }; +var _a = \`fixtures-modules-localIdentName-localIdentName__♥\`; +export { _a as "♥" }; +var _b = \`fixtures-modules-localIdentName-localIdentName__😍\`; +export { _b as "😍" }; +var _c = \`fixtures-modules-localIdentName-localIdentName__“‘’”\`; +export { _c as "“‘’”" }; +var _d = \`fixtures-modules-localIdentName-localIdentName__☺☃\`; +export { _d as "☺☃" }; +var _e = \`fixtures-modules-localIdentName-localIdentName__⌘⌥\`; +export { _e as "⌘⌥" }; +var _f = \`fixtures-modules-localIdentName-localIdentName__𝄞♪♩♫♬\`; +export { _f as "𝄞♪♩♫♬" }; +var _10 = \`fixtures-modules-localIdentName-localIdentName__💩\`; +export { _10 as "💩" }; +var _11 = \`fixtures-modules-localIdentName-localIdentName__?\`; +export { _11 as "?" }; +var _12 = \`fixtures-modules-localIdentName-localIdentName__@\`; +export { _12 as "@" }; +var _13 = \`fixtures-modules-localIdentName-localIdentName__.\`; +export { _13 as "." }; +var _14 = \`fixtures-modules-localIdentName-localIdentName__:)\`; +export { _14 as ":)" }; +var _15 = \`fixtures-modules-localIdentName-localIdentName__

\`; +export { _15 as "

" }; +var _16 = \`fixtures-modules-localIdentName-localIdentName__<><<<>><>\`; +export { _16 as "<><<<>><>" }; +var _17 = \`fixtures-modules-localIdentName-localIdentName__++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.\`; +export { _17 as "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." }; +var _18 = \`fixtures-modules-localIdentName-localIdentName__#\`; +export { _18 as "#" }; +var _19 = \`fixtures-modules-localIdentName-localIdentName__##\`; +export { _19 as "##" }; +var _1a = \`fixtures-modules-localIdentName-localIdentName__#.#.#\`; +export { _1a as "#.#.#" }; +export var _ = \`fixtures-modules-localIdentName-localIdentName___\`; +var _1b = \`fixtures-modules-localIdentName-localIdentName__{}\`; +export { _1b as "{}" }; +var _1c = \`fixtures-modules-localIdentName-localIdentName__foo.bar\`; +export { _1c as "foo.bar" }; +var _1d = \`fixtures-modules-localIdentName-localIdentName__:hover\`; +export { _1d as ":hover" }; +var _1e = \`fixtures-modules-localIdentName-localIdentName__:hover:focus:active\`; +export { _1e as ":hover:focus:active" }; +var _1f = \`fixtures-modules-localIdentName-localIdentName__[attr=value]\`; +export { _1f as "[attr=value]" }; +var _20 = \`fixtures-modules-localIdentName-localIdentName__f/o/o\`; +export { _20 as "f/o/o" }; +var _21 = \`fixtures-modules-localIdentName-localIdentName__f\\\\o\\\\o\`; +export { _21 as "f\\\\o\\\\o" }; +var _22 = \`fixtures-modules-localIdentName-localIdentName__f*o*o\`; +export { _22 as "f*o*o" }; +var _23 = \`fixtures-modules-localIdentName-localIdentName__f!o!o\`; +export { _23 as "f!o!o" }; +var _24 = \`fixtures-modules-localIdentName-localIdentName__f'o'o\`; +export { _24 as "f'o'o" }; +var _25 = \`fixtures-modules-localIdentName-localIdentName__f~o~o\`; +export { _25 as "f~o~o" }; +var _26 = \`fixtures-modules-localIdentName-localIdentName__f+o+o\`; +export { _26 as "f+o+o" }; +var _27 = \`fixtures-modules-localIdentName-localIdentName__foo/bar\`; +export { _27 as "foo/bar" }; +var _28 = \`fixtures-modules-localIdentName-localIdentName__foo\\\\bar\`; +export { _28 as "foo\\\\bar" }; +var _29 = \`fixtures-modules-localIdentName-localIdentName__foo/bar/baz\`; +export { _29 as "foo/bar/baz" }; +var _2a = \`fixtures-modules-localIdentName-localIdentName__foo\\\\bar\\\\baz\`; +export { _2a as "foo\\\\bar\\\\baz" }; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the "path" placeholder: result 1`] = ` +[ + [ + "./modules/localIdentName/localIdentName.css", + ".fixtures-modules-localIdentName-localIdentName__test { + background: red; } -[class~='content'] { - color:green; +.fixtures-modules-localIdentName-localIdentName___test { + background: blue; } -._340mxt1qHaYWfC81FJUajb { - background: url(/webpack/public/path/img.png); -} -", - "", - ], -] -`; - -exports[`modules composes should supports resolving: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!./values.css\\"); -var ___CSS_LOADER_ICSS_IMPORT_1___ = require(\\"-!../../../src/index.js??ref--4-0!./something.css\\"); -var ___CSS_LOADER_ICSS_IMPORT_2___ = require(\\"-!../../../src/index.js??ref--4-0!./imported-simple.css\\"); -var ___CSS_LOADER_ICSS_IMPORT_3___ = require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"); -var ___CSS_LOADER_ICSS_IMPORT_4___ = require(\\"-!../../../src/index.js??ref--4-0!../modules/top-relative.css\\"); -var ___CSS_LOADER_ICSS_IMPORT_5___ = require(\\"-!../../../src/index.js??ref--4-0!package/style.css\\"); -var ___CSS_LOADER_ICSS_IMPORT_6___ = require(\\"-!../../../src/index.js??ref--4-0!aliasesComposes/alias.css\\"); -var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!./test-other.css\\"); -var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"../url/img.png\\"); -exports.i(___CSS_LOADER_ICSS_IMPORT_0___); -exports.i(___CSS_LOADER_ICSS_IMPORT_1___); -exports.i(___CSS_LOADER_ICSS_IMPORT_2___); -exports.i(___CSS_LOADER_ICSS_IMPORT_3___); -exports.i(___CSS_LOADER_ICSS_IMPORT_4___); -exports.i(___CSS_LOADER_ICSS_IMPORT_5___); -exports.i(___CSS_LOADER_ICSS_IMPORT_6___); -exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"(min-width: 100px)\\"); -var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); -// Module -exports.push([module.id, \\"._14uFt0lIVKKAlKTTT29IIQ {\\\\n color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-def\\"] + \\";\\\\n}\\\\n\\\\n._3XDgIzfUIQkaUInpEdo7fN {\\\\n color: blue;\\\\n}\\\\n\\\\n._1wABXM_RabWHj--wsPrhvM {\\\\n display: block;\\\\n}\\\\n\\\\n._1DFEYnAfn9LZyk4fErI86e {\\\\n width: \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"v-something\\"] + \\";\\\\n}\\\\n\\\\n.Ywv5coVC2RU-pIFhN9O4w {\\\\n color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-other\\"] + \\";\\\\n}\\\\n\\\\n._1tAbIwITRWAdZZE6wKNk9O {\\\\n prop: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-def\\"] + \\";\\\\n duplicate: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-other\\"] + \\";\\\\n}\\\\n\\\\n.Q3SQ3BwtBwUFLlg6adzOI {\\\\n color: red;\\\\n}\\\\n\\\\n._1n5XhXj4SFnYrwziC3un0d {\\\\n color: yellow;\\\\n}\\\\n\\\\n._3dnFnGkAVAiMA6etF-naHc {\\\\n color: gray;\\\\n}\\\\n\\\\n._1xUePnlnafMQ1cExy3PUWT {\\\\n color: gray;\\\\n}\\\\n\\\\n._26Jdfenl9Xn8HXwb2jipvt {\\\\n color: gainsboro;\\\\n}\\\\n\\\\n._1ya4VhsDkuPhQeVHQydw2Y {\\\\n color: #BF4040;\\\\n}\\\\n\\\\n.sGE1Q_LliVEZU2Q4q9j4K {\\\\n color: black;\\\\n}\\\\n\\\\n@media (min-width: 960px) {\\\\n ._2zSMJ4hQh0FesbZjiKW_ya {\\\\n padding: 0 20px;\\\\n }\\\\n}\\\\n\\\\n.\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"s-white\\"] + \\" {\\\\n color: white;\\\\n}\\\\n\\\\n@media \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"m-small\\"] + \\" {\\\\n ._2zSMJ4hQh0FesbZjiKW_ya {\\\\n padding: 20px 20px;\\\\n }\\\\n}\\\\n@value v-comment: /* comment */;\\\\n\\\\n._3qS0_85PLYhk_pNQ69KfSo {\\\\n v-ident: validIdent;\\\\n v-pre-defined-ident: left;\\\\n v-string: 'content';\\\\n v-string-1: '';\\\\n v-url: url(https://www.exammple.com/images/my-background.png);\\\\n v-url-1: url('https://www.exammple.com/images/my-background.png');\\\\n v-url-2: url(\\\\\\"https://www.exammple.com/images/my-background.png\\\\\\");\\\\n v-integer: 100;\\\\n v-integer-1: -100;\\\\n v-integer-2: +100;\\\\n v-number: .60;\\\\n v-number-1: -456.8;\\\\n v-number-2: -3.4e-2;\\\\n v-dimension: 12px;\\\\n v-percentage: 100%;\\\\n v-hex: #fff;\\\\n v-comment: v-comment 10px v-comment;\\\\n v-function: rgb(0,0,0);\\\\n v-unicode-range: U+0025-00FF;\\\\n mutliple: #fff .60 100%;\\\\n}\\\\n\\\\n\\\\na {\\\\n content: 'content';\\\\n}\\\\n\\\\n@supports (content: 'content') {\\\\n a {\\\\n content: 'content';\\\\n }\\\\n}\\\\n\\\\n[class~='content'] {\\\\n color:green;\\\\n}\\\\n\\\\n._340mxt1qHaYWfC81FJUajb {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]); -// Exports -exports.locals = { - \\"v-def\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-def\\"] + \\"\\", - \\"v-other\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-other\\"] + \\"\\", - \\"s-white\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"s-white\\"] + \\"\\", - \\"m-small\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"m-small\\"] + \\"\\", - \\"v-something\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"v-something\\"] + \\"\\", - \\"v-foo\\": \\"blue\\", - \\"v-bar\\": \\"block\\", - \\"v-primary\\": \\"#BF4040\\", - \\"s-black\\": \\"black-selector\\", - \\"m-large\\": \\"(min-width: 960px)\\", - \\"v-ident\\": \\"validIdent\\", - \\"v-pre-defined-ident\\": \\"left\\", - \\"v-string\\": \\"'content'\\", - \\"v-string-1\\": \\"''\\", - \\"v-url\\": \\"url(https://www.exammple.com/images/my-background.png)\\", - \\"v-url-1\\": \\"url('https://www.exammple.com/images/my-background.png')\\", - \\"v-url-2\\": \\"url(\\\\\\"https://www.exammple.com/images/my-background.png\\\\\\")\\", - \\"v-integer\\": \\"100\\", - \\"v-integer-1\\": \\"-100\\", - \\"v-integer-2\\": \\"+100\\", - \\"v-number\\": \\".60\\", - \\"v-number-1\\": \\"-456.8\\", - \\"v-number-2\\": \\"-3.4e-2\\", - \\"v-dimension\\": \\"12px\\", - \\"v-percentage\\": \\"100%\\", - \\"v-hex\\": \\"#fff\\", - \\"v-function\\": \\"rgb(0,0,0)\\", - \\"v-unicode-range\\": \\"U+0025-00FF\\", - \\"ghi\\": \\"_14uFt0lIVKKAlKTTT29IIQ\\", - \\"class\\": \\"_3XDgIzfUIQkaUInpEdo7fN\\", - \\"other\\": \\"_1wABXM_RabWHj--wsPrhvM\\", - \\"other-other\\": \\"_1DFEYnAfn9LZyk4fErI86e\\", - \\"green\\": \\"Ywv5coVC2RU-pIFhN9O4w\\", - \\"foo\\": \\"_1tAbIwITRWAdZZE6wKNk9O\\", - \\"simple\\": \\"Q3SQ3BwtBwUFLlg6adzOI \\" + ___CSS_LOADER_ICSS_IMPORT_2___.locals[\\"imported-simple\\"] + \\"\\", - \\"relative\\": \\"_1n5XhXj4SFnYrwziC3un0d \\" + ___CSS_LOADER_ICSS_IMPORT_3___.locals[\\"imported-relative\\"] + \\"\\", - \\"top-relative\\": \\"_3dnFnGkAVAiMA6etF-naHc \\" + ___CSS_LOADER_ICSS_IMPORT_4___.locals[\\"imported-relative\\"] + \\"\\", - \\"module\\": \\"_1xUePnlnafMQ1cExy3PUWT \\" + ___CSS_LOADER_ICSS_IMPORT_5___.locals[\\"imported-module\\"] + \\"\\", - \\"alias\\": \\"_26Jdfenl9Xn8HXwb2jipvt \\" + ___CSS_LOADER_ICSS_IMPORT_6___.locals[\\"imported-alias\\"] + \\"\\", - \\"primary-selector\\": \\"_1ya4VhsDkuPhQeVHQydw2Y\\", - \\"black-selector\\": \\"sGE1Q_LliVEZU2Q4q9j4K\\", - \\"header\\": \\"_2zSMJ4hQh0FesbZjiKW_ya\\", - \\"foobarbaz\\": \\"_3qS0_85PLYhk_pNQ69KfSo\\", - \\"url\\": \\"_340mxt1qHaYWfC81FJUajb\\" -};" -`; +.fixtures-modules-localIdentName-localIdentName__className { + background: red; +} -exports[`modules composes should supports resolving: warnings 1`] = `Array []`; +#fixtures-modules-localIdentName-localIdentName__someId { + background: green; +} -exports[`modules getLocalIdent should be allowed to return false: errors 1`] = `Array []`; +.fixtures-modules-localIdentName-localIdentName__className .fixtures-modules-localIdentName-localIdentName__subClass { + color: green; +} -exports[`modules getLocalIdent should be allowed to return false: locals 1`] = ` -Object { - "abc": "abc", - "def": "def", - "ghi": "ghi", - "jkl": "jkl", +#fixtures-modules-localIdentName-localIdentName__someId .fixtures-modules-localIdentName-localIdentName__subClass { + color: blue; } -`; -exports[`modules getLocalIdent should be allowed to return false: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".abc .def { - color: red; +.fixtures-modules-localIdentName-localIdentName__-a0-34a___f { + color: red; } -.ghi .jkl { - color: blue; -} -", - "", - ], -] -`; - -exports[`modules getLocalIdent should be allowed to return false: warnings 1`] = `Array []`; - -exports[`modules issue #286: errors 1`] = `Array []`; - -exports[`modules issue #286: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - ".a--red { color: red } -", - "", - ], - Array [ - 1, - ".b--main { } -", - "", - ], -] -`; +.fixtures-modules-localIdentName-localIdentName__m_x_\\@ { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules issue #286: module 1`] = ` -"exports = module.exports = require(\\"../../../../src/runtime/api.js\\")(false); -// Imports -var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"./dep.css\\"); -exports.i(___CSS_LOADER_ICSS_IMPORT_0___); -// Module -exports.push([module.id, \\".b--main { }\\\\n\\", \\"\\"]); -// Exports -exports.locals = { - \\"main\\": \\"b--main \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"red\\"] + \\"\\" -};" -`; +.fixtures-modules-localIdentName-localIdentName__B\\&W\\? { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules issue #286: warnings 1`] = `Array []`; +/* matches elements with class=":\`(" */ +.fixtures-modules-localIdentName-localIdentName__\\3A \\\`\\( { + color: aqua; +} -exports[`modules issue #636: errors 1`] = `Array []`; +/* matches elements with class="1a2b3c" */ +.fixtures-modules-localIdentName-localIdentName__\\31 a2b3c { + color: aliceblue; +} -exports[`modules issue #636: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - ".prefix-foo { - color: red; -}", - "", - ], - Array [ - 1, - ".prefix-bar { -}", - "", - ], -] -`; +/* matches the element with id="#fake-id" */ +#fixtures-modules-localIdentName-localIdentName__\\#fake-id { + color: antiquewhite; +} -exports[`modules issue #636: module 1`] = ` -"exports = module.exports = require(\\"../../../../src/runtime/api.js\\")(false); -// Imports -var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../src/index.js??ref--4-0!../../../../node_modules/sass-loader/dist/cjs.js??ref--4-1!./foo.scss\\"); -exports.i(___CSS_LOADER_ICSS_IMPORT_0___); -// Module -exports.push([module.id, \\".prefix-bar {\\\\n}\\", \\"\\"]); -// Exports -exports.locals = { - \\"bar\\": \\"prefix-bar \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"foo\\"] + \\"\\" -};" -`; +/* matches the element with id="-a-b-c-" */ +#fixtures-modules-localIdentName-localIdentName__-a-b-c- { + color: azure; +} -exports[`modules issue #636: warnings 1`] = `Array []`; +/* matches the element with id="©" */ +#fixtures-modules-localIdentName-localIdentName__© { + color: black; +} -exports[`modules issue #861: errors 1`] = `Array []`; +.fixtures-modules-localIdentName-localIdentName__♥ { background: lime; } +.fixtures-modules-localIdentName-localIdentName__© { background: lime; } +.fixtures-modules-localIdentName-localIdentName__😍 { background: lime; } +.fixtures-modules-localIdentName-localIdentName__“‘’” { background: lime; } +.fixtures-modules-localIdentName-localIdentName__☺☃ { background: lime; } +.fixtures-modules-localIdentName-localIdentName__⌘⌥ { background: lime; } +.fixtures-modules-localIdentName-localIdentName__𝄞♪♩♫♬ { background: lime; } +.fixtures-modules-localIdentName-localIdentName__💩 { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\? { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\@ { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\. { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\3A \\) { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\3A \\\`\\( { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\31 23 { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\31 a2b3c { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\ { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\<\\>\\<\\<\\<\\>\\>\\<\\> { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\[\\>\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\>\\+\\+\\+\\>\\+\\<\\<\\<\\<\\-\\]\\>\\+\\+\\.\\>\\+\\.\\+\\+\\+\\+\\+\\+\\+\\.\\.\\+\\+\\+\\.\\>\\+\\+\\.\\<\\<\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\+\\.\\>\\.\\+\\+\\+\\.\\-\\-\\-\\-\\-\\-\\.\\-\\-\\-\\-\\-\\-\\-\\-\\.\\>\\+\\.\\>\\. { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\# { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\#\\# { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\#\\.\\#\\.\\# { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\_ { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\{\\} { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\#fake\\-id { background: lime; } +.fixtures-modules-localIdentName-localIdentName__foo\\.bar { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\3A hover { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\3A hover\\3A focus\\3A active { background: lime; } +.fixtures-modules-localIdentName-localIdentName__\\[attr\\=value\\] { background: lime; } +.fixtures-modules-localIdentName-localIdentName__f\\/o\\/o { background: lime; } +.fixtures-modules-localIdentName-localIdentName__f\\\\o\\\\o { background: lime; } +.fixtures-modules-localIdentName-localIdentName__f\\*o\\*o { background: lime; } +.fixtures-modules-localIdentName-localIdentName__f\\!o\\!o { background: lime; } +.fixtures-modules-localIdentName-localIdentName__f\\'o\\'o { background: lime; } +.fixtures-modules-localIdentName-localIdentName__f\\~o\\~o { background: lime; } +.fixtures-modules-localIdentName-localIdentName__f\\+o\\+o { background: lime; } + +.fixtures-modules-localIdentName-localIdentName__foo\\/bar { + background: hotpink; +} -exports[`modules issue #861: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - " -", - "", - ], - Array [ - 4, - "._1ef5Heix1Kf4k0qYvyWRRO { - display: flex; +.fixtures-modules-localIdentName-localIdentName__foo\\\\bar { + background: hotpink; } -", - "", - ], - Array [ - 3, - ".L8pnpYm5VAu49S290uPMA { - color: red; - margin: 0; - padding: 0; + +.fixtures-modules-localIdentName-localIdentName__foo\\/bar\\/baz { + background: hotpink; } -", - "", - ], - Array [ - 1, - "._2gV2e6TcHcPgyDTzxbvkKa { - color: gray; - margin: 0; - padding: 0; + +.fixtures-modules-localIdentName-localIdentName__foo\\\\bar\\\\baz { + background: hotpink; } ", "", @@ -6357,95 +8625,99 @@ Array [ ] `; -exports[`modules issue #861: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!@localpackage/color.css\\"); -var ___CSS_LOADER_ICSS_IMPORT_1___ = require(\\"-!../../../src/index.js??ref--4-0!@localpackage/style.css\\"); -exports.i(___CSS_LOADER_ICSS_IMPORT_0___); -exports.i(___CSS_LOADER_ICSS_IMPORT_1___); -// Module -exports.push([module.id, \\"._2gV2e6TcHcPgyDTzxbvkKa {\\\\n color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color-grey\\"] + \\";\\\\n margin: 0;\\\\n padding: 0;\\\\n}\\\\n\\", \\"\\"]); -// Exports -exports.locals = { - \\"color-grey\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color-grey\\"] + \\"\\", - \\"copyright\\": \\"_2gV2e6TcHcPgyDTzxbvkKa \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"type-heading\\"] + \\"\\" -};" -`; +exports[`"modules" option should work and respect the "path" placeholder: warnings 1`] = `[]`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the "as-is" value: errors 1`] = `[]`; -exports[`modules issue #861: warnings 1`] = `Array []`; +exports[`"modules" option should work and respect the \`localConvention\` option with the "as-is" value: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.rmc8ltu8P1VXaeqLNU6N { + color: blue; +} -exports[`modules issue #966: errors 1`] = `Array []`; +.AooVHuvzAIGXWngdfslc { + color: blue; +} -exports[`modules issue #966: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".button.hey { +.snmJCrfw3LVnrlx87XVC { color: red; } -", - "", - ], -] -`; -exports[`modules issue #966: module 1`] = ` -"exports = module.exports = require(\\"../../../../src/runtime/api.js\\")(false); -// Module -exports.push([module.id, \\".button.hey {\\\\n color: red;\\\\n}\\\\n\\", \\"\\"]); -// Exports -exports.locals = { - \\"button\\": \\"button.hey\\" -};" -`; +a { + color: yellow; +} -exports[`modules issue #966: warnings 1`] = `Array []`; +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} -exports[`modules issue #967: errors 1`] = `Array []`; +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} -exports[`modules issue #967: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".modules-path-placeholder__foo__--sep---sep---sep---sep----sep---sep---sep---sep---sep-- { +.eiLdMC_n9TCXQ0oPIJyI { color: red; } +\`, ""]); +// Exports +export var foo = \`bar\`; +var _1 = \`value\`; +export { _1 as "my-btn-info_is-disabled" }; +var _2 = \`rmc8ltu8P1VXaeqLNU6N\`; +export { _2 as "btn-info_is-disabled" }; +var _3 = \`AooVHuvzAIGXWngdfslc\`; +export { _3 as "btn--info_is-disabled_1" }; +export var simple = \`snmJCrfw3LVnrlx87XVC\`; +export var foo_bar = \`vA4oeh0XymefKJVIJyg1\`; +var _4 = \`mDiC1MIOTWjgsd86woaJ\`; +export { _4 as "class" }; +export var fooBarBaz = \`kY3VVFqpzmTiFlxOd9KU\`; +export var b = \`eiLdMC_n9TCXQ0oPIJyI\`; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the "as-is" value: result 1`] = ` +[ + [ + "./modules/localsConvention/localsConvention.css", + ".rmc8ltu8P1VXaeqLNU6N { + color: blue; +} -.modules-path-placeholder__foo\\\\/bar__--sep---sep---sep---sep----sep---sep---sep---sep---sep-- { +.AooVHuvzAIGXWngdfslc { color: blue; } -.modules-path-placeholder__\\\\[\\\\/\\\\?\\\\<\\\\>\\\\\\\\\\\\\\\\\\\\3A \\\\*\\\\|\\\\\\"\\\\3A \\\\]__--sep---sep---sep---sep----sep---sep---sep---sep---sep-- { +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { color: yellow; } -", - "", - ], -] -`; -exports[`modules issue #967: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Module -exports.push([module.id, \\".modules-path-placeholder__foo__--sep---sep---sep---sep----sep---sep---sep---sep---sep-- {\\\\n color: red;\\\\n}\\\\n\\\\n.modules-path-placeholder__foo\\\\\\\\/bar__--sep---sep---sep---sep----sep---sep---sep---sep---sep-- {\\\\n color: blue;\\\\n}\\\\n\\\\n.modules-path-placeholder__\\\\\\\\[\\\\\\\\/\\\\\\\\?\\\\\\\\<\\\\\\\\>\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\3A \\\\\\\\*\\\\\\\\|\\\\\\\\\\\\\\"\\\\\\\\3A \\\\\\\\]__--sep---sep---sep---sep----sep---sep---sep---sep---sep-- {\\\\n color: yellow;\\\\n}\\\\n\\", \\"\\"]); -// Exports -exports.locals = { - \\"foo\\": \\"modules-path-placeholder__foo__--sep---sep---sep---sep----sep---sep---sep---sep---sep--\\", - \\"foo/bar\\": \\"modules-path-placeholder__foo/bar__--sep---sep---sep---sep----sep---sep---sep---sep---sep--\\", - \\"[/?<>\\\\\\\\\\\\\\\\:*|\\\\\\":]\\": \\"modules-path-placeholder__[/?<>\\\\\\\\\\\\\\\\:*|\\\\\\":]__--sep---sep---sep---sep----sep---sep---sep---sep---sep--\\" -};" -`; +.vA4oeh0XymefKJVIJyg1 { + color: red; +} -exports[`modules issue #967: warnings 1`] = `Array []`; +.mDiC1MIOTWjgsd86woaJ { + color: red; +} -exports[`modules issue #980: errors 1`] = `Array []`; +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} -exports[`modules issue #980: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".file-with-many-dots-in-name_a_1j0Lw { +.eiLdMC_n9TCXQ0oPIJyI { color: red; } ", @@ -6454,115 +8726,196 @@ Array [ ] `; -exports[`modules issue #980: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); +exports[`"modules" option should work and respect the \`localConvention\` option with the "as-is" value: warnings 1`] = `[]`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`as-is\` value and \`namedExport\` is \`false\`: errors 1`] = `[]`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`as-is\` value and \`namedExport\` is \`false\`: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); // Module -exports.push([module.id, \\".file-with-many-dots-in-name_a_1j0Lw {\\\\n color: red;\\\\n}\\\\n\\", \\"\\"]); -// Exports -exports.locals = { - \\"a\\": \\"file-with-many-dots-in-name_a_1j0Lw\\" -};" -`; +___CSS_LOADER_EXPORT___.push([module.id, \`.rmc8ltu8P1VXaeqLNU6N { + color: blue; +} -exports[`modules issue #980: warnings 1`] = `Array []`; +.AooVHuvzAIGXWngdfslc { + color: blue; +} -exports[`modules issue #995: errors 1`] = `Array []`; +.snmJCrfw3LVnrlx87XVC { + color: red; +} -exports[`modules issue #995: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "/* class=\\"😀\\" */ -.a { +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { color: red; } -/* class=\\"😀 😓\\" */ -.a.b { +.mDiC1MIOTWjgsd86woaJ { color: red; } -/* class=\\"😀\\" > class=\\"😓\\" */ -.a .b { +.kY3VVFqpzmTiFlxOd9KU { color: red; } -/* class=\\"😀\\" */ -.😀 { +.eiLdMC_n9TCXQ0oPIJyI { color: red; } +\`, ""]); +// Exports +___CSS_LOADER_EXPORT___.locals = { + "foo": \`bar\`, + "my-btn-info_is-disabled": \`value\`, + "btn-info_is-disabled": \`rmc8ltu8P1VXaeqLNU6N\`, + "btn--info_is-disabled_1": \`AooVHuvzAIGXWngdfslc\`, + "simple": \`snmJCrfw3LVnrlx87XVC\`, + "foo_bar": \`vA4oeh0XymefKJVIJyg1\`, + "class": \`mDiC1MIOTWjgsd86woaJ\`, + "fooBarBaz": \`kY3VVFqpzmTiFlxOd9KU\`, + "b": \`eiLdMC_n9TCXQ0oPIJyI\` +}; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`as-is\` value and \`namedExport\` is \`false\`: result 1`] = ` +[ + [ + "./modules/localsConvention/localsConvention.css", + ".rmc8ltu8P1VXaeqLNU6N { + color: blue; +} -/* class=\\"😀 😓\\" */ -.😀.😓 { +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { color: red; } -/* class=\\"😀\\" > class=\\"😓\\" */ -.😀 .😓 { +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { color: red; } -/* class=\\"😀\\" */ -.\\\\1F600 { +.mDiC1MIOTWjgsd86woaJ { color: red; } -/* class=\\"😀 😓\\" */ -.\\\\1F600.\\\\1F613 { +.kY3VVFqpzmTiFlxOd9KU { color: red; } -/* class=\\"😀\\" > class=\\"😓\\" */ -.\\\\1F600 .\\\\1F613 { +.eiLdMC_n9TCXQ0oPIJyI { color: red; } +", + "", + ], +] +`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`as-is\` value and \`namedExport\` is \`false\`: warnings 1`] = `[]`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`camel-case-only\` value and \`namedExport\` false: errors 1`] = `[]`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`camel-case-only\` value and \`namedExport\` false: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.rmc8ltu8P1VXaeqLNU6N { + color: blue; +} -/* Local */ +.AooVHuvzAIGXWngdfslc { + color: blue; +} -/* class=\\"😀\\" */ -.\\\\1F600 { +.snmJCrfw3LVnrlx87XVC { color: red; } -/* class=\\"😀 😓\\" */ -.\\\\1F600.\\\\1F600 { - color: red; +a { + color: yellow; } -/* class=\\"😀\\" > class=\\"😓\\" */ -.\\\\1F600 .\\\\1F600 { +.vA4oeh0XymefKJVIJyg1 { color: red; } -.\\\\1F600 .a .\\\\1F600 { +.mDiC1MIOTWjgsd86woaJ { color: red; } -.\\\\1F600 .\\\\1F600 .\\\\1F600 { +.kY3VVFqpzmTiFlxOd9KU { color: red; } -div:not(.\\\\1F600) { +.eiLdMC_n9TCXQ0oPIJyI { color: red; } +\`, ""]); +// Exports +___CSS_LOADER_EXPORT___.locals = { + "foo": \`bar\`, + "myBtnInfoIsDisabled": \`value\`, + "btnInfoIsDisabled": \`rmc8ltu8P1VXaeqLNU6N\`, + "btnInfoIsDisabled1": \`AooVHuvzAIGXWngdfslc\`, + "simple": \`snmJCrfw3LVnrlx87XVC\`, + "fooBar": \`vA4oeh0XymefKJVIJyg1\`, + "class": \`mDiC1MIOTWjgsd86woaJ\`, + "fooBarBaz": \`kY3VVFqpzmTiFlxOd9KU\`, + "b": \`eiLdMC_n9TCXQ0oPIJyI\` +}; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`camel-case-only\` value and \`namedExport\` false: result 1`] = ` +[ + [ + "./modules/localsConvention/localsConvention.css", + ".rmc8ltu8P1VXaeqLNU6N { + color: blue; +} + +.AooVHuvzAIGXWngdfslc { + color: blue; +} -.\\\\1F600 .b { +.snmJCrfw3LVnrlx87XVC { color: red; } -.b .\\\\1F600 { +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { color: red; } -.\\\\1F613 .\\\\1F600 { +.mDiC1MIOTWjgsd86woaJ { color: red; } -.\\\\1F613 .\\\\1F600 { +.kY3VVFqpzmTiFlxOd9KU { color: red; } -.\\\\1F600 > .\\\\1F600 > .\\\\1F600 { +.eiLdMC_n9TCXQ0oPIJyI { color: red; } ", @@ -6571,250 +8924,200 @@ div:not(.\\\\1F600) { ] `; -exports[`modules issue #995: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Module -exports.push([module.id, \\"/* class=\\\\\\"😀\\\\\\" */\\\\n.a {\\\\n color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀 😓\\\\\\" */\\\\n.a.b {\\\\n color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀\\\\\\" > class=\\\\\\"😓\\\\\\" */\\\\n.a .b {\\\\n color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀\\\\\\" */\\\\n.😀 {\\\\n color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀 😓\\\\\\" */\\\\n.😀.😓 {\\\\n color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀\\\\\\" > class=\\\\\\"😓\\\\\\" */\\\\n.😀 .😓 {\\\\n color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀\\\\\\" */\\\\n.\\\\\\\\1F600 {\\\\n color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀 😓\\\\\\" */\\\\n.\\\\\\\\1F600.\\\\\\\\1F613 {\\\\n color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀\\\\\\" > class=\\\\\\"😓\\\\\\" */\\\\n.\\\\\\\\1F600 .\\\\\\\\1F613 {\\\\n color: red;\\\\n}\\\\n\\\\n/* Local */\\\\n\\\\n/* class=\\\\\\"😀\\\\\\" */\\\\n.\\\\\\\\1F600 {\\\\n color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀 😓\\\\\\" */\\\\n.\\\\\\\\1F600.\\\\\\\\1F600 {\\\\n color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀\\\\\\" > class=\\\\\\"😓\\\\\\" */\\\\n.\\\\\\\\1F600 .\\\\\\\\1F600 {\\\\n color: red;\\\\n}\\\\n\\\\n.\\\\\\\\1F600 .a .\\\\\\\\1F600 {\\\\n color: red;\\\\n}\\\\n\\\\n.\\\\\\\\1F600 .\\\\\\\\1F600 .\\\\\\\\1F600 {\\\\n color: red;\\\\n}\\\\n\\\\ndiv:not(.\\\\\\\\1F600) {\\\\n color: red;\\\\n}\\\\n\\\\n.\\\\\\\\1F600 .b {\\\\n color: red;\\\\n}\\\\n\\\\n.b .\\\\\\\\1F600 {\\\\n color: red;\\\\n}\\\\n\\\\n.\\\\\\\\1F613 .\\\\\\\\1F600 {\\\\n color: red;\\\\n}\\\\n\\\\n.\\\\\\\\1F613 .\\\\\\\\1F600 {\\\\n color: red;\\\\n}\\\\n\\\\n.\\\\\\\\1F600 > .\\\\\\\\1F600 > .\\\\\\\\1F600 {\\\\n color: red;\\\\n}\\\\n\\", \\"\\"]); -// Exports -exports.locals = { - \\"a\\": \\"😀\\", - \\"b\\": \\"😀\\", - \\"c\\": \\"😀\\" -};" -`; - -exports[`modules issue #995: warnings 1`] = `Array []`; +exports[`"modules" option should work and respect the \`localConvention\` option with the \`camel-case-only\` value and \`namedExport\` false: warnings 1`] = `[]`; -exports[`modules should accepts all arguments for getLocalIdent option: errors 1`] = `Array []`; +exports[`"modules" option should work and respect the \`localConvention\` option with the \`camel-case-only\` value: errors 1`] = `[]`; -exports[`modules should accepts all arguments for getLocalIdent option: locals 1`] = ` -Object { - "abc": "foo", - "def": "foo", - "ghi": "foo", - "jkl": "foo", +exports[`"modules" option should work and respect the \`localConvention\` option with the \`camel-case-only\` value: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.rmc8ltu8P1VXaeqLNU6N { + color: blue; } -`; -exports[`modules should accepts all arguments for getLocalIdent option: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".foo .foo { - color: red; +.AooVHuvzAIGXWngdfslc { + color: blue; } -.foo .foo { - color: blue; +.snmJCrfw3LVnrlx87XVC { + color: red; } -", - "", - ], -] -`; -exports[`modules should accepts all arguments for getLocalIdent option: warnings 1`] = `Array []`; - -exports[`modules should correctly replace escaped symbols in selector with localIdentName option: errors 1`] = `Array []`; - -exports[`modules should correctly replace escaped symbols in selector with localIdentName option: locals 1`] = ` -Object { - "#": "#--1cQh", - "##": "##--1u97", - "#.#.#": "#.#.#--2QoP", - "#fake-id": "#fake-id--1d23", - "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.": "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.--2vJ9", - "-a-b-c-": "-a-b-c---opia", - "-a0-34a___f": "-a0-34a___f--2nJ5", - ".": ".--2hyg", - "123": "123--jOxY", - "1a2b3c": "1a2b3c--1_Xs", - ":)": ":)--2tSN", - ":\`(": ":\`(--3G_T", - ":hover": ":hover--1EAJ", - ":hover:focus:active": ":hover:focus:active--1v8f", - "<><<<>><>": "<><<<>><>--2mic", - "

": "

--dDVm", - "?": "?--2DX4", - "@": "@--mE1z", - "B&W?": "B&W?--1s8i", - "[attr=value]": "[attr=value]--2y3U", - "_": "_--2vOX", - "_test": "_test--23te", - "className": "className--1E8H", - "f!o!o": "f!o!o--3x3B", - "f'o'o": "f'o'o--2fVl", - "f*o*o": "f*o*o--3sRc", - "f+o+o": "f+o+o--38BA", - "f/o/o": "f/o/o--OYOz", - "f\\\\o\\\\o": "f\\\\o\\\\o--1Knj", - "foo.bar": "foo.bar--3ZJa", - "foo/bar": "foo/bar--36uD", - "foo/bar/baz": "foo/bar/baz--oTEb", - "foo\\\\bar": "foo\\\\bar--2KL0", - "foo\\\\bar\\\\baz": "foo\\\\bar\\\\baz--2Id2", - "f~o~o": "f~o~o--lYb3", - "m_x_@": "m_x_@--2G3b", - "someId": "someId--3w7J", - "subClass": "subClass--3lo0", - "test": "test--NW9Y", - "{}": "{}--3lRh", - "©": "©--143H", - "“‘’”": "“‘’”--2yW9", - "⌘⌥": "⌘⌥--6z9v", - "☺☃": "☺☃--3sW7", - "♥": "♥--8xlN", - "𝄞♪♩♫♬": "𝄞♪♩♫♬--1JEq", - "💩": "💩--2i25", -} -`; - -exports[`modules should correctly replace escaped symbols in selector with localIdentName option: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".test--NW9Y { - background: red; +a { + color: yellow; } -._test--23te { - background: blue; +.vA4oeh0XymefKJVIJyg1 { + color: red; } -.className--1E8H { - background: red; +.mDiC1MIOTWjgsd86woaJ { + color: red; } -#someId--3w7J { - background: green; +.kY3VVFqpzmTiFlxOd9KU { + color: red; } -.className--1E8H .subClass--3lo0 { - color: green; +.eiLdMC_n9TCXQ0oPIJyI { + color: red; +} +\`, ""]); +// Exports +export var foo = \`bar\`; +export var myBtnInfoIsDisabled = \`value\`; +export var btnInfoIsDisabled = \`rmc8ltu8P1VXaeqLNU6N\`; +export var btnInfoIsDisabled1 = \`AooVHuvzAIGXWngdfslc\`; +export var simple = \`snmJCrfw3LVnrlx87XVC\`; +export var fooBar = \`vA4oeh0XymefKJVIJyg1\`; +var _1 = \`mDiC1MIOTWjgsd86woaJ\`; +export { _1 as "class" }; +export var fooBarBaz = \`kY3VVFqpzmTiFlxOd9KU\`; +export var b = \`eiLdMC_n9TCXQ0oPIJyI\`; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`camel-case-only\` value: result 1`] = ` +[ + [ + "./modules/localsConvention/localsConvention.css", + ".rmc8ltu8P1VXaeqLNU6N { + color: blue; } -#someId--3w7J .subClass--3lo0 { +.AooVHuvzAIGXWngdfslc { color: blue; } -.-a0-34a___f--2nJ5 { +.snmJCrfw3LVnrlx87XVC { color: red; } -.m_x_\\\\@--2G3b { - margin-left: auto !important; - margin-right: auto !important; +a { + color: yellow; } -.B\\\\&W\\\\?--1s8i { - margin-left: auto !important; - margin-right: auto !important; +.vA4oeh0XymefKJVIJyg1 { + color: red; } -/* matches elements with class=\\":\`(\\" */ -.\\\\3A \\\\\`\\\\(--3G_T { - color: aqua; +.mDiC1MIOTWjgsd86woaJ { + color: red; } -/* matches elements with class=\\"1a2b3c\\" */ -.\\\\31 a2b3c--1_Xs { - color: aliceblue; +.kY3VVFqpzmTiFlxOd9KU { + color: red; } -/* matches the element with id=\\"#fake-id\\" */ -#\\\\#fake-id--1d23 { - color: antiquewhite; +.eiLdMC_n9TCXQ0oPIJyI { + color: red; } +", + "", + ], +] +`; -/* matches the element with id=\\"-a-b-c-\\" */ -#-a-b-c---opia { - color: azure; +exports[`"modules" option should work and respect the \`localConvention\` option with the \`camel-case-only\` value: warnings 1`] = `[]`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`camelCase\` value and \`namedExport\` false: errors 1`] = `[]`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`camelCase\` value and \`namedExport\` false: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.rmc8ltu8P1VXaeqLNU6N { + color: blue; } -/* matches the element with id=\\"©\\" */ -#©--143H { - color: black; +.AooVHuvzAIGXWngdfslc { + color: blue; } -.♥--8xlN { background: lime; } -.©--143H { background: lime; } -.“‘’”--2yW9 { background: lime; } -.☺☃--3sW7 { background: lime; } -.⌘⌥--6z9v { background: lime; } -.𝄞♪♩♫♬--1JEq { background: lime; } -.💩--2i25 { background: lime; } -.\\\\?--2DX4 { background: lime; } -.\\\\@--mE1z { background: lime; } -.\\\\.--2hyg { background: lime; } -.\\\\3A \\\\)--2tSN { background: lime; } -.\\\\3A \\\\\`\\\\(--3G_T { background: lime; } -.\\\\31 23--jOxY { background: lime; } -.\\\\31 a2b3c--1_Xs { background: lime; } -.\\\\--dDVm { background: lime; } -.\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\>--2mic { background: lime; } -.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\.--2vJ9 { background: lime; } -.\\\\#--1cQh { background: lime; } -.\\\\#\\\\#--1u97 { background: lime; } -.\\\\#\\\\.\\\\#\\\\.\\\\#--2QoP { background: lime; } -.\\\\_--2vOX { background: lime; } -.\\\\{\\\\}--3lRh { background: lime; } -.\\\\#fake\\\\-id--1d23 { background: lime; } -.foo\\\\.bar--3ZJa { background: lime; } -.\\\\3A hover--1EAJ { background: lime; } -.\\\\3A hover\\\\3A focus\\\\3A active--1v8f { background: lime; } -.\\\\[attr\\\\=value\\\\]--2y3U { background: lime; } -.f\\\\/o\\\\/o--OYOz { background: lime; } -.f\\\\\\\\o\\\\\\\\o--1Knj { background: lime; } -.f\\\\*o\\\\*o--3sRc { background: lime; } -.f\\\\!o\\\\!o--3x3B { background: lime; } -.f\\\\'o\\\\'o--2fVl { background: lime; } -.f\\\\~o\\\\~o--lYb3 { background: lime; } -.f\\\\+o\\\\+o--38BA { background: lime; } +.snmJCrfw3LVnrlx87XVC { + color: red; +} -.foo\\\\/bar--36uD { - background: hotpink; +a { + color: yellow; } -.foo\\\\\\\\bar--2KL0 { - background: hotpink; +.vA4oeh0XymefKJVIJyg1 { + color: red; } -.foo\\\\/bar\\\\/baz--oTEb { - background: hotpink; +.mDiC1MIOTWjgsd86woaJ { + color: red; } -.foo\\\\\\\\bar\\\\\\\\baz--2Id2 { - background: hotpink; +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.eiLdMC_n9TCXQ0oPIJyI { + color: red; +} +\`, ""]); +// Exports +___CSS_LOADER_EXPORT___.locals = { + "foo": \`bar\`, + "my-btn-info_is-disabled": \`value\`, + "myBtnInfoIsDisabled": \`value\`, + "btn-info_is-disabled": \`rmc8ltu8P1VXaeqLNU6N\`, + "btnInfoIsDisabled": \`rmc8ltu8P1VXaeqLNU6N\`, + "btn--info_is-disabled_1": \`AooVHuvzAIGXWngdfslc\`, + "btnInfoIsDisabled1": \`AooVHuvzAIGXWngdfslc\`, + "simple": \`snmJCrfw3LVnrlx87XVC\`, + "foo_bar": \`vA4oeh0XymefKJVIJyg1\`, + "fooBar": \`vA4oeh0XymefKJVIJyg1\`, + "class": \`mDiC1MIOTWjgsd86woaJ\`, + "fooBarBaz": \`kY3VVFqpzmTiFlxOd9KU\`, + "b": \`eiLdMC_n9TCXQ0oPIJyI\` +}; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`camelCase\` value and \`namedExport\` false: result 1`] = ` +[ + [ + "./modules/localsConvention/localsConvention.css", + ".rmc8ltu8P1VXaeqLNU6N { + color: blue; } -", - "", - ], -] -`; -exports[`modules should correctly replace escaped symbols in selector with localIdentName option: warnings 1`] = `Array []`; +.AooVHuvzAIGXWngdfslc { + color: blue; +} -exports[`modules should have an undefined context if no context was given: errors 1`] = `Array []`; +.snmJCrfw3LVnrlx87XVC { + color: red; +} -exports[`modules should have an undefined context if no context was given: locals 1`] = ` -Object { - "abc": "foo", - "def": "foo", - "ghi": "foo", - "jkl": "foo", +a { + color: yellow; } -`; -exports[`modules should have an undefined context if no context was given: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".foo .foo { +.vA4oeh0XymefKJVIJyg1 { color: red; } -.foo .foo { - color: blue; +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.eiLdMC_n9TCXQ0oPIJyI { + color: red; } ", "", @@ -6822,178 +9125,104 @@ Array [ ] `; -exports[`modules should have an undefined context if no context was given: warnings 1`] = `Array []`; - -exports[`modules should prefixes leading hyphen + digit with underscore with localIdentName option: errors 1`] = `Array []`; - -exports[`modules should prefixes leading hyphen + digit with underscore with localIdentName option: locals 1`] = ` -Object { - "#": "_-1#", - "##": "_-1##", - "#.#.#": "_-1#.#.#", - "#fake-id": "_-1#fake-id", - "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.": "_-1++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.", - "-a-b-c-": "_-1-a-b-c-", - "-a0-34a___f": "_-1-a0-34a___f", - ".": "_-1.", - "123": "_-1123", - "1a2b3c": "_-11a2b3c", - ":)": "_-1:)", - ":\`(": "_-1:\`(", - ":hover": "_-1:hover", - ":hover:focus:active": "_-1:hover:focus:active", - "<><<<>><>": "_-1<><<<>><>", - "

": "_-1

", - "?": "_-1?", - "@": "_-1@", - "B&W?": "_-1B&W?", - "[attr=value]": "_-1[attr=value]", - "_": "_-1_", - "_test": "_-1_test", - "className": "_-1className", - "f!o!o": "_-1f!o!o", - "f'o'o": "_-1f'o'o", - "f*o*o": "_-1f*o*o", - "f+o+o": "_-1f+o+o", - "f/o/o": "_-1f/o/o", - "f\\\\o\\\\o": "_-1f\\\\o\\\\o", - "foo.bar": "_-1foo.bar", - "foo/bar": "_-1foo/bar", - "foo/bar/baz": "_-1foo/bar/baz", - "foo\\\\bar": "_-1foo\\\\bar", - "foo\\\\bar\\\\baz": "_-1foo\\\\bar\\\\baz", - "f~o~o": "_-1f~o~o", - "m_x_@": "_-1m_x_@", - "someId": "_-1someId", - "subClass": "_-1subClass", - "test": "_-1test", - "{}": "_-1{}", - "©": "_-1©", - "“‘’”": "_-1“‘’”", - "⌘⌥": "_-1⌘⌥", - "☺☃": "_-1☺☃", - "♥": "_-1♥", - "𝄞♪♩♫♬": "_-1𝄞♪♩♫♬", - "💩": "_-1💩", -} -`; - -exports[`modules should prefixes leading hyphen + digit with underscore with localIdentName option: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._-1test { - background: red; -} +exports[`"modules" option should work and respect the \`localConvention\` option with the \`camelCase\` value and \`namedExport\` false: warnings 1`] = `[]`; -._-1_test { - background: blue; -} +exports[`"modules" option should work and respect the \`localConvention\` option with the \`camelCase\` value: errors 1`] = `[]`; -._-1className { - background: red; +exports[`"modules" option should work and respect the \`localConvention\` option with the \`camelCase\` value: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.rmc8ltu8P1VXaeqLNU6N { + color: blue; } -#_-1someId { - background: green; +.AooVHuvzAIGXWngdfslc { + color: blue; } -._-1className ._-1subClass { - color: green; +.snmJCrfw3LVnrlx87XVC { + color: red; } -#_-1someId ._-1subClass { - color: blue; +a { + color: yellow; } -._-1-a0-34a___f { +.vA4oeh0XymefKJVIJyg1 { color: red; } -._-1m_x_\\\\@ { - margin-left: auto !important; - margin-right: auto !important; +.mDiC1MIOTWjgsd86woaJ { + color: red; } -._-1B\\\\&W\\\\? { - margin-left: auto !important; - margin-right: auto !important; +.kY3VVFqpzmTiFlxOd9KU { + color: red; } -/* matches elements with class=\\":\`(\\" */ -._-1\\\\3A \\\\\`\\\\( { - color: aqua; +.eiLdMC_n9TCXQ0oPIJyI { + color: red; } - -/* matches elements with class=\\"1a2b3c\\" */ -._-1\\\\31 a2b3c { - color: aliceblue; +\`, ""]); +// Exports +export var foo = \`bar\`; +var _1 = \`value\`; +export { _1 as "my-btn-info_is-disabled" }; +export var myBtnInfoIsDisabled = \`value\`; +var _2 = \`rmc8ltu8P1VXaeqLNU6N\`; +export { _2 as "btn-info_is-disabled" }; +export var btnInfoIsDisabled = \`rmc8ltu8P1VXaeqLNU6N\`; +var _3 = \`AooVHuvzAIGXWngdfslc\`; +export { _3 as "btn--info_is-disabled_1" }; +export var btnInfoIsDisabled1 = \`AooVHuvzAIGXWngdfslc\`; +export var simple = \`snmJCrfw3LVnrlx87XVC\`; +export var foo_bar = \`vA4oeh0XymefKJVIJyg1\`; +export var fooBar = \`vA4oeh0XymefKJVIJyg1\`; +var _4 = \`mDiC1MIOTWjgsd86woaJ\`; +export { _4 as "class" }; +export var fooBarBaz = \`kY3VVFqpzmTiFlxOd9KU\`; +export var b = \`eiLdMC_n9TCXQ0oPIJyI\`; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`camelCase\` value: result 1`] = ` +[ + [ + "./modules/localsConvention/localsConvention.css", + ".rmc8ltu8P1VXaeqLNU6N { + color: blue; } -/* matches the element with id=\\"#fake-id\\" */ -#_-1\\\\#fake-id { - color: antiquewhite; +.AooVHuvzAIGXWngdfslc { + color: blue; } -/* matches the element with id=\\"-a-b-c-\\" */ -#_-1-a-b-c- { - color: azure; +.snmJCrfw3LVnrlx87XVC { + color: red; } -/* matches the element with id=\\"©\\" */ -#_-1© { - color: black; +a { + color: yellow; } -._-1♥ { background: lime; } -._-1© { background: lime; } -._-1“‘’” { background: lime; } -._-1☺☃ { background: lime; } -._-1⌘⌥ { background: lime; } -._-1𝄞♪♩♫♬ { background: lime; } -._-1💩 { background: lime; } -._-1\\\\? { background: lime; } -._-1\\\\@ { background: lime; } -._-1\\\\. { background: lime; } -._-1\\\\3A \\\\) { background: lime; } -._-1\\\\3A \\\\\`\\\\( { background: lime; } -._-1\\\\31 23 { background: lime; } -._-1\\\\31 a2b3c { background: lime; } -._-1\\\\ { background: lime; } -._-1\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\> { background: lime; } -._-1\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\. { background: lime; } -._-1\\\\# { background: lime; } -._-1\\\\#\\\\# { background: lime; } -._-1\\\\#\\\\.\\\\#\\\\.\\\\# { background: lime; } -._-1\\\\_ { background: lime; } -._-1\\\\{\\\\} { background: lime; } -._-1\\\\#fake\\\\-id { background: lime; } -._-1foo\\\\.bar { background: lime; } -._-1\\\\3A hover { background: lime; } -._-1\\\\3A hover\\\\3A focus\\\\3A active { background: lime; } -._-1\\\\[attr\\\\=value\\\\] { background: lime; } -._-1f\\\\/o\\\\/o { background: lime; } -._-1f\\\\\\\\o\\\\\\\\o { background: lime; } -._-1f\\\\*o\\\\*o { background: lime; } -._-1f\\\\!o\\\\!o { background: lime; } -._-1f\\\\'o\\\\'o { background: lime; } -._-1f\\\\~o\\\\~o { background: lime; } -._-1f\\\\+o\\\\+o { background: lime; } - -._-1foo\\\\/bar { - background: hotpink; +.vA4oeh0XymefKJVIJyg1 { + color: red; } -._-1foo\\\\\\\\bar { - background: hotpink; +.mDiC1MIOTWjgsd86woaJ { + color: red; } -._-1foo\\\\/bar\\\\/baz { - background: hotpink; +.kY3VVFqpzmTiFlxOd9KU { + color: red; } -._-1foo\\\\\\\\bar\\\\\\\\baz { - background: hotpink; +.eiLdMC_n9TCXQ0oPIJyI { + color: red; } ", "", @@ -7001,387 +9230,304 @@ Array [ ] `; -exports[`modules should prefixes leading hyphen + digit with underscore with localIdentName option: warnings 1`] = `Array []`; - -exports[`modules should prefixes two leading hyphens with underscore with localIdentName option: errors 1`] = `Array []`; - -exports[`modules should prefixes two leading hyphens with underscore with localIdentName option: locals 1`] = ` -Object { - "#": "_--#", - "##": "_--##", - "#.#.#": "_--#.#.#", - "#fake-id": "_--#fake-id", - "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.": "_--++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.", - "-a-b-c-": "_---a-b-c-", - "-a0-34a___f": "_---a0-34a___f", - ".": "_--.", - "123": "_--123", - "1a2b3c": "_--1a2b3c", - ":)": "_--:)", - ":\`(": "_--:\`(", - ":hover": "_--:hover", - ":hover:focus:active": "_--:hover:focus:active", - "<><<<>><>": "_--<><<<>><>", - "

": "_--

", - "?": "_--?", - "@": "_--@", - "B&W?": "_--B&W?", - "[attr=value]": "_--[attr=value]", - "_": "_--_", - "_test": "_--_test", - "className": "_--className", - "f!o!o": "_--f!o!o", - "f'o'o": "_--f'o'o", - "f*o*o": "_--f*o*o", - "f+o+o": "_--f+o+o", - "f/o/o": "_--f/o/o", - "f\\\\o\\\\o": "_--f\\\\o\\\\o", - "foo.bar": "_--foo.bar", - "foo/bar": "_--foo/bar", - "foo/bar/baz": "_--foo/bar/baz", - "foo\\\\bar": "_--foo\\\\bar", - "foo\\\\bar\\\\baz": "_--foo\\\\bar\\\\baz", - "f~o~o": "_--f~o~o", - "m_x_@": "_--m_x_@", - "someId": "_--someId", - "subClass": "_--subClass", - "test": "_--test", - "{}": "_--{}", - "©": "_--©", - "“‘’”": "_--“‘’”", - "⌘⌥": "_--⌘⌥", - "☺☃": "_--☺☃", - "♥": "_--♥", - "𝄞♪♩♫♬": "_--𝄞♪♩♫♬", - "💩": "_--💩", -} -`; - -exports[`modules should prefixes two leading hyphens with underscore with localIdentName option: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._--test { - background: red; +exports[`"modules" option should work and respect the \`localConvention\` option with the \`camelCase\` value: warnings 1`] = `[]`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`dashes\` value and \`namedExport\` false: errors 1`] = `[]`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`dashes\` value and \`namedExport\` false: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.rmc8ltu8P1VXaeqLNU6N { + color: blue; } -._--_test { - background: blue; +.AooVHuvzAIGXWngdfslc { + color: blue; } -._--className { - background: red; +.snmJCrfw3LVnrlx87XVC { + color: red; } -#_--someId { - background: green; +a { + color: yellow; } -._--className ._--subClass { - color: green; +.vA4oeh0XymefKJVIJyg1 { + color: red; } -#_--someId ._--subClass { +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.eiLdMC_n9TCXQ0oPIJyI { + color: red; +} +\`, ""]); +// Exports +___CSS_LOADER_EXPORT___.locals = { + "foo": \`bar\`, + "my-btn-info_is-disabled": \`value\`, + "myBtnInfo_isDisabled": \`value\`, + "btn-info_is-disabled": \`rmc8ltu8P1VXaeqLNU6N\`, + "btnInfo_isDisabled": \`rmc8ltu8P1VXaeqLNU6N\`, + "btn--info_is-disabled_1": \`AooVHuvzAIGXWngdfslc\`, + "btnInfo_isDisabled_1": \`AooVHuvzAIGXWngdfslc\`, + "simple": \`snmJCrfw3LVnrlx87XVC\`, + "foo_bar": \`vA4oeh0XymefKJVIJyg1\`, + "class": \`mDiC1MIOTWjgsd86woaJ\`, + "fooBarBaz": \`kY3VVFqpzmTiFlxOd9KU\`, + "b": \`eiLdMC_n9TCXQ0oPIJyI\` +}; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`dashes\` value and \`namedExport\` false: result 1`] = ` +[ + [ + "./modules/localsConvention/localsConvention.css", + ".rmc8ltu8P1VXaeqLNU6N { color: blue; } -._---a0-34a___f { +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { color: red; } -._--m_x_\\\\@ { - margin-left: auto !important; - margin-right: auto !important; +a { + color: yellow; } -._--B\\\\&W\\\\? { - margin-left: auto !important; - margin-right: auto !important; +.vA4oeh0XymefKJVIJyg1 { + color: red; } -/* matches elements with class=\\":\`(\\" */ -._--\\\\3A \\\\\`\\\\( { - color: aqua; +.mDiC1MIOTWjgsd86woaJ { + color: red; } -/* matches elements with class=\\"1a2b3c\\" */ -._--\\\\31 a2b3c { - color: aliceblue; +.kY3VVFqpzmTiFlxOd9KU { + color: red; } -/* matches the element with id=\\"#fake-id\\" */ -#_--\\\\#fake-id { - color: antiquewhite; +.eiLdMC_n9TCXQ0oPIJyI { + color: red; } +", + "", + ], +] +`; -/* matches the element with id=\\"-a-b-c-\\" */ -#_---a-b-c- { - color: azure; +exports[`"modules" option should work and respect the \`localConvention\` option with the \`dashes\` value and \`namedExport\` false: warnings 1`] = `[]`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`dashes\` value: errors 1`] = `[]`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`dashes\` value: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.rmc8ltu8P1VXaeqLNU6N { + color: blue; } -/* matches the element with id=\\"©\\" */ -#_--© { - color: black; +.AooVHuvzAIGXWngdfslc { + color: blue; } -._--♥ { background: lime; } -._--© { background: lime; } -._--“‘’” { background: lime; } -._--☺☃ { background: lime; } -._--⌘⌥ { background: lime; } -._--𝄞♪♩♫♬ { background: lime; } -._--💩 { background: lime; } -._--\\\\? { background: lime; } -._--\\\\@ { background: lime; } -._--\\\\. { background: lime; } -._--\\\\3A \\\\) { background: lime; } -._--\\\\3A \\\\\`\\\\( { background: lime; } -._--\\\\31 23 { background: lime; } -._--\\\\31 a2b3c { background: lime; } -._--\\\\ { background: lime; } -._--\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\> { background: lime; } -._--\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\. { background: lime; } -._--\\\\# { background: lime; } -._--\\\\#\\\\# { background: lime; } -._--\\\\#\\\\.\\\\#\\\\.\\\\# { background: lime; } -._--\\\\_ { background: lime; } -._--\\\\{\\\\} { background: lime; } -._--\\\\#fake\\\\-id { background: lime; } -._--foo\\\\.bar { background: lime; } -._--\\\\3A hover { background: lime; } -._--\\\\3A hover\\\\3A focus\\\\3A active { background: lime; } -._--\\\\[attr\\\\=value\\\\] { background: lime; } -._--f\\\\/o\\\\/o { background: lime; } -._--f\\\\\\\\o\\\\\\\\o { background: lime; } -._--f\\\\*o\\\\*o { background: lime; } -._--f\\\\!o\\\\!o { background: lime; } -._--f\\\\'o\\\\'o { background: lime; } -._--f\\\\~o\\\\~o { background: lime; } -._--f\\\\+o\\\\+o { background: lime; } - -._--foo\\\\/bar { - background: hotpink; +.snmJCrfw3LVnrlx87XVC { + color: red; } -._--foo\\\\\\\\bar { - background: hotpink; +a { + color: yellow; } -._--foo\\\\/bar\\\\/baz { - background: hotpink; +.vA4oeh0XymefKJVIJyg1 { + color: red; } -._--foo\\\\\\\\bar\\\\\\\\baz { - background: hotpink; +.mDiC1MIOTWjgsd86woaJ { + color: red; } -", - "", - ], -] -`; -exports[`modules should prefixes two leading hyphens with underscore with localIdentName option: warnings 1`] = `Array []`; - -exports[`modules should respects context option: errors 1`] = `Array []`; - -exports[`modules should respects context option: locals 1`] = ` -Object { - "#": "O8Yw611P", - "##": "_3er0DBiz", - "#.#.#": "_22RlZfs4", - "#fake-id": "_3i_zUQNU", - "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.": "_3hmdGGWi", - "-a-b-c-": "_1cY1s7c1", - "-a0-34a___f": "_3RHUZpqp", - ".": "nfd9MoI8", - "123": "_3JQcZq0t", - "1a2b3c": "_3IsxVsEE", - ":)": "_3EKgIWue", - ":\`(": "_3oWIzQc7", - ":hover": "B2whyhV4", - ":hover:focus:active": "_3R7r57b4", - "<><<<>><>": "Tr9vNLcW", - "

": "_3Lowms-R", - "?": "mRRxxKEQ", - "@": "_3ZlTEPhx", - "B&W?": "_3d3wghvo", - "[attr=value]": "_3GgRcos7", - "_": "_2V6oBdW4", - "_test": "_3Q--BATR", - "className": "_3wBIH6Tw", - "f!o!o": "_2pDEJqK-", - "f'o'o": "_3297Sjlr", - "f*o*o": "MI6DPcI5", - "f+o+o": "_3aNwyLoj", - "f/o/o": "jbPgrxdZ", - "f\\\\o\\\\o": "_3x1WTWOH", - "foo.bar": "_2FVtFG40", - "foo/bar": "_13Q-TIeR", - "foo/bar/baz": "_1I8mGSan", - "foo\\\\bar": "LKTPJkpW", - "foo\\\\bar\\\\baz": "xcAsBCbt", - "f~o~o": "_1TY6Bok1", - "m_x_@": "_3SfN7O2q", - "someId": "mxosG-Ww", - "subClass": "_3jIM-zUk", - "test": "_1Os7JVOf", - "{}": "_2ZR3d8gm", - "©": "_3QaoFt--", - "“‘’”": "_3xI9AT1p", - "⌘⌥": "_1V-to4Of", - "☺☃": "uy8uve6R", - "♥": "kO1_7SYu", - "𝄞♪♩♫♬": "_1tfs0VJo", - "💩": "_2Cl61yWh", -} -`; - -exports[`modules should respects context option: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1Os7JVOf { - background: red; +.kY3VVFqpzmTiFlxOd9KU { + color: red; } -._3Q--BATR { - background: blue; +.eiLdMC_n9TCXQ0oPIJyI { + color: red; +} +\`, ""]); +// Exports +export var foo = \`bar\`; +var _1 = \`value\`; +export { _1 as "my-btn-info_is-disabled" }; +export var myBtnInfo_isDisabled = \`value\`; +var _2 = \`rmc8ltu8P1VXaeqLNU6N\`; +export { _2 as "btn-info_is-disabled" }; +export var btnInfo_isDisabled = \`rmc8ltu8P1VXaeqLNU6N\`; +var _3 = \`AooVHuvzAIGXWngdfslc\`; +export { _3 as "btn--info_is-disabled_1" }; +export var btnInfo_isDisabled_1 = \`AooVHuvzAIGXWngdfslc\`; +export var simple = \`snmJCrfw3LVnrlx87XVC\`; +export var foo_bar = \`vA4oeh0XymefKJVIJyg1\`; +var _4 = \`mDiC1MIOTWjgsd86woaJ\`; +export { _4 as "class" }; +export var fooBarBaz = \`kY3VVFqpzmTiFlxOd9KU\`; +export var b = \`eiLdMC_n9TCXQ0oPIJyI\`; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`dashes\` value: result 1`] = ` +[ + [ + "./modules/localsConvention/localsConvention.css", + ".rmc8ltu8P1VXaeqLNU6N { + color: blue; } -._3wBIH6Tw { - background: red; +.AooVHuvzAIGXWngdfslc { + color: blue; } -#mxosG-Ww { - background: green; +.snmJCrfw3LVnrlx87XVC { + color: red; } -._3wBIH6Tw ._3jIM-zUk { - color: green; +a { + color: yellow; } -#mxosG-Ww ._3jIM-zUk { - color: blue; +.vA4oeh0XymefKJVIJyg1 { + color: red; } -._3RHUZpqp { +.mDiC1MIOTWjgsd86woaJ { color: red; } -._3SfN7O2q { - margin-left: auto !important; - margin-right: auto !important; +.kY3VVFqpzmTiFlxOd9KU { + color: red; } -._3d3wghvo { - margin-left: auto !important; - margin-right: auto !important; +.eiLdMC_n9TCXQ0oPIJyI { + color: red; } +", + "", + ], +] +`; -/* matches elements with class=\\":\`(\\" */ -._3oWIzQc7 { - color: aqua; +exports[`"modules" option should work and respect the \`localConvention\` option with the \`dashes\` value: warnings 1`] = `[]`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`dashesOnly\` value and \`namedExport\` false: errors 1`] = `[]`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`dashesOnly\` value and \`namedExport\` false: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.rmc8ltu8P1VXaeqLNU6N { + color: blue; } -/* matches elements with class=\\"1a2b3c\\" */ -._3IsxVsEE { - color: aliceblue; +.AooVHuvzAIGXWngdfslc { + color: blue; } -/* matches the element with id=\\"#fake-id\\" */ -#_3i_zUQNU { - color: antiquewhite; +.snmJCrfw3LVnrlx87XVC { + color: red; } -/* matches the element with id=\\"-a-b-c-\\" */ -#_1cY1s7c1 { - color: azure; +a { + color: yellow; } -/* matches the element with id=\\"©\\" */ -#_3QaoFt-- { - color: black; +.vA4oeh0XymefKJVIJyg1 { + color: red; } -.kO1_7SYu { background: lime; } -._3QaoFt-- { background: lime; } -._3xI9AT1p { background: lime; } -.uy8uve6R { background: lime; } -._1V-to4Of { background: lime; } -._1tfs0VJo { background: lime; } -._2Cl61yWh { background: lime; } -.mRRxxKEQ { background: lime; } -._3ZlTEPhx { background: lime; } -.nfd9MoI8 { background: lime; } -._3EKgIWue { background: lime; } -._3oWIzQc7 { background: lime; } -._3JQcZq0t { background: lime; } -._3IsxVsEE { background: lime; } -._3Lowms-R { background: lime; } -.Tr9vNLcW { background: lime; } -._3hmdGGWi { background: lime; } -.O8Yw611P { background: lime; } -._3er0DBiz { background: lime; } -._22RlZfs4 { background: lime; } -._2V6oBdW4 { background: lime; } -._2ZR3d8gm { background: lime; } -._3i_zUQNU { background: lime; } -._2FVtFG40 { background: lime; } -.B2whyhV4 { background: lime; } -._3R7r57b4 { background: lime; } -._3GgRcos7 { background: lime; } -.jbPgrxdZ { background: lime; } -._3x1WTWOH { background: lime; } -.MI6DPcI5 { background: lime; } -._2pDEJqK- { background: lime; } -._3297Sjlr { background: lime; } -._1TY6Bok1 { background: lime; } -._3aNwyLoj { background: lime; } +.mDiC1MIOTWjgsd86woaJ { + color: red; +} -._13Q-TIeR { - background: hotpink; +.kY3VVFqpzmTiFlxOd9KU { + color: red; } -.LKTPJkpW { - background: hotpink; +.eiLdMC_n9TCXQ0oPIJyI { + color: red; +} +\`, ""]); +// Exports +___CSS_LOADER_EXPORT___.locals = { + "foo": \`bar\`, + "myBtnInfo_isDisabled": \`value\`, + "btnInfo_isDisabled": \`rmc8ltu8P1VXaeqLNU6N\`, + "btnInfo_isDisabled_1": \`AooVHuvzAIGXWngdfslc\`, + "simple": \`snmJCrfw3LVnrlx87XVC\`, + "foo_bar": \`vA4oeh0XymefKJVIJyg1\`, + "class": \`mDiC1MIOTWjgsd86woaJ\`, + "fooBarBaz": \`kY3VVFqpzmTiFlxOd9KU\`, + "b": \`eiLdMC_n9TCXQ0oPIJyI\` +}; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`dashesOnly\` value and \`namedExport\` false: result 1`] = ` +[ + [ + "./modules/localsConvention/localsConvention.css", + ".rmc8ltu8P1VXaeqLNU6N { + color: blue; } -._1I8mGSan { - background: hotpink; +.AooVHuvzAIGXWngdfslc { + color: blue; } -.xcAsBCbt { - background: hotpink; +.snmJCrfw3LVnrlx87XVC { + color: red; } -", - "", - ], -] -`; -exports[`modules should respects context option: warnings 1`] = `Array []`; +a { + color: yellow; +} -exports[`modules should respects getLocalIdent option (global mode): errors 1`] = `Array []`; +.vA4oeh0XymefKJVIJyg1 { + color: red; +} -exports[`modules should respects getLocalIdent option (global mode): locals 1`] = ` -Object { - "abc": "foo", - "def": "foo", - "ghi": "foo", - "jkl": "foo", +.mDiC1MIOTWjgsd86woaJ { + color: red; } -`; -exports[`modules should respects getLocalIdent option (global mode): module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".foo .foo { +.kY3VVFqpzmTiFlxOd9KU { color: red; } -.foo .foo { - color: blue; +.eiLdMC_n9TCXQ0oPIJyI { + color: red; } ", "", @@ -7389,745 +9535,16354 @@ Array [ ] `; -exports[`modules should respects getLocalIdent option (global mode): warnings 1`] = `Array []`; +exports[`"modules" option should work and respect the \`localConvention\` option with the \`dashesOnly\` value and \`namedExport\` false: warnings 1`] = `[]`; -exports[`modules should respects getLocalIdent option (local mode): errors 1`] = `Array []`; +exports[`"modules" option should work and respect the \`localConvention\` option with the \`dashesOnly\` value: errors 1`] = `[]`; -exports[`modules should respects getLocalIdent option (local mode): locals 1`] = ` -Object { - "abc": "foo", - "def": "foo", - "ghi": "foo", - "jkl": "foo", +exports[`"modules" option should work and respect the \`localConvention\` option with the \`dashesOnly\` value: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.rmc8ltu8P1VXaeqLNU6N { + color: blue; } -`; -exports[`modules should respects getLocalIdent option (local mode): module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".foo .foo { - color: red; +.AooVHuvzAIGXWngdfslc { + color: blue; } -.foo .foo { - color: blue; +.snmJCrfw3LVnrlx87XVC { + color: red; } -", - "", - ], -] -`; -exports[`modules should respects getLocalIdent option (local mode): warnings 1`] = `Array []`; - -exports[`modules should respects hashPrefix option with localIdentName option: errors 1`] = `Array []`; - -exports[`modules should respects hashPrefix option with localIdentName option: locals 1`] = ` -Object { - "#": "#--8caa1febb853c79bc5740a51d69b0603", - "##": "##--e6e70cede894cf8ecef86891b00438fa", - "#.#.#": "#.#.#--f93b20473b91262c9634348506fe36fe", - "#fake-id": "#fake-id--a0d1d29b3c920aa3985fb11586f994e6", - "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.": "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.--937528d96919903e5a5172d04ced259a", - "-a-b-c-": "-a-b-c---5b1d694462fbb9af324bb0ed2a08d755", - "-a0-34a___f": "-a0-34a___f--e99d667fe0ceff9363b011302ac3f508", - ".": ".--12cd2fe5f9c81510bf687df3b6461cb1", - "123": "123--e5bcdf25b52ca483d65894eae427ccff", - "1a2b3c": "1a2b3c--165cab18879cee9a48ae4cbb5fdd39a8", - ":)": ":)--2f61aa454a9e7fd205da87e665dff51b", - ":\`(": ":\`(--612466e663a46fe230e6db648089b4c4", - ":hover": ":hover--af8b669c2dc29371d450d428f0bfa5d2", - ":hover:focus:active": ":hover:focus:active--5c55d7a925c8ee5de2e8f175badce4d6", - "<><<<>><>": "<><<<>><>--ac5886bfd5b1a8264bdda01deaf52762", - "

": "

--c168cd4e00ec053d5bd509da80f5db38", - "?": "?--4f09eb0a56c6b8f25f7ef4def006df7e", - "@": "@--254139a6858615f890093da92bb4c90b", - "B&W?": "B&W?--8c20b8856e47b8157bf47451b1b6d9a6", - "[attr=value]": "[attr=value]--db83b30c2535d713bd9f8fd195909f24", - "_": "_--f18cdd3b2ff360c3f4c10cc7559ff003", - "_test": "_test--d745495d407559ef605c9072243801fd", - "className": "className--eab624d1bc6b9c6b6a4278d1030dd690", - "f!o!o": "f!o!o--ea3b21fd9d4327fbc9d8b949a2bd5823", - "f'o'o": "f'o'o--95fe160ec21a5b70221e47b09b21fcd2", - "f*o*o": "f*o*o--a5f60f217da867c314860c5b2e28bbfd", - "f+o+o": "f+o+o--1e99689a1b3985adff358f3bd4aea7ed", - "f/o/o": "f/o/o--5de918433a006304ca487065b8626dd4", - "f\\\\o\\\\o": "f\\\\o\\\\o--e9ae2e1857289425acfa40a3f741babd", - "foo.bar": "foo.bar--e1dfb05dd5c7c36228cc87fe2cd0c6b1", - "foo/bar": "foo/bar--5b852e67587217ab19651f30a9b4df53", - "foo/bar/baz": "foo/bar/baz--d917a2cf9531290fbf3aa43e0cc0520f", - "foo\\\\bar": "foo\\\\bar--6cf70ff94feb1257af10e9ddcc47d54f", - "foo\\\\bar\\\\baz": "foo\\\\bar\\\\baz--1900aa5b4b5b2443299cc5e8afa9b3b4", - "f~o~o": "f~o~o--b9707d2eae11417a88a3f638b64eca30", - "m_x_@": "m_x_@--de463fc45a1e6dd0ed23f26a568f1d61", - "someId": "someId--a0ce220cc9bbb1ee0e85cc0d1f0c6aa9", - "subClass": "subClass--2c82998be8a2b2e94ad7be56c9e685cd", - "test": "test--307c32aa793aaec9aecded85a9fdd448", - "{}": "{}--6db4a8e6a78415e8209253db0c3dd7c5", - "©": "©--074c8458dd077a052783bb5f4c5b5911", - "“‘’”": "“‘’”--00f526c32cd5eec8f5de2965f2ca9457", - "⌘⌥": "⌘⌥--c42685a7cfeb3b510a6d8169d58bf02d", - "☺☃": "☺☃--0ea31e7c348b5949a05bce4eebcb59eb", - "♥": "♥--37952b59a9aa684be1d91192f863babf", - "𝄞♪♩♫♬": "𝄞♪♩♫♬--ece85fb9868788feab6a8f1259b9ff9d", - "💩": "💩--1c19fe6dd9ca556af34bbda8a2cbbbdf", -} -`; - -exports[`modules should respects hashPrefix option with localIdentName option: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".test--307c32aa793aaec9aecded85a9fdd448 { - background: red; +a { + color: yellow; } -._test--d745495d407559ef605c9072243801fd { - background: blue; +.vA4oeh0XymefKJVIJyg1 { + color: red; } -.className--eab624d1bc6b9c6b6a4278d1030dd690 { - background: red; +.mDiC1MIOTWjgsd86woaJ { + color: red; } -#someId--a0ce220cc9bbb1ee0e85cc0d1f0c6aa9 { - background: green; +.kY3VVFqpzmTiFlxOd9KU { + color: red; } -.className--eab624d1bc6b9c6b6a4278d1030dd690 .subClass--2c82998be8a2b2e94ad7be56c9e685cd { - color: green; +.eiLdMC_n9TCXQ0oPIJyI { + color: red; +} +\`, ""]); +// Exports +export var foo = \`bar\`; +export var myBtnInfo_isDisabled = \`value\`; +export var btnInfo_isDisabled = \`rmc8ltu8P1VXaeqLNU6N\`; +export var btnInfo_isDisabled_1 = \`AooVHuvzAIGXWngdfslc\`; +export var simple = \`snmJCrfw3LVnrlx87XVC\`; +export var foo_bar = \`vA4oeh0XymefKJVIJyg1\`; +var _1 = \`mDiC1MIOTWjgsd86woaJ\`; +export { _1 as "class" }; +export var fooBarBaz = \`kY3VVFqpzmTiFlxOd9KU\`; +export var b = \`eiLdMC_n9TCXQ0oPIJyI\`; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`dashesOnly\` value: result 1`] = ` +[ + [ + "./modules/localsConvention/localsConvention.css", + ".rmc8ltu8P1VXaeqLNU6N { + color: blue; } -#someId--a0ce220cc9bbb1ee0e85cc0d1f0c6aa9 .subClass--2c82998be8a2b2e94ad7be56c9e685cd { +.AooVHuvzAIGXWngdfslc { color: blue; } -.-a0-34a___f--e99d667fe0ceff9363b011302ac3f508 { +.snmJCrfw3LVnrlx87XVC { color: red; } -.m_x_\\\\@--de463fc45a1e6dd0ed23f26a568f1d61 { - margin-left: auto !important; - margin-right: auto !important; +a { + color: yellow; } -.B\\\\&W\\\\?--8c20b8856e47b8157bf47451b1b6d9a6 { - margin-left: auto !important; - margin-right: auto !important; +.vA4oeh0XymefKJVIJyg1 { + color: red; } -/* matches elements with class=\\":\`(\\" */ -.\\\\3A \\\\\`\\\\(--612466e663a46fe230e6db648089b4c4 { - color: aqua; +.mDiC1MIOTWjgsd86woaJ { + color: red; } -/* matches elements with class=\\"1a2b3c\\" */ -.\\\\31 a2b3c--165cab18879cee9a48ae4cbb5fdd39a8 { - color: aliceblue; +.kY3VVFqpzmTiFlxOd9KU { + color: red; } -/* matches the element with id=\\"#fake-id\\" */ -#\\\\#fake-id--a0d1d29b3c920aa3985fb11586f994e6 { - color: antiquewhite; +.eiLdMC_n9TCXQ0oPIJyI { + color: red; } +", + "", + ], +] +`; -/* matches the element with id=\\"-a-b-c-\\" */ -#-a-b-c---5b1d694462fbb9af324bb0ed2a08d755 { - color: azure; -} +exports[`"modules" option should work and respect the \`localConvention\` option with the \`dashesOnly\` value: warnings 1`] = `[]`; -/* matches the element with id=\\"©\\" */ -#©--074c8458dd077a052783bb5f4c5b5911 { - color: black; +exports[`"modules" option should work and support "pure" mode #2: errors 1`] = `[]`; + +exports[`"modules" option should work and support "pure" mode #2: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.GG5NOiRT4g06DVEU5tQf { + color: red; } -.♥--37952b59a9aa684be1d91192f863babf { background: lime; } -.©--074c8458dd077a052783bb5f4c5b5911 { background: lime; } -.“‘’”--00f526c32cd5eec8f5de2965f2ca9457 { background: lime; } -.☺☃--0ea31e7c348b5949a05bce4eebcb59eb { background: lime; } -.⌘⌥--c42685a7cfeb3b510a6d8169d58bf02d { background: lime; } -.𝄞♪♩♫♬--ece85fb9868788feab6a8f1259b9ff9d { background: lime; } -.💩--1c19fe6dd9ca556af34bbda8a2cbbbdf { background: lime; } -.\\\\?--4f09eb0a56c6b8f25f7ef4def006df7e { background: lime; } -.\\\\@--254139a6858615f890093da92bb4c90b { background: lime; } -.\\\\.--12cd2fe5f9c81510bf687df3b6461cb1 { background: lime; } -.\\\\3A \\\\)--2f61aa454a9e7fd205da87e665dff51b { background: lime; } -.\\\\3A \\\\\`\\\\(--612466e663a46fe230e6db648089b4c4 { background: lime; } -.\\\\31 23--e5bcdf25b52ca483d65894eae427ccff { background: lime; } -.\\\\31 a2b3c--165cab18879cee9a48ae4cbb5fdd39a8 { background: lime; } -.\\\\--c168cd4e00ec053d5bd509da80f5db38 { background: lime; } -.\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\>--ac5886bfd5b1a8264bdda01deaf52762 { background: lime; } -.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\.--937528d96919903e5a5172d04ced259a { background: lime; } -.\\\\#--8caa1febb853c79bc5740a51d69b0603 { background: lime; } -.\\\\#\\\\#--e6e70cede894cf8ecef86891b00438fa { background: lime; } -.\\\\#\\\\.\\\\#\\\\.\\\\#--f93b20473b91262c9634348506fe36fe { background: lime; } -.\\\\_--f18cdd3b2ff360c3f4c10cc7559ff003 { background: lime; } -.\\\\{\\\\}--6db4a8e6a78415e8209253db0c3dd7c5 { background: lime; } -.\\\\#fake\\\\-id--a0d1d29b3c920aa3985fb11586f994e6 { background: lime; } -.foo\\\\.bar--e1dfb05dd5c7c36228cc87fe2cd0c6b1 { background: lime; } -.\\\\3A hover--af8b669c2dc29371d450d428f0bfa5d2 { background: lime; } -.\\\\3A hover\\\\3A focus\\\\3A active--5c55d7a925c8ee5de2e8f175badce4d6 { background: lime; } -.\\\\[attr\\\\=value\\\\]--db83b30c2535d713bd9f8fd195909f24 { background: lime; } -.f\\\\/o\\\\/o--5de918433a006304ca487065b8626dd4 { background: lime; } -.f\\\\\\\\o\\\\\\\\o--e9ae2e1857289425acfa40a3f741babd { background: lime; } -.f\\\\*o\\\\*o--a5f60f217da867c314860c5b2e28bbfd { background: lime; } -.f\\\\!o\\\\!o--ea3b21fd9d4327fbc9d8b949a2bd5823 { background: lime; } -.f\\\\'o\\\\'o--95fe160ec21a5b70221e47b09b21fcd2 { background: lime; } -.f\\\\~o\\\\~o--b9707d2eae11417a88a3f638b64eca30 { background: lime; } -.f\\\\+o\\\\+o--1e99689a1b3985adff358f3bd4aea7ed { background: lime; } - -.foo\\\\/bar--5b852e67587217ab19651f30a9b4df53 { - background: hotpink; -} - -.foo\\\\\\\\bar--6cf70ff94feb1257af10e9ddcc47d54f { - background: hotpink; -} - -.foo\\\\/bar\\\\/baz--d917a2cf9531290fbf3aa43e0cc0520f { - background: hotpink; -} - -.foo\\\\\\\\bar\\\\\\\\baz--1900aa5b4b5b2443299cc5e8afa9b3b4 { - background: hotpink; -} -", - "", - ], -] -`; - -exports[`modules should respects hashPrefix option with localIdentName option: warnings 1`] = `Array []`; - -exports[`modules should respects localIdentName option: errors 1`] = `Array []`; - -exports[`modules should respects localIdentName option: locals 1`] = ` -Object { - "#": "localIdentName--#--O8Yw6", - "##": "localIdentName--##--3er0D", - "#.#.#": "localIdentName--#.#.#--22RlZ", - "#fake-id": "localIdentName--#fake-id--3i_zU", - "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.": "localIdentName--++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.--3hmdG", - "-a-b-c-": "localIdentName---a-b-c---1cY1s", - "-a0-34a___f": "localIdentName---a0-34a___f--3RHUZ", - ".": "localIdentName--.--nfd9M", - "123": "localIdentName--123--3JQcZ", - "1a2b3c": "localIdentName--1a2b3c--3IsxV", - ":)": "localIdentName--:)--3EKgI", - ":\`(": "localIdentName--:\`(--3oWIz", - ":hover": "localIdentName--:hover--B2why", - ":hover:focus:active": "localIdentName--:hover:focus:active--3R7r5", - "<><<<>><>": "localIdentName--<><<<>><>--Tr9vN", - "

": "localIdentName--

--3Lowm", - "?": "localIdentName--?--mRRxx", - "@": "localIdentName--@--3ZlTE", - "B&W?": "localIdentName--B&W?--3d3wg", - "[attr=value]": "localIdentName--[attr=value]--3GgRc", - "_": "localIdentName--_--2V6oB", - "_test": "localIdentName--_test--3Q--B", - "className": "localIdentName--className--3wBIH", - "f!o!o": "localIdentName--f!o!o--2pDEJ", - "f'o'o": "localIdentName--f'o'o--3297S", - "f*o*o": "localIdentName--f*o*o--MI6DP", - "f+o+o": "localIdentName--f+o+o--3aNwy", - "f/o/o": "localIdentName--f/o/o--jbPgr", - "f\\\\o\\\\o": "localIdentName--f\\\\o\\\\o--3x1WT", - "foo.bar": "localIdentName--foo.bar--2FVtF", - "foo/bar": "localIdentName--foo/bar--13Q-T", - "foo/bar/baz": "localIdentName--foo/bar/baz--1I8mG", - "foo\\\\bar": "localIdentName--foo\\\\bar--LKTPJ", - "foo\\\\bar\\\\baz": "localIdentName--foo\\\\bar\\\\baz--xcAsB", - "f~o~o": "localIdentName--f~o~o--1TY6B", - "m_x_@": "localIdentName--m_x_@--3SfN7", - "someId": "localIdentName--someId--mxosG", - "subClass": "localIdentName--subClass--3jIM-", - "test": "localIdentName--test--1Os7J", - "{}": "localIdentName--{}--2ZR3d", - "©": "localIdentName--©--3QaoF", - "“‘’”": "localIdentName--“‘’”--3xI9A", - "⌘⌥": "localIdentName--⌘⌥--1V-to", - "☺☃": "localIdentName--☺☃--uy8uv", - "♥": "localIdentName--♥--kO1_7", - "𝄞♪♩♫♬": "localIdentName--𝄞♪♩♫♬--1tfs0", - "💩": "localIdentName--💩--2Cl61", -} -`; - -exports[`modules should respects localIdentName option: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".localIdentName--test--1Os7J { - background: red; +h1 .uUkzTtFrPX7DQk7AJn_C { + color: green; } -.localIdentName--_test--3Q--B { - background: blue; +.d2SVtvxeS3c0zw1j0XY3 h1 { + color: blue; } -.localIdentName--className--3wBIH { - background: red; +.uj35KKSMxYrydy9AtwEA h1 .sHauUzQwWo87dp__t_Ug { + color: red; } -#localIdentName--someId--mxosG { - background: green; +#ebGYgLwRuH_cwCOAeAIf { + color: red; } -.localIdentName--className--3wBIH .localIdentName--subClass--3jIM- { +h1 #CEBxO1NI6KSE4aIOEe8g { color: green; } -#localIdentName--someId--mxosG .localIdentName--subClass--3jIM- { +#CIs5QkSldUS9Z6oE85dq h1 { color: blue; } -.localIdentName---a0-34a___f--3RHUZ { +#eEMqyPYFGmm35aX75zy3 h1 #nNXpPpX8pUC5paDKAwBo { color: red; } -.localIdentName--m_x_\\\\@--3SfN7 { - margin-left: auto !important; - margin-right: auto !important; +.G4jxkxdOl0F0aHDyzSab .bar .XbSw2R5rWm8FCPx8AUjP { + color: white; } -.localIdentName--B\\\\&W\\\\?--3d3wg { - margin-left: auto !important; - margin-right: auto !important; +.owPaXiJkt4EitYBDn5Yh .CP7zuaZH99lZJVmJwA3g .vvLsn8M1D1up5NfSbIYh { + color: black; } -/* matches elements with class=\\":\`(\\" */ -.localIdentName--\\\\3A \\\\\`\\\\(--3oWIz { - color: aqua; -} +.nnjcLLGI3W9kePCpF3rz { + color: red; -/* matches elements with class=\\"1a2b3c\\" */ -.localIdentName--\\\\31 a2b3c--3IsxV { - color: aliceblue; + & > span { + color: green; + } +} +\`, ""]); +// Exports +export var foo = \`GG5NOiRT4g06DVEU5tQf\`; +var _1 = \`uUkzTtFrPX7DQk7AJn_C\`; +export { _1 as "foo-1" }; +var _2 = \`d2SVtvxeS3c0zw1j0XY3\`; +export { _2 as "foo-2" }; +var _3 = \`uj35KKSMxYrydy9AtwEA\`; +export { _3 as "foo-3" }; +var _4 = \`sHauUzQwWo87dp__t_Ug\`; +export { _4 as "foo-4" }; +var _5 = \`ebGYgLwRuH_cwCOAeAIf\`; +export { _5 as "foo-5" }; +var _6 = \`CEBxO1NI6KSE4aIOEe8g\`; +export { _6 as "foo-6" }; +var _7 = \`CIs5QkSldUS9Z6oE85dq\`; +export { _7 as "foo-7" }; +var _8 = \`eEMqyPYFGmm35aX75zy3\`; +export { _8 as "foo-8" }; +var _9 = \`nNXpPpX8pUC5paDKAwBo\`; +export { _9 as "foo-9" }; +var _a = \`G4jxkxdOl0F0aHDyzSab\`; +export { _a as "bar-1" }; +var _b = \`XbSw2R5rWm8FCPx8AUjP\`; +export { _b as "bar-2" }; +var _c = \`owPaXiJkt4EitYBDn5Yh\`; +export { _c as "baz-3" }; +export var baz = \`CP7zuaZH99lZJVmJwA3g\`; +var _d = \`vvLsn8M1D1up5NfSbIYh\`; +export { _d as "bar-4" }; +export var test = \`nnjcLLGI3W9kePCpF3rz\`; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and support "pure" mode #2: result 1`] = ` +[ + [ + "./modules/pure/pure.css", + ".GG5NOiRT4g06DVEU5tQf { + color: red; } -/* matches the element with id=\\"#fake-id\\" */ -#localIdentName--\\\\#fake-id--3i_zU { - color: antiquewhite; +h1 .uUkzTtFrPX7DQk7AJn_C { + color: green; } -/* matches the element with id=\\"-a-b-c-\\" */ -#localIdentName---a-b-c---1cY1s { - color: azure; +.d2SVtvxeS3c0zw1j0XY3 h1 { + color: blue; } -/* matches the element with id=\\"©\\" */ -#localIdentName--©--3QaoF { - color: black; +.uj35KKSMxYrydy9AtwEA h1 .sHauUzQwWo87dp__t_Ug { + color: red; } -.localIdentName--♥--kO1_7 { background: lime; } -.localIdentName--©--3QaoF { background: lime; } -.localIdentName--“‘’”--3xI9A { background: lime; } -.localIdentName--☺☃--uy8uv { background: lime; } -.localIdentName--⌘⌥--1V-to { background: lime; } -.localIdentName--𝄞♪♩♫♬--1tfs0 { background: lime; } -.localIdentName--💩--2Cl61 { background: lime; } -.localIdentName--\\\\?--mRRxx { background: lime; } -.localIdentName--\\\\@--3ZlTE { background: lime; } -.localIdentName--\\\\.--nfd9M { background: lime; } -.localIdentName--\\\\3A \\\\)--3EKgI { background: lime; } -.localIdentName--\\\\3A \\\\\`\\\\(--3oWIz { background: lime; } -.localIdentName--\\\\31 23--3JQcZ { background: lime; } -.localIdentName--\\\\31 a2b3c--3IsxV { background: lime; } -.localIdentName--\\\\--3Lowm { background: lime; } -.localIdentName--\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\>--Tr9vN { background: lime; } -.localIdentName--\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\.--3hmdG { background: lime; } -.localIdentName--\\\\#--O8Yw6 { background: lime; } -.localIdentName--\\\\#\\\\#--3er0D { background: lime; } -.localIdentName--\\\\#\\\\.\\\\#\\\\.\\\\#--22RlZ { background: lime; } -.localIdentName--\\\\_--2V6oB { background: lime; } -.localIdentName--\\\\{\\\\}--2ZR3d { background: lime; } -.localIdentName--\\\\#fake\\\\-id--3i_zU { background: lime; } -.localIdentName--foo\\\\.bar--2FVtF { background: lime; } -.localIdentName--\\\\3A hover--B2why { background: lime; } -.localIdentName--\\\\3A hover\\\\3A focus\\\\3A active--3R7r5 { background: lime; } -.localIdentName--\\\\[attr\\\\=value\\\\]--3GgRc { background: lime; } -.localIdentName--f\\\\/o\\\\/o--jbPgr { background: lime; } -.localIdentName--f\\\\\\\\o\\\\\\\\o--3x1WT { background: lime; } -.localIdentName--f\\\\*o\\\\*o--MI6DP { background: lime; } -.localIdentName--f\\\\!o\\\\!o--2pDEJ { background: lime; } -.localIdentName--f\\\\'o\\\\'o--3297S { background: lime; } -.localIdentName--f\\\\~o\\\\~o--1TY6B { background: lime; } -.localIdentName--f\\\\+o\\\\+o--3aNwy { background: lime; } - -.localIdentName--foo\\\\/bar--13Q-T { - background: hotpink; -} - -.localIdentName--foo\\\\\\\\bar--LKTPJ { - background: hotpink; -} - -.localIdentName--foo\\\\/bar\\\\/baz--1I8mG { - background: hotpink; -} - -.localIdentName--foo\\\\\\\\bar\\\\\\\\baz--xcAsB { - background: hotpink; -} -", - "", - ], -] -`; - -exports[`modules should respects localIdentName option: warnings 1`] = `Array []`; - -exports[`modules should respects path in localIdentName option: errors 1`] = `Array []`; - -exports[`modules should respects path in localIdentName option: locals 1`] = ` -Object { - "#": "fixtures-modules-localIdentName__#", - "##": "fixtures-modules-localIdentName__##", - "#.#.#": "fixtures-modules-localIdentName__#.#.#", - "#fake-id": "fixtures-modules-localIdentName__#fake-id", - "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.": "fixtures-modules-localIdentName__++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.", - "-a-b-c-": "fixtures-modules-localIdentName__-a-b-c-", - "-a0-34a___f": "fixtures-modules-localIdentName__-a0-34a___f", - ".": "fixtures-modules-localIdentName__.", - "123": "fixtures-modules-localIdentName__123", - "1a2b3c": "fixtures-modules-localIdentName__1a2b3c", - ":)": "fixtures-modules-localIdentName__:)", - ":\`(": "fixtures-modules-localIdentName__:\`(", - ":hover": "fixtures-modules-localIdentName__:hover", - ":hover:focus:active": "fixtures-modules-localIdentName__:hover:focus:active", - "<><<<>><>": "fixtures-modules-localIdentName__<><<<>><>", - "

": "fixtures-modules-localIdentName__

", - "?": "fixtures-modules-localIdentName__?", - "@": "fixtures-modules-localIdentName__@", - "B&W?": "fixtures-modules-localIdentName__B&W?", - "[attr=value]": "fixtures-modules-localIdentName__[attr=value]", - "_": "fixtures-modules-localIdentName___", - "_test": "fixtures-modules-localIdentName___test", - "className": "fixtures-modules-localIdentName__className", - "f!o!o": "fixtures-modules-localIdentName__f!o!o", - "f'o'o": "fixtures-modules-localIdentName__f'o'o", - "f*o*o": "fixtures-modules-localIdentName__f*o*o", - "f+o+o": "fixtures-modules-localIdentName__f+o+o", - "f/o/o": "fixtures-modules-localIdentName__f/o/o", - "f\\\\o\\\\o": "fixtures-modules-localIdentName__f\\\\o\\\\o", - "foo.bar": "fixtures-modules-localIdentName__foo.bar", - "foo/bar": "fixtures-modules-localIdentName__foo/bar", - "foo/bar/baz": "fixtures-modules-localIdentName__foo/bar/baz", - "foo\\\\bar": "fixtures-modules-localIdentName__foo\\\\bar", - "foo\\\\bar\\\\baz": "fixtures-modules-localIdentName__foo\\\\bar\\\\baz", - "f~o~o": "fixtures-modules-localIdentName__f~o~o", - "m_x_@": "fixtures-modules-localIdentName__m_x_@", - "someId": "fixtures-modules-localIdentName__someId", - "subClass": "fixtures-modules-localIdentName__subClass", - "test": "fixtures-modules-localIdentName__test", - "{}": "fixtures-modules-localIdentName__{}", - "©": "fixtures-modules-localIdentName__©", - "“‘’”": "fixtures-modules-localIdentName__“‘’”", - "⌘⌥": "fixtures-modules-localIdentName__⌘⌥", - "☺☃": "fixtures-modules-localIdentName__☺☃", - "♥": "fixtures-modules-localIdentName__♥", - "𝄞♪♩♫♬": "fixtures-modules-localIdentName__𝄞♪♩♫♬", - "💩": "fixtures-modules-localIdentName__💩", -} -`; - -exports[`modules should respects path in localIdentName option: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".fixtures-modules-localIdentName__test { - background: red; +#ebGYgLwRuH_cwCOAeAIf { + color: red; } -.fixtures-modules-localIdentName___test { - background: blue; +h1 #CEBxO1NI6KSE4aIOEe8g { + color: green; } -.fixtures-modules-localIdentName__className { - background: red; +#CIs5QkSldUS9Z6oE85dq h1 { + color: blue; } -#fixtures-modules-localIdentName__someId { - background: green; +#eEMqyPYFGmm35aX75zy3 h1 #nNXpPpX8pUC5paDKAwBo { + color: red; } -.fixtures-modules-localIdentName__className .fixtures-modules-localIdentName__subClass { - color: green; +.G4jxkxdOl0F0aHDyzSab .bar .XbSw2R5rWm8FCPx8AUjP { + color: white; } -#fixtures-modules-localIdentName__someId .fixtures-modules-localIdentName__subClass { - color: blue; +.owPaXiJkt4EitYBDn5Yh .CP7zuaZH99lZJVmJwA3g .vvLsn8M1D1up5NfSbIYh { + color: black; } -.fixtures-modules-localIdentName__-a0-34a___f { +.nnjcLLGI3W9kePCpF3rz { color: red; + + & > span { + color: green; + } } +", + "", + ], +] +`; -.fixtures-modules-localIdentName__m_x_\\\\@ { - margin-left: auto !important; - margin-right: auto !important; +exports[`"modules" option should work and support "pure" mode #2: warnings 1`] = `[]`; + +exports[`"modules" option should work and support "pure" mode: errors 1`] = `[]`; + +exports[`"modules" option should work and support "pure" mode: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.GG5NOiRT4g06DVEU5tQf { + color: red; } -.fixtures-modules-localIdentName__B\\\\&W\\\\? { - margin-left: auto !important; - margin-right: auto !important; +h1 .uUkzTtFrPX7DQk7AJn_C { + color: green; } -/* matches elements with class=\\":\`(\\" */ -.fixtures-modules-localIdentName__\\\\3A \\\\\`\\\\( { - color: aqua; +.d2SVtvxeS3c0zw1j0XY3 h1 { + color: blue; } -/* matches elements with class=\\"1a2b3c\\" */ -.fixtures-modules-localIdentName__\\\\31 a2b3c { - color: aliceblue; +.uj35KKSMxYrydy9AtwEA h1 .sHauUzQwWo87dp__t_Ug { + color: red; } -/* matches the element with id=\\"#fake-id\\" */ -#fixtures-modules-localIdentName__\\\\#fake-id { - color: antiquewhite; +#ebGYgLwRuH_cwCOAeAIf { + color: red; } -/* matches the element with id=\\"-a-b-c-\\" */ -#fixtures-modules-localIdentName__-a-b-c- { - color: azure; +h1 #CEBxO1NI6KSE4aIOEe8g { + color: green; } -/* matches the element with id=\\"©\\" */ -#fixtures-modules-localIdentName__© { - color: black; +#CIs5QkSldUS9Z6oE85dq h1 { + color: blue; } -.fixtures-modules-localIdentName__♥ { background: lime; } -.fixtures-modules-localIdentName__© { background: lime; } -.fixtures-modules-localIdentName__“‘’” { background: lime; } -.fixtures-modules-localIdentName__☺☃ { background: lime; } -.fixtures-modules-localIdentName__⌘⌥ { background: lime; } -.fixtures-modules-localIdentName__𝄞♪♩♫♬ { background: lime; } -.fixtures-modules-localIdentName__💩 { background: lime; } -.fixtures-modules-localIdentName__\\\\? { background: lime; } -.fixtures-modules-localIdentName__\\\\@ { background: lime; } -.fixtures-modules-localIdentName__\\\\. { background: lime; } -.fixtures-modules-localIdentName__\\\\3A \\\\) { background: lime; } -.fixtures-modules-localIdentName__\\\\3A \\\\\`\\\\( { background: lime; } -.fixtures-modules-localIdentName__\\\\31 23 { background: lime; } -.fixtures-modules-localIdentName__\\\\31 a2b3c { background: lime; } -.fixtures-modules-localIdentName__\\\\ { background: lime; } -.fixtures-modules-localIdentName__\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\> { background: lime; } -.fixtures-modules-localIdentName__\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\. { background: lime; } -.fixtures-modules-localIdentName__\\\\# { background: lime; } -.fixtures-modules-localIdentName__\\\\#\\\\# { background: lime; } -.fixtures-modules-localIdentName__\\\\#\\\\.\\\\#\\\\.\\\\# { background: lime; } -.fixtures-modules-localIdentName__\\\\_ { background: lime; } -.fixtures-modules-localIdentName__\\\\{\\\\} { background: lime; } -.fixtures-modules-localIdentName__\\\\#fake\\\\-id { background: lime; } -.fixtures-modules-localIdentName__foo\\\\.bar { background: lime; } -.fixtures-modules-localIdentName__\\\\3A hover { background: lime; } -.fixtures-modules-localIdentName__\\\\3A hover\\\\3A focus\\\\3A active { background: lime; } -.fixtures-modules-localIdentName__\\\\[attr\\\\=value\\\\] { background: lime; } -.fixtures-modules-localIdentName__f\\\\/o\\\\/o { background: lime; } -.fixtures-modules-localIdentName__f\\\\\\\\o\\\\\\\\o { background: lime; } -.fixtures-modules-localIdentName__f\\\\*o\\\\*o { background: lime; } -.fixtures-modules-localIdentName__f\\\\!o\\\\!o { background: lime; } -.fixtures-modules-localIdentName__f\\\\'o\\\\'o { background: lime; } -.fixtures-modules-localIdentName__f\\\\~o\\\\~o { background: lime; } -.fixtures-modules-localIdentName__f\\\\+o\\\\+o { background: lime; } - -.fixtures-modules-localIdentName__foo\\\\/bar { - background: hotpink; -} - -.fixtures-modules-localIdentName__foo\\\\\\\\bar { - background: hotpink; -} - -.fixtures-modules-localIdentName__foo\\\\/bar\\\\/baz { - background: hotpink; -} - -.fixtures-modules-localIdentName__foo\\\\\\\\bar\\\\\\\\baz { - background: hotpink; -} -", - "", - ], -] -`; - -exports[`modules should respects path in localIdentName option: warnings 1`] = `Array []`; - -exports[`modules should saves underscore prefix in exported class names with localIdentName option: errors 1`] = `Array []`; - -exports[`modules should saves underscore prefix in exported class names with localIdentName option: locals 1`] = ` -Object { - "#": "#", - "##": "##", - "#.#.#": "#.#.#", - "#fake-id": "#fake-id", - "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.": "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.", - "-a-b-c-": "-a-b-c-", - "-a0-34a___f": "-a0-34a___f", - ".": ".", - "123": "123", - "1a2b3c": "1a2b3c", - ":)": ":)", - ":\`(": ":\`(", - ":hover": ":hover", - ":hover:focus:active": ":hover:focus:active", - "<><<<>><>": "<><<<>><>", - "

": "

", - "?": "?", - "@": "@", - "B&W?": "B&W?", - "[attr=value]": "[attr=value]", - "_": "_", - "_test": "_test", - "className": "className", - "f!o!o": "f!o!o", - "f'o'o": "f'o'o", - "f*o*o": "f*o*o", - "f+o+o": "f+o+o", - "f/o/o": "f/o/o", - "f\\\\o\\\\o": "f\\\\o\\\\o", - "foo.bar": "foo.bar", - "foo/bar": "foo/bar", - "foo/bar/baz": "foo/bar/baz", - "foo\\\\bar": "foo\\\\bar", - "foo\\\\bar\\\\baz": "foo\\\\bar\\\\baz", - "f~o~o": "f~o~o", - "m_x_@": "m_x_@", - "someId": "someId", - "subClass": "subClass", - "test": "test", - "{}": "{}", - "©": "©", - "“‘’”": "“‘’”", - "⌘⌥": "⌘⌥", - "☺☃": "☺☃", - "♥": "♥", - "𝄞♪♩♫♬": "𝄞♪♩♫♬", - "💩": "💩", -} -`; - -exports[`modules should saves underscore prefix in exported class names with localIdentName option: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".test { - background: red; +#eEMqyPYFGmm35aX75zy3 h1 #nNXpPpX8pUC5paDKAwBo { + color: red; } -._test { - background: blue; +.G4jxkxdOl0F0aHDyzSab .bar .XbSw2R5rWm8FCPx8AUjP { + color: white; } -.className { - background: red; +.owPaXiJkt4EitYBDn5Yh .CP7zuaZH99lZJVmJwA3g .vvLsn8M1D1up5NfSbIYh { + color: black; } -#someId { - background: green; +.nnjcLLGI3W9kePCpF3rz { + color: red; + + & > span { + color: green; + } +} +\`, ""]); +// Exports +export var foo = \`GG5NOiRT4g06DVEU5tQf\`; +var _1 = \`uUkzTtFrPX7DQk7AJn_C\`; +export { _1 as "foo-1" }; +var _2 = \`d2SVtvxeS3c0zw1j0XY3\`; +export { _2 as "foo-2" }; +var _3 = \`uj35KKSMxYrydy9AtwEA\`; +export { _3 as "foo-3" }; +var _4 = \`sHauUzQwWo87dp__t_Ug\`; +export { _4 as "foo-4" }; +var _5 = \`ebGYgLwRuH_cwCOAeAIf\`; +export { _5 as "foo-5" }; +var _6 = \`CEBxO1NI6KSE4aIOEe8g\`; +export { _6 as "foo-6" }; +var _7 = \`CIs5QkSldUS9Z6oE85dq\`; +export { _7 as "foo-7" }; +var _8 = \`eEMqyPYFGmm35aX75zy3\`; +export { _8 as "foo-8" }; +var _9 = \`nNXpPpX8pUC5paDKAwBo\`; +export { _9 as "foo-9" }; +var _a = \`G4jxkxdOl0F0aHDyzSab\`; +export { _a as "bar-1" }; +var _b = \`XbSw2R5rWm8FCPx8AUjP\`; +export { _b as "bar-2" }; +var _c = \`owPaXiJkt4EitYBDn5Yh\`; +export { _c as "baz-3" }; +export var baz = \`CP7zuaZH99lZJVmJwA3g\`; +var _d = \`vvLsn8M1D1up5NfSbIYh\`; +export { _d as "bar-4" }; +export var test = \`nnjcLLGI3W9kePCpF3rz\`; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work and support "pure" mode: result 1`] = ` +[ + [ + "./modules/pure/pure.css", + ".GG5NOiRT4g06DVEU5tQf { + color: red; } -.className .subClass { +h1 .uUkzTtFrPX7DQk7AJn_C { color: green; } -#someId .subClass { +.d2SVtvxeS3c0zw1j0XY3 h1 { color: blue; } -.-a0-34a___f { +.uj35KKSMxYrydy9AtwEA h1 .sHauUzQwWo87dp__t_Ug { color: red; } -.m_x_\\\\@ { - margin-left: auto !important; - margin-right: auto !important; +#ebGYgLwRuH_cwCOAeAIf { + color: red; } -.B\\\\&W\\\\? { - margin-left: auto !important; - margin-right: auto !important; +h1 #CEBxO1NI6KSE4aIOEe8g { + color: green; } -/* matches elements with class=\\":\`(\\" */ -.\\\\3A \\\\\`\\\\( { - color: aqua; +#CIs5QkSldUS9Z6oE85dq h1 { + color: blue; } -/* matches elements with class=\\"1a2b3c\\" */ +#eEMqyPYFGmm35aX75zy3 h1 #nNXpPpX8pUC5paDKAwBo { + color: red; +} + +.G4jxkxdOl0F0aHDyzSab .bar .XbSw2R5rWm8FCPx8AUjP { + color: white; +} + +.owPaXiJkt4EitYBDn5Yh .CP7zuaZH99lZJVmJwA3g .vvLsn8M1D1up5NfSbIYh { + color: black; +} + +.nnjcLLGI3W9kePCpF3rz { + color: red; + + & > span { + color: green; + } +} +", + "", + ], +] +`; + +exports[`"modules" option should work and support "pure" mode: warnings 1`] = `[]`; + +exports[`"modules" option should work js template with "namedExport" option when "exportLocalsConvention" option is function: errors 1`] = `[]`; + +exports[`"modules" option should work js template with "namedExport" option when "exportLocalsConvention" option is function: module 1`] = ` +"// Imports +import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from "../../../../../src/runtime/noSourceMaps.js"; +import ___CSS_LOADER_API_IMPORT___ from "../../../../../src/runtime/api.js"; +var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \`.header-baz { + color: red; +} + +.body { + color: coral; +} + +.footer { + color: blue; +} +\`, ""]); +// Exports +export var header_baz_TEST = \`header-baz\`; +export var body_TEST = \`body\`; +export var footer_TEST = \`footer\`; +export default ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"modules" option should work js template with "namedExport" option when "exportLocalsConvention" option is function: result 1`] = ` +{ + "css": [ + [ + "./modules/namedExport/template-2/index.css", + ".header-baz { + color: red; +} + +.body { + color: coral; +} + +.footer { + color: blue; +} +", + "", + ], + ], + "html": " +

+
+