diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 2671e54c..00000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,145 +0,0 @@ -unit_tests: &unit_tests - steps: - - checkout - - restore_cache: - key: dependency-cache-{{ checksum "package-lock.json" }} - - run: - name: Install Latest NPM. - # npm@3 is buggy - command: if [[ $(npm -v | cut -c -1) > 3 ]] ; then npm i -g npm@latest; else echo "Skip npm updating"; fi - - run: - name: NPM Install. - command: npm ci || npm i - - run: - name: Run Test. - command: npm run ci:test -canary_tests: &canary_tests - steps: - - checkout - - restore_cache: - key: dependency-cache-{{ checksum "package-lock.json" }} - - run: - name: Install Latest NPM. - command: npm i -g npm@latest - - run: - name: NPM Install. - command: npm ci - - run: - name: Install Webpack Canary. - command: npm i --no-save webpack@next - - run: - name: Run Test. - command: if [[ $(compver --name webpack --gte next --lt latest) < 1 ]] ; then printf "Next is older than Latest - Skipping Canary Suite"; else npm run ci:test || true; fi - -version: 2 -jobs: - dependency_cache: - docker: - - image: webpackcontrib/circleci-node-base:latest - steps: - - checkout - - restore_cache: - key: dependency-cache-{{ checksum "package-lock.json" }} - - run: - name: Install Latest NPM. - command: npm i -g npm@latest - - run: - name: NPM Install. - command: npm ci - - save_cache: - key: dependency-cache-{{ checksum "package-lock.json" }} - paths: - - ./node_modules - analysis: - docker: - - image: webpackcontrib/circleci-node-base:latest - steps: - - checkout - - restore_cache: - key: dependency-cache-{{ checksum "package-lock.json" }} - - run: - name: Install Latest NPM. - command: npm i -g npm@latest - - run: - name: NPM Install. - command: npm ci - - run: - name: Run linting. - command: npm run lint - - run: - name: Run NPM Audit. - command: npm run security - - run: - name: Validate Commit Messages. - command: npm run ci:lint:commits - node6-latest: - docker: - - image: webpackcontrib/circleci-node6:latest - <<: *unit_tests - node8-latest: - docker: - - image: webpackcontrib/circleci-node8:latest - <<: *unit_tests - node10-latest: - docker: - - image: webpackcontrib/circleci-node10:latest - steps: - - checkout - - restore_cache: - key: dependency-cache-{{ checksum "package-lock.json" }} - - run: - name: Install Latest NPM. - command: npm i -g npm@latest - - run: - name: NPM Install. - command: npm ci - - run: - name: Run Test. - command: npm run ci:coverage - - run: - name: Submit coverage data to codecov. - command: bash <(curl -s https://codecov.io/bash) - when: on_success - node8-canary: - docker: - - image: webpackcontrib/circleci-node8:latest - <<: *canary_tests - -workflows: - version: 2 - test: - jobs: - - dependency_cache - - analysis: - requires: - - dependency_cache - filters: - tags: - only: /.*/ - - node6-latest: - requires: - - dependency_cache - filters: - tags: - only: /.*/ - - node8-latest: - requires: - - analysis - - node6-latest - filters: - tags: - only: /.*/ - - node10-latest: - requires: - - analysis - - node6-latest - filters: - tags: - only: /.*/ - - node8-canary: - requires: - - analysis - - node6-latest - filters: - tags: - only: /.*/ 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/.eslintignore b/.eslintignore index 4a838089..c52afd16 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,3 +1,4 @@ -/node_modules -/src/runtime +/coverage /dist +/node_modules +/test/fixtures \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js index f75a77df..7a66ba28 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,8 +1,19 @@ module.exports = { root: true, - plugins: ['prettier'], - extends: ['@webpack-contrib/eslint-config-webpack'], - rules: { - 'prettier/prettier': ['error'], - }, -}; \ No newline at end of file + 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/.gitattributes b/.gitattributes index 70df4c97..6fcfa732 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,4 @@ -package-lock.json -diff * text=auto bin/* eol=lf +yarn.lock -diff +package-lock.json -diff diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 5e6a74bf..d77bab43 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -1,21 +1,21 @@ -## Contributing in @webpack-contrib +# Contributing in @webpack-contrib -We'd always love contributions to further improve the webpack / webpack-contrib ecosystem! +We'd always love contributions to further improve the webpack / webpack-contrib ecosystem! Here are the guidelines we'd like you to follow: -* [Questions and Problems](#question) -* [Issues and Bugs](#issue) -* [Feature Requests](#feature) -* [Pull Request Submission Guidelines](#submit-pr) -* [Commit Message Conventions](#commit) +- [Questions and Problems](#question) +- [Issues and Bugs](#issue) +- [Feature Requests](#feature) +- [Pull Request Submission Guidelines](#submit-pr) +- [Commit Message Conventions](#commit) -### Got a Question or Problem? +## Got a Question or Problem? -Please submit support requests and questions to StackOverflow using the tag [[webpack]](http://stackoverflow.com/tags/webpack). -StackOverflow is better suited for this kind of support though you may also inquire in [Webpack Gitter](https://gitter.im/webpack/webpack). +Please submit support requests and questions to StackOverflow using the tag [[webpack]](http://stackoverflow.com/tags/webpack). +StackOverflow is better suited for this kind of support though you may also inquire in [Webpack Gitter](https://gitter.im/webpack/webpack). The issue tracker is for bug reports and feature discussions. -### Found an Issue or Bug? +## 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. @@ -31,13 +31,13 @@ We will be insisting on a minimal reproduce scenario in order to save maintainer 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. -### Feature Requests? +## 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, please submit an issue with a proposal for your work `first`, to be sure that particular makes sense for the project. -### Pull Request Submission Guidelines +## Pull Request Submission Guidelines Before you submit your Pull Request (PR) consider the following guidelines: @@ -46,9 +46,9 @@ Before you submit your Pull Request (PR) consider the following guidelines: - 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. -### Webpack Contrib Commit Conventions +## Webpack Contrib Commit Conventions -Each commit message consists of a **header**, a **body** and a **footer**. The header has a special +Each commit message consists of a **header**, a **body** and a **footer**. The header has a special format that includes a **type**, a **scope** and a **subject**: ``` @@ -66,48 +66,56 @@ 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. -Examples: +Examples: + ``` docs(readme): update install instructions ``` + ``` fix: refer to the `entrypoint` instead of the first `module` ``` -#### Revert -If the commit reverts a previous commit, it should begin with `revert: `, followed by the header of the reverted commit. +### Revert + +If the commit reverts a previous commit, it should begin with `revert:`, followed by the header of the reverted commit. In the body it should say: `This reverts commit .`, where the hash is the SHA of the commit being reverted. -#### Type +### Type + Must be one of the following: -* **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) -* **ci**: Changes to our CI configuration files and scripts (example scopes: circleci, travis) -* **docs**: Documentation only changes (example scopes: readme, changelog) -* **feat**: A new feature -* **fix**: A bug fix -* **perf**: A code change that improves performance -* **refactor**: A code change that neither fixes a bug nor adds a feature -* **revert**: Used when reverting a committed change -* **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons) -* **test**: Addition of or updates to Jest tests - -#### Scope +- **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) +- **ci**: Changes to our CI configuration files and scripts (example scopes: circleci, travis) +- **docs**: Documentation only changes (example scopes: readme, changelog) +- **feat**: A new feature +- **fix**: A bug fix +- **perf**: A code change that improves performance +- **refactor**: A code change that neither fixes a bug nor adds a feature +- **revert**: Used when reverting a committed change +- **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons) +- **test**: Addition of or updates to Jest tests + +### Scope + The scope is subjective & depends on the `type` see above. A good example would be a change to a particular class / module. -#### Subject +### Subject + The subject contains a succinct description of the change: -* use the imperative, present tense: "change" not "changed" nor "changes" -* don't capitalize the first letter -* no dot (.) at the end +- use the imperative, present tense: "change" not "changed" nor "changes" +- don't capitalize the first letter +- no dot (.) at the end + +### Body -#### 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. -#### Footer +### Footer + The footer should contain any information about **Breaking Changes** and is also the place to reference GitHub issues that this commit **Closes**. @@ -116,9 +124,37 @@ reference GitHub issues that this commit **Closes**. Example ``` -BREAKING CHANGE: Updates to `Chunk.mapModules`. +BREAKING CHANGE: Updates to `Chunk.mapModules`. This release is not backwards compatible with `Webpack 2.x` due to breaking changes in webpack/webpack#4764 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: + +```json +{ + "devDependencies": { + "css-loader": "webpack-contrib/css-loader#{id}/head" + } +} +``` + +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). +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. + +Run `git config user.email` to see your Git email, and verify it with [your GitHub email](https://github.com/settings/emails). + +## Thanks + +For your interest, time, understanding, and for following this simple guide. diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..5e7c7b6d --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +open_collective: webpack 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 03e2b302..374f3478 100644 --- a/.github/ISSUE_TEMPLATE/BUG.md +++ b/.github/ISSUE_TEMPLATE/BUG.md @@ -1,51 +1,34 @@ --- name: 🐛 Bug Report about: Something went awry and you'd like to tell us about it. - --- - + - 👉🏽 Need support, advice, or help? Don't open an issue! - Head to StackOverflow or https://gitter.im/webpack/webpack. ---> +### Bug report -* Operating System: -* Node Version: -* NPM Version: -* webpack Version: -* css-loader Version: - -### Expected Behavior - - + + + + ### Actual Behavior - - -### Code + -```js - // webpack.config.js - // If your bitchin' 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 3453c82a..a94c0c95 100644 --- a/.github/ISSUE_TEMPLATE/DOCS.md +++ b/.github/ISSUE_TEMPLATE/DOCS.md @@ -1,19 +1,10 @@ --- name: 📚 Documentation about: Are the docs lacking or missing something? Do they need some new 🔥 hotness? Tell us here. - --- - + + Documentation Is: @@ -26,5 +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 51683f32..1e5304e1 100644 --- a/.github/ISSUE_TEMPLATE/FEATURE.md +++ b/.github/ISSUE_TEMPLATE/FEATURE.md @@ -1,28 +1,18 @@ --- name: ✨ Feature Request about: Suggest an idea for this project - --- - - -* Operating System: -* Node Version: -* NPM Version: -* webpack Version: -* css-loader Version: + + ### 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 9c636482..c60a5017 100644 --- a/.github/ISSUE_TEMPLATE/MODIFICATION.md +++ b/.github/ISSUE_TEMPLATE/MODIFICATION.md @@ -1,33 +1,20 @@ --- name: 🔧 Modification Request about: Would you like something work differently? Have an alternative approach? This is the template for you. - --- - + + -* Operating System: -* Node Version: -* NPM Version: -* webpack Version: -* css-loader Version: +### Modification Proposal + + + + ### 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 c15bea46..daaf9123 100644 --- a/.github/ISSUE_TEMPLATE/SUPPORT.md +++ b/.github/ISSUE_TEMPLATE/SUPPORT.md @@ -1,9 +1,7 @@ --- 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. +Please visit [GitHub Discussions](https://github.com/webpack/webpack/discussions) or [StackOverflow](https://stackoverflow.com/questions/tagged/webpack) instead. 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..9c9d160a --- /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, 23.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/.prettierignore b/.prettierignore new file mode 100644 index 00000000..f8f1e312 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,5 @@ +/coverage +/dist +/node_modules +/test/fixtures +CHANGELOG.md \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 9632513d..5540e26e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,695 @@ -# Change Log +# Changelog 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) + + +### Bug Fixes + +* add an additional space after the escape sequence ([#998](https://github.com/webpack-contrib/css-loader/issues/998)) ([0961304](https://github.com/webpack-contrib/css-loader/commit/0961304020832fc9ca70cc708f4366e1f868e765)) +* compatibility with ES modules syntax and hash in `url` function ([#1001](https://github.com/webpack-contrib/css-loader/issues/1001)) ([8f4d6f5](https://github.com/webpack-contrib/css-loader/commit/8f4d6f508187513347106a436eda993f874065f1)) + +## [3.2.0](https://github.com/webpack-contrib/css-loader/compare/v3.1.0...v3.2.0) (2019-08-06) + + +### Bug Fixes + +* replace `.` characters in localIndent to `-` character (regression) ([#982](https://github.com/webpack-contrib/css-loader/issues/982)) ([967fb66](https://github.com/webpack-contrib/css-loader/commit/967fb66)) + + +### Features + +* support es modules for assets loader ([#984](https://github.com/webpack-contrib/css-loader/issues/984)) ([9c5126c](https://github.com/webpack-contrib/css-loader/commit/9c5126c)) + +## [3.1.0](https://github.com/webpack-contrib/css-loader/compare/v3.0.0...v3.1.0) (2019-07-18) + + +### Bug Fixes + +* converting all (including reserved and control) filesystem characters to `-` (it was regression in `3.0.0` version) ([#972](https://github.com/webpack-contrib/css-loader/issues/972)) ([f51859b](https://github.com/webpack-contrib/css-loader/commit/f51859b)) +* default context should be undefined instead of null ([#965](https://github.com/webpack-contrib/css-loader/issues/965)) ([9c32885](https://github.com/webpack-contrib/css-loader/commit/9c32885)) + + +### Features + +* allow `modules.getLocalIdent` to return a falsy value ([#963](https://github.com/webpack-contrib/css-loader/issues/963)) ([9c3571c](https://github.com/webpack-contrib/css-loader/commit/9c3571c)) +* improved validation error messages ([65e4fc0](https://github.com/webpack-contrib/css-loader/commit/65e4fc0)) + + + +## [3.0.0](https://github.com/webpack-contrib/css-loader/compare/v2.1.1...v3.0.0) (2019-06-11) + + +### Bug Fixes + +* avoid the "from" argument must be of type string error ([#908](https://github.com/webpack-contrib/css-loader/issues/908)) ([e5dfd23](https://github.com/webpack-contrib/css-loader/commit/e5dfd23)) +* invert `Function` behavior for `url` and `import` options ([#939](https://github.com/webpack-contrib/css-loader/issues/939)) ([e9eb5ad](https://github.com/webpack-contrib/css-loader/commit/e9eb5ad)) +* properly export locals with escaped characters ([#917](https://github.com/webpack-contrib/css-loader/issues/917)) ([a0efcda](https://github.com/webpack-contrib/css-loader/commit/a0efcda)) +* property handle non css characters in localIdentName ([#920](https://github.com/webpack-contrib/css-loader/issues/920)) ([d3a0a3c](https://github.com/webpack-contrib/css-loader/commit/d3a0a3c)) + + +### Features + +* modules options now accepts object config ([#937](https://github.com/webpack-contrib/css-loader/issues/937)) ([1d7a464](https://github.com/webpack-contrib/css-loader/commit/1d7a464)) +* support `@value` at-rule in selectors ([#941](https://github.com/webpack-contrib/css-loader/issues/941)) ([05a42e2](https://github.com/webpack-contrib/css-loader/commit/05a42e2)) + + +### BREAKING CHANGES + +* minimum required nodejs version is 8.9.0 +* `@value` at rules now support in `selector`, recommends checking all `@values` at-rule usage (hint: you can add prefix to all `@value` at-rules, for example `@value v-foo: black;` or `@value m-foo: screen and (max-width: 12450px)`, and then do upgrade) +* invert `{Function}` behavior for `url` and `import` options (need return `true` when you want handle `url`/`@import` and return `false` if not) +* `camelCase` option was remove in favor `localsConvention` option, also it is accept only `{String}` value (use `camelCase` value if you previously value was `true` and `asIs` if you previously value was `false`) +* `exportOnlyLocals` option was remove in favor `onlyLocals` option +* `modules` option now can be `{Object}` and allow to setup `CSS Modules` options: + * `localIdentName` option was removed in favor `modules.localIdentName` option + * `context` option was remove in favor `modules.context` option + * `hashPrefix` option was removed in favor `modules.hashPrefix` option + * `getLocalIdent` option was removed in favor `modules.getLocalIdent` option + * `localIdentRegExp` option was removed in favor `modules.localIdentRegExp` option + + + ## [2.1.1](https://github.com/webpack-contrib/css-loader/compare/v2.1.0...v2.1.1) (2019-03-07) diff --git a/README.md b/README.md index cefaac7b..0044ed5e 100644 --- a/README.md +++ b/README.md @@ -9,10 +9,9 @@ [![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 @@ -21,42 +20,35 @@ The `css-loader` interprets `@import` and `url()` like `import/require()` and wi ## 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$/, - 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 plugin to your `webpack` config. 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** @@ -65,74 +57,50 @@ module.exports = { module: { rules: [ { - test: /\.css$/, - use: ['to-string-loader', 'css-loader'], + test: /\.css$/i, + use: ["style-loader", "css-loader"], }, ], }, }; ``` -or +And run `webpack` via your preferred method. -```js -const css = require('./test.css').toString(); +If, for one reason or another, you need to extract CSS as a file (i.e. do not store CSS in a JS module) you might want to check out 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$/, - 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` | Enable/Disable `url()` handling | -| **[`import`](#import)** | `{Boolean\/Function}` | `true` | Enable/Disable @import handling | -| **[`modules`](#modules)** | `{Boolean\|String}` | `false` | Enable/Disable CSS Modules and setup mode | -| **[`localIdentName`](#localidentname)** | `{String}` | `[hash:base64]` | Configure the generated ident | -| **[`context`](#context)** | `{String}` | `undefined` | Allow to redefine basic loader context for local ident name | -| **[`hashPrefix`](#hashprefix)** | `{String}` | `undefined` | Allow to add custom hash to generate more unique classes | -| **[`getLocalIdent`](#getlocalident)** | `{Function}` | `undefined` | Configure the function to generate classname based on a different schema | -| **[`sourceMap`](#sourcemap)** | `{Boolean}` | `false` | Enable/Disable Sourcemaps | -| **[`camelCase`](#camelcase)** | `{Boolean\|String}` | `false` | Export Classnames in CamelCase | -| **[`importLoaders`](#importloaders)** | `{Number}` | `0` | Number of loaders applied before CSS loader | -| **[`exportOnlyLocals`](#exportonlylocals)** | `{Boolean}` | `false` | Export only locals | - -### `url` - -Type: `Boolean|Function` Default: `true` -Control `url()` resolving. Absolute URLs and root-relative URLs are not resolving. +Allow to enable/disables handling the CSS functions `url` and `image-set`. +If set to `false`, `css-loader` will not parse any paths specified in `url` or `image-set`. +A function can also be passed to control this behavior dynamically based on the path to the asset. +Starting with version [4.0.0](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md#400-2020-07-25), absolute paths are parsed 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') @@ -143,13 +111,13 @@ image-set(url('image2x.png') 1x, url('image1x.png') 2x) => require('./image1x.pn To import assets from a `node_modules` path (include `resolve.modules`) and for `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. @@ -160,8 +128,8 @@ module.exports = { module: { rules: [ { - test: /\.css$/, - loader: 'css-loader', + test: /\.css$/i, + loader: "css-loader", options: { url: true, }, @@ -171,7 +139,7 @@ module.exports = { }; ``` -#### `Function` +#### `object` Allow to filter `url()`. All filtered `url()` will not be resolved (left in the code as they were written). @@ -182,14 +150,25 @@ module.exports = { module: { rules: [ { - test: /\.css$/, - loader: 'css-loader', + test: /\.css$/i, + loader: "css-loader", options: { - url: (url, resourcePath) => { - // resourcePath - path to css file + url: { + filter: (url, resourcePath) => { + // resourcePath - path to css file - // `url()` with `img.png` stay untouched - return url.includes('img.png'); + // 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; + }, }, }, }, @@ -200,9 +179,27 @@ module.exports = { ### `import` -Type: `Boolean` +Type: + + + +```ts +type importFn = + | boolean + | { + filter: ( + url: string, + media: string, + resourcePath: string, + supports?: string, + layer?: string, + ) => boolean; + }; +``` + Default: `true` +Allows to enables/disables `@import` at-rules handling. Control `@import` resolving. Absolute urls in `@import` will be moved in runtime code. Examples resolutions: @@ -225,7 +222,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. @@ -236,8 +233,8 @@ module.exports = { module: { rules: [ { - test: /\.css$/, - loader: 'css-loader', + test: /\.css$/i, + loader: "css-loader", options: { import: true, }, @@ -247,7 +244,17 @@ module.exports = { }; ``` -#### `Function` +#### `object` + +##### `filter` + +Type: + +```ts +type filter = (url: string, media: string, resourcePath: string) => boolean; +``` + +Default: `undefined` Allow to filter `@import`. All filtered `@import` will not be resolved (left in the code as they were written). @@ -258,16 +265,20 @@ module.exports = { module: { rules: [ { - test: /\.css$/, - loader: 'css-loader', + test: /\.css$/i, + 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 (url.includes("style.css")) { + return false; + } - // `@import` with `style.css` stay untouched - return parsedImport.url.includes('style.css'); + return true; + }, }, }, }, @@ -276,23 +287,73 @@ module.exports = { }; ``` -### [`modules`](https://github.com/css-modules/css-modules) +### `modules` + +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; + }; +``` -Type: `Boolean|String` -Default: `false` +Default: `undefined` -The `modules` option enables/disables the **CSS Modules** spec and setup basic behaviour. +Allows to enable/disable CSS Modules or ICSS and setup configuration: -| Name | Type | Description | -| :------------: | :---------: | :------------------------------------------------------------------------------------------------------------------------------- | -| **`true`** | `{Boolean}` | Enables local scoped CSS by default (use **local** mode by default) | -| **`false`** | `{Boolean}` | Disable the **CSS Modules** spec, all **CSS Modules** features (like `@value`, `:local`, `:global` and `composes`) will not work | -| **`'local'`** | `{String}` | Enables local scoped CSS by default (same as `true` value) | -| **`'global'`** | `{String}` | Enables global scoped CSS by default | +- `undefined` - enable CSS modules for all files matching `/\.module\.\w+$/i.test(filename)` and `/\.icss\.\w+$/i.test(filename)` regexp. +- `true` - enable CSS modules for all files. +- `false` - disables CSS Modules for all files. +- `string` - disables CSS Modules for all files and set the `mode` option, more information you can read [here](https://github.com/webpack-contrib/css-loader#mode) +- `object` - enable CSS modules for all files, if `modules.auto` option is not specified, otherwise the `modules.auto` option will determine whether if it is CSS modules or not, more information you can read [here](https://github.com/webpack-contrib/css-loader#auto) -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. +The `modules` option enables/disables the **[CSS Modules](https://github.com/css-modules/css-modules)** specification and setup basic behaviour. -You can read about **modes** below. +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. **webpack.config.js** @@ -301,8 +362,8 @@ module.exports = { module: { rules: [ { - test: /\.css$/, - loader: 'css-loader', + test: /\.css$/i, + loader: "css-loader", options: { modules: true, }, @@ -312,10 +373,13 @@ module.exports = { }; ``` +#### `Features` + ##### `Scope` 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). @@ -324,7 +388,7 @@ Styles can be locally scoped to avoid globally scoping styles. The syntax `:local(.className)` can be used to declare `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)` nocation can be used to declare an explicit global 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. The loader replaces local selectors with unique identifiers. The chosen unique identifiers are exported by the module. @@ -359,12 +423,14 @@ 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", }; ``` @@ -392,8 +458,8 @@ This doesn't result in any change to the CSS itself but exports multiple classna ```js exports.locals = { - className: '_23_aKvs-b8bW2Vg3fwHozO', - subClass: '_13LGdX8RMStbBE9w-t0gZ1 _23_aKvs-b8bW2Vg3fwHozO', + className: "_23_aKvs-b8bW2Vg3fwHozO", + subClass: "_13LGdX8RMStbBE9w-t0gZ1 _23_aKvs-b8bW2Vg3fwHozO", }; ``` @@ -412,16 +478,20 @@ exports.locals = { To import a local classname from another module. +> [!NOTE] +> +> We strongly recommend that you specify the extension 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; } ``` @@ -430,20 +500,55 @@ 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; } ``` -### `localIdentName` +##### `Values` -Type: `String` -Default: `[hash:base64]` +You can use `@value` to specific values to be reused throughout a document. -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. +We recommend use prefix `v-` for values, `s-` for selectors and `m-` for media at-rules. + +```css +@value v-primary: #BF4040; +@value s-black: black-selector; +@value m-large: (min-width: 960px); + +.header { + color: v-primary; + padding: 0 10px; +} + +.s-black { + color: black; +} + +@media m-large { + .header { + padding: 0 20px; + } +} +``` + +#### `boolean` + +Enable **CSS Modules** features. **webpack.config.js** @@ -452,11 +557,10 @@ module.exports = { module: { rules: [ { - test: /\.css$/, - loader: 'css-loader', + test: /\.css$/i, + loader: "css-loader", options: { modules: true, - localIdentName: '[path][name]__[local]--[hash:base64:5]', }, }, ], @@ -464,13 +568,32 @@ module.exports = { }; ``` -### `context` +#### `string` -Type: `String` -Default: `undefined` +Enable **CSS Modules** features and setup `mode`. + +**webpack.config.js** + +```js +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + loader: "css-loader", + options: { + // Using `local` value has same effect like using `modules: true` + modules: "global", + }, + }, + ], + }, +}; +``` + +#### `object` -Allow to redefine basic loader context for local ident name. -By default we use `rootContext` of loader. +Enable **CSS Modules** features and setup options for them. **webpack.config.js** @@ -479,11 +602,21 @@ module.exports = { module: { rules: [ { - test: /\.css$/, - loader: 'css-loader', + test: /\.css$/i, + loader: "css-loader", options: { - modules: true, - context: path.resolve(__dirname, 'context'), + modules: { + 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 }) => {}, + }, }, }, ], @@ -491,12 +624,39 @@ module.exports = { }; ``` -### `hashPrefix` +##### `auto` + +Type: + +```ts +type auto = + | boolean + | regExp + | (( + resourcePath: string, + resourceQuery: string, + resourceFragment: string, + ) => boolean); +``` -Type: `String` Default: `undefined` -Allow to add custom hash to generate more unique classes. +Allows auto enable CSS modules/ICSS based on the filename, query or fragment when `modules` option is object. + +Possible values: + +- `undefined` - enable CSS modules for all files. +- `true` - enable CSS modules for all files matching `/\.module\.\w+$/i.test(filename)` and `/\.icss\.\w+$/i.test(filename)` regexp. +- `false` - disables CSS Modules. +- `RegExp` - enable CSS modules for all files matching `/RegExp/i.test(filename)` regexp. +- `function` - enable CSS Modules for files based on the filename satisfying your filter function check. + +###### `boolean` + +Possible values: + +- `true` - enables CSS modules or interoperable CSS 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 interoperable CSS format based on filename **webpack.config.js** @@ -505,11 +665,12 @@ module.exports = { module: { rules: [ { - test: /\.css$/, - loader: 'css-loader', + test: /\.css$/i, + loader: "css-loader", options: { - modules: true, - hashPrefix: 'hash', + modules: { + auto: true, + }, }, }, ], @@ -517,13 +678,33 @@ module.exports = { }; ``` -### `getLocalIdent` +###### `RegExp` -Type: `Function` -Default: `undefined` +Enable CSS modules for files based on the filename satisfying your regex check. -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. +**webpack.config.js** + +```js +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + loader: "css-loader", + options: { + modules: { + auto: /\.custom-module\.\w+$/i, + }, + }, + }, + ], + }, +}; +``` + +###### `function` + +Enable CSS modules for files based on the filename, query or fragment satisfying your filter function check. **webpack.config.js** @@ -532,12 +713,13 @@ module.exports = { module: { rules: [ { - test: /\.css$/, - loader: 'css-loader', + test: /\.css$/i, + loader: "css-loader", options: { - modules: true, - getLocalIdent: (context, localIdentName, localName, options) => { - return 'whatever_random_class_name'; + modules: { + auto: (resourcePath, resourceQuery, resourceFragment) => { + return resourcePath.endsWith(".custom-module.css"); + }, }, }, }, @@ -546,16 +728,37 @@ module.exports = { }; ``` -### `sourceMap` +##### `mode` + +Type: + +```ts +type mode = + | "local" + | "global" + | "pure" + | "icss" + | (( + resourcePath: string, + resourceQuery: string, + resourceFragment: string, + ) => "local" | "global" | "pure" | "icss"); +``` -Type: `Boolean` -Default: `false` +Default: `'local'` -To include source maps set the `sourceMap` option. +Setup `mode` option. You can omit the value when you want `local` mode. -I.e. the `mini-css-extract-plugin` can handle them. +Controls the level of compilation applied to the input styles. -They are not enabled by default because they expose a runtime overhead and increase in bundle size (JS source maps do not). In addition to that relative paths are buggy and you need to use an absolute public path which includes the server URL. +The `local`, `global`, and `pure` handles `class` and `id` scoping and `@value` values. +The `icss` will only compile the low level `Interoperable CSS` 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** @@ -564,10 +767,12 @@ module.exports = { module: { rules: [ { - test: /\.css$/, - loader: 'css-loader', + test: /\.css$/i, + loader: "css-loader", options: { - sourceMap: true, + modules: { + mode: "global", + }, }, }, ], @@ -575,34 +780,115 @@ module.exports = { }; ``` -### `camelCase` +###### `function` -Type: `Boolean|String` -Default: `false` +Allows set different values for the `mode` option based on the filename, query or fragment. -By default, the exported JSON keys mirror the class names. If you want to camelize class names (useful in JS), pass the query parameter `camelCase` to css-loader. +Possible return values - `local`, `global`, `pure` and `icss`. -| Name | Type | Description | -| :----------------: | :---------: | :----------------------------------------------------------------------------------------------------------------------- | -| **`false`** | `{Boolean}` | Class names will be camelized, the original class name will not to be removed from the locals | -| **`true`** | `{Boolean}` | Class names will be camelized | -| **`'dashes'`** | `{String}` | Only dashes in class names will be camelized | -| **`'only'`** | `{String}` | Introduced in `0.27.1`. Class names will be camelized, the original class name will be removed from the locals | -| **`'dashesOnly'`** | `{String}` | Introduced in `0.27.1`. Dashes in class names will be camelized, the original class name will be removed from the locals | +**webpack.config.js** -**file.css** +```js +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + loader: "css-loader", + options: { + modules: { + // 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"; + }, + }, + }, + }, + ], + }, +}; +``` -```css -.class-name { -} +##### `localIdentName` + +Type: + +```ts +type localIdentName = string; ``` -**file.js** +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 (`<>:"/\|?*`) and control filesystem characters (excluding characters in the `[local]` placeholder) will be converted to `-`. + +**webpack.config.js** ```js -import { className } from 'file.css'; +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + loader: "css-loader", + options: { + modules: { + localIdentName: "[path][name]__[local]--[hash:base64:5]", + }, + }, + }, + ], + }, +}; +``` + +##### `localIdentContext` + +Type: + +```ts +type localIdentContex = string; ``` +Default: `compiler.context` + +Allows to redefine basic loader context for local ident name. + **webpack.config.js** ```js @@ -610,10 +896,12 @@ module.exports = { module: { rules: [ { - test: /\.css$/, - loader: 'css-loader', + test: /\.css$/i, + loader: "css-loader", options: { - camelCase: true, + modules: { + localIdentContext: path.resolve(__dirname, "src"), + }, }, }, ], @@ -621,12 +909,18 @@ module.exports = { }; ``` -### `importLoaders` +##### `localIdentHashSalt` -Type: `Number` -Default: `0` +Type: + +```ts +type localIdentHashSalt = string; +``` + +Default: `undefined` -The option `importLoaders` allows you to configure how many loaders before `css-loader` should be applied to `@import`ed resources. +Allows to add custom hash to generate more unique classes. +For more information see [output.hashSalt](https://webpack.js.org/configuration/output/#outputhashsalt). **webpack.config.js** @@ -635,34 +929,31 @@ module.exports = { module: { rules: [ { - test: /\.css$/, - use: [ - 'style-loader', - { - loader: 'css-loader', - options: { - importLoaders: 2, // 0 => no loaders (default); 1 => postcss-loader; 2 => postcss-loader, sass-loader - }, + test: /\.css$/i, + loader: "css-loader", + options: { + modules: { + localIdentHashSalt: "hash", }, - 'postcss-loader', - 'sass-loader', - ], + }, }, ], }, }; ``` -This may change in the future when the module system (i. e. webpack) supports loader matching by origin. +##### `localIdentHashFunction` -### `exportOnlyLocals` +Type: -Type: `Boolean` -Default: `false` +```ts +type localIdentHashFunction = string; +``` -Export only locals (**useful** when you use **css modules**). -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. +Default: `md4` + +Allows to specify hash function to generate classes . +For more information see [output.hashFunction](https://webpack.js.org/configuration/output/#outputhashfunction). **webpack.config.js** @@ -671,10 +962,12 @@ module.exports = { module: { rules: [ { - test: /\.css$/, - loader: 'css-loader', + test: /\.css$/i, + loader: "css-loader", options: { - exportOnlyLocals: true, + modules: { + localIdentHashFunction: "md4", + }, }, }, ], @@ -682,11 +975,18 @@ module.exports = { }; ``` -## Examples +##### `localIdentHashDigest` -### 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 localIdentHashDigest = string; +``` + +Default: `hex` + +Allows to specify hash digest to generate classes. +For more information see [output.hashDigest](https://webpack.js.org/configuration/output/#outputhashdigest). **webpack.config.js** @@ -695,14 +995,45 @@ module.exports = { module: { rules: [ { - test: /\.css$/, - use: ['style-loader', 'css-loader'], + test: /\.css$/i, + loader: "css-loader", + options: { + modules: { + localIdentHashDigest: "base64", + }, + }, }, + ], + }, +}; +``` + +##### `localIdentHashDigestLength` + +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 +module.exports = { + module: { + rules: [ { - test: /\.(png|jpg|gif|svg|eot|ttf|woff|woff2)$/, - loader: 'url-loader', + test: /\.css$/i, + loader: "css-loader", options: { - limit: 10000, + modules: { + localIdentHashDigestLength: 5, + }, }, }, ], @@ -710,13 +1041,1274 @@ module.exports = { }; ``` -### Extract +##### `hashStrategy` -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: `'resource-path-and-local-name' | 'minimal-subset'` +Default: `'resource-path-and-local-name'` -- 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. +Should local name be used when computing the hash. -- 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 +- `'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** + +```js +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + loader: "css-loader", + options: { + modules: { + hashStrategy: "minimal-subset", + }, + }, + }, + ], + }, +}; +``` + +##### `localIdentRegExp` + +Type: + +```ts +type localIdentRegExp = string | RegExp; +``` + +Default: `undefined` + +**webpack.config.js** + +```js +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + loader: "css-loader", + options: { + modules: { + localIdentRegExp: /page-(.*)\.css/i, + }, + }, + }, + ], + }, +}; +``` + +##### `getLocalIdent` + +Type: + +```ts +type getLocalIdent = ( + context: LoaderContext, + localIdentName: string, + localName: string, +) => string; +``` + +Default: `undefined` + +Allows to specify a function to generate the classname. +By default we use built-in function to generate a classname. +If the custom function returns `null` or `undefined`, we fallback to the +built-in function to generate the classname. + +**webpack.config.js** + +```js +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + loader: "css-loader", + options: { + modules: { + getLocalIdent: (context, localIdentName, localName, options) => { + return "whatever_random_class_name"; + }, + }, + }, + }, + ], + }, +}; +``` + +##### `namedExport` + +Type: + +```ts +type namedExport = boolean; +``` + +Default: Depends on the value of the `esModule` option. If the value of the `esModule` options is `true`, this value will also be `true`, otherwise it will be `false`. + +Enables/disables ES modules named export for locals. + +> [!WARNING] +> +> Because it is not allowed to use the `default` class in CSS when the `namedExport` is `true` (since ECMA modules have a reserved keyword `default` for default export), it will be automatically renamed to the `_default` class. + +**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 a 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. +Example 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`. + +> [!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 camelized, the original class name will not to be removed from the locals | +| **`'camel-case-only'`** | `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 | +| **`'dashes-only'`** | `string` | Dashes in class names will be camelized, 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 but 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 files 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 setups 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` value. + +**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 a CommonJS modules 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)). +Default value is `'array'`, i.e. loader exports array of modules with 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. + +> [!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 will be used [named export](https://github.com/webpack-contrib/css-loader#namedexport). + +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 will be used [named export](https://github.com/webpack-contrib/css-loader#namedexport). + +> [!WARNING] +> +> Source maps are not currently supported in `Chrome` due [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 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) 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 `mode` option for all files that do not match `*.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 @@ -732,13 +2324,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://img.shields.io/circleci/project/github/webpack-contrib/css-loader.svg -[tests-url]: https://circleci.com/gh/webpack-contrib/css-loader +[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/appveyor.yml b/appveyor.yml deleted file mode 100644 index 18caa038..00000000 --- a/appveyor.yml +++ /dev/null @@ -1,45 +0,0 @@ -branches: - only: - - master - - next -init: - - git config --global core.autocrlf input -cache: - - node_modules - - '%APPDATA%\npm-cache' -environment: - matrix: - - nodejs_version: '6' - webpack_version: latest - job_part: test - - nodejs_version: '8' - webpack_version: latest - job_part: test - - nodejs_version: '10' - webpack_version: latest - job_part: test - - nodejs_version: '11' - webpack_version: latest - job_part: test - - nodejs_version: '8' - webpack_version: next - job_part: test -build: 'off' -matrix: - fast_finish: true - allow_failures: - - nodejs_version: '8' - webpack_version: next - job_part: test -install: - - ps: Install-Product node $env:nodejs_version x64 - - npm i -g npm@latest - - npm ci - - npm i -g @webpack-contrib/tag-versions -before_test: - - cmd: npm install webpack@%webpack_version% -test_script: - - node --version - - npm --version - - cmd: FOR /F %%I in ('compver --name webpack --gte %webpack_version% --lt latest') do SET COMPARED_VERSION_RESULT=%%I - - cmd: IF %COMPARED_VERSION_RESULT% NEQ -1 (npm run ci:%job_part%) ELSE (ECHO "Next is older than Latest - Skipping Canary Suite") diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 00000000..ff7e3b3d --- /dev/null +++ b/babel.config.js @@ -0,0 +1,34 @@ +const MIN_BABEL_VERSION = 7; + +module.exports = (api) => { + api.assertVersion(MIN_BABEL_VERSION); + api.cache(true); + + return { + presets: [ + [ + "@babel/preset-env", + { + targets: { + node: "18.12.0", + }, + }, + ], + ], + overrides: [ + { + test: "./src/runtime", + presets: [ + [ + "@babel/preset-env", + { + targets: { + node: "0.12", + }, + }, + ], + ], + }, + ], + }; +}; diff --git a/commitlint.config.js b/commitlint.config.js new file mode 100644 index 00000000..86a8e2df --- /dev/null +++ b/commitlint.config.js @@ -0,0 +1,8 @@ +module.exports = { + extends: ["@commitlint/config-conventional"], + rules: { + "header-max-length": [0], + "body-max-line-length": [0], + "footer-max-line-length": [0], + }, +}; 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 new file mode 100644 index 00000000..30108433 --- /dev/null +++ b/lint-staged.config.js @@ -0,0 +1,7 @@ +module.exports = { + "*": [ + "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 1e62a359..dad3611d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11756 +1,18726 @@ { "name": "css-loader", - "version": "2.1.1", - "lockfileVersion": 1, + "version": "7.1.2", + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@babel/cli": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.2.3.tgz", - "integrity": "sha512-bfna97nmJV6nDJhXNPeEfxyMjWnt6+IjUAaDPiYRTBlm8L41n8nvw6UAqUCbvpFfU246gHPxW7sfWwqtF4FcYA==", - "dev": true, - "requires": { - "chokidar": "^2.0.3", - "commander": "^2.8.1", - "convert-source-map": "^1.1.0", - "fs-readdir-recursive": "^1.1.0", - "glob": "^7.0.0", - "lodash": "^4.17.10", - "mkdirp": "^0.5.1", - "output-file-sync": "^2.0.0", - "slash": "^2.0.0", - "source-map": "^0.5.0" - }, - "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 + "packages": { + "": { + "name": "css-loader", + "version": "7.1.2", + "license": "MIT", + "dependencies": { + "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": "^29.7.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": "^29.7.0", + "jest-environment-jsdom": "^29.7.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.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", "dev": true, - "requires": { - "@babel/highlight": "^7.0.0" + "engines": { + "node": ">=0.10.0" } }, - "@babel/core": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.3.4.tgz", - "integrity": "sha512-jRsuseXBo9pN197KnDwhhaaBzyZr2oIcLHHTt2oDdQrej5Qp57dCCJafWx5ivU8/alEYDpssYqv1MUqcxwQlrA==", + "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 + }, + "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.0.0", - "@babel/generator": "^7.3.4", - "@babel/helpers": "^7.2.0", - "@babel/parser": "^7.3.4", - "@babel/template": "^7.2.2", - "@babel/traverse": "^7.3.4", - "@babel/types": "^7.3.4", - "convert-source-map": "^1.1.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.11", - "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.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", - "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "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 - } + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" } }, - "@babel/generator": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.3.4.tgz", - "integrity": "sha512-8EXhHRFqlVVWXPezBW5keTiQi/rJMQTg/Y9uVCEZ0CAF3PKtCCaVRnp64Ii1ujhkoDhhF1fVsImoN4yJ2uz4Wg==", + "node_modules/@babel/cli": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.24.8.tgz", + "integrity": "sha512-isdp+G6DpRyKc+3Gqxy2rjzgF7Zj9K0mzLNnxz+E/fgeag8qT3vVulX4gY9dGO1q0y+0lUv6V3a+uhUzMzrwXg==", "dev": true, - "requires": { - "@babel/types": "^7.3.4", - "jsesc": "^2.5.1", - "lodash": "^4.17.11", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" - }, + "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 - } + "@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.4.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/helper-annotate-as-pure": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", - "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", "dev": true, - "requires": { - "@babel/types": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", - "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", + "node_modules/@babel/compat-data": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz", + "integrity": "sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==", "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.1.0", - "@babel/types": "^7.0.0" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-call-delegate": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz", - "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==", + "node_modules/@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.0.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "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-define-map": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", - "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", + "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/helper-function-name": "^7.1.0", - "@babel/types": "^7.0.0", - "lodash": "^4.17.10" + "bin": { + "semver": "bin/semver.js" } }, - "@babel/helper-explode-assignable-expression": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", - "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", + "node_modules/@babel/generator": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", + "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", "dev": true, - "requires": { - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-function-name": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", - "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-get-function-arity": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", - "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", + "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", "dev": true, - "requires": { - "@babel/types": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-hoist-variables": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz", - "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", "dev": true, - "requires": { - "@babel/types": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-member-expression-to-functions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", - "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", + "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/types": "^7.0.0" + "bin": { + "semver": "bin/semver.js" } }, - "@babel/helper-module-imports": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", - "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz", + "integrity": "sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==", "dev": true, - "requires": { - "@babel/types": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.7", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/helper-module-transforms": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz", - "integrity": "sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA==", + "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/helper-module-imports": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/template": "^7.2.2", - "@babel/types": "^7.2.2", - "lodash": "^4.17.10" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "@babel/helper-optimise-call-expression": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", - "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", + "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", "dev": true, - "requires": { - "@babel/types": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.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.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", - "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==", + "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": { - "lodash": "^4.17.10" + "bin": { + "semver": "bin/semver.js" } }, - "@babel/helper-remap-async-to-generator": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", - "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-wrap-function": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz", + "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==", + "dev": true, + "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/helper-replace-supers": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.3.4.tgz", - "integrity": "sha512-pvObL9WVf2ADs+ePg0jrqlhHoxRXlOa+SHRHzAXIz2xkYuOHfGl+fKxPMaS4Fq+uje8JQPobnertBBvyrWnQ1A==", + "node_modules/@babel/helper-environment-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", + "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.3.4", - "@babel/types": "^7.3.4" + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-simple-access": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", - "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", + "node_modules/@babel/helper-function-name": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", + "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", "dev": true, - "requires": { - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-split-export-declaration": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", - "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", "dev": true, - "requires": { - "@babel/types": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-wrap-function": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", - "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", "dev": true, - "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.2.0" + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helpers": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.3.1.tgz", - "integrity": "sha512-Q82R3jKsVpUV99mgX50gOPCWwco9Ec5Iln/8Vyu4osNIOQgSrd9RFrQeUvmvddFNoLwMyOUWU+5ckioEKpDoGA==", + "node_modules/@babel/helper-module-transforms": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", "dev": true, - "requires": { - "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.5", - "@babel/types": "^7.3.0" + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/parser": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.3.4.tgz", - "integrity": "sha512-tXZCqWtlOOP4wgCp6RjRvLmfuhnqTLy9VHwRochJBCP2nDm27JnnuFEnXFASVyQNHk36jD1tAammsCEEqgscIQ==", - "dev": true - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", - "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.1.0", - "@babel/plugin-syntax-async-generators": "^7.2.0" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-json-strings": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", - "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", + "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-json-strings": "^7.2.0" + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-wrap-function": "^7.25.0", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.3.4.tgz", - "integrity": "sha512-j7VQmbbkA+qrzNqbKHrBsW3ddFnOeva6wzSe/zB7T+xaxGc+RCpwo44wCmRixAIGRoIpmVgvzFzNJqQcO3/9RA==", + "node_modules/@babel/helper-replace-supers": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", + "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", - "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.2.0.tgz", - "integrity": "sha512-LvRVYb7kikuOtIoUeWTkOxQEV1kYvL5B6U3iWEGCzPNRus1MzJweFqORTj+0jkxozkTSYNJozPOddxmqdqsRpw==", + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0", - "regexpu-core": "^4.2.0" + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-syntax-async-generators": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", - "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-syntax-json-strings": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", - "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", "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.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", - "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "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.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", - "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", + "node_modules/@babel/helper-validator-option": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", - "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", + "node_modules/@babel/helper-wrap-function": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", + "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.3.4.tgz", - "integrity": "sha512-Y7nCzv2fw/jEZ9f678MuKdMo99MFDJMT/PvD9LisrR5JDFcJH6vYeH6RnjVt3p5tceyGRvTtEN0VOlU+rgHZjA==", + "node_modules/@babel/helpers": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz", + "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==", "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.1.0" + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", - "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-block-scoping": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.3.4.tgz", - "integrity": "sha512-blRr2O8IOZLAOJklXLV4WhcEzpYafYQKSGT3+R26lWG41u/FODJuBggehtOwilVAcFu393v3OFj+HmaE6tVjhA==", + "node_modules/@babel/parser": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz", + "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "lodash": "^4.17.11" + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.2" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" } }, - "@babel/plugin-transform-classes": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.3.4.tgz", - "integrity": "sha512-J9fAvCFBkXEvBimgYxCjvaVDzL6thk0j0dBvCeZmIUDBwyt+nv6HfbImsSrWsYXfDNDivyANgJlFXDUWRTZBuA==", + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz", + "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.1.0", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.3.4", - "@babel/helper-split-export-declaration": "^7.0.0", - "globals": "^11.1.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-transform-computed-properties": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", - "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", + "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-transform-destructuring": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.3.2.tgz", - "integrity": "sha512-Lrj/u53Ufqxl/sGxyjsJ2XNtNuEjDyjpqdhMNh5aZ+XFOdThL46KBj27Uem4ggoezSYBxKWAil6Hu8HtwqesYw==", + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.25.0", + "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.25.0.tgz", + "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz", - "integrity": "sha512-sKxnyHfizweTgKZf7XsXu/CNupKhzijptfTM+bozonIuyVrLWVUvYjE2bhuSBML8VQeMxq4Mm63Q9qvcvUcciQ==", + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", + "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0", - "regexpu-core": "^4.1.3" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" } }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz", - "integrity": "sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw==", + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", + "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", - "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", + "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-builder-binary-assignment-operator-visitor": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-for-of": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", - "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", + "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-plugin-utils": "^7.0.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-function-name": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz", - "integrity": "sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ==", + "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-function-name": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", - "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", + "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-plugin-utils": "^7.0.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-modules-amd": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz", - "integrity": "sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw==", + "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-module-transforms": "^7.1.0", - "@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-modules-commonjs": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz", - "integrity": "sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==", + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.3.4.tgz", - "integrity": "sha512-VZ4+jlGOF36S7TjKs8g4ojp4MEI+ebCQZdswWb/T9I4X84j8OtFAyjXjt/M16iIm5RIZn0UMQgg/VgIwo/87vw==", + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-modules-umd": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", - "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz", + "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==", "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.3.0.tgz", - "integrity": "sha512-NxIoNVhk9ZxS+9lSoAQ/LM0V2UEvARLttEHUrRDGKFaAxOYQcrkN/nLRE+BbbicCAvZPl7wMP0X60HsHE5DtQw==", + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", + "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", "dev": true, - "requires": { - "regexp-tree": "^0.1.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-new-target": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz", - "integrity": "sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw==", + "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" + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-object-super": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz", - "integrity": "sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==", + "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-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.1.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-parameters": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.3.3.tgz", - "integrity": "sha512-IrIP25VvXWu/VlBWTpsjGptpomtIkYrN/3aDp4UKm7xK6UxZY88kcJ1UwETbzHAlwN21MnNfwlar0u8y3KpiXw==", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", + "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", "dev": true, - "requires": { - "@babel/helper-call-delegate": "^7.1.0", - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-regenerator": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.3.4.tgz", - "integrity": "sha512-hvJg8EReQvXT6G9H2MvNPXkv9zK36Vxa1+csAVTpE1J3j0zlHplw76uudEbJxgvqZzAq9Yh45FLD4pk5mKRFQA==", + "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": { - "regenerator-transform": "^0.13.4" + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", - "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", + "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-plugin-utils": "^7.0.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-spread": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", - "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", + "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-plugin-utils": "^7.0.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", - "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", + "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", - "@babel/helper-regex": "^7.0.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-template-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz", - "integrity": "sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg==", + "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-annotate-as-pure": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", - "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", + "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-plugin-utils": "^7.0.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz", - "integrity": "sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA==", + "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", - "@babel/helper-regex": "^7.0.0", - "regexpu-core": "^4.1.3" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/polyfill": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.2.5.tgz", - "integrity": "sha512-8Y/t3MWThtMLYr0YNC/Q76tqN1w30+b0uQMeFUYauG2UGTR19zyUtFrAzT23zNtBxPp+LbE5E/nwV/q/r3y6ug==", + "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": { - "core-js": "^2.5.7", - "regenerator-runtime": "^0.12.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/preset-env": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.3.4.tgz", - "integrity": "sha512-2mwqfYMK8weA0g0uBKOt4FE3iEodiHy9/CW0b+nWXcbL+pGzLx8ESYc+j9IIxr6LTDHWKgPm71i9smo02bw+gA==", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz", + "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==", "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-async-generator-functions": "^7.2.0", - "@babel/plugin-proposal-json-strings": "^7.2.0", - "@babel/plugin-proposal-object-rest-spread": "^7.3.4", - "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.2.0", - "@babel/plugin-syntax-async-generators": "^7.2.0", - "@babel/plugin-syntax-json-strings": "^7.2.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", - "@babel/plugin-transform-arrow-functions": "^7.2.0", - "@babel/plugin-transform-async-to-generator": "^7.3.4", - "@babel/plugin-transform-block-scoped-functions": "^7.2.0", - "@babel/plugin-transform-block-scoping": "^7.3.4", - "@babel/plugin-transform-classes": "^7.3.4", - "@babel/plugin-transform-computed-properties": "^7.2.0", - "@babel/plugin-transform-destructuring": "^7.2.0", - "@babel/plugin-transform-dotall-regex": "^7.2.0", - "@babel/plugin-transform-duplicate-keys": "^7.2.0", - "@babel/plugin-transform-exponentiation-operator": "^7.2.0", - "@babel/plugin-transform-for-of": "^7.2.0", - "@babel/plugin-transform-function-name": "^7.2.0", - "@babel/plugin-transform-literals": "^7.2.0", - "@babel/plugin-transform-modules-amd": "^7.2.0", - "@babel/plugin-transform-modules-commonjs": "^7.2.0", - "@babel/plugin-transform-modules-systemjs": "^7.3.4", - "@babel/plugin-transform-modules-umd": "^7.2.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.3.0", - "@babel/plugin-transform-new-target": "^7.0.0", - "@babel/plugin-transform-object-super": "^7.2.0", - "@babel/plugin-transform-parameters": "^7.2.0", - "@babel/plugin-transform-regenerator": "^7.3.4", - "@babel/plugin-transform-shorthand-properties": "^7.2.0", - "@babel/plugin-transform-spread": "^7.2.0", - "@babel/plugin-transform-sticky-regex": "^7.2.0", - "@babel/plugin-transform-template-literals": "^7.2.0", - "@babel/plugin-transform-typeof-symbol": "^7.2.0", - "@babel/plugin-transform-unicode-regex": "^7.2.0", - "browserslist": "^4.3.4", - "invariant": "^2.2.2", - "js-levenshtein": "^1.1.3", - "semver": "^5.3.0" - } - }, - "@babel/runtime": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0.tgz", - "integrity": "sha512-7hGhzlcmg01CvH1EHdSPVXYX1aJ8KCEyz6I9xYIi/asDtzBPMyMhVibhM/K6g/5qnKBwjZtp10bNZIEFTRW1MA==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.12.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/template": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", - "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", + "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/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "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/traverse": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.3.4.tgz", - "integrity": "sha512-TvTHKp6471OYEcE/91uWmhR6PrrYywQntCHSaZ8CM8Vmp+pjAusal4nGB2WCCQd0rvI7nOMKn9GnbcvTUz3/ZQ==", + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", + "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.3.4", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.3.4", - "@babel/types": "^7.3.4", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.11" - }, - "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.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/types": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.4.tgz", - "integrity": "sha512-WEkp8MsLftM7O/ty580wAmZzN1nDmCACc5+jFzUt+GUFNNIi3LdRlueYz0YIlmJhlZx1QYDMZL5vdWCL0fNjFQ==", + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.0.tgz", + "integrity": "sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==", "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.11", - "to-fast-properties": "^2.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-remap-async-to-generator": "^7.25.0", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@commitlint/cli": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-7.5.2.tgz", - "integrity": "sha512-UQdW/wNb+XeANoYYLyuKEDIfWKSzdhJkPQZ8ie/IjfMNnsP+B23bkX4Ati+6U8zgz0yyngoxWl+3lfExiIL4hQ==", - "dev": true, - "requires": { - "@commitlint/format": "^7.5.0", - "@commitlint/lint": "^7.5.2", - "@commitlint/load": "^7.5.0", - "@commitlint/read": "^7.5.0", - "babel-polyfill": "6.26.0", - "chalk": "2.3.1", - "get-stdin": "5.0.1", - "lodash": "4.17.11", - "meow": "5.0.0", - "resolve-from": "4.0.0", - "resolve-global": "0.1.0" - }, - "dependencies": { - "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.2.0" - } - }, - "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": { - "has-flag": "^3.0.0" - } - } + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", + "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@commitlint/config-conventional": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-7.5.0.tgz", - "integrity": "sha512-odLgBfQ5xntFAmMfAmDY2C4EWhW+cSTbvbsRS7seb55DCa3IaxxSHHC9eXrR+hN/BdUT5vqAxdX1PkR996sq9Q==", - "dev": true - }, - "@commitlint/ensure": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-7.5.2.tgz", - "integrity": "sha512-ZMJKHhSJC789chKy0kWp8EWbCpLPy6vKa+fopUVx+tWL7H8AeBbibXlqAnybg+HWNcb/RD7ORROx0IsgrK4IYA==", + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", + "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", "dev": true, - "requires": { - "lodash": "4.17.11" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@commitlint/execute-rule": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-7.5.0.tgz", - "integrity": "sha512-K66aoly8mxSHmBA/Y8bKSPPcCAR4GpJEsvHaLDYOG7GsyChu8NgCD53L8GUqPW8lBCWwnmCiSL+RlOkNHJ0Gag==", + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", + "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", "dev": true, - "requires": { - "babel-runtime": "6.26.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@commitlint/format": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-7.5.0.tgz", - "integrity": "sha512-DEeQXfTLUm9kARliCBfw3SlQRAYjK2aXeRAUMs1HPhLA2tjNFFGv6LOpFFNdiu/WV+o1ojcgIvBBjpHaVT+Tvw==", + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz", + "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==", "dev": true, - "requires": { - "babel-runtime": "^6.23.0", - "chalk": "^2.0.1" + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@commitlint/is-ignored": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-7.5.1.tgz", - "integrity": "sha512-8JZCgy6bWSnjOT5cTTiyEAGp+Y4+5CUknhVbyiPxTRbjy6yF0aMKs1gMTfHrNHTKsasgmkCyPQd4C2eOPceuKA==", + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", + "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", "dev": true, - "requires": { - "semver": "5.6.0" + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" } }, - "@commitlint/lint": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-7.5.2.tgz", - "integrity": "sha512-DY/UfGFDquMno+5c6+tE50rMxpjdQK3CRG+nktgYlVz1UAqeUD+bRc3pvX5HwAsuGvyDrWAjtszHtEDeYJKcjw==", + "node_modules/@babel/plugin-transform-classes": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.0.tgz", + "integrity": "sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw==", "dev": true, - "requires": { - "@commitlint/is-ignored": "^7.5.1", - "@commitlint/parse": "^7.5.0", - "@commitlint/rules": "^7.5.2", - "babel-runtime": "^6.23.0", - "lodash": "4.17.11" + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/traverse": "^7.25.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@commitlint/load": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-7.5.0.tgz", - "integrity": "sha512-fhBER/rzPsteM6zq5qqMiOi+A2bHKCE/0PKmOzYgaqTKcG9c1SsOle9phPemW85to8Gxd2YgUOVLsZkCMltLtA==", + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", + "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", "dev": true, - "requires": { - "@commitlint/execute-rule": "^7.5.0", - "@commitlint/resolve-extends": "^7.5.0", - "babel-runtime": "^6.23.0", - "cosmiconfig": "^4.0.0", - "lodash": "4.17.11", - "resolve-from": "^4.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/template": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@commitlint/message": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-7.5.0.tgz", - "integrity": "sha512-5YOhsqy/MgHH7vyDsmmzO6Jr3ygr1pXbCm9NR3XB51wjg55Kd6/6dVlkhS/FmDp99pfwTdHb0TyeDFEjP98waw==", - "dev": true - }, - "@commitlint/parse": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-7.5.0.tgz", - "integrity": "sha512-hWASM8SBFTBtlFkKrEtD1qW6yTe2BsfoRiMKuYyRCTd+739TUF17og5vgQVuWttbGP0gXaciW44NygS2YjZmfA==", + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", + "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", "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.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@commitlint/read": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-7.5.0.tgz", - "integrity": "sha512-uqGFCKZGnBUCTkxoCCJp4MfWUkegXkyT0T0RVM9diyG6uNWPWlMH1509sjLFlyeJKG+cSyYGG/d6T103ScMb4Q==", + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", + "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", "dev": true, - "requires": { - "@commitlint/top-level": "^7.5.0", - "@marionebl/sander": "^0.6.0", - "babel-runtime": "^6.23.0", - "git-raw-commits": "^1.3.0" + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@commitlint/resolve-extends": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-7.5.0.tgz", - "integrity": "sha512-FRIyPuqGvGa03OT4VgOHakizcw8YR5rdm77JsZff1rSnpxk6i+025I6qMeHqCIr5FaVIA0kR3FlC+MJFUs165A==", + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", + "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "import-fresh": "^3.0.0", - "lodash": "4.17.11", - "resolve-from": "^4.0.0", - "resolve-global": "^0.1.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@commitlint/rules": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-7.5.2.tgz", - "integrity": "sha512-eDN1UFPcBOjdnlI3syuo7y99SjGH/dUV6S9NvBocAye8ln5dfKiI2shhWochJhl36r/kYWU8Wrvl2NZJL3c52g==", + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", + "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", "dev": true, - "requires": { - "@commitlint/ensure": "^7.5.2", - "@commitlint/message": "^7.5.0", - "@commitlint/to-lines": "^7.5.0", - "babel-runtime": "^6.23.0" + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@commitlint/to-lines": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-7.5.0.tgz", - "integrity": "sha512-ZQ3LxPNuQ/J7q42hkiPWN5fUIjWae85H2HHoBB+/Rw1fo+oehvr4Xyt+Oa9Mx5WbBnev/wXnUFjXgoadv1RZ5A==", - "dev": true - }, - "@commitlint/top-level": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-7.5.0.tgz", - "integrity": "sha512-oTu185GufTYHjTXPHu6k6HL7iuASOvDOtQizZWRSxj0VXuoki6e0HzvGZsRsycDTOn04Q9hVu+PhF83IUwRpeg==", + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", + "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", "dev": true, - "requires": { - "find-up": "^2.1.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "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 - }, - "@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-exponentiation-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", + "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", "dev": true, - "requires": { - "graceful-fs": "^4.1.3", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.2" + "license": "MIT", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "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-export-namespace-from": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", + "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", "dev": true, - "requires": { - "any-observable": "^0.3.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@types/node": { - "version": "10.12.29", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.29.tgz", - "integrity": "sha512-J/tnbnj8HcsBgCe2apZbdUpQ7hs4d7oZNTYA5bekWdP0sr2NGsOpI/HRdDroEi209tEvTcTtxhD0FfED3DhEcw==", - "dev": true - }, - "@types/semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==", - "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==", + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", + "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz", + "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==", "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.8.5" + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", + "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "mamacro": "^0.0.3" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-literals": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz", + "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==", "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" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@webassemblyjs/ieee754": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", - "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", + "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "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-member-expression-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", + "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", "dev": true, - "requires": { - "@xtuc/long": "4.2.2" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.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-modules-amd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", + "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "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-modules-commonjs": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", + "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5", - "@xtuc/long": "4.2.2" + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-simple-access": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@webpack-contrib/defaults": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@webpack-contrib/defaults/-/defaults-3.0.5.tgz", - "integrity": "sha512-UPrwEqHEfFEwMg0gbIFEBZQJdMRAqCDv0abpXE7VZOPGhwfftlmPFn3TS9f8Fvc3XkJcHQQ/x3wUDQxXW02qHw==", + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", + "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", "dev": true, - "requires": { - "chalk": "^2.3.0", - "git-username": "^1.0.0", - "mrm-core": "^3.1.1", - "path-exists": "^3.0.0", - "user-meta": "^1.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, + "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-modules-umd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", + "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "abab": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", - "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==", - "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-dynamic-import": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", - "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==", - "dev": true - }, - "acorn-globals": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.0.tgz", - "integrity": "sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw==", + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", + "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", "dev": true, - "requires": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "acorn-jsx": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz", - "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==", - "dev": true - }, - "acorn-walk": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz", - "integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==", - "dev": true - }, - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "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-new-target": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", + "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "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==" - }, - "ajv-keywords": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz", - "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==" - }, - "ansi-align": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", - "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", + "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", "dev": true, - "requires": { - "string-width": "^2.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "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": "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-numeric-separator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", + "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "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-object-rest-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", + "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "append-transform": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", + "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", "dev": true, - "requires": { - "default-require-extensions": "^2.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7" + }, + "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 - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", + "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", "dev": true, - "requires": { - "sprintf-js": "~1.0.2" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "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-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", + "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", "dev": true, - "requires": { - "array-uniq": "^1.0.1" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "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/plugin-transform-parameters": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", + "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", "dev": true, - "requires": { - "safer-buffer": "~2.1.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.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/plugin-transform-private-methods": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz", + "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==", "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", + "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", "dev": true, - "requires": { - "util": "0.10.3" - }, + "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-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-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 - }, - "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": "2.6.2", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", - "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", + "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", "dev": true, - "requires": { - "lodash": "^4.17.11" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", - "dev": true - }, - "async-limiter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", - "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.4.10", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.4.10.tgz", - "integrity": "sha512-XR8XZ09tUrrSzgSlys4+hy5r2/z4Jp7Ag3pHm31U4g/CTccYPOVe19AkaJ4ey/vRd1sfj+5TtuD6I0PXtutjvQ==", + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", + "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", "dev": true, - "requires": { - "browserslist": "^4.4.2", - "caniuse-lite": "^1.0.30000940", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.14", - "postcss-value-parser": "^3.3.1" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "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.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "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/@babel/plugin-transform-reserved-words": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", + "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", "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 - } + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "babel-jest": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.1.0.tgz", - "integrity": "sha512-MLcagnVrO9ybQGLEfZUqnOzv36iQzU7Bj4elm39vCukumLVSfoX+tRy3/jW7lUKc7XdpRmB/jech6L/UCsSZjw==", + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", + "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", "dev": true, - "requires": { - "babel-plugin-istanbul": "^5.1.0", - "babel-preset-jest": "^24.1.0", - "chalk": "^2.4.2", - "slash": "^2.0.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "babel-plugin-istanbul": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.1.tgz", - "integrity": "sha512-RNNVv2lsHAXJQsEJ5jonQwrJVWK8AcZpG1oxhnjCUaAjL7xahYLANhPUZbzEQHjKy1NMYUwn+0NPKQc8iSY4xQ==", + "node_modules/@babel/plugin-transform-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", + "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", "dev": true, - "requires": { - "find-up": "^3.0.0", - "istanbul-lib-instrument": "^3.0.0", - "test-exclude": "^5.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.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", - "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.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - } + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "babel-plugin-jest-hoist": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.1.0.tgz", - "integrity": "sha512-gljYrZz8w1b6fJzKcsfKsipSru2DU2DmQ39aB6nV3xQ0DDv3zpIzKGortA5gknrhNnPN8DweaEgrnZdmbGmhnw==", - "dev": true - }, - "babel-polyfill": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", - "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", + "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "regenerator-runtime": "^0.10.5" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", + "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", + "dev": true, + "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 - } + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "babel-preset-jest": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.1.0.tgz", - "integrity": "sha512-FfNLDxFWsNX9lUmtwY7NheGlANnagvxq8LZdl5PKnVG3umP+S/g0XbVBfwtA4Ai3Ri/IMkWabBz3Tyk9wdspcw==", + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", + "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", "dev": true, - "requires": { - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "babel-plugin-jest-hoist": "^24.1.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "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/@babel/plugin-transform-unicode-escapes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", + "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", "dev": true, - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", + "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", + "dev": true, + "license": "MIT", "dependencies": { - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - } + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "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/@babel/plugin-transform-unicode-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", + "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "base64-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", - "dev": true + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz", + "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } }, - "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/@babel/preset-env": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.3.tgz", + "integrity": "sha512-QsYW7UeAaXvLPX9tdVliMJE7MD7M6MLYVTovRTIwhoYQVFHR1rM4wO8wqAezYi3/BpSD+NzVCZ69R6smWiIi8g==", "dev": true, - "requires": { - "tweetnacl": "^0.14.3" + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.2", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.24.7", + "@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", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.0", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoped-functions": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-class-properties": "^7.24.7", + "@babel/plugin-transform-class-static-block": "^7.24.7", + "@babel/plugin-transform-classes": "^7.25.0", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-dotall-regex": "^7.24.7", + "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", + "@babel/plugin-transform-dynamic-import": "^7.24.7", + "@babel/plugin-transform-exponentiation-operator": "^7.24.7", + "@babel/plugin-transform-export-namespace-from": "^7.24.7", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.25.1", + "@babel/plugin-transform-json-strings": "^7.24.7", + "@babel/plugin-transform-literals": "^7.25.2", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-member-expression-literals": "^7.24.7", + "@babel/plugin-transform-modules-amd": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-modules-systemjs": "^7.25.0", + "@babel/plugin-transform-modules-umd": "^7.24.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-new-target": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-object-super": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-property-literals": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-reserved-words": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-template-literals": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.8", + "@babel/plugin-transform-unicode-escapes": "^7.24.7", + "@babel/plugin-transform-unicode-property-regex": "^7.24.7", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.7", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.37.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + "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, + "bin": { + "semver": "bin/semver.js" + } }, - "binary-extensions": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz", - "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==", - "dev": true + "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, + "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" + } }, - "bluebird": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", - "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==", + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", "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 + "node_modules/@babel/runtime": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", + "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } }, - "boxen": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", - "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", - "dev": true, - "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.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 - } + "node_modules/@babel/template": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/@babel/traverse": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz", + "integrity": "sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==", "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/parser": "^7.25.3", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.2", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "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/@babel/types": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz", + "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "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 }, - "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 + "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, + "engines": { + "node": ">=0.1.90" + } }, - "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/cli": { + "version": "19.3.0", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-19.3.0.tgz", + "integrity": "sha512-LgYWOwuDR7BSTQ9OLZ12m7F/qhNY+NpAyPBgo4YNMkACE7lGuUnuQq1yi9hz1KA4+3VqpOYl8H1rY/LYK43v7g==", "dev": true, - "requires": { - "resolve": "1.1.7" - }, "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - } + "@commitlint/format": "^19.3.0", + "@commitlint/lint": "^19.2.2", + "@commitlint/load": "^19.2.0", + "@commitlint/read": "^19.2.1", + "@commitlint/types": "^19.0.3", + "execa": "^8.0.1", + "yargs": "^17.0.0" + }, + "bin": { + "commitlint": "cli.js" + }, + "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/config-conventional": { + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-19.2.2.tgz", + "integrity": "sha512-mLXjsxUVLYEGgzbxbxicGPggDuyWNkf25Ht23owXIH+zV2pv1eJuzLK3t1gDY5Gp6pxdE60jZnWUY5cvgL3ufw==", "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" + "dependencies": { + "@commitlint/types": "^19.0.3", + "conventional-changelog-conventionalcommits": "^7.0.2" + }, + "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/config-validator": { + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-19.0.3.tgz", + "integrity": "sha512-2D3r4PKjoo59zBc2auodrSCaUnCSALCx54yveOFwwP/i2kfEAQrygwOleFWswLqK0UL/F9r07MFi5ev2ohyM4Q==", "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "dependencies": { + "@commitlint/types": "^19.0.3", + "ajv": "^8.11.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/ensure": { + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-19.0.3.tgz", + "integrity": "sha512-SZEpa/VvBLoT+EFZVb91YWbmaZ/9rPH3ESrINOl0HD2kMYsjvl0tF7nMHh0EpTcv4+gTtZBAe1y/SS6/OhfZzQ==", "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "dependencies": { + "@commitlint/types": "^19.0.3", + "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" } }, - "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/execute-rule": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-19.0.0.tgz", + "integrity": "sha512-mtsdpY1qyWgAO/iOK0L6gSGeR7GFcdW7tIjcNFxcWkfLDF5qVbPHKuGATFqRMsxcO8OUKNj0+3WOHB7EHm4Jdw==", "dev": true, - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" + "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/format": { + "version": "19.3.0", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-19.3.0.tgz", + "integrity": "sha512-luguk5/aF68HiF4H23ACAfk8qS8AHxl4LLN5oxPc24H+2+JRPsNr1OS3Gaea0CrH7PKhArBMKBz5RX9sA5NtTg==", "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" + "dependencies": { + "@commitlint/types": "^19.0.3", + "chalk": "^5.3.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/format/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, - "requires": { - "pako": "~1.0.5" + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "browserslist": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.2.tgz", - "integrity": "sha512-ISS/AIAiHERJ3d45Fz0AVYKkgcy+F/eJHzKEvv1j0wwKGKD9T3BrwKr/5g45L+Y4XIK5PlTqefHciRFcfE1Jxg==", + "node_modules/@commitlint/is-ignored": { + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-19.2.2.tgz", + "integrity": "sha512-eNX54oXMVxncORywF4ZPFtJoBm3Tvp111tg1xf4zWXGfhBPKpfKG6R+G3G4v5CPlRROXpAOpQ3HMhA9n1Tck1g==", "dev": true, - "requires": { - "caniuse-lite": "^1.0.30000939", - "electron-to-chromium": "^1.3.113", - "node-releases": "^1.1.8" + "dependencies": { + "@commitlint/types": "^19.0.3", + "semver": "^7.6.0" + }, + "engines": { + "node": ">=v18" } }, - "bser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", - "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", + "node_modules/@commitlint/lint": { + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-19.2.2.tgz", + "integrity": "sha512-xrzMmz4JqwGyKQKTpFzlN0dx0TAiT7Ran1fqEBgEmEj+PU98crOFtysJgY+QdeSagx6EDRigQIXJVnfrI0ratA==", "dev": true, - "requires": { - "node-int64": "^0.4.0" + "dependencies": { + "@commitlint/is-ignored": "^19.2.2", + "@commitlint/parse": "^19.0.3", + "@commitlint/rules": "^19.0.3", + "@commitlint/types": "^19.0.3" + }, + "engines": { + "node": ">=v18" } }, - "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "node_modules/@commitlint/load": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-19.2.0.tgz", + "integrity": "sha512-XvxxLJTKqZojCxaBQ7u92qQLFMMZc4+p9qrIq/9kJDy8DOrEa7P1yx7Tjdc2u2JxIalqT4KOGraVgCE7eCYJyQ==", "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "dependencies": { + "@commitlint/config-validator": "^19.0.3", + "@commitlint/execute-rule": "^19.0.0", + "@commitlint/resolve-extends": "^19.1.0", + "@commitlint/types": "^19.0.3", + "chalk": "^5.3.0", + "cosmiconfig": "^9.0.0", + "cosmiconfig-typescript-loader": "^5.0.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0" + }, + "engines": { + "node": ">=v18" } }, - "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 + "node_modules/@commitlint/load/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, - "cacache": { - "version": "11.3.2", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz", - "integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==", + "node_modules/@commitlint/message": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-19.0.0.tgz", + "integrity": "sha512-c9czf6lU+9oF9gVVa2lmKaOARJvt4soRsVmbR7Njwp9FpbBgste5i7l/2l5o8MmbwGh4yE1snfnsy2qyA2r/Fw==", "dev": true, - "requires": { - "bluebird": "^3.5.3", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.3", - "graceful-fs": "^4.1.15", - "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.2", - "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.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", - "dev": true - } + "engines": { + "node": ">=v18" } }, - "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/@commitlint/parse": { + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-19.0.3.tgz", + "integrity": "sha512-Il+tNyOb8VDxN3P6XoBBwWJtKKGzHlitEuXA5BP6ir/3loWlsSqDr5aecl6hZcC/spjq4pHqNh0qPlfeWu38QA==", "dev": true, - "requires": { - "callsites": "^2.0.0" - }, "dependencies": { - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - } + "@commitlint/types": "^19.0.3", + "conventional-changelog-angular": "^7.0.0", + "conventional-commits-parser": "^5.0.0" + }, + "engines": { + "node": ">=v18" } }, - "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/@commitlint/read": { + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-19.2.1.tgz", + "integrity": "sha512-qETc4+PL0EUv7Q36lJbPG+NJiBOGg7SSC7B5BsPWOmei+Dyif80ErfWQ0qXoW9oCh7GTpTNRoaVhiI8RbhuaNw==", "dev": true, - "requires": { - "caller-callsite": "^2.0.0" + "dependencies": { + "@commitlint/top-level": "^19.0.0", + "@commitlint/types": "^19.0.3", + "execa": "^8.0.1", + "git-raw-commits": "^4.0.0", + "minimist": "^1.2.8" + }, + "engines": { + "node": ">=v18" } }, - "callsites": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.0.0.tgz", - "integrity": "sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw==", - "dev": true - }, - "camelcase": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.2.0.tgz", - "integrity": "sha512-IXFsBS2pC+X0j0N/GE7Dm7j3bsEBp+oTpb7F50dwEVX7rf3IgwO9XatnegTsDtniKCUtEJH4fSU6Asw7uoVLfQ==" - }, - "camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "node_modules/@commitlint/resolve-extends": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-19.1.0.tgz", + "integrity": "sha512-z2riI+8G3CET5CPgXJPlzftH+RiWYLMYv4C9tSLdLXdr6pBNimSKukYP9MS27ejmscqCTVA4almdLh0ODD2KYg==", "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 - } + "@commitlint/config-validator": "^19.0.3", + "@commitlint/types": "^19.0.3", + "global-directory": "^4.0.1", + "import-meta-resolve": "^4.0.0", + "lodash.mergewith": "^4.6.2", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=v18" } }, - "caniuse-lite": { - "version": "1.0.30000941", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000941.tgz", - "integrity": "sha512-4vzGb2MfZcO20VMPj1j6nRAixhmtlhkypM4fL4zhgzEucQIYiRzSqPcWIu1OF8i0FETD93FMIPWfUJCAcFvrqA==", - "dev": true - }, - "capture-exit": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", - "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", + "node_modules/@commitlint/rules": { + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-19.0.3.tgz", + "integrity": "sha512-TspKb9VB6svklxNCKKwxhELn7qhtY1rFF8ls58DcFd0F97XoG07xugPjjbVnLqmMkRjZDbDIwBKt9bddOfLaPw==", "dev": true, - "requires": { - "rsvp": "^3.3.3" + "dependencies": { + "@commitlint/ensure": "^19.0.3", + "@commitlint/message": "^19.0.0", + "@commitlint/to-lines": "^19.0.0", + "@commitlint/types": "^19.0.3", + "execa": "^8.0.1" + }, + "engines": { + "node": ">=v18" } }, - "capture-stack-trace": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", - "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true + "node_modules/@commitlint/to-lines": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-19.0.0.tgz", + "integrity": "sha512-vkxWo+VQU5wFhiP9Ub9Sre0FYe019JxFikrALVoD5UGa8/t3yOJEpEhxC5xKiENKKhUkTpEItMTRAjHw2SCpZw==", + "dev": true, + "engines": { + "node": ">=v18" + } }, - "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/@commitlint/top-level": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-19.0.0.tgz", + "integrity": "sha512-KKjShd6u1aMGNkCkaX4aG1jOGdn7f8ZI8TR1VEuNqUOjWTOdcDSsmglinglJ18JTjuBX5I1PtjrhQCRcixRVFQ==", + "dev": true, "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" - } - } + "find-up": "^7.0.0" + }, + "engines": { + "node": ">=v18" } }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "chokidar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.2.tgz", - "integrity": "sha512-IwXUx0FXc5ibYmPC2XeEj5mpXoV66sR+t3jqu2NS2GYwCktt3KF1/Qqjws/NkegajBA4RbZ5+DDwlOiJsxDHEg==", - "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.0" + "node_modules/@commitlint/types": { + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-19.0.3.tgz", + "integrity": "sha512-tpyc+7i6bPG9mvaBbtKUeghfyZSDgWquIDfMgqYtTbmZ9Y9VzEm2je9EYcQ0aoz5o7NvGS+rcDec93yO08MHYA==", + "dev": true, + "dependencies": { + "@types/conventional-commits-parser": "^5.0.0", + "chalk": "^5.3.0" + }, + "engines": { + "node": ">=v18" } }, - "chownr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", - "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", + "node_modules/@commitlint/types/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, - "requires": { - "tslib": "^1.9.0" + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", - "dev": true - }, - "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/cspell-bundled-dicts": { + "version": "8.13.1", + "resolved": "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-8.13.1.tgz", + "integrity": "sha512-ylAwnIdxBMJ9v6BHpFAQFZM+5zbybLtqVQJG7zQePts4e0/Qr2xjYFbC3F+fovZqyXPIx24BR+S6gFJNO1OdAw==", "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "license": "MIT", + "dependencies": { + "@cspell/dict-ada": "^4.0.2", + "@cspell/dict-aws": "^4.0.3", + "@cspell/dict-bash": "^4.1.3", + "@cspell/dict-companies": "^3.1.3", + "@cspell/dict-cpp": "^5.1.12", + "@cspell/dict-cryptocurrencies": "^5.0.0", + "@cspell/dict-csharp": "^4.0.2", + "@cspell/dict-css": "^4.0.12", + "@cspell/dict-dart": "^2.0.3", + "@cspell/dict-django": "^4.1.0", + "@cspell/dict-docker": "^1.1.7", + "@cspell/dict-dotnet": "^5.0.2", + "@cspell/dict-elixir": "^4.0.3", + "@cspell/dict-en_us": "^4.3.23", + "@cspell/dict-en-common-misspellings": "^2.0.3", + "@cspell/dict-en-gb": "1.1.33", + "@cspell/dict-filetypes": "^3.0.4", + "@cspell/dict-fonts": "^4.0.0", + "@cspell/dict-fsharp": "^1.0.1", + "@cspell/dict-fullstack": "^3.2.0", + "@cspell/dict-gaming-terms": "^1.0.5", + "@cspell/dict-git": "^3.0.0", + "@cspell/dict-golang": "^6.0.9", + "@cspell/dict-google": "^1.0.1", + "@cspell/dict-haskell": "^4.0.1", + "@cspell/dict-html": "^4.0.5", + "@cspell/dict-html-symbol-entities": "^4.0.0", + "@cspell/dict-java": "^5.0.7", + "@cspell/dict-julia": "^1.0.1", + "@cspell/dict-k8s": "^1.0.6", + "@cspell/dict-latex": "^4.0.0", + "@cspell/dict-lorem-ipsum": "^4.0.0", + "@cspell/dict-lua": "^4.0.3", + "@cspell/dict-makefile": "^1.0.0", + "@cspell/dict-monkeyc": "^1.0.6", + "@cspell/dict-node": "^5.0.1", + "@cspell/dict-npm": "^5.0.18", + "@cspell/dict-php": "^4.0.8", + "@cspell/dict-powershell": "^5.0.5", + "@cspell/dict-public-licenses": "^2.0.7", + "@cspell/dict-python": "^4.2.3", + "@cspell/dict-r": "^2.0.1", + "@cspell/dict-ruby": "^5.0.2", + "@cspell/dict-rust": "^4.0.5", + "@cspell/dict-scala": "^5.0.3", + "@cspell/dict-software-terms": "^4.0.3", + "@cspell/dict-sql": "^2.1.3", + "@cspell/dict-svelte": "^1.0.2", + "@cspell/dict-swift": "^2.0.1", + "@cspell/dict-terraform": "^1.0.0", + "@cspell/dict-typescript": "^3.1.6", + "@cspell/dict-vue": "^3.0.0" + }, + "engines": { + "node": ">=18" } }, - "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/cspell-json-reporter": { + "version": "8.13.1", + "resolved": "https://registry.npmjs.org/@cspell/cspell-json-reporter/-/cspell-json-reporter-8.13.1.tgz", + "integrity": "sha512-vYZTBRkYjpNBifGNbYQsgIXesDEdUa9QAwllDcLZGKbhh5mY/C1ygPnAVpYDYiJNt1WCeIqW286DUyjRjkmHeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/cspell-types": "8.13.1" + }, + "engines": { + "node": ">=18" } }, - "cli-boxes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", - "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", - "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=", + "node_modules/@cspell/cspell-pipe": { + "version": "8.13.1", + "resolved": "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-8.13.1.tgz", + "integrity": "sha512-acLWTQv3yWfeWXMds/cfQKZapslOrLHVL4VDp4rFyL/EnfgaCr7Ew9hQ7zAIARY3r/n0dByqWbOt2HKthdhx/g==", "dev": true, - "requires": { - "restore-cursor": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">=18" } }, - "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/cspell-resolver": { + "version": "8.13.1", + "resolved": "https://registry.npmjs.org/@cspell/cspell-resolver/-/cspell-resolver-8.13.1.tgz", + "integrity": "sha512-EGdb7KLYCklV3sLxf/895b7s6sExh8DCHZFpDos2hjKwMt+F4ynsu1+ceybQtqoUF/MsyLoJXrrmPvV2uGVmUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "global-directory": "^4.0.1" + }, + "engines": { + "node": ">=18" } }, - "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 - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "node_modules/@cspell/cspell-service-bus": { + "version": "8.13.1", + "resolved": "https://registry.npmjs.org/@cspell/cspell-service-bus/-/cspell-service-bus-8.13.1.tgz", + "integrity": "sha512-oLFJfxuB1rwGXn3eD5qSF9nf0lHu6YjO0JcrjWhAZQ0r3AsO97gsX50wwCFCw6szVU3rd1cTUktW0KYEZUY6dA==", "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - }, - "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" - } - } + "license": "MIT", + "engines": { + "node": ">=18" } }, - "clone-deep": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", - "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", + "node_modules/@cspell/cspell-types": { + "version": "8.13.1", + "resolved": "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-8.13.1.tgz", + "integrity": "sha512-9dJdmyXLXJVesCJa/DWgwKsEC9p2RRFc6KORcLhNvtm1tE9TvCXiu5jV47sOmYXd6Hwan8IurBXXTz82CLVjPQ==", "dev": true, - "requires": { - "for-own": "^1.0.0", - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.0", - "shallow-clone": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">=18" } }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "code-point-at": { - "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 - }, - "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-ada": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-ada/-/dict-ada-4.0.2.tgz", + "integrity": "sha512-0kENOWQeHjUlfyId/aCM/mKXtkEgV0Zu2RhUXCBr4hHo9F9vph+Uu8Ww2b0i5a4ZixoIkudGA+eJvyxrG1jUpA==", "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "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" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "license": "MIT" }, - "combined-stream": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", - "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "node_modules/@cspell/dict-aws": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-aws/-/dict-aws-4.0.3.tgz", + "integrity": "sha512-0C0RQ4EM29fH0tIYv+EgDQEum0QI6OrmjENC9u98pB8UcnYxGG/SqinuPxo+TgcEuInj0Q73MsBpJ1l5xUnrsw==", "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } + "license": "MIT" }, - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", - "dev": true - }, - "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-bash": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-bash/-/dict-bash-4.1.3.tgz", + "integrity": "sha512-tOdI3QVJDbQSwPjUkOiQFhYcu2eedmX/PtEpVWg0aFps/r6AyjUQINtTgpqMYnYuq8O1QUIQqnpx21aovcgZCw==", "dev": true, - "requires": { - "json-parser": "^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-companies": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@cspell/dict-companies/-/dict-companies-3.1.4.tgz", + "integrity": "sha512-y9e0amzEK36EiiKx3VAA+SHQJPpf2Qv5cCt5eTUSggpTkiFkCh6gRKQ97rVlrKh5GJrqinDwYIJtTsxuh2vy2Q==", + "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-cpp": { + "version": "5.1.12", + "resolved": "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-5.1.12.tgz", + "integrity": "sha512-6lXLOFIa+k/qBcu0bjaE/Kc6v3sh9VhsDOXD1Dalm3zgd0QIMjp5XBmkpSdCAK3pWCPV0Se7ysVLDfCea1BuXg==", "dev": true, - "requires": { - "array-ify": "^1.0.0", - "dot-prop": "^3.0.0" - } + "license": "MIT" }, - "compare-versions": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.4.0.tgz", - "integrity": "sha512-tK69D7oNXXqUW3ZNo/z7NXTEz22TCF0pTE+YF9cxvaAM9XnkLo1fV621xCLrRR6aevJlKxExkss0vWqUCUpqdg==", - "dev": true + "node_modules/@cspell/dict-cryptocurrencies": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-cryptocurrencies/-/dict-cryptocurrencies-5.0.0.tgz", + "integrity": "sha512-Z4ARIw5+bvmShL+4ZrhDzGhnc9znaAGHOEMaB/GURdS/jdoreEDY34wdN0NtdLHDO5KO7GduZnZyqGdRoiSmYA==", + "dev": true, + "license": "MIT" }, - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true + "node_modules/@cspell/dict-csharp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-csharp/-/dict-csharp-4.0.2.tgz", + "integrity": "sha512-1JMofhLK+4p4KairF75D3A924m5ERMgd1GvzhwK2geuYgd2ZKuGW72gvXpIV7aGf52E3Uu1kDXxxGAiZ5uVG7g==", + "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-css": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/@cspell/dict-css/-/dict-css-4.0.12.tgz", + "integrity": "sha512-vGBgPM92MkHQF5/2jsWcnaahOZ+C6OE/fPvd5ScBP72oFY9tn5GLuomcyO0z8vWCr2e0nUSX1OGimPtcQAlvSw==", + "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-dart": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-dart/-/dict-dart-2.0.3.tgz", + "integrity": "sha512-cLkwo1KT5CJY5N5RJVHks2genFkNCl/WLfj+0fFjqNR+tk3tBI1LY7ldr9piCtSFSm4x9pO1x6IV3kRUY1lLiw==", "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } + "license": "MIT" }, - "configstore": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", - "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", + "node_modules/@cspell/dict-data-science": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-data-science/-/dict-data-science-2.0.1.tgz", + "integrity": "sha512-xeutkzK0eBe+LFXOFU2kJeAYO6IuFUc1g7iRLr7HeCmlC4rsdGclwGHh61KmttL3+YHQytYStxaRBdGAXWC8Lw==", "dev": true, - "requires": { - "dot-prop": "^4.1.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" - }, - "dependencies": { - "dot-prop": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", - "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", - "dev": true, - "requires": { - "is-obj": "^1.0.0" - } - } - } + "license": "MIT" }, - "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "node_modules/@cspell/dict-django": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-django/-/dict-django-4.1.0.tgz", + "integrity": "sha512-bKJ4gPyrf+1c78Z0Oc4trEB9MuhcB+Yg+uTTWsvhY6O2ncFYbB/LbEZfqhfmmuK/XJJixXfI1laF2zicyf+l0w==", "dev": true, - "requires": { - "date-now": "^0.1.4" - } + "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-docker": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@cspell/dict-docker/-/dict-docker-1.1.7.tgz", + "integrity": "sha512-XlXHAr822euV36GGsl2J1CkBIVg3fZ6879ZOg5dxTIssuhUOCiV2BuzKZmt6aIFmcdPmR14+9i9Xq+3zuxeX0A==", + "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.0.6", - "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.0.6.tgz", - "integrity": "sha512-1b96x3G67lDKakRvMm+VvYGwgRk+C8aapHKL5iZ/TJzzD/RuyGA2diHNEsR+uPHmQ7/A4Ts7j6N+VNqUoOfksg==", - "dev": true, - "requires": { - "conventional-changelog-angular": "^5.0.3", - "conventional-changelog-atom": "^2.0.1", - "conventional-changelog-codemirror": "^2.0.1", - "conventional-changelog-core": "^3.1.6", - "conventional-changelog-ember": "^2.0.2", - "conventional-changelog-eslint": "^3.0.1", - "conventional-changelog-express": "^2.0.1", - "conventional-changelog-jquery": "^3.0.4", - "conventional-changelog-jshint": "^2.0.1", - "conventional-changelog-preset-loader": "^2.0.2" - }, - "dependencies": { - "conventional-changelog-angular": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.3.tgz", - "integrity": "sha512-YD1xzH7r9yXQte/HF9JBuEDfvjxxwDGGwZU1+ndanbY0oFgA+Po1T9JDSpPLdP0pZT6MhCAsdvFKC4TJ4MTJTA==", - "dev": true, - "requires": { - "compare-func": "^1.3.1", - "q": "^1.5.1" - } - } - } + "node_modules/@cspell/dict-dotnet": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-dotnet/-/dict-dotnet-5.0.2.tgz", + "integrity": "sha512-UD/pO2A2zia/YZJ8Kck/F6YyDSpCMq0YvItpd4YbtDVzPREfTZ48FjZsbYi4Jhzwfvc6o8R56JusAE58P+4sNQ==", + "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-elixir": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-elixir/-/dict-elixir-4.0.3.tgz", + "integrity": "sha512-g+uKLWvOp9IEZvrIvBPTr/oaO6619uH/wyqypqvwpmnmpjcfi8+/hqZH8YNKt15oviK8k4CkINIqNhyndG9d9Q==", "dev": true, - "requires": { - "compare-func": "^1.3.1", - "q": "^1.5.1" - } + "license": "MIT" }, - "conventional-changelog-atom": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.1.tgz", - "integrity": "sha512-9BniJa4gLwL20Sm7HWSNXd0gd9c5qo49gCi8nylLFpqAHhkFTj7NQfROq3f1VpffRtzfTQp4VKU5nxbe2v+eZQ==", + "node_modules/@cspell/dict-en_us": { + "version": "4.3.23", + "resolved": "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-4.3.23.tgz", + "integrity": "sha512-l0SoEQBsi3zDSl3OuL4/apBkxjuj4hLIg/oy6+gZ7LWh03rKdF6VNtSZNXWAmMY+pmb1cGA3ouleTiJIglbsIg==", "dev": true, - "requires": { - "q": "^1.5.1" - } + "license": "MIT" }, - "conventional-changelog-codemirror": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.1.tgz", - "integrity": "sha512-23kT5IZWa+oNoUaDUzVXMYn60MCdOygTA2I+UjnOMiYVhZgmVwNd6ri/yDlmQGXHqbKhNR5NoXdBzSOSGxsgIQ==", + "node_modules/@cspell/dict-en-common-misspellings": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@cspell/dict-en-common-misspellings/-/dict-en-common-misspellings-2.0.4.tgz", + "integrity": "sha512-lvOiRjV/FG4pAGZL3PN2GCVHSTCE92cwhfLGGkOsQtxSmef6WCHfHwp9auafkBlX0yFQSKDfq6/TlpQbjbJBtQ==", "dev": true, - "requires": { - "q": "^1.5.1" - } + "license": "CC BY-SA 4.0" }, - "conventional-changelog-core": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-3.1.6.tgz", - "integrity": "sha512-5teTAZOtJ4HLR6384h50nPAaKdDr+IaU0rnD2Gg2C3MS7hKsEPH8pZxrDNqam9eOSPQg9tET6uZY79zzgSz+ig==", + "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": { - "conventional-changelog-writer": "^4.0.3", - "conventional-commits-parser": "^3.0.1", - "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": "^2.0.2", - "lodash": "^4.2.1", - "normalize-package-data": "^2.3.5", - "q": "^1.5.1", - "read-pkg": "^3.0.0", - "read-pkg-up": "^3.0.0", - "through2": "^2.0.0" - }, - "dependencies": { - "conventional-commits-parser": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.1.tgz", - "integrity": "sha512-P6U5UOvDeidUJ8ebHVDIoXzI7gMlQ1OF/id6oUvp8cnZvOXMt1n8nYl74Ey9YMn0uVQtxmCtjPQawpsssBWtGg==", - "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" - } - }, - "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" - } - }, - "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-changelog-ember": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.2.tgz", - "integrity": "sha512-qtZbA3XefO/n6DDmkYywDYi6wDKNNc98MMl2F9PKSaheJ25Trpi3336W8fDlBhq0X+EJRuseceAdKLEMmuX2tg==", + "node_modules/@cspell/dict-filetypes": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@cspell/dict-filetypes/-/dict-filetypes-3.0.4.tgz", + "integrity": "sha512-IBi8eIVdykoGgIv5wQhOURi5lmCNJq0we6DvqKoPQJHthXbgsuO1qrHSiUVydMiQl/XvcnUWTMeAlVUlUClnVg==", "dev": true, - "requires": { - "q": "^1.5.1" - } + "license": "MIT" }, - "conventional-changelog-eslint": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.1.tgz", - "integrity": "sha512-yH3+bYrtvgKxSFChUBQnKNh9/U9kN2JElYBm253VpYs5wXhPHVc9ENcuVGWijh24nnOkei7wEJmnmUzgZ4ok+A==", + "node_modules/@cspell/dict-fonts": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-fonts/-/dict-fonts-4.0.0.tgz", + "integrity": "sha512-t9V4GeN/m517UZn63kZPUYP3OQg5f0OBLSd3Md5CU3eH1IFogSvTzHHnz4Wqqbv8NNRiBZ3HfdY/pqREZ6br3Q==", "dev": true, - "requires": { - "q": "^1.5.1" - } + "license": "MIT" }, - "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-fsharp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-fsharp/-/dict-fsharp-1.0.1.tgz", + "integrity": "sha512-23xyPcD+j+NnqOjRHgW3IU7Li912SX9wmeefcY0QxukbAxJ/vAN4rBpjSwwYZeQPAn3fxdfdNZs03fg+UM+4yQ==", "dev": true, - "requires": { - "q": "^1.5.1" - } + "license": "MIT" }, - "conventional-changelog-jquery": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.4.tgz", - "integrity": "sha512-IVJGI3MseYoY6eybknnTf9WzeQIKZv7aNTm2KQsiFVJH21bfP2q7XVjfoMibdCg95GmgeFlaygMdeoDDa+ZbEQ==", + "node_modules/@cspell/dict-fullstack": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-fullstack/-/dict-fullstack-3.2.0.tgz", + "integrity": "sha512-sIGQwU6G3rLTo+nx0GKyirR5dQSFeTIzFTOrURw51ISf+jKG9a3OmvsVtc2OANfvEAOLOC9Wfd8WYhmsO8KRDQ==", "dev": true, - "requires": { - "q": "^1.5.1" - } + "license": "MIT" }, - "conventional-changelog-jshint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.1.tgz", - "integrity": "sha512-kRFJsCOZzPFm2tzRHULWP4tauGMvccOlXYf3zGeuSW4U0mZhk5NsjnRZ7xFWrTFPlCLV+PNmHMuXp5atdoZmEg==", + "node_modules/@cspell/dict-gaming-terms": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-gaming-terms/-/dict-gaming-terms-1.0.5.tgz", + "integrity": "sha512-C3riccZDD3d9caJQQs1+MPfrUrQ+0KHdlj9iUR1QD92FgTOF6UxoBpvHUUZ9YSezslcmpFQK4xQQ5FUGS7uWfw==", "dev": true, - "requires": { - "compare-func": "^1.3.1", - "q": "^1.5.1" - } + "license": "MIT" }, - "conventional-changelog-preset-loader": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.0.2.tgz", - "integrity": "sha512-pBY+qnUoJPXAXXqVGwQaVmcye05xi6z231QM98wHWamGAmu/ghkBprQAwmF5bdmyobdVxiLhPY3PrCfSeUNzRQ==", - "dev": true + "node_modules/@cspell/dict-git": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-git/-/dict-git-3.0.0.tgz", + "integrity": "sha512-simGS/lIiXbEaqJu9E2VPoYW1OTC2xrwPPXNXFMa2uo/50av56qOuaxDrZ5eH1LidFXwoc8HROCHYeKoNrDLSw==", + "dev": true, + "license": "MIT" }, - "conventional-changelog-writer": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.3.tgz", - "integrity": "sha512-bIlpSiQtQZ1+nDVHEEh798Erj2jhN/wEjyw9sfxY9es6h7pREE5BNJjfv0hXGH/FTrAsEpHUq4xzK99eePpwuA==", + "node_modules/@cspell/dict-golang": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/@cspell/dict-golang/-/dict-golang-6.0.9.tgz", + "integrity": "sha512-etDt2WQauyEQDA+qPS5QtkYTb2I9l5IfQftAllVoB1aOrT6bxxpHvMEpJ0Hsn/vezxrCqa/BmtUbRxllIxIuSg==", "dev": true, - "requires": { - "compare-func": "^1.3.1", - "conventional-commits-filter": "^2.0.1", - "dateformat": "^3.0.0", - "handlebars": "^4.1.0", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.2.1", - "meow": "^4.0.0", - "semver": "^5.5.0", - "split": "^1.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" - } - } - } + "license": "MIT" }, - "conventional-commits-filter": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.1.tgz", - "integrity": "sha512-92OU8pz/977udhBjgPEbg3sbYzIxMDFTlQT97w7KdhR9igNqdJvy8smmedAAgn4tPiqseFloKkrVfbXCVd+E7A==", + "node_modules/@cspell/dict-google": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-google/-/dict-google-1.0.1.tgz", + "integrity": "sha512-dQr4M3n95uOhtloNSgB9tYYGXGGEGEykkFyRtfcp5pFuEecYUa0BSgtlGKx9RXVtJtKgR+yFT/a5uQSlt8WjqQ==", "dev": true, - "requires": { - "is-subset": "^0.1.1", - "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-haskell": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-haskell/-/dict-haskell-4.0.1.tgz", + "integrity": "sha512-uRrl65mGrOmwT7NxspB4xKXFUenNC7IikmpRZW8Uzqbqcu7ZRCUfstuVH7T1rmjRgRkjcIjE4PC11luDou4wEQ==", "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": "4.0.4", - "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-4.0.4.tgz", - "integrity": "sha512-9mY5Yoblq+ZMqJpBzgS+RpSq+SUfP2miOR3H/NR9drGf08WCrY9B6HAGJZEm6+ThsVP917VHAahSOjM6k1vhPg==", - "dev": true, - "requires": { - "concat-stream": "^1.6.0", - "conventional-changelog-preset-loader": "^2.0.2", - "conventional-commits-filter": "^2.0.1", - "conventional-commits-parser": "^3.0.1", - "git-raw-commits": "2.0.0", - "git-semver-tags": "^2.0.2", - "meow": "^4.0.0", - "q": "^1.5.1" - }, - "dependencies": { - "conventional-commits-parser": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.1.tgz", - "integrity": "sha512-P6U5UOvDeidUJ8ebHVDIoXzI7gMlQ1OF/id6oUvp8cnZvOXMt1n8nYl74Ey9YMn0uVQtxmCtjPQawpsssBWtGg==", - "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" - } - }, - "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" - } - }, - "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/@cspell/dict-html": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-html/-/dict-html-4.0.5.tgz", + "integrity": "sha512-p0brEnRybzSSWi8sGbuVEf7jSTDmXPx7XhQUb5bgG6b54uj+Z0Qf0V2n8b/LWwIPJNd1GygaO9l8k3HTCy1h4w==", + "dev": true, + "license": "MIT" }, - "convert-source-map": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", - "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "node_modules/@cspell/dict-html-symbol-entities": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-html-symbol-entities/-/dict-html-symbol-entities-4.0.0.tgz", + "integrity": "sha512-HGRu+48ErJjoweR5IbcixxETRewrBb0uxQBd6xFGcxbEYCX8CnQFTAmKI5xNaIt2PKaZiJH3ijodGSqbKdsxhw==", "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==", + "node_modules/@cspell/dict-java": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@cspell/dict-java/-/dict-java-5.0.7.tgz", + "integrity": "sha512-ejQ9iJXYIq7R09BScU2y5OUGrSqwcD+J5mHFOKbduuQ5s/Eh/duz45KOzykeMLI6KHPVxhBKpUPBWIsfewECpQ==", "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" - } + "license": "MIT" }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true + "node_modules/@cspell/dict-julia": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-julia/-/dict-julia-1.0.1.tgz", + "integrity": "sha512-4JsCLCRhhLMLiaHpmR7zHFjj1qOauzDI5ZzCNQS31TUMfsOo26jAKDfo0jljFAKgw5M2fEG7sKr8IlPpQAYrmQ==", + "dev": true, + "license": "MIT" }, - "core-js": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz", - "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A==", - "dev": true + "node_modules/@cspell/dict-k8s": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@cspell/dict-k8s/-/dict-k8s-1.0.6.tgz", + "integrity": "sha512-srhVDtwrd799uxMpsPOQqeDJY+gEocgZpoK06EFrb4GRYGhv7lXo9Fb+xQMyQytzOW9dw4DNOEck++nacDuymg==", + "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-latex": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-latex/-/dict-latex-4.0.0.tgz", + "integrity": "sha512-LPY4y6D5oI7D3d+5JMJHK/wxYTQa2lJMSNxps2JtuF8hbAnBQb3igoWEjEbIbRRH1XBM0X8dQqemnjQNCiAtxQ==", + "dev": true, + "license": "MIT" }, - "cosmiconfig": { + "node_modules/@cspell/dict-lorem-ipsum": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz", - "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==", + "resolved": "https://registry.npmjs.org/@cspell/dict-lorem-ipsum/-/dict-lorem-ipsum-4.0.0.tgz", + "integrity": "sha512-1l3yjfNvMzZPibW8A7mQU4kTozwVZVw0AvFEdy+NcqtbxH+TvbSkNMqROOFWrkD2PjnKG0+Ea0tHI2Pi6Gchnw==", "dev": true, - "requires": { - "is-directory": "^0.3.1", - "js-yaml": "^3.9.0", - "parse-json": "^4.0.0", - "require-from-string": "^2.0.1" - } + "license": "MIT" }, - "create-ecdh": { + "node_modules/@cspell/dict-lua": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "resolved": "https://registry.npmjs.org/@cspell/dict-lua/-/dict-lua-4.0.3.tgz", + "integrity": "sha512-lDHKjsrrbqPaea13+G9s0rtXjMO06gPXPYRjRYawbNmo4E/e3XFfVzeci3OQDQNDmf2cPOwt9Ef5lu2lDmwfJg==", "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - } + "license": "MIT" }, - "create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "node_modules/@cspell/dict-makefile": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-makefile/-/dict-makefile-1.0.0.tgz", + "integrity": "sha512-3W9tHPcSbJa6s0bcqWo6VisEDTSN5zOtDbnPabF7rbyjRpNo0uHXHRJQF8gAbFzoTzBBhgkTmrfSiuyQm7vBUQ==", "dev": true, - "requires": { - "capture-stack-trace": "^1.0.0" - } + "license": "MIT" }, - "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/dict-monkeyc": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@cspell/dict-monkeyc/-/dict-monkeyc-1.0.6.tgz", + "integrity": "sha512-oO8ZDu/FtZ55aq9Mb67HtaCnsLn59xvhO/t2mLLTHAp667hJFxpp7bCtr2zOrR1NELzFXmKln/2lw/PvxMSvrA==", "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" }, - "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/dict-node": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-node/-/dict-node-5.0.1.tgz", + "integrity": "sha512-lax/jGz9h3Dv83v8LHa5G0bf6wm8YVRMzbjJPG/9rp7cAGPtdrga+XANFq+B7bY5+jiSA3zvj10LUFCFjnnCCg==", "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" }, - "cross-env": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.0.tgz", - "integrity": "sha512-jtdNFfFW1hB7sMhr/H6rW1Z45LFqyI431m3qU6bFXcQ3Eh7LtBuG3h74o7ohHZ3crrRkkqHlo4jYHFPcjroANg==", + "node_modules/@cspell/dict-npm": { + "version": "5.0.18", + "resolved": "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-5.0.18.tgz", + "integrity": "sha512-weMTyxWpzz19q4wv9n183BtFvdD5fCjtze+bFKpl+4rO/YlPhHL2cXLAeexJz/VDSBecwX4ybTZYoknd1h2J4w==", "dev": true, - "requires": { - "cross-spawn": "^6.0.5", - "is-windows": "^1.0.0" - } + "license": "MIT" }, - "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/@cspell/dict-php": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@cspell/dict-php/-/dict-php-4.0.8.tgz", + "integrity": "sha512-TBw3won4MCBQ2wdu7kvgOCR3dY2Tb+LJHgDUpuquy3WnzGiSDJ4AVelrZdE1xu7mjFJUr4q48aB21YT5uQqPZA==", "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" - } + "license": "MIT" }, - "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/@cspell/dict-powershell": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-powershell/-/dict-powershell-5.0.5.tgz", + "integrity": "sha512-3JVyvMoDJesAATYGOxcUWPbQPUvpZmkinV3m8HL1w1RrjeMVXXuK7U1jhopSneBtLhkU+9HKFwgh9l9xL9mY2Q==", "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" - } + "license": "MIT" }, - "crypto-random-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", - "dev": true - }, - "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/@cspell/dict-public-licenses": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@cspell/dict-public-licenses/-/dict-public-licenses-2.0.7.tgz", + "integrity": "sha512-KlBXuGcN3LE7tQi/GEqKiDewWGGuopiAD0zRK1QilOx5Co8XAvs044gk4MNIQftc8r0nHeUI+irJKLGcR36DIQ==", "dev": true, - "requires": { - "postcss": "^7.0.5" - } + "license": "MIT" }, - "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/@cspell/dict-python": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-4.2.3.tgz", + "integrity": "sha512-C1CPX9wwEGgcHv/p7KfjuIOp1G6KNyx5gWYweAd6/KPv+ZpeM1v572zFUTmpO8WDuAfKFf00nqYL8/GmCENWBw==", "dev": true, - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^5.0.0-rc.4" - }, + "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" - } - } + "@cspell/dict-data-science": "^2.0.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/@cspell/dict-r": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-r/-/dict-r-2.0.1.tgz", + "integrity": "sha512-KCmKaeYMLm2Ip79mlYPc8p+B2uzwBp4KMkzeLd5E6jUlCL93Y5Nvq68wV5fRLDRTf7N1LvofkVFWfDcednFOgA==", "dev": true, - "requires": { - "postcss": "^7.0.5" - } - }, - "cssdb": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.3.0.tgz", - "integrity": "sha512-VHPES/+c9s+I0ryNj+PXvp84nz+ms843z/efpaEINwP/QfGsINL3gpLp5qjapzDNzNzbXxur8uxKxSXImrg4ag==", - "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.6", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.6.tgz", - "integrity": "sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A==", - "dev": true + "license": "MIT" }, - "cssstyle": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.2.1.tgz", - "integrity": "sha512-7DYm8qe+gPx/h77QlCyFmX80+fGaE/6A/Ekl0zaszYOubvySO2saYFdQ78P29D0UsULxFKCetDGNaNRUdSF+2A==", + "node_modules/@cspell/dict-ruby": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-ruby/-/dict-ruby-5.0.2.tgz", + "integrity": "sha512-cIh8KTjpldzFzKGgrqUX4bFyav5lC52hXDKo4LbRuMVncs3zg4hcSf4HtURY+f2AfEZzN6ZKzXafQpThq3dl2g==", "dev": true, - "requires": { - "cssom": "0.3.x" - } + "license": "MIT" }, - "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/@cspell/dict-rust": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-rust/-/dict-rust-4.0.5.tgz", + "integrity": "sha512-DIvlPRDemjKQy8rCqftAgGNZxY5Bg+Ps7qAIJjxkSjmMETyDgl0KTVuaJPt7EK4jJt6uCZ4ILy96npsHDPwoXA==", "dev": true, - "requires": { - "array-find-index": "^1.0.1" - } - }, - "cyclist": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", - "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", - "dev": true + "license": "MIT" }, - "dargs": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", - "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=", + "node_modules/@cspell/dict-scala": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-scala/-/dict-scala-5.0.3.tgz", + "integrity": "sha512-4yGb4AInT99rqprxVNT9TYb1YSpq58Owzq7zi3ZS5T0u899Y4VsxsBiOgHnQ/4W+ygi+sp+oqef8w8nABR2lkg==", "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } + "license": "MIT" }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "node_modules/@cspell/dict-software-terms": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-4.0.4.tgz", + "integrity": "sha512-AHr3Wxa4pxbpKgxhyQseBmoJhdyeraeRGdQn0e8YD5pz4J6Mu47MLzKysasDKWK/yzmHQfwAsb2zm2k+ItMEUw==", "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } + "license": "MIT" }, - "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.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", - "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - } - } + "node_modules/@cspell/dict-sql": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@cspell/dict-sql/-/dict-sql-2.1.4.tgz", + "integrity": "sha512-wsrNK6UBQ92IzQ4SqQqgM04BEYzqVsk3qZH3ZgascaqDtUgK6GI+z3Czi0rQ+9Qe2zKiklGnGMC8sJwYdlIw7g==", + "dev": true, + "license": "MIT" }, - "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 + "node_modules/@cspell/dict-svelte": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-svelte/-/dict-svelte-1.0.2.tgz", + "integrity": "sha512-rPJmnn/GsDs0btNvrRBciOhngKV98yZ9SHmg8qI6HLS8hZKvcXc0LMsf9LLuMK1TmS2+WQFAan6qeqg6bBxL2Q==", + "dev": true, + "license": "MIT" }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", - "dev": true + "node_modules/@cspell/dict-swift": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-swift/-/dict-swift-2.0.1.tgz", + "integrity": "sha512-gxrCMUOndOk7xZFmXNtkCEeroZRnS2VbeaIPiymGRHj5H+qfTAzAKxtv7jJbVA3YYvEzWcVE2oKDP4wcbhIERw==", + "dev": true, + "license": "MIT" }, - "dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", - "dev": true + "node_modules/@cspell/dict-terraform": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-terraform/-/dict-terraform-1.0.0.tgz", + "integrity": "sha512-Ak+vy4HP/bOgzf06BAMC30+ZvL9mzv21xLM2XtfnBLTDJGdxlk/nK0U6QT8VfFLqJ0ZZSpyOxGsUebWDCTr/zQ==", + "dev": true, + "license": "MIT" }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/@cspell/dict-typescript": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@cspell/dict-typescript/-/dict-typescript-3.1.6.tgz", + "integrity": "sha512-1beC6O4P/j23VuxX+i0+F7XqPVc3hhiAzGJHEKqnWf5cWAXQtg0xz3xQJ5MvYx2a7iLaSa+lu7+05vG9UHyu9Q==", "dev": true, - "requires": { - "ms": "2.0.0" - } + "license": "MIT" }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true + "node_modules/@cspell/dict-vue": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-vue/-/dict-vue-3.0.0.tgz", + "integrity": "sha512-niiEMPWPV9IeRBRzZ0TBZmNnkK3olkOPYxC1Ny2AX4TGlYRajcW0WUtoSHmvvjZNfWLSg2L6ruiBeuPSbjnG6A==", + "dev": true, + "license": "MIT" }, - "decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "node_modules/@cspell/dynamic-import": { + "version": "8.13.1", + "resolved": "https://registry.npmjs.org/@cspell/dynamic-import/-/dynamic-import-8.13.1.tgz", + "integrity": "sha512-jMqJHWmQy+in99JMSFlaGV9P033gCx7DCZvGO/ZSeZ2EatrUTanJk3oTG1TZknZydb0nnxr1mgTWXN7PCAAXDg==", "dev": true, - "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, + "license": "MIT", "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 - } + "import-meta-resolve": "^4.1.0" + }, + "engines": { + "node": ">=18.0" } }, - "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 - }, - "default-require-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", - "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", + "node_modules/@cspell/strong-weak-map": { + "version": "8.13.1", + "resolved": "https://registry.npmjs.org/@cspell/strong-weak-map/-/strong-weak-map-8.13.1.tgz", + "integrity": "sha512-ga1ibI9ZLJWNszfP7e6qQ8gnoQOP9rE/clALMAim9ssO6cmMhEEm+i1ROH4nsDfThd6sVlUJ0IOtx5dEqPmWxw==", "dev": true, - "requires": { - "strip-bom": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">=18" } }, - "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/@cspell/url": { + "version": "8.13.1", + "resolved": "https://registry.npmjs.org/@cspell/url/-/url-8.13.1.tgz", + "integrity": "sha512-cCyojz5ovgGCexhez2urle4Q1UOEsp96lvl4pDmWNDHa/6n8dqiIn60SVzQIsAHzJ4yEV077RSaIrTlq/T+oSQ==", "dev": true, - "requires": { - "object-keys": "^1.0.12" + "license": "MIT", + "engines": { + "node": ">=18.0" } }, - "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/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" }, - "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", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1" } }, - "del": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-4.0.0.tgz", - "integrity": "sha512-/BnSJ+SuZyLu7xMn48kZY0nMXDi+5KNmR4g8n21Wivsl8+B9njV6/5kcTNE9juSprp0zRWBU28JuHUq0FqK1Nw==", - "dev": true, - "requires": { - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.2" - }, - "dependencies": { - "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/@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, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "license": "MIT-0", + "engines": { + "node": "^14 || ^16 || >=18" } }, - "del-cli": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/del-cli/-/del-cli-1.1.0.tgz", - "integrity": "sha1-J1V9aaC335ncuqHjSgnmrGWR0sQ=", + "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": { - "del": "^3.0.0", - "meow": "^3.6.0", - "update-notifier": "^2.1.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" - } - }, - "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", - "dev": true, - "requires": { - "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" - } - }, - "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" - } - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", - "dev": true, - "requires": { - "is-path-inside": "^1.0.0" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" }, - "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" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "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" - } - }, - "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", - "dev": true - }, - "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" - }, - "dependencies": { - "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 + { + "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" } }, - "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 - }, - "des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "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": { - "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", + "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" } }, - "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.0.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.0.0.tgz", - "integrity": "sha512-46OkIuVGBBnrC0soO/4LHu5LHGHx0uhP65OVz8XOrAJpqiCB2aVIuESvjI1F9oqebuvY8lekS1pt6TN7vt7qsw==", - "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/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": { - "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", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^2.4.1" } }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "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": { - "esutils": "^2.0.2" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18" } }, - "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": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "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": { - "webidl-conversions": "^4.0.2" + "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" } }, - "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-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": { - "is-obj": "^1.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" } }, - "dotgitignore": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-1.0.3.tgz", - "integrity": "sha512-eu5XjSstm0WXQsARgo6kPjkINYZlOUW+z/KtAAIBjHa5mUpMPrxJytbPIndWz6GubBuuuH5ljtVcXKnVnH5q8w==", + "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": { - "find-up": "^2.1.0", - "minimatch": "^3.0.4" + "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" } }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "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": { - "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-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" } }, - "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-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, - "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-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" } }, - "editorconfig": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.2.tgz", - "integrity": "sha512-GWjSI19PVJAM9IZRGOS+YKI8LN+/sjkSjNyvxL5ucqP9/IqtYNXBaQ/6c/hkPNYQHyOHra2KoXZI/JVpuqwmcQ==", + "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": { - "@types/node": "^10.11.7", - "@types/semver": "^5.5.0", - "commander": "^2.19.0", - "lru-cache": "^4.1.3", - "semver": "^5.6.0", - "sigmund": "^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-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" } }, - "electron-to-chromium": { - "version": "1.3.113", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz", - "integrity": "sha512-De+lPAxEcpxvqPTyZAXELNpRZXABRxf+uL/rSykstQhzj/B0l1150G/ExIIxKc16lI89Hgz81J0BHAcbTqK49g==", - "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.4.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", - "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "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": { - "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" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/utilities": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "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 - }, - "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.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "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": { - "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/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" } }, - "enhanced-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", - "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "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, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.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": { + "@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" } }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "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, - "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-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": { - "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": { + "@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" } }, - "es-abstract": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", - "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", + "node_modules/@csstools/postcss-initial": { + "version": "1.0.1", + "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": { - "es-to-primitive": "^1.2.0", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "is-callable": "^1.1.4", - "is-regex": "^1.0.4", - "object-keys": "^1.0.12" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "es-to-primitive": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", - "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "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": { - "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/selector-specificity": "^3.1.1", + "postcss-selector-parser": "^6.0.13" + }, + "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.11.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.1.tgz", - "integrity": "sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw==", + "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": { - "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/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" } }, - "eslint": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.15.1.tgz", - "integrity": "sha512-NTcm6vQ+PTgN3UBsALw5BMhgO6i5EpIjQF/Xb5tIh3sk9QhrFafujUOczGz4J24JBlzWclSB9Vmx8d+9Z6bFCg==", + "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": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.9.1", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^4.0.2", - "eslint-utils": "^1.3.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^5.0.1", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.7.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^6.2.2", - "js-yaml": "^3.12.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.11", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^5.5.1", - "strip-ansi": "^4.0.0", - "strip-json-comments": "^2.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0" - }, - "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 - }, - "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" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "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" - } + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "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/postcss-logical-overflow": { + "version": "1.0.1", + "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": { - "debug": "^2.6.9", - "resolve": "^1.5.0" - } - }, - "eslint-module-utils": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.3.0.tgz", - "integrity": "sha512-lmDJgeOOjk8hObTysjqH7wyMi+nsHwwvfBykwfhjR1LNdd7C2uFJBvx4OpWYpXOw4df1yE1cDEVd1yLHitk34w==", - "dev": true, - "requires": { - "debug": "^2.6.8", - "pkg-dir": "^2.0.0" - } - }, - "eslint-plugin-import": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.16.0.tgz", - "integrity": "sha512-z6oqWlf1x5GkHIFgrSvtmudnqM6Q60KM4KvpWi5ubonMjycLjndvd5+8VAZIsTlHC03djdgJuyKG6XO577px6A==", - "dev": true, - "requires": { - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.2", - "eslint-module-utils": "^2.3.0", - "has": "^1.0.3", - "lodash": "^4.17.11", - "minimatch": "^3.0.4", - "read-pkg-up": "^2.0.0", - "resolve": "^1.9.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" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" }, - "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 - }, - "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" - } - }, - "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" } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "eslint-plugin-prettier": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.0.1.tgz", - "integrity": "sha512-/PMttrarPAY78PLvV3xfWibMOdMDl57hmlQ2XqFeA37wd+CJ7WSxV7txqjVPHi/AAFKd2lX0ZqfsOc/i5yFCSQ==", + "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": { - "prettier-linter-helpers": "^1.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "eslint-scope": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.2.tgz", - "integrity": "sha512-5q1+B/ogmHl8+paxtOKx38Z8LtWkVGuNt3+GQNErqwLl6ViNp/gdJGMCjZNxZ8j/VYjDNZ2Fo+eQc1TAVPIzbg==", + "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": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "eslint-utils": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz", - "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==", - "dev": true - }, - "eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", - "dev": true - }, - "espree": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", - "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", + "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": { - "acorn": "^6.0.7", - "acorn-jsx": "^5.0.0", - "eslint-visitor-keys": "^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" } }, - "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/@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": { - "estraverse": "^4.0.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" } }, - "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/@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": { - "estraverse": "^4.1.0" + "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" } }, - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "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 - }, - "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/@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": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/utilities": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "exec-sh": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", - "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", - "dev": true, - "requires": { - "merge": "^1.2.0" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.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" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } + "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, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } + ], + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true + "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, + "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" + } }, - "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" - } + "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, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" }, - "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" - } + { + "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" } }, - "expect": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-24.1.0.tgz", - "integrity": "sha512-lVcAPhaYkQcIyMS+F8RVwzbm1jro20IG8OkvxQ6f1JfqhVZyyudCwYogQ7wnktlf14iF3ii7ArIUO/mqvrW9Gw==", + "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": { - "ansi-styles": "^3.2.0", - "jest-get-type": "^24.0.0", - "jest-matcher-utils": "^24.0.0", - "jest-message-util": "^24.0.0", - "jest-regex-util": "^24.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" } }, - "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/@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, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "postcss-selector-parser": "^6.0.13" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } }, - "extend-shallow": { - "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" - } + "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, + "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" } }, - "external-editor": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", - "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", + "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": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" + "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" } }, - "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" - } + "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, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" }, - "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" - } + { + "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" + } + }, + "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, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" }, - "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" - } + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "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, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" }, - "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" - } + { + "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/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" }, - "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", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.13" } }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true + "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" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } }, - "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/@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, + "dependencies": { + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" + } }, - "fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } }, - "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/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } }, - "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/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "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" + } }, - "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/@eslint/eslintrc/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, - "requires": { - "bser": "^2.0.0" + "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" } }, - "figgy-pudding": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", - "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "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 }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "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": { - "escape-string-regexp": "^1.0.5" + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/@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, - "requires": { - "flat-cache": "^2.0.1" + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "file-loader": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz", - "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==", + "node_modules/@eslint/eslintrc/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 + }, + "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, - "requires": { - "loader-utils": "^1.0.2", - "schema-utils": "^1.0.0" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "fileset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", - "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true, - "requires": { - "glob": "^7.0.3", - "minimatch": "^3.0.3" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "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/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" } }, - "find-cache-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz", - "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.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.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", - "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.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "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/@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, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "find-parent-dir": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.0.tgz", - "integrity": "sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=", + "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==", "dev": true }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "node_modules/@hutson/parse-repository-url": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", + "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", "dev": true, - "requires": { - "locate-path": "^2.0.0" + "engines": { + "node": ">=6.9.0" } }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "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, - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" + "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" } }, - "flatted": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.0.tgz", - "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==", - "dev": true - }, - "flatten": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", - "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", - "dev": true + "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, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "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/@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": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "fn-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fn-name/-/fn-name-2.0.1.tgz", - "integrity": "sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=", - "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, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "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/@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, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } }, - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "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": { - "for-in": "^1.0.1" + "engines": { + "node": ">=8" } }, - "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/@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, + "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/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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/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, - "requires": { - "map-cache": "^0.2.2" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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/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": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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/console/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": { - "null-check": "^1.0.0" + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "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=", + "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 }, - "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/console/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, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "engines": { + "node": ">=8" } }, - "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/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, + "engines": { + "node": ">=8" + } }, - "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/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, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "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/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } }, - "fsevents": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz", - "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==", + "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, - "optional": true, - "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" + "dependencies": { + "color-convert": "^2.0.1" }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "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, "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": "2.6.9", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "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, - "optional": true - }, - "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.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.2.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.10.3", - "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" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.2.0", - "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 - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "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, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "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, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, + "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/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, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "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 + }, + "node_modules/@jest/core/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, + "engines": { + "node": ">=8" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { "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/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, + "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/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "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/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, + "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 + }, + "node_modules/@jest/reporters/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/istanbul-lib-instrument": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", + "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", + "dev": true, + "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/@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, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.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, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.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, + "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, + "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, + "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 + }, + "node_modules/@jest/transform/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, + "engines": { + "node": ">=8" + } + }, + "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, + "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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.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, + "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, + "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, + "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 + }, + "node_modules/@jest/types/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, + "engines": { + "node": ">=8" + } + }, + "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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "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, + "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, + "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, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "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, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jsonjoy.com/base64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.1.tgz", + "integrity": "sha512-LnFjVChaGY8cZVMwAIMjvA1XwQjZ/zIXHyh28IyJkyNkzof4Dkm1+KN9UIm3lHhREH4vs7XwZ0NpkZKnwOtEfg==", + "dev": true, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pack": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.0.3.tgz", + "integrity": "sha512-Q0SPAdmK6s5Fe3e1kcNvwNyk6e2+CxM8XZdGbf4abZG7nUO05KSie3/iX29loTBuY+75uVP6RixDSPVpotfzmQ==", + "dev": true, + "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.3.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.3.0.tgz", + "integrity": "sha512-Cebt4Vk7k1xHy87kHY7KSPLT77A7Ev7IfOblyLZhtYEhrdQ6fX4EoLq3xOQ3O/DRMEh2ok5nyC180E+ABS8Wmw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "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, + "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, + "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, + "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, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "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, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "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, + "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.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "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, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/conventional-commits-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", + "integrity": "sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "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 + }, + "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, + "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, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "dev": true, + "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 + }, + "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 + }, + "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 + }, + "node_modules/@types/node": { + "version": "20.12.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.3.tgz", + "integrity": "sha512-sD+ia2ubTeWrOu+YMF+MTAB7E+O7qsMqAbMfW7DG3K1URwhZ5hN1pLlRVGbf4wDFzSfikL05M17EyorS86jShw==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "dev": true, + "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 + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.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, + "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 + }, + "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 + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "dev": true + }, + "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-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "dev": true, + "dependencies": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" + } + }, + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^8" + } + }, + "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, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "dev": true, + "engines": { + "node": ">=0.4.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 + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "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, + "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": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "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, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "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, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "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, + "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, + "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, + "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, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "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, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "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 + }, + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "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.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/autoprefixer": { + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "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, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.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, + "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, + "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, + "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 + }, + "node_modules/babel-jest/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, + "engines": { + "node": ">=8" + } + }, + "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, + "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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz", + "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.1", + "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, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz", + "integrity": "sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@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-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.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 + }, + "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, + "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, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/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, + "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.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "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, + "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 + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "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, + "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, + "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, + "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.30001649", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001649.tgz", + "integrity": "sha512-fJegqZZ0ZX8HOWr6rcafGr72+xcgJKI9oWfDW5DrD7ExUtgZC7a7R7ZYmZqplh7XDocFdGeIFn7roAxhOeYrPQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "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, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "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, + "dependencies": { + "chalk": "^5.2.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" + } + }, + "node_modules/chalk-template/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?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, + "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, + "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.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, + "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, + "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, + "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, + "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, + "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, + "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 + }, + "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 + }, + "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, + "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, + "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, + "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, + "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 + }, + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dev": true, + "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, + "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 + }, + "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, + "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, + "dependencies": { + "color": "^3.1.3", + "text-hex": "1.0.x" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "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.4", + "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-4.2.4.tgz", + "integrity": "sha512-E5AjpSW+O+N5T2GsOQMHLLsJvrYw6G/AFt9GvU6NguEAfzKShh7hRiLtVo6S9KbRpFMGqE5ojo0/hE+sdteWvQ==", + "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, + "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 + }, + "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" + ], + "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, + "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, + "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, + "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, + "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 + }, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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 + }, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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 + }, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "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, + "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, + "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, + "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, + "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, + "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, + "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 + }, + "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, + "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, + "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, + "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, + "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, + "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 + }, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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 + }, + "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, + "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, + "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, + "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, + "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, + "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, + "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 + }, + "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, + "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 + }, + "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, + "dependencies": { + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/core-js-compat": { + "version": "3.38.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.0.tgz", + "integrity": "sha512-75LAicdLa4OJVwFxFbQR3NdnZjNgX6ILpVcVzcC4T2smerB5lELMrJQQQoWV6TiuC/vlaFqgU2tKQx9w5s0e0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3" + }, + "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 + }, + "node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "dev": true, + "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": "5.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-5.0.0.tgz", + "integrity": "sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==", + "dev": true, + "dependencies": { + "jiti": "^1.19.1" + }, + "engines": { + "node": ">=v16" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=8.2", + "typescript": ">=4" + } + }, + "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 + }, + "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, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-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, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/create-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, + "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/create-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, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/create-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 + }, + "node_modules/create-jest/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/create-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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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, + "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.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cspell": { + "version": "8.13.1", + "resolved": "https://registry.npmjs.org/cspell/-/cspell-8.13.1.tgz", + "integrity": "sha512-Bqppilpwx9xt3jZPaYcqe1JPteNmfKhx9pw9YglZEePDUzdiJQNVIfs31589GAnXjgdqqctR8N87ffLcaBNPXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/cspell-json-reporter": "8.13.1", + "@cspell/cspell-pipe": "8.13.1", + "@cspell/cspell-types": "8.13.1", + "@cspell/dynamic-import": "8.13.1", + "@cspell/url": "8.13.1", + "chalk": "^5.3.0", + "chalk-template": "^1.1.0", + "commander": "^12.1.0", + "cspell-dictionary": "8.13.1", + "cspell-gitignore": "8.13.1", + "cspell-glob": "8.13.1", + "cspell-io": "8.13.1", + "cspell-lib": "8.13.1", + "fast-glob": "^3.3.2", + "fast-json-stable-stringify": "^2.1.0", + "file-entry-cache": "^9.0.0", + "get-stdin": "^9.0.0", + "semver": "^7.6.3", + "strip-ansi": "^7.1.0" + }, + "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.13.1", + "resolved": "https://registry.npmjs.org/cspell-config-lib/-/cspell-config-lib-8.13.1.tgz", + "integrity": "sha512-sXUFOyxvk+qDkoQdFkVEqj1hfQWzMi+tbi6ksiotQaqpm7r+YitZLSgwJjN4xgDO/rTLyP70k9fagdZ67MVZbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/cspell-types": "8.13.1", + "comment-json": "^4.2.4", + "yaml": "^2.5.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-dictionary": { + "version": "8.13.1", + "resolved": "https://registry.npmjs.org/cspell-dictionary/-/cspell-dictionary-8.13.1.tgz", + "integrity": "sha512-Z0T4J4ahOJaHmWq83w24KXGik1zeauO5WvDRyzDyaSgpbA5MN2hN98LvxaIx72g3I+trtRK77XFcKginuME9EA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/cspell-pipe": "8.13.1", + "@cspell/cspell-types": "8.13.1", + "cspell-trie-lib": "8.13.1", + "fast-equals": "^5.0.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-gitignore": { + "version": "8.13.1", + "resolved": "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-8.13.1.tgz", + "integrity": "sha512-XyZ3X5d6x0gkWtNXSAQRcPMG41bEdLx9cTgZCYCJhEZCesU1VpNm60F3oc11dMLkO+BqPH3An+AO/YEIiaje3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/url": "8.13.1", + "cspell-glob": "8.13.1", + "cspell-io": "8.13.1", + "find-up-simple": "^1.0.0" + }, + "bin": { + "cspell-gitignore": "bin.mjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-glob": { + "version": "8.13.1", + "resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-8.13.1.tgz", + "integrity": "sha512-rW1A3t7YvPXxcC4z1pp1m9coeWzUVUmRjUw3vMNGlEDC2zecB39KKbEqesziBqnBceNAY7O5itllIGFKr03vqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/url": "8.13.1", + "micromatch": "^4.0.7" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-grammar": { + "version": "8.13.1", + "resolved": "https://registry.npmjs.org/cspell-grammar/-/cspell-grammar-8.13.1.tgz", + "integrity": "sha512-HUkd24bulvBwee1UNBurxGlPUOiywb9pB34iXXoxFWuloHohZ/DuFlE8B/31ZtjW48ffEYIu3QZfWhcnD8e81w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/cspell-pipe": "8.13.1", + "@cspell/cspell-types": "8.13.1" + }, + "bin": { + "cspell-grammar": "bin.mjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-io": { + "version": "8.13.1", + "resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-8.13.1.tgz", + "integrity": "sha512-t2sgZuWGBzPSOAStfvz/U3KoFEfDxEt1cXZj0Kd0Vs36v2uoLktm6ihMe7XNFu7zIdOFSajsYQ8Bi4RSLPGPxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/cspell-service-bus": "8.13.1", + "@cspell/url": "8.13.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-lib": { + "version": "8.13.1", + "resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-8.13.1.tgz", + "integrity": "sha512-H1HHG1pmATSeAaY0KmQ0xnkbSqJLvh9QpXWARDLWKUBvtE+/l44H4yVhIp/No3rM7PKMmb82GuSJzMaoIhHFLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/cspell-bundled-dicts": "8.13.1", + "@cspell/cspell-pipe": "8.13.1", + "@cspell/cspell-resolver": "8.13.1", + "@cspell/cspell-types": "8.13.1", + "@cspell/dynamic-import": "8.13.1", + "@cspell/strong-weak-map": "8.13.1", + "@cspell/url": "8.13.1", + "clear-module": "^4.1.2", + "comment-json": "^4.2.4", + "cspell-config-lib": "8.13.1", + "cspell-dictionary": "8.13.1", + "cspell-glob": "8.13.1", + "cspell-grammar": "8.13.1", + "cspell-io": "8.13.1", + "cspell-trie-lib": "8.13.1", + "env-paths": "^3.0.0", + "fast-equals": "^5.0.1", + "gensequence": "^7.0.0", + "import-fresh": "^3.3.0", + "resolve-from": "^5.0.0", + "vscode-languageserver-textdocument": "^1.0.12", + "vscode-uri": "^3.0.8", + "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.13.1", + "resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-8.13.1.tgz", + "integrity": "sha512-2moCsIYDmMT7hp5Non3CvWatfXptFWCuxjbXQGDNvWJ2Cj3oso/oBe4802GJv5GEenv9QBWmEtum/E7rFcx4JA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/cspell-pipe": "8.13.1", + "@cspell/cspell-types": "8.13.1", + "gensequence": "^7.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/cspell/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/cspell/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell/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, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "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" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "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" + }, + { + "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" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/cssdb": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-8.1.0.tgz", + "integrity": "sha512-BQN57lfS4dYt2iL0LgyrlDbefZKEtUyrO8rbzrbGrqBk6OoyNTQLF+porY9DrpDBjLo4NEvj2IJttC7vf3x+Ew==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "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==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/dargs": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-8.1.0.tgz", + "integrity": "sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "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, + "engines": { + "node": "*" + } + }, + "node_modules/debug": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": 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, + "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, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + }, + "node_modules/dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": 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 + }, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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 + }, + "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, + "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, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "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, + "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, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "deprecated": "Use your platform's native DOMException instead", + "dev": true, + "dependencies": { + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "engines": { + "node": ">=4" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.4.tgz", + "integrity": "sha512-orzA81VqLyIGUEA77YkVA1D+N+nNfl2isJVjjmOyrlxuooZ19ynb+dOlaDTqd/idKRS9lDCSBmtzM+kyCsMnkA==", + "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, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", + "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", + "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, + "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 + }, + "node_modules/enhanced-resolve": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "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, + "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, + "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, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "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-check/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/es-check/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "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, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.0.tgz", + "integrity": "sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==", + "dev": true + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@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, + "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, + "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, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", + "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", + "dev": true, + "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, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "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.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "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, + "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, + "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, + "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, + "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, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/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, + "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/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, + "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 + }, + "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, + "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, + "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 + }, + "node_modules/eslint/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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "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, + "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, + "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, + "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, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/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, + "engines": { + "node": ">=8" + } + }, + "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, + "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, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/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 + }, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "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, + "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, + "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, + "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, + "engines": { + "node": ">=0.8.x" + } + }, + "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, + "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/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.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 + }, + "node_modules/fast-equals": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.0.1.tgz", + "integrity": "sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "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.4" + }, + "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 + }, + "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 + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "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, + "dependencies": { + "bser": "2.1.1" + } + }, + "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 + }, + "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, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-entry-cache": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-9.0.0.tgz", + "integrity": "sha512-6MgEugi8p2tiUhqO7GnPsmbCCzj0YRCwwaTbpGRyKZesjRSzkqkAE9fPp7V2yMs5hwfgbQLgdvSSkGNg1s5Uvw==", + "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, + "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, + "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/find-up-simple": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.0.tgz", + "integrity": "sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==", + "dev": true, + "license": "MIT", + "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.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "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 + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "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, + "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 + }, + "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 + }, + "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, + "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, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "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, + "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, + "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, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", + "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.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, + "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, + "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, + "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, + "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, + "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 + }, + "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 + }, + "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, + "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, + "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 + }, + "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, + "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, + "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 + }, + "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, + "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, + "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, + "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, + "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 + }, + "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, + "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, + "engines": { + "node": ">=10" + } + }, + "node_modules/get-stdin": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "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, + "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, + "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, + "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, + "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, + "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, + "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 + }, + "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, + "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, + "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, + "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, + "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, + "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 + }, + "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, + "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, + "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 + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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, + "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 + }, + "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, + "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.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "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, + "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, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "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 + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dev": true, + "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, + "engines": { + "node": ">=6" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "engines": { + "node": ">=4" + } + }, + "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, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "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, + "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, + "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 + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "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 + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "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, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/husky": { + "version": "9.1.4", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.4.tgz", + "integrity": "sha512-bho94YyReb4JV7LYWRWxZ/xr6TtOTt8cMfmQ39MQYJ7f/YE268s3GdghGwi+y4zAeqewE5zYLvuhV0M0ijsDEA==", + "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, + "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, + "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==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "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, + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/immutable": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", + "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==", + "dev": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "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, + "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, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "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, + "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, + "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==", + "dev": true, + "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 + }, + "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, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "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 + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "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, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "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, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "engines": { + "node": ">=6" + } + }, + "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, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "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.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "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, + "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, + "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, + "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, + "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 + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "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, + "dependencies": { + "text-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "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 + }, + "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 + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/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, + "bin": { + "semver": "bin/semver.js" + } + }, + "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, + "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/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, + "engines": { + "node": ">=8" + } + }, + "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, + "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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "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, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { "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-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dev": true, + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-changed-files/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "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/jest-changed-files/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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-changed-files/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, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/jest-changed-files/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, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-changed-files/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-changed-files/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, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/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, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-changed-files/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 + }, + "node_modules/jest-changed-files/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.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, + "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, + "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, + "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 + }, + "node_modules/jest-circus/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, + "engines": { + "node": ">=8" + } + }, + "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, + "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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { "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/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, + "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, + "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, + "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 + }, + "node_modules/jest-cli/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, + "engines": { + "node": ">=8" + } + }, + "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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { "optional": true }, - "yallist": { - "version": "3.0.3", - "bundled": true, - "dev": true, + "ts-node": { "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/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, + "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/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "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, + "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 + }, + "node_modules/jest-config/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, + "engines": { + "node": ">=8" + } + }, + "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, + "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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.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, + "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, + "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, + "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 + }, + "node_modules/jest-diff/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, + "engines": { + "node": ">=8" + } + }, + "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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "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/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, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "g-status": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/g-status/-/g-status-2.0.2.tgz", - "integrity": "sha512-kQoE9qH+T1AHKgSSD0Hkv98bobE90ILQcXAF4wvGgsr7uFqNvwmh8j+Lq3l0RVt3E3HjSbv2B9biEGcEtpHLCA==", + "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, - "requires": { - "arrify": "^1.0.1", - "matcher": "^1.0.0", - "simple-git": "^1.85.0" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true + "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, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "get-own-enumerable-property-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz", - "integrity": "sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg==", + "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 }, - "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/jest-each/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, - "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" + "engines": { + "node": ">=8" + } + }, + "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, + "dependencies": { + "has-flag": "^4.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", + "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", + "dev": true, "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 + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0", + "jsdom": "^20.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true } } }, - "get-stdin": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", - "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=", - "dev": true + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "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/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, - "requires": { - "assert-plus": "^1.0.0" + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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/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, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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/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, - "requires": { - "gitconfiglocal": "^1.0.0", - "pify": "^2.3.0" + "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, "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "git-semver-tags": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.2.tgz", - "integrity": "sha512-34lMF7Yo1xEmsK2EkbArdoU79umpvm0MfzaDkSNYSJqtM5QLAVTPWgpiXSVI5o/O9EvZPSrP4Zvnec/CqhSd5w==", - "dev": true, - "requires": { - "meow": "^4.0.0", - "semver": "^5.5.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/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 + }, + "node_modules/jest-matcher-utils/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, + "engines": { + "node": ">=8" } }, - "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/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, - "requires": { - "parse-github-url": "^1.0.2", - "remote-origin-url": "^1.0.0" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "gitconfiglocal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", - "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, - "requires": { - "ini": "^1.3.2" + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "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, - "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" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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/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, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=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/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, - "requires": { - "ini": "^1.3.4" + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "globals": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz", - "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==", + "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 }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } + "node_modules/jest-message-util/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, + "engines": { + "node": ">=8" } }, - "got": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "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, - "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" + "engines": { + "node": ">=8" } }, - "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", - "dev": true + "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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "handlebars": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.0.tgz", - "integrity": "sha512-l2jRuU1NAWK6AW5qqcTATWQJvNPEwkM7NEKSiv/gqOsoSQbVoWyqVEY5GS+XPQ88zLNmqASRpzfdm8d79hJS+w==", + "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, - "requires": { - "async": "^2.5.0", - "optimist": "^0.6.1", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4" + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "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/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.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/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "dev": true, - "requires": { - "function-bind": "^1.1.1" + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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/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, - "requires": { - "ansi-regex": "^2.0.0" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "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, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, - "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "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, + "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 }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "node_modules/jest-resolve/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, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "engines": { + "node": ">=8" } }, - "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/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, + "engines": { + "node": ">=8" } }, - "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/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, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "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/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.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/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, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "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, - "requires": { - "parse-passwd": "^1.0.0" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "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, + "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 }, - "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/jest-runner/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, - "requires": { - "whatwg-encoding": "^1.0.1" + "engines": { + "node": ">=8" } }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "node_modules/jest-runner/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": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "dependencies": { + "has-flag": "^4.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 - }, - "husky": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/husky/-/husky-1.3.1.tgz", - "integrity": "sha512-86U6sVVVf4b5NYSZ0yvv88dRgBSSXXmHaiq5pP4KDj5JVzdwKgBjEtUPOm8hcoytezFwbU+7gotXNhpHdystlg==", + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", "dev": true, - "requires": { - "cosmiconfig": "^5.0.7", - "execa": "^1.0.0", - "find-up": "^3.0.0", - "get-stdin": "^6.0.0", - "is-ci": "^2.0.0", - "pkg-dir": "^3.0.0", - "please-upgrade-node": "^3.1.1", - "read-pkg": "^4.0.1", - "run-node": "^1.0.0", - "slash": "^2.0.0" - }, "dependencies": { - "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 - }, - "cosmiconfig": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.1.0.tgz", - "integrity": "sha512-kCNPvthka8gvLtzAxQXvWo4FxqRB+ftRZyPZNuab5ngvM9Y7yw7hbEysglptLgpkGX9nAOKTBVkHUAe8xtYR6Q==", - "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.9.0", - "lodash.get": "^4.4.2", - "parse-json": "^4.0.0" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "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" - } - }, - "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" - } - }, - "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 - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "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" - } - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.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.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", - "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.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "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" - } - }, - "read-pkg": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz", - "integrity": "sha1-ljYlN48+HE1IyFhytabsfV0JMjc=", - "dev": true, - "requires": { - "normalize-package-data": "^2.3.2", - "parse-json": "^4.0.0", - "pify": "^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 - } + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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/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, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=" - }, - "icss-utils": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.0.tgz", - "integrity": "sha512-3DEun4VOeMvSczifM3F2cKQrDQ5Pj6WKhkOq6HD4QTnDUAq8MQRxy5TX6Sy1iY6WPBe4gQ3p5vTECjbIkglkkQ==", - "requires": { - "postcss": "^7.0.14" + "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, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "ieee754": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", - "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true + "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, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "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 }, - "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "node_modules/jest-runtime/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, - "requires": { - "import-from": "^2.1.0" + "engines": { + "node": ">=8" } }, - "import-fresh": { + "node_modules/jest-runtime/node_modules/slash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.0.0.tgz", - "integrity": "sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ==", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "engines": { + "node": ">=8" } }, - "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/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, - "requires": { - "resolve-from": "^3.0.0" - }, "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 - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", - "dev": true - }, - "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.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", - "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.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "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-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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=" - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true + "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, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "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, - "requires": { - "once": "^1.3.0", - "wrappy": "1" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true + "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, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "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 }, - "inquirer": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.2.tgz", - "integrity": "sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA==", + "node_modules/jest-snapshot/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, - "requires": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.11", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.0.0", - "through": "^2.3.6" + "engines": { + "node": ">=8" } }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "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, - "requires": { - "loose-envify": "^1.0.0" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "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/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "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" - } - } + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.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 + "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, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "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, - "requires": { - "binary-extensions": "^1.0.0" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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 + "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, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "is-callable": { + "node_modules/jest-util/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "node_modules/jest-util/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, - "requires": { - "ci-info": "^1.5.0" + "engines": { + "node": ">=8" } }, - "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/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, - "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" - } - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "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==", + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "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 - } + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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 + "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, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "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 + "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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "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, - "requires": { - "number-is-nan": "^1.0.0" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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 + "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, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "is-generator-fn": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.0.0.tgz", - "integrity": "sha512-elzyIdM7iKoFHzcrndIqjYomImhxrFRnGP3galODoII4TB9gI7mZ+FnlLQmmjf27SxHS2gKEeyhX5/+YRS6H9g==", + "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 }, - "is-glob": { + "node_modules/jest-validate/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "requires": { - "is-extglob": "^2.1.1" + "engines": { + "node": ">=8" } }, - "is-installed-globally": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", - "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "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, - "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "is-npm": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", - "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "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" - } - } + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "dev": true - }, - "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/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, - "requires": { - "symbol-observable": "^1.1.0" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "is-path-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.0.0.tgz", - "integrity": "sha512-m5dHHzpOXEiv18JEORttBO64UgTEypx99vCxQLjbBvGhOJxnTNglYoFXxwo6AbsQb79sqqycQEHv2hWkHZAijA==", - "dev": true - }, - "is-path-in-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.0.0.tgz", - "integrity": "sha512-6Vz5Gc9s/sDA3JBVu0FzWufm8xaBsqy1zn8Q6gmvGP6nSDMw78aS4poBNeatWjaRpTpxxLn1WOndAiOlk+qY8A==", + "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, - "requires": { - "is-path-inside": "^1.0.0" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "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, - "requires": { - "path-is-inside": "^1.0.1" + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "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=", + "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 }, - "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/jest-watcher/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, - "requires": { - "isobject": "^3.0.1" + "engines": { + "node": ">=8" } }, - "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-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", - "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/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, - "requires": { - "has": "^1.0.1" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "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-retry-allowed": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", - "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/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "is-subset": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", - "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", - "dev": true + "node_modules/jest-worker/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, + "engines": { + "node": ">=8" + } }, - "is-symbol": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", - "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "node_modules/jest-worker/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, - "requires": { - "has-symbols": "^1.0.0" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", "dev": true, - "requires": { - "text-extensions": "^1.0.0" + "bin": { + "jiti": "bin/jiti.js" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true + "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" }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true + "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, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } }, - "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 + "node_modules/jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.2", + "parse5": "^7.1.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": 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 + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "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 }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "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 }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "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 }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "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 }, - "istanbul-api": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-2.1.1.tgz", - "integrity": "sha512-kVmYrehiwyeBAk/wE71tW6emzLiHGjYIiDrc8sfyty4F8M02/lrgXSm+R1kXysmF20zArvmZXjlE/mg24TVPJw==", - "dev": true, - "requires": { - "async": "^2.6.1", - "compare-versions": "^3.2.1", - "fileset": "^2.0.3", - "istanbul-lib-coverage": "^2.0.3", - "istanbul-lib-hook": "^2.0.3", - "istanbul-lib-instrument": "^3.1.0", - "istanbul-lib-report": "^2.0.4", - "istanbul-lib-source-maps": "^3.0.2", - "istanbul-reports": "^2.1.1", - "js-yaml": "^3.12.0", - "make-dir": "^1.3.0", - "minimatch": "^3.0.4", - "once": "^1.4.0" - } + "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 }, - "istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-dKWuzRGCs4G+67VfW9pBFFz2Jpi4vSp/k7zBcJ888ofV5Mi1g5CUML5GvMvV6u9Cjybftu+E8Cgp+k0dI1E5lw==", + "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 }, - "istanbul-lib-hook": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.3.tgz", - "integrity": "sha512-CLmEqwEhuCYtGcpNVJjLV1DQyVnIqavMLFHV/DP+np/g3qvdxu3gsPqYoJMXm15sN84xOlckFB3VNvRbf5yEgA==", + "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, - "requires": { - "append-transform": "^1.0.0" + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" } }, - "istanbul-lib-instrument": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.1.0.tgz", - "integrity": "sha512-ooVllVGT38HIk8MxDj/OIHXSYvH+1tq/Vb38s8ixt9GoJadXska4WkGY+0wkmtYCZNYtaARniH/DixUGGLZ0uA==", + "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, - "requires": { - "@babel/generator": "^7.0.0", - "@babel/parser": "^7.0.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.0.0", - "@babel/types": "^7.0.0", - "istanbul-lib-coverage": "^2.0.3", - "semver": "^5.5.0" - } + "engines": [ + "node >= 0.2.0" + ] }, - "istanbul-lib-report": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.4.tgz", - "integrity": "sha512-sOiLZLAWpA0+3b5w5/dq0cjm2rrNdAfHWaGhmn7XEFW6X++IV9Ohn+pnELAl9K3rfpaeBfbmH9JU5sejacdLeA==", + "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, - "requires": { - "istanbul-lib-coverage": "^2.0.3", - "make-dir": "^1.3.0", - "supports-color": "^6.0.0" + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" } }, - "istanbul-lib-source-maps": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.2.tgz", - "integrity": "sha512-JX4v0CiKTGp9fZPmoxpu9YEkPbEqCqBbO3403VabKjH+NRXo72HafD5UgnjTEqHL2SAjaZK1XDuDOkn6I5QVfQ==", + "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, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.3", - "make-dir": "^1.3.0", - "rimraf": "^2.6.2", - "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.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } + "json-buffer": "3.0.1" } }, - "istanbul-reports": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.1.1.tgz", - "integrity": "sha512-FzNahnidyEPBCI0HcufJoSEoKykesRlFcSzQqjH9x0+LC8tnnE/p/90PBLu8iZTxr8yYZNyTtiAujUqyN+CIxw==", + "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, - "requires": { - "handlebars": "^4.1.0" + "engines": { + "node": ">=0.10.0" } }, - "jest": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-24.1.0.tgz", - "integrity": "sha512-+q91L65kypqklvlRFfXfdzUKyngQLOcwGhXQaLmVHv+d09LkNXuBuGxlofTFW42XMzu3giIcChchTsCNUjQ78A==", + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, - "requires": { - "import-local": "^2.0.0", - "jest-cli": "^24.1.0" - }, - "dependencies": { - "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 - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } - }, - "jest-cli": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.1.0.tgz", - "integrity": "sha512-U/iyWPwOI0T1CIxVLtk/2uviOTJ/OiSWJSe8qt6X1VkbbgP+nrtLJlmT9lPBe4lK78VNFJtrJ7pttcNv/s7yCw==", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.1.15", - "import-local": "^2.0.0", - "is-ci": "^2.0.0", - "istanbul-api": "^2.0.8", - "istanbul-lib-coverage": "^2.0.2", - "istanbul-lib-instrument": "^3.0.1", - "istanbul-lib-source-maps": "^3.0.1", - "jest-changed-files": "^24.0.0", - "jest-config": "^24.1.0", - "jest-environment-jsdom": "^24.0.0", - "jest-get-type": "^24.0.0", - "jest-haste-map": "^24.0.0", - "jest-message-util": "^24.0.0", - "jest-regex-util": "^24.0.0", - "jest-resolve-dependencies": "^24.1.0", - "jest-runner": "^24.1.0", - "jest-runtime": "^24.1.0", - "jest-snapshot": "^24.1.0", - "jest-util": "^24.0.0", - "jest-validate": "^24.0.0", - "jest-watcher": "^24.0.0", - "jest-worker": "^24.0.0", - "micromatch": "^3.1.10", - "node-notifier": "^5.2.1", - "p-each-series": "^1.0.0", - "pirates": "^4.0.0", - "prompts": "^2.0.1", - "realpath-native": "^1.0.0", - "rimraf": "^2.5.4", - "slash": "^2.0.0", - "string-length": "^2.0.0", - "strip-ansi": "^5.0.0", - "which": "^1.2.12", - "yargs": "^12.0.2" - } - } - } - }, - "jest-changed-files": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.0.0.tgz", - "integrity": "sha512-nnuU510R9U+UX0WNb5XFEcsrMqriSiRLeO9KWDFgPrpToaQm60prfQYpxsXigdClpvNot5bekDY440x9dNGnsQ==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "throat": "^4.0.0" - }, - "dependencies": { - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "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" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - } + "engines": { + "node": ">=6" } }, - "jest-config": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.1.0.tgz", - "integrity": "sha512-FbbRzRqtFC6eGjG5VwsbW4E5dW3zqJKLWYiZWhB0/4E5fgsMw8GODLbGSrY5t17kKOtCWb/Z7nsIThRoDpuVyg==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "babel-jest": "^24.1.0", - "chalk": "^2.0.1", - "glob": "^7.1.1", - "jest-environment-jsdom": "^24.0.0", - "jest-environment-node": "^24.0.0", - "jest-get-type": "^24.0.0", - "jest-jasmine2": "^24.1.0", - "jest-regex-util": "^24.0.0", - "jest-resolve": "^24.1.0", - "jest-util": "^24.0.0", - "jest-validate": "^24.0.0", - "micromatch": "^3.1.10", - "pretty-format": "^24.0.0", - "realpath-native": "^1.0.2" - } + "node_modules/kuler": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", + "dev": true }, - "jest-diff": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.0.0.tgz", - "integrity": "sha512-XY5wMpRaTsuMoU+1/B2zQSKQ9RdE9gsLkGydx3nvApeyPijLA8GtEvIcPwISRCer+VDf9W1mStTYYq6fPt8ryA==", + "node_modules/less": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/less/-/less-4.2.0.tgz", + "integrity": "sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==", "dev": true, - "requires": { - "chalk": "^2.0.1", - "diff-sequences": "^24.0.0", - "jest-get-type": "^24.0.0", - "pretty-format": "^24.0.0" + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=6" + }, + "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" } }, - "jest-docblock": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.0.0.tgz", - "integrity": "sha512-KfAKZ4SN7CFOZpWg4i7g7MSlY0M+mq7K0aMqENaG2vHuhC9fc3vkpU/iNN9sOus7v3h3Y48uEjqz3+Gdn2iptA==", + "node_modules/less-loader": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.2.0.tgz", + "integrity": "sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg==", "dev": true, - "requires": { - "detect-newline": "^2.1.0" + "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 + }, + "webpack": { + "optional": true + } } }, - "jest-each": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.0.0.tgz", - "integrity": "sha512-gFcbY4Cu55yxExXMkjrnLXov3bWO3dbPAW7HXb31h/DNWdNc/6X8MtxGff8nh3/MjkF9DpVqnj0KsPKuPK0cpA==", + "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, - "requires": { - "chalk": "^2.0.1", - "jest-get-type": "^24.0.0", - "jest-util": "^24.0.0", - "pretty-format": "^24.0.0" + "engines": { + "node": ">=6" } }, - "jest-environment-jsdom": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.0.0.tgz", - "integrity": "sha512-1YNp7xtxajTRaxbylDc2pWvFnfDTH5BJJGyVzyGAKNt/lEULohwEV9zFqTgG4bXRcq7xzdd+sGFws+LxThXXOw==", + "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, - "requires": { - "jest-mock": "^24.0.0", - "jest-util": "^24.0.0", - "jsdom": "^11.5.1" + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" } }, - "jest-environment-node": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.0.0.tgz", - "integrity": "sha512-62fOFcaEdU0VLaq8JL90TqwI7hLn0cOKOl8vY2n477vRkCJRojiRRtJVRzzCcgFvs6gqU97DNqX5R0BrBP6Rxg==", + "node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", "dev": true, - "requires": { - "jest-mock": "^24.0.0", - "jest-util": "^24.0.0" + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" } }, - "jest-get-type": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.0.0.tgz", - "integrity": "sha512-z6/Eyf6s9ZDGz7eOvl+fzpuJmN9i0KyTt1no37/dHu8galssxz5ZEgnc1KaV8R31q1khxyhB4ui/X5ZjjPk77w==", + "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 }, - "jest-haste-map": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.0.0.tgz", - "integrity": "sha512-CcViJyUo41IQqttLxXVdI41YErkzBKbE6cS6dRAploCeutePYfUimWd3C9rQEWhX0YBOQzvNsC0O9nYxK2nnxQ==", - "dev": true, - "requires": { - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.15", - "invariant": "^2.2.4", - "jest-serializer": "^24.0.0", - "jest-util": "^24.0.0", - "jest-worker": "^24.0.0", - "micromatch": "^3.1.10", - "sane": "^3.0.0" - } - }, - "jest-jasmine2": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.1.0.tgz", - "integrity": "sha512-H+o76SdSNyCh9fM5K8upK45YTo/DiFx5w2YAzblQebSQmukDcoVBVeXynyr7DDnxh+0NTHYRCLwJVf3tC518wg==", - "dev": true, - "requires": { - "@babel/traverse": "^7.1.0", - "chalk": "^2.0.1", - "co": "^4.6.0", - "expect": "^24.1.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^24.0.0", - "jest-matcher-utils": "^24.0.0", - "jest-message-util": "^24.0.0", - "jest-snapshot": "^24.1.0", - "jest-util": "^24.0.0", - "pretty-format": "^24.0.0", - "throat": "^4.0.0" - } - }, - "jest-leak-detector": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.0.0.tgz", - "integrity": "sha512-ZYHJYFeibxfsDSKowjDP332pStuiFT2xfc5R67Rjm/l+HFJWJgNIOCOlQGeXLCtyUn3A23+VVDdiCcnB6dTTrg==", + "node_modules/lint-staged": { + "version": "15.2.8", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.8.tgz", + "integrity": "sha512-PUWFf2zQzsd9EFU+kM1d7UP+AZDbKFKuj+9JNVTBkhUFhbg4MAt6WfyMMwBfM4lYqd4D2Jwac5iuTu9rVj4zCQ==", "dev": true, - "requires": { - "pretty-format": "^24.0.0" + "license": "MIT", + "dependencies": { + "chalk": "~5.3.0", + "commander": "~12.1.0", + "debug": "~4.3.6", + "execa": "~8.0.1", + "lilconfig": "~3.1.2", + "listr2": "~8.2.4", + "micromatch": "~4.0.7", + "pidtree": "~0.6.0", + "string-argv": "~0.3.2", + "yaml": "~2.5.0" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" } }, - "jest-matcher-utils": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.0.0.tgz", - "integrity": "sha512-LQTDmO+aWRz1Tf9HJg+HlPHhDh1E1c65kVwRFo5mwCVp5aQDzlkz4+vCvXhOKFjitV2f0kMdHxnODrXVoi+rlA==", + "node_modules/lint-staged/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, - "requires": { - "chalk": "^2.0.1", - "jest-diff": "^24.0.0", - "jest-get-type": "^24.0.0", - "pretty-format": "^24.0.0" + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "jest-message-util": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.0.0.tgz", - "integrity": "sha512-J9ROJIwz/IeC+eV1XSwnRK4oAwPuhmxEyYx1+K5UI+pIYwFZDSrfZaiWTdq0d2xYFw4Xiu+0KQWsdsQpgJMf3Q==", + "node_modules/lint-staged/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "chalk": "^2.0.1", - "micromatch": "^3.1.10", - "slash": "^2.0.0", - "stack-utils": "^1.0.1" + "license": "MIT", + "engines": { + "node": ">=18" } }, - "jest-mock": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.0.0.tgz", - "integrity": "sha512-sQp0Hu5fcf5NZEh1U9eIW2qD0BwJZjb63Yqd98PQJFvf/zzUTBoUAwv/Dc/HFeNHIw1f3hl/48vNn+j3STaI7A==", - "dev": true - }, - "jest-regex-util": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.0.0.tgz", - "integrity": "sha512-Jv/uOTCuC+PY7WpJl2mpoI+WbY2ut73qwwO9ByJJNwOCwr1qWhEW2Lyi2S9ZewUdJqeVpEBisdEVZSI+Zxo58Q==", - "dev": true - }, - "jest-resolve": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.1.0.tgz", - "integrity": "sha512-TPiAIVp3TG6zAxH28u/6eogbwrvZjBMWroSLBDkwkHKrqxB/RIdwkWDye4uqPlZIXWIaHtifY3L0/eO5Z0f2wg==", + "node_modules/listr2": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.4.tgz", + "integrity": "sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==", "dev": true, - "requires": { - "browser-resolve": "^1.11.3", - "chalk": "^2.0.1", - "realpath-native": "^1.0.0" + "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" } }, - "jest-resolve-dependencies": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.1.0.tgz", - "integrity": "sha512-2VwPsjd3kRPu7qe2cpytAgowCObk5AKeizfXuuiwgm1a9sijJDZe8Kh1sFj6FKvSaNEfCPlBVkZEJa2482m/Uw==", + "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, - "requires": { - "jest-regex-util": "^24.0.0", - "jest-snapshot": "^24.1.0" + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "jest-runner": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.1.0.tgz", - "integrity": "sha512-CDGOkT3AIFl16BLL/OdbtYgYvbAprwJ+ExKuLZmGSCSldwsuU2dEGauqkpvd9nphVdAnJUcP12e/EIlnTX0QXg==", + "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, - "requires": { - "chalk": "^2.4.2", - "exit": "^0.1.2", - "graceful-fs": "^4.1.15", - "jest-config": "^24.1.0", - "jest-docblock": "^24.0.0", - "jest-haste-map": "^24.0.0", - "jest-jasmine2": "^24.1.0", - "jest-leak-detector": "^24.0.0", - "jest-message-util": "^24.0.0", - "jest-runtime": "^24.1.0", - "jest-util": "^24.0.0", - "jest-worker": "^24.0.0", - "source-map-support": "^0.5.6", - "throat": "^4.0.0" - } - }, - "jest-runtime": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.1.0.tgz", - "integrity": "sha512-59/BY6OCuTXxGeDhEMU7+N33dpMQyXq7MLK07cNSIY/QYt2QZgJ7Tjx+rykBI0skAoigFl0A5tmT8UdwX92YuQ==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "babel-plugin-istanbul": "^5.1.0", - "chalk": "^2.0.1", - "convert-source-map": "^1.4.0", - "exit": "^0.1.2", - "fast-json-stable-stringify": "^2.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.1.15", - "jest-config": "^24.1.0", - "jest-haste-map": "^24.0.0", - "jest-message-util": "^24.0.0", - "jest-regex-util": "^24.0.0", - "jest-resolve": "^24.1.0", - "jest-snapshot": "^24.1.0", - "jest-util": "^24.0.0", - "jest-validate": "^24.0.0", - "micromatch": "^3.1.10", - "realpath-native": "^1.0.0", - "slash": "^2.0.0", - "strip-bom": "^3.0.0", - "write-file-atomic": "2.4.1", - "yargs": "^12.0.2" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - } + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" } }, - "jest-serializer": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.0.0.tgz", - "integrity": "sha512-9FKxQyrFgHtx3ozU+1a8v938ILBE7S8Ko3uiAVjT8Yfi2o91j/fj81jacCQZ/Ihjiff/VsUCXVgQ+iF1XdImOw==", - "dev": true - }, - "jest-snapshot": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.1.0.tgz", - "integrity": "sha512-th6TDfFqEmXvuViacU1ikD7xFb7lQsPn2rJl7OEmnfIVpnrx3QNY2t3PE88meeg0u/mQ0nkyvmC05PBqO4USFA==", + "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, - "requires": { - "@babel/types": "^7.0.0", - "chalk": "^2.0.1", - "jest-diff": "^24.0.0", - "jest-matcher-utils": "^24.0.0", - "jest-message-util": "^24.0.0", - "jest-resolve": "^24.1.0", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^24.0.0", - "semver": "^5.5.0" + "engines": { + "node": ">=4" } }, - "jest-util": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.0.0.tgz", - "integrity": "sha512-QxsALc4wguYS7cfjdQSOr5HTkmjzkHgmZvIDkcmPfl1ib8PNV8QUWLwbKefCudWS0PRKioV+VbQ0oCUPC691fQ==", + "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, - "requires": { - "callsites": "^3.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.15", - "is-ci": "^2.0.0", - "jest-message-util": "^24.0.0", - "mkdirp": "^0.5.1", - "slash": "^2.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "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 - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } - } + "engines": { + "node": ">=4" } }, - "jest-validate": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.0.0.tgz", - "integrity": "sha512-vMrKrTOP4BBFIeOWsjpsDgVXATxCspC9S1gqvbJ3Tnn/b9ACsJmteYeVx9830UMV28Cob1RX55x96Qq3Tfad4g==", + "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, - "requires": { - "camelcase": "^5.0.0", - "chalk": "^2.0.1", - "jest-get-type": "^24.0.0", - "leven": "^2.1.0", - "pretty-format": "^24.0.0" + "engines": { + "node": ">=6.11.5" } }, - "jest-watcher": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.0.0.tgz", - "integrity": "sha512-GxkW2QrZ4YxmW1GUWER05McjVDunBlKMFfExu+VsGmXJmpej1saTEKvONdx5RJBlVdpPI5x6E3+EDQSIGgl53g==", + "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, - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "jest-util": "^24.0.0", - "string-length": "^2.0.0" + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" } }, - "jest-worker": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.0.0.tgz", - "integrity": "sha512-s64/OThpfQvoCeHG963MiEZOAAxu8kHsaL/rCMF7lpdzo7vgF0CtPml9hfguOMgykgH/eOm4jFP4ibfHLruytg==", + "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, - "requires": { - "merge-stream": "^1.0.1", - "supports-color": "^6.1.0" + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "js-levenshtein": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", - "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "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 }, - "js-yaml": { - "version": "3.12.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.2.tgz", - "integrity": "sha512-QHn/Lh/7HhZ/Twc7vJYQTkjuCa0kaCcDcjK5Zlk2rvnUpy7DxMJ23+Jc2dcyvltwQVg1nygAVlB2oRDFHoRS5Q==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } + "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 }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "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 }, - "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/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 }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "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 }, - "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==", + "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 }, - "json-parser": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/json-parser/-/json-parser-1.1.5.tgz", - "integrity": "sha1-5i7FJh0aal/CDoEqMgdAxtkAVnc=", - "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 - } - } + "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 }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "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 }, - "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==" + "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 }, - "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=", + "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 }, - "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=", + "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 }, - "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/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" } }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "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, - "requires": { - "graceful-fs": "^4.1.6" + "license": "MIT", + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "dev": true + "node_modules/log-update/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "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, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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 + "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" + } }, - "kleur": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-2.0.2.tgz", - "integrity": "sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ==", - "dev": true + "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" + } }, - "latest-version": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", - "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "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, - "requires": { - "package-json": "^4.0.0" + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "node_modules/logform": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.0.tgz", + "integrity": "sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==", "dev": true, - "requires": { - "invert-kv": "^2.0.0" + "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" } }, - "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 + "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, + "dependencies": { + "yallist": "^3.0.2" + } }, - "leven": { + "node_modules/make-dir": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", - "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", - "dev": true - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "lint-staged": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-8.1.5.tgz", - "integrity": "sha512-e5ZavfnSLcBJE1BTzRTqw6ly8OkqVyO3GL2M6teSmTBYQ/2BuueD5GIt2RPsP31u/vjKdexUyDCxSyK75q4BDA==", - "dev": true, - "requires": { - "chalk": "^2.3.1", - "commander": "^2.14.1", - "cosmiconfig": "^5.0.2", - "debug": "^3.1.0", - "dedent": "^0.7.0", - "del": "^3.0.0", - "execa": "^1.0.0", - "find-parent-dir": "^0.3.0", - "g-status": "^2.0.2", - "is-glob": "^4.0.0", - "is-windows": "^1.0.2", - "listr": "^0.14.2", - "listr-update-renderer": "^0.5.0", - "lodash": "^4.17.11", - "log-symbols": "^2.2.0", - "micromatch": "^3.1.8", - "npm-which": "^3.0.1", - "p-map": "^1.1.1", - "path-is-inside": "^1.0.2", - "pify": "^3.0.0", - "please-upgrade-node": "^3.0.2", - "staged-git-files": "1.1.2", - "string-argv": "^0.0.2", - "stringify-object": "^3.2.2", - "yup": "^0.26.10" - }, - "dependencies": { - "cosmiconfig": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.1.0.tgz", - "integrity": "sha512-kCNPvthka8gvLtzAxQXvWo4FxqRB+ftRZyPZNuab5ngvM9Y7yw7hbEysglptLgpkGX9nAOKTBVkHUAe8xtYR6Q==", - "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.9.0", - "lodash.get": "^4.4.2", - "parse-json": "^4.0.0" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", - "dev": true, - "requires": { - "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "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" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "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" - } - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", - "dev": true, - "requires": { - "is-path-inside": "^1.0.0" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", - "dev": true - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - } + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" } }, - "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==", + "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, - "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" + "bin": { + "semver": "bin/semver" } }, - "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" - } - }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.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" - } - }, - "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/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" } }, - "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/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, - "requires": { - "chalk": "^2.4.1", - "cli-cursor": "^2.1.0", - "date-fns": "^1.27.2", - "figures": "^2.0.0" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/memfs": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.11.1.tgz", + "integrity": "sha512-LZcMTBAgqUUKNXZagcZxvXXfgF1bHX7Y7nQ0QyEiNbRJgE29GhgPd8Yna1VQcLlPiHt/5RFJMWYN9Uv/VPNvjQ==", "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "license": "Apache-2.0", + "dependencies": { + "@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" } }, - "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 - }, - "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/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" } }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "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": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "engines": { + "node": ">=16.10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "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 }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true + "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, + "engines": { + "node": ">= 8" + } }, - "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/micromatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } }, - "lodash.tail": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", - "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", - "dev": true + "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, + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } }, - "lodash.template": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", - "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", + "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, - "requires": { - "lodash._reinterpolate": "~3.0.0", - "lodash.templatesettings": "^4.0.0" + "engines": { + "node": ">= 0.6" } }, - "lodash.templatesettings": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", - "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", + "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, - "requires": { - "lodash._reinterpolate": "~3.0.0" + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "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, - "requires": { - "chalk": "^2.0.1" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "log-update": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", - "integrity": "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=", + "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, - "requires": { - "ansi-escapes": "^3.0.0", - "cli-cursor": "^2.0.0", - "wrap-ansi": "^3.0.1" + "license": "MIT", + "engines": { + "node": ">=18" }, - "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" - } - }, - "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" - } - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/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, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "engines": { + "node": ">=4" } }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "node_modules/mini-css-extract-plugin": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.0.tgz", + "integrity": "sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", "dev": true, - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true + "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, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } }, - "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/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "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, - "requires": { - "pify": "^3.0.0" + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" } }, - "makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "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, - "requires": { - "tmpl": "1.0.x" + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "mamacro": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", - "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", + "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 }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "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": { - "p-defer": "^1.0.0" + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" } }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "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 }, - "map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "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 }, - "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/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 + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "dev": true, - "requires": { - "object-visit": "^1.0.0" - } + "license": "MIT" }, - "matcher": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/matcher/-/matcher-1.1.1.tgz", - "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==", + "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, - "requires": { - "escape-string-regexp": "^1.0.4" + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "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/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, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "bin": { + "semver": "bin/semver" } }, - "mem": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz", - "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==", + "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, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^1.0.0", - "p-is-promise": "^2.0.0" + "engines": { + "node": ">=0.10.0" } }, - "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=", + "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, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "engines": { + "node": ">=0.10.0" } }, - "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/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, + "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" } }, - "merge": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", - "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==", - "dev": true - }, - "merge-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", - "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", - "dev": true, - "requires": { - "readable-stream": "^2.0.1" - } - }, - "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" - } - }, - "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/npm-run-all/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" + "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" } }, - "mime-db": { - "version": "1.38.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz", - "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==", - "dev": true - }, - "mime-types": { - "version": "2.1.22", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.22.tgz", - "integrity": "sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==", + "node_modules/npm-run-all/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", "dev": true, - "requires": { - "mime-db": "~1.38.0" + "engines": { + "node": ">=4" } }, - "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 - }, - "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 - }, - "minimalistic-crypto-utils": { - "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 + "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, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "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": { - "brace-expansion": "^1.1.7" + "bin": { + "semver": "bin/semver" } }, - "minimist": { + "node_modules/npm-run-all/node_modules/shebang-command": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } }, - "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/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": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" + "engines": { + "node": ">=0.10.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": { + "node_modules/npm-run-all/node_modules/which": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "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" - } - } + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "mixin-object": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", - "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "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, - "requires": { - "for-in": "^0.1.3", - "is-extendable": "^0.1.1" - }, "dependencies": { - "for-in": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", - "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", - "dev": true - } + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "node_modules/npm-run-path/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, - "requires": { - "minimist": "0.0.8" + "engines": { + "node": ">=12" }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", "dev": true }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", "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" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "mrm-core": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/mrm-core/-/mrm-core-3.3.0.tgz", - "integrity": "sha512-3A7RAwRmAfVpUxQxxfvX5exQH9+pVGRUPM5ZRwQjCC5BTS8XkjjeOt1Svtc89idIpQGxRixbQ95jBRw8tjO2rw==", - "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.12.0", - "kleur": "^2.0.2", - "listify": "^1.0.0", - "lodash": "^4.17.10", - "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.1.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" - } - }, - "p-limit": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", - "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.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - } + "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, + "engines": { + "node": ">= 0.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.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, - "nan": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz", - "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==", + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "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 + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "neo-async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", - "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==", - "dev": true + "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, + "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" + } }, - "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_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, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } }, - "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_modules/object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "dev": true, + "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" + } }, - "node-libs-browser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.0.tgz", - "integrity": "sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA==", - "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.0", - "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": "0.0.4" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } + "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, + "dependencies": { + "wrappy": "1" } }, - "node-modules-regexp": { + "node_modules/one-time": { "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.0", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.0.tgz", - "integrity": "sha512-SUDEb+o71XR5lXSTyivXd9J7fCloE3SyP4lSgt3lU2oSANiox+SxlNRGPjDKrwU1YN3ix2KN/VGGCg0t01rttQ==", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", "dev": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^1.1.0", - "semver": "^5.5.0", - "shellwords": "^0.1.1", - "which": "^1.3.0" + "dependencies": { + "fn.name": "1.x.x" } }, - "node-releases": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.9.tgz", - "integrity": "sha512-oic3GT4OtbWWKfRolz5Syw0Xus0KRFxeorLNj0s93ofX6PWyuzKjsiGxsCtWktBwwmTF6DdRRf2KreGqeOk5KA==", + "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, - "requires": { - "semver": "^5.3.0" + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "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" + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" } }, - "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-path": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/npm-path/-/npm-path-2.0.4.tgz", - "integrity": "sha512-IFsj0R9C7ZdR5cP+ET342q77uSRdtWOlWpih5eC+lu29tIDbNEgDbzgVJ5UFvYHWhxDZ5TFkJafFioO0pPQjCw==", + "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": { - "which": "^1.2.10" + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/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": { - "path-key": "^2.0.0" + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "npm-which": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/npm-which/-/npm-which-3.0.1.tgz", - "integrity": "sha1-kiXybsOihcIJyuZ8OxGmtKtxQKo=", + "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, - "requires": { - "commander": "^2.9.0", - "npm-path": "^2.0.2", - "which": "^1.2.10" + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "null-check": { + "node_modules/p-locate/node_modules/yocto-queue": { "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.1.1", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.1.tgz", - "integrity": "sha512-T5GaA1J/d34AC8mkrFD2O0DR17kwJ702ZOtJOsS8RpbsQZVOC2/xYFb1i/cw+xdM54JIlMuojjDOYct8GIWtwg==", - "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" - } - } + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "object-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz", - "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==", - "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/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": { - "isobject": "^3.0.0" + "dependencies": { + "aggregate-error": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "object.getownpropertydescriptors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", - "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "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": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" + "engines": { + "node": ">=6" } }, - "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/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": { - "isobject": "^3.0.1" + "license": "MIT", + "dependencies": { + "callsites": "^3.1.0" + }, + "engines": { + "node": ">=8" } }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "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": { - "wrappy": "1" + "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" } }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "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": { - "mimic-fn": "^1.0.0" + "engines": { + "node": ">= 0.10" } }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - }, "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - } + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "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": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "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 - }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - }, - "dependencies": { - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "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" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - } + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "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 - }, - "output-file-sync": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-2.0.1.tgz", - "integrity": "sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ==", + "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, - "requires": { - "graceful-fs": "^4.1.11", - "is-plain-obj": "^1.1.0", - "mkdirp": "^0.5.1" + "engines": { + "node": ">=8" } }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "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 }, - "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/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, - "requires": { - "p-reduce": "^1.0.0" + "engines": { + "node": ">=8" } }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-is-promise": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.0.0.tgz", - "integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==", - "dev": true + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "license": "ISC" }, - "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/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "requires": { - "p-try": "^1.0.0" + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "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": { - "p-limit": "^1.1.0" + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" } }, - "p-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.0.0.tgz", - "integrity": "sha512-GO107XdrSUmtHxVoi60qc9tUl/KkNKm+X2CF4P9amalpGxv5YqVPJNfSb0wcA+syCopkZvYYIzW8OVTQW59x/w==", - "dev": true - }, - "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 - }, - "package-json": { + "node_modules/pify": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", - "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, - "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" + "engines": { + "node": ">=6" } }, - "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 - }, - "parallel-transform": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", - "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, - "requires": { - "cyclist": "~0.2.2", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" + "engines": { + "node": ">= 6" } }, - "parent-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.0.tgz", - "integrity": "sha512-8Mf5juOMmiE4FcmzYc4IaiS9L3+9paz2KOiXzkRviCP6aDmN49Hz6EMWz0lGNp9pX80GvvAuLADtyGfW/Em3TA==", + "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, - "requires": { - "callsites": "^3.0.0" + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "parse-asn1": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", - "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", + "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, - "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" + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "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/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, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "parse-github-repo-url": { - "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 + "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, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "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 + "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, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } }, - "parse-json": { + "node_modules/pkg-dir/node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "engines": { + "node": ">=8" } }, - "parse-passwd": { + "node_modules/possible-typed-array-names": { "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.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", - "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-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "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 + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + } }, - "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/postcss": { + "version": "8.4.40", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz", + "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==", + "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.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } }, - "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/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": { - "pify": "^3.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "postcss-selector-parser": "^6.0.13" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "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/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, - "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" + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" } }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true + "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, + "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" + } }, - "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/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, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/utilities": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } }, - "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/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": { - "pinkie": "^2.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/utilities": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "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": { - "node-modules-regexp": "^1.0.0" + "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/media-query-list-parser": "^2.1.13" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "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, - "requires": { - "find-up": "^2.1.0" + "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" } }, - "please-upgrade-node": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz", - "integrity": "sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ==", + "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, - "requires": { - "semver-compare": "^1.0.0" + "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", + "postcss-selector-parser": "^6.1.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "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.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz", - "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==", - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "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, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "postcss-selector-parser": "^6.0.13" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "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/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": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0" - }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-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 + "@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" }, - "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" } + ], + "dependencies": { + "postcss-selector-parser": "^6.0.13" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "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/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, - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "postcss-selector-parser": "^6.0.13" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "postcss-color-gray": { + "node_modules/postcss-font-variant": { "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==", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", "dev": true, - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" + "peerDependencies": { + "postcss": "^8.1.0" } }, - "postcss-color-hex-alpha": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.2.tgz", - "integrity": "sha512-8bIOzQMGdZVifoBQUJdw+yIY00omBd2EwkJXepQo9cjp1UOHHHoeRDeSzTP6vakEpaRc6GAIOfvcQR7jBYaG5Q==", + "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": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.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/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, - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/utilities": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.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/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, - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^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-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" } }, - "postcss-custom-media": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.7.tgz", - "integrity": "sha512-bWPCdZKdH60wKOTG4HKEgxWnZVjAIVNOJDvi3lkuTa90xo/K0YHa2ZnlKLC5e2qF8qCcMQXt0yzQITBp8d0OFA==", + "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, - "requires": { - "postcss": "^7.0.5" + "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 + } } }, - "postcss-custom-properties": { - "version": "8.0.9", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.9.tgz", - "integrity": "sha512-/Lbn5GP2JkKhgUO2elMs4NnbUJcvHX4AaF5nuJDaNkd2chYW1KA5qtOGGgdkBEWcXtKSQfHXzT7C6grEVyb13w==", + "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, - "requires": { - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "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==", - "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" + "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==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", + "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", + "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "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==", "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 + "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" }, - "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-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" } }, - "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/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": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "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, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "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-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "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, + "peerDependencies": { + "postcss": "^8" + } + }, + "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, + "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" } + ], + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "postcss-double-position-gradients": { - "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==", + "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": { - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" + "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" } }, - "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/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": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "postcss-selector-parser": "^6.0.13" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "postcss-focus-visible": { + "node_modules/postcss-replace-overflow-wrap": { "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==", + "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": { - "postcss": "^7.0.2" + "peerDependencies": { + "postcss": "^8.0.3" } }, - "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/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": { - "postcss": "^7.0.2" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "postcss-selector-parser": "^6.0.13" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "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/postcss-selector-parser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "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==" + }, + "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": { - "postcss": "^7.0.2" + "engines": { + "node": ">= 0.8.0" } }, - "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/prettier": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", "dev": true, - "requires": { - "postcss": "^7.0.2" + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "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/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "postcss-initial": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.0.tgz", - "integrity": "sha512-WzrqZ5nG9R9fUtrA+we92R4jhVvEB32IIRTzfIG/PLL8UV4CvbF1ugTEHEFX6vWxl41Xt5RTCJPEZkuWzrOM+Q==", + "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, - "requires": { - "lodash.template": "^4.2.4", - "postcss": "^7.0.2" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "postcss-lab-function": { + "node_modules/process-nextick-args": { "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==", + "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 + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" } }, - "postcss-load-config": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.0.0.tgz", - "integrity": "sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ==", + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "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": { - "cosmiconfig": "^4.0.0", - "import-cwd": "^2.0.0" + "engines": { + "node": ">=6" } }, - "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==", + "node_modules/pure-rand": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, + "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==", "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.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/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "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, - "requires": { - "postcss": "^7.0.2" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "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, + "engines": { + "node": ">=8" } }, - "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/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, - "requires": { - "postcss": "^7.0.2" + "dependencies": { + "safe-buffer": "^5.1.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/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "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, + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "postcss-modules-local-by-default": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz", - "integrity": "sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA==", - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0", - "postcss-value-parser": "^3.3.1" + "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, + "dependencies": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "postcss-modules-scope": { + "node_modules/read-pkg-up/node_modules/find-up": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz", - "integrity": "sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A==", - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "postcss-modules-values": { + "node_modules/read-pkg-up/node_modules/locate-path": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz", - "integrity": "sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==", - "requires": { - "icss-replace-symbols": "^1.1.0", - "postcss": "^7.0.6" + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "postcss-nesting": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.0.tgz", - "integrity": "sha512-WSsbVd5Ampi3Y0nk/SKr5+K34n52PqMqEfswu6RtU4r7wA8vSD+gM8/D9qq4aJkHImwn1+9iEFTbjoWsQeqtaQ==", + "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": { - "postcss": "^7.0.2" + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" } }, - "postcss-overflow-shorthand": { + "node_modules/read-pkg-up/node_modules/p-locate": { "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==", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "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, - "requires": { - "postcss": "^7.0.2" + "engines": { + "node": ">=4" } }, - "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/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": { - "postcss": "^7.0.2" + "engines": { + "node": ">=4" } }, - "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.6.0", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.6.0.tgz", - "integrity": "sha512-I3zAiycfqXpPIFD6HXhLfWXIewAWO8emOKz+QSsxaUZb9Dp8HbF5kUf+4Wy/AxR33o+LRoO8blEWCHth0ZsCLA==", - "dev": true, - "requires": { - "autoprefixer": "^9.4.9", - "browserslist": "^4.4.2", - "caniuse-lite": "^1.0.30000939", - "css-blank-pseudo": "^0.1.4", - "css-has-pseudo": "^0.10.0", - "css-prefers-color-scheme": "^3.1.1", - "cssdb": "^4.3.0", - "postcss": "^7.0.14", - "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.2", - "postcss-color-mod-function": "^3.0.3", - "postcss-color-rebeccapurple": "^4.0.1", - "postcss-custom-media": "^7.0.7", - "postcss-custom-properties": "^8.0.9", - "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/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": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, "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" - } - } + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "postcss-replace-overflow-wrap": { + "node_modules/read-pkg/node_modules/pify": { "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==", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, - "requires": { - "postcss": "^7.0.2" + "engines": { + "node": ">=4" } }, - "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/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": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, - "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/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" } }, - "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/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "postcss-values-parser": { - "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==", + "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": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "engines": { + "node": ">=8" } }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "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 }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } }, - "prettier": { - "version": "1.16.4", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.16.4.tgz", - "integrity": "sha512-ZzWuos7TI5CKUeQAtFd6Zhm2s6EpAD/ZLApIhsF9pRvRtM1RFo61dM/4MSRUA0SuLugA/zgrZD8m0BaY46Og7g==", - "dev": true + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true, + "license": "MIT" }, - "prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dev": true, - "requires": { - "fast-diff": "^1.1.2" + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.4" } }, - "pretty-format": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.0.0.tgz", - "integrity": "sha512-LszZaKG665djUcqg5ZQq+XzezHLKrxsA86ZABTozp+oNhkdqa+tG2dX4qa6ERl5c/sRDrAa3lHmwnvKoP+OG/g==", + "node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", "dev": true, - "requires": { - "ansi-regex": "^4.0.0", - "ansi-styles": "^3.2.0" - }, "dependencies": { - "ansi-regex": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz", - "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==", - "dev": true - } + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "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 - }, - "prompts": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.0.3.tgz", - "integrity": "sha512-H8oWEoRZpybm6NV4to9/1limhttEo13xK62pNvn2JzY0MA03p7s0OjtmhXyon3uJmxiJJVSuUwEJFFssI3eBiQ==", + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", "dev": true, - "requires": { - "kleur": "^3.0.2", - "sisteransi": "^1.0.0" + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, "dependencies": { - "kleur": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.2.tgz", - "integrity": "sha512-3h7B2WRT5LNXOtQiAaWonilegHcPSf9nLVXlSTci8lu1dZUuui61+EsPEZqSVxY7rXYmB2DVKMQILxaO5WL61Q==", - "dev": true - } + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" } }, - "prop-ini": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/prop-ini/-/prop-ini-0.0.2.tgz", - "integrity": "sha1-ZzOny1JCrKsr5C5gdYPYEksXKls=", + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", "dev": true, - "requires": { - "extend": "^3.0.0" + "bin": { + "jsesc": "bin/jsesc" } }, - "property-expr": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-1.5.1.tgz", - "integrity": "sha512-CGuc0VUTGthpJXL36ydB6jnbyOf/rAHFvmVrJlH+Rg0DqqLFQGAP6hIaxD/G0OAmBJPhXDHuEJigrp0e0wFV6g==", - "dev": true + "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, + "license": "MIT", + "engines": { + "node": ">=0.10" + } }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "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, + "engines": { + "node": ">=0.10.0" + } }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true + "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, + "engines": { + "node": ">=0.10.0" + } }, - "psl": { - "version": "1.1.31", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", - "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==", + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "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/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "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" + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "pump": { + "node_modules/resolve-cwd": { "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/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "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, - "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" - } - } + "engines": { + "node": ">=8" } }, - "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/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true, - "requires": { - "safe-buffer": "^5.1.0" + "engines": { + "node": ">=10" } }, - "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/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": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "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": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "license": "MIT", + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "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/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - } + "license": "MIT" }, - "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/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "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" + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "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/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": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" } }, - "readme-badger": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/readme-badger/-/readme-badger-0.3.0.tgz", - "integrity": "sha512-+sMOLSs1imZUISZ2Rhz7qqVd77QtpcAPbGeIraFdgJmijb04YtdlPjGNBvDChTNtLbeQ6JNGQy3pOgslWfaP3g==", + "node_modules/safe-array-concat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dev": true, - "requires": { - "balanced-match": "^1.0.0" + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "realpath-native": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", - "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", + "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, - "requires": { - "util.promisify": "^1.0.0" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dev": true, - "requires": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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.0.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.0.1.tgz", - "integrity": "sha512-HTjMafphaH5d5QDHuwW8Me6Hbc/GhXg8luNqTkPVwZ/oCZhnoifjWhGYsu2BzepMELTlbnoVcXvV0f+2uDDvoQ==", + "node_modules/safe-stable-stringify": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", + "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", "dev": true, - "requires": { - "regenerate": "^1.4.0" + "engines": { + "node": ">=10" } }, - "regenerator-runtime": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", - "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==", + "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 }, - "regenerator-transform": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.4.tgz", - "integrity": "sha512-T0QMBjK3J0MtxjPmdIMXm72Wvj2Abb0Bd4HADdfijwMdoIsyQZ6fWC7kDFhk2YinBBEMZDL7Y7wh0J1sGx3S4A==", + "node_modules/sass": { + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz", + "integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==", "dev": true, - "requires": { - "private": "^0.1.6" + "license": "MIT", + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" } }, - "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/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": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "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 + } } }, - "regexp-tree": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.5.tgz", - "integrity": "sha512-nUmxvfJyAODw+0B13hj8CFVAxhe7fDEAgJgaotBu3nnR+IgGgZq59YedJP5VYTlkEfqjuK6TuRpnymKdatLZfQ==", + "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 }, - "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/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } }, - "regexpu-core": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.3.tgz", - "integrity": "sha512-LON8666bTAlViVEPXMv65ZqiaR3rMNLz36PIaQ7D+er5snu93k0peR7FSvO0QteYbZ3GOkvfHKbGr/B1xDu9FA==", + "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": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.0.1", - "regjsgen": "^0.5.0", - "regjsparser": "^0.6.0", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.1.0" + "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" } }, - "registry-auth-token": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", - "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "node_modules/schema-utils/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, - "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" + "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" } }, - "registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "node_modules/schema-utils/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, - "requires": { - "rc": "^1.0.1" + "peerDependencies": { + "ajv": "^6.9.1" } }, - "regjsgen": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", - "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", + "node_modules/schema-utils/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 }, - "regjsparser": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", - "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } + "engines": { + "node": ">=10" } }, - "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/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": { - "parse-git-config": "^1.1.1" + "dependencies": { + "randombytes": "^2.1.0" } }, - "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 - }, - "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/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, + "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" } }, - "request-promise-core": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz", - "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==", + "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": { - "lodash": "^4.17.11" + "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" } }, - "request-promise-native": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz", - "integrity": "sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==", + "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": { - "request-promise-core": "1.1.2", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "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-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 - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true + "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, + "engines": { + "node": ">=8" + } }, - "resolve": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", - "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", "dev": true, - "requires": { - "path-parse": "^1.0.6" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dev": true, - "requires": { - "resolve-from": "^3.0.0" - }, "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", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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 + "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, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, - "resolve-global": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-0.1.0.tgz", - "integrity": "sha1-j7As/Vt9sgEY6IYxHxWvlb0V+9k=", + "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": { - "global-dirs": "^0.1.0" + "dependencies": { + "is-arrayish": "^0.3.1" } }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "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 + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", "dev": true }, - "restore-cursor": { + "node_modules/slash": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "engines": { + "node": ">=6" } }, - "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 - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "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": { - "glob": "^7.1.3" + "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" } }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "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": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "rsvp": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", - "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==", - "dev": true - }, - "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/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": { - "is-promise": "^2.1.0" + "engines": { + "node": ">=0.10.0" } }, - "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 + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "engines": { + "node": ">=0.10.0" + } }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "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": { - "aproba": "^1.1.1" + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "rxjs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz", - "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==", + "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": { - "tslib": "^1.9.0" + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "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==", + "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 }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "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, - "requires": { - "ret": "~0.1.10" + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "node_modules/spdx-license-ids": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", + "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", "dev": true }, - "sane": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-3.1.0.tgz", - "integrity": "sha512-G5GClRRxT1cELXfdAq7UKtUsv8q/ZC5k8lQGmjEm4HcAl3HzBy68iglyNCmw4+0tiXPCBZntslHlRhbnsSws+Q==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "capture-exit": "^1.2.0", - "exec-sh": "^0.2.0", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.3", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.18.0" - }, - "dependencies": { - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "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" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - } - } - }, - "sass": { - "version": "1.17.2", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.17.2.tgz", - "integrity": "sha512-TBNcwSIEXpXAIaFxQnWbHzhciwPKpHRprQ+1ww+g9eHCiY3PINJs6vQTu+LcBt1vIhrtQGRFIoxJO39TfLrptA==", + "node_modules/split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", "dev": true, - "requires": { - "chokidar": "^2.0.0" + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" } }, - "sass-loader": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz", - "integrity": "sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==", - "dev": true, - "requires": { - "clone-deep": "^2.0.1", - "loader-utils": "^1.0.1", - "lodash.tail": "^4.1.1", - "neo-async": "^2.5.0", - "pify": "^3.0.0", - "semver": "^5.5.0" + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "dev": true, + "engines": { + "node": ">= 10.x" } }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "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 }, - "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==", - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "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, + "engines": { + "node": "*" } }, - "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", - "dev": true - }, - "semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", - "dev": true - }, - "semver-diff": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", - "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "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": { - "semver": "^5.0.3" + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" } }, - "serialize-javascript": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.6.1.tgz", - "integrity": "sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw==", - "dev": true - }, - "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 - }, - "set-value": { + "node_modules/stack-utils/node_modules/escape-string-regexp": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", - "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" - } - } + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" } }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "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/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": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "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" } }, - "shallow-clone": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", - "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", + "node_modules/standard-version/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": { - "is-extendable": "^0.1.1", - "kind-of": "^5.0.0", - "mixin-object": "^2.0.1" - }, "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 - } + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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/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, - "requires": { - "shebang-regex": "^1.0.0" + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "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 + "node_modules/standard-version/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, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "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 }, - "simple-git": { - "version": "1.107.0", - "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-1.107.0.tgz", - "integrity": "sha512-t4OK1JRlp4ayKRfcW6owrWcRVLyHRUlhGd0uN6ZZTqfDq8a5XpcUdOKiGRNobHEuMtNqzp0vcJNvhYWwh5PsQA==", + "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": { - "debug": "^4.0.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.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } + "compare-func": "^2.0.0", + "lodash": "^4.17.15", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" } }, - "sisteransi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.0.tgz", - "integrity": "sha512-N+z4pHB4AmUv0SjveWRd6q1Nj5w62m5jodv+GD8lvmbY/83T/rpbJGZOnK5T149OldDj4Db07BSv9xY4K6NTPQ==", - "dev": true - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "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 }, - "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/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": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/standard-version/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, + "engines": { + "node": ">=8" } }, - "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/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, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/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": { - "kind-of": "^3.2.0" - }, "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": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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 + "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, + "engines": { + "node": ">=8" + } }, - "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/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, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } }, - "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/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": { - "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" + "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" } }, - "source-map-support": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", - "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==", + "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": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "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" } }, - "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/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, + "engines": { + "node": ">=10" + } }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "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": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "dependencies": { + "safe-buffer": "~5.2.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 + "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, + "engines": { + "node": ">=0.6.19" + } }, - "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/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, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" } }, - "spdx-license-ids": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz", - "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==", - "dev": true + "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, + "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" + } }, - "split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, - "requires": { - "through": "2" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "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 + "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, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } }, - "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/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, - "requires": { - "extend-shallow": "^3.0.0" + "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" } }, - "split2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", - "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "node_modules/string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", "dev": true, - "requires": { - "through2": "^2.0.2" + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "node_modules/string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "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" + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" + "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" } }, - "stack-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", - "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", - "dev": true - }, - "staged-git-files": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/staged-git-files/-/staged-git-files-1.1.2.tgz", - "integrity": "sha512-0Eyrk6uXW6tg9PYkhi/V/J4zHp33aNyi2hOCmhFLqLTIhbgqWn5jlSzI+IU0VqrZq6+DbHcabQl/WP6P3BG0QA==", + "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 }, - "standard-version": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-5.0.1.tgz", - "integrity": "sha512-nlab5/C0P1Zd5k/2Zer/Y8xDnyf9kHES8Hy82aO8owJG9TJb3KbdNNOBNAgfa/ZsiDlJE9WQTGm1yN2VM1qxTg==", + "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": { - "chalk": "^2.4.1", - "conventional-changelog": "^3.0.6", - "conventional-recommended-bump": "^4.0.4", - "detect-indent": "^5.0.0", - "detect-newline": "^2.1.0", - "dotgitignore": "^1.0.3", - "figures": "^2.0.0", - "fs-access": "^1.0.0", - "git-semver-tags": "^2.0.2", - "semver": "^5.2.0", - "stringify-package": "^1.0.0", - "yargs": "^12.0.2" - } - }, - "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" - } - } + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "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 - }, - "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/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": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "engines": { + "node": ">=8" } }, - "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/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, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/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": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" } }, - "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.0.2", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.0.2.tgz", - "integrity": "sha1-2sMECGkMIfPDYwo/86BYd73L1zY=", - "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, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "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/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, - "requires": { - "astral-regex": "^1.0.0", - "strip-ansi": "^4.0.0" + "engines": { + "node": ">= 12.13.0" }, - "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" - } - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" } }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "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": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "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" + } + }, + "node_modules/stylus-loader": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-8.1.0.tgz", + "integrity": "sha512-+Xcn5fd0azjzSXxclT31wVviXlXbBfcBamFgAQimN2qug9ZQf0OmRlK+/MJwLs1V8DJWhTFGuFwmOTkfV4KnYQ==", + "dev": true, "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 + "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 }, - "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" - } + "webpack": { + "optional": true } } }, - "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/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": { - "safe-buffer": "~5.1.0" + "engines": { + "node": ">= 8" } }, - "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/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": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "stringify-package": { + "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.0.tgz", - "integrity": "sha512-JIQqiWmLiEozOC0b0BtxZ/AOUtdUZHCBPgqIZ2kSJJqGwgb9neo44XdTHUC4HZSGqi03hOeB7W/E8rAlKnGe9g==", - "dev": true - }, - "strip-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz", - "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, - "requires": { - "ansi-regex": "^4.0.0" + "engines": { + "node": ">= 0.4" }, - "dependencies": { - "ansi-regex": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz", - "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==", - "dev": true - } + "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-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "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 }, - "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/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" } }, - "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 - }, - "symbol-tree": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", - "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", - "dev": true + "node_modules/terser": { + "version": "5.30.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.30.3.tgz", + "integrity": "sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } }, - "synchronous-promise": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/synchronous-promise/-/synchronous-promise-2.0.6.tgz", - "integrity": "sha512-TyOuWLwkmtPL49LHCX1caIwHjRzcVd62+GF6h8W/jHOeZUFHpnd2XJDVuUlaTaLPH1nuu2M69mfHr5XbQJnf/g==", - "dev": true - }, - "table": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/table/-/table-5.2.3.tgz", - "integrity": "sha512-N2RsDAMvDLvYwFcwbPyF3VmVSSkuF+G1e+8inhBLtHpvwXGw4QRPEZhihQNeEN0i1up6/f6ObCJXNdlRG3YVyQ==", - "dev": true, - "requires": { - "ajv": "^6.9.1", - "lodash": "^4.17.11", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "dependencies": { - "string-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.0.0.tgz", - "integrity": "sha512-rr8CUxBbvOZDUvc5lNIJ+OC1nPVpz+Siw9VBtUjB9b6jZehZLFt0JMCZzShFHIsI8cbhm0EsNIfWJMFV3cu3Ew==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.0.0" - } + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "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 } } }, - "tapable": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.1.tgz", - "integrity": "sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA==", - "dev": true + "node_modules/terser-webpack-plugin/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, + "engines": { + "node": ">=8" + } }, - "term-size": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", - "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "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, - "requires": { - "execa": "^0.7.0" + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" } }, - "terser": { - "version": "3.16.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.16.1.tgz", - "integrity": "sha512-JDJjgleBROeek2iBcSNzOHLKsB/MdDf+E/BOAJ0Tk9r7p9/fVobfv7LMJ/g/k3v9SXdmjZnIlFd5nfn/Rt0Xow==", + "node_modules/terser-webpack-plugin/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, - "requires": { - "commander": "~2.17.1", - "source-map": "~0.6.1", - "source-map-support": "~0.5.9" + "dependencies": { + "has-flag": "^4.0.0" }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "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 + }, + "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, "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true - } + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "terser-webpack-plugin": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.2.3.tgz", - "integrity": "sha512-GOK7q85oAb/5kE12fMuLdn2btOS9OBZn4VsecpHDywoUC/jLhSAKOiYo0ezx7ss2EXPMzyEWFoE0s1WLE+4+oA==", - "dev": true, - "requires": { - "cacache": "^11.0.2", - "find-cache-dir": "^2.0.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^1.4.0", - "source-map": "^0.6.1", - "terser": "^3.16.1", - "webpack-sources": "^1.1.0", - "worker-farm": "^1.5.2" + "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, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" } }, - "test-exclude": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.1.0.tgz", - "integrity": "sha512-gwf0S2fFsANC55fSeSqpb8BYk6w3FDvwZxfNjeF6FRgvFa43r+7wRiA/Q0IxoRU37wB/LE8IQ4221BsNucTaCA==", + "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": { - "arrify": "^1.0.1", - "minimatch": "^3.0.4", - "read-pkg-up": "^4.0.0", - "require-main-filename": "^1.0.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.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", - "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.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "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" - } - } + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", "dev": true }, - "text-table": { + "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, - "throat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", - "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", - "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, + "engines": { + "node": ">=10.18" + }, + "peerDependencies": { + "tslib": "^2" + } }, - "through": { + "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "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": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "dependencies": { + "readable-stream": "3" } }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "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 }, - "timers-browserify": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", - "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, - "requires": { - "setimmediate": "^1.0.4" + "engines": { + "node": ">=4" } }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "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": { - "os-tmpdir": "~1.0.2" + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.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/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dev": true, + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } }, - "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 + "node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "dev": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } }, - "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=", + "node_modules/tree-dump": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz", + "integrity": "sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==", "dev": true, - "requires": { - "kind-of": "^3.0.2" + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" }, - "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" - } - } + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, - "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/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": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "engines": { + "node": ">=8" } }, - "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/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": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "engines": { + "node": ">= 14.0.0" } }, - "toposort": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", - "integrity": "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=", - "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, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.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/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" } }, - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "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, - "requires": { - "punycode": "^2.1.0" + "engines": { + "node": ">=4" } }, - "trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "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 + "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, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true + "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, + "engines": { + "node": ">=4" + } }, - "tslib": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", - "dev": true + "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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "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 + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", "dev": true, - "requires": { - "safe-buffer": "^5.0.1" + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "node_modules/typed-array-length": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", "dev": true, - "requires": { - "prelude-ls": "~1.1.2" + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "typedarray": { + "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true }, - "uglify-js": { - "version": "3.4.9", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", - "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", + "node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", "dev": true, - "optional": true, - "requires": { - "commander": "~2.17.1", - "source-map": "~0.6.1" + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, - "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true, - "optional": true - } + "engines": { + "node": ">=14.17" } }, - "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/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" } }, - "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 + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "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==", + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "dev": true }, - "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "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" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" } }, - "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/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, - "requires": { - "unique-slug": "^2.0.0" + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "unique-slug": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz", - "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==", + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", "dev": true, - "requires": { - "imurmurhash": "^0.1.4" + "engines": { + "node": ">=4" } }, - "unique-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "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, - "requires": { - "crypto-random-string": "^1.0.0" + "engines": { + "node": ">=4" } }, - "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/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, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "unzip-response": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", - "dev": true - }, - "upath": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", - "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", - "dev": true - }, - "update-notifier": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", - "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", - "dev": true, - "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" - } - }, - "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/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" } }, - "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/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "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": { - "prepend-http": "^1.0.1" + "dependencies": { + "punycode": "^2.1.0" } }, - "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/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": { - "rc": "^1.2.1" + "dependencies": { + "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 + } } }, - "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/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, - "requires": { - "inherits": "2.0.3" + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" } }, - "util-deprecate": { + "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, - "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/v8-to-istanbul": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", + "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", "dev": true, - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" + "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" } }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true - }, - "validate-npm-package-license": { + "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, - "requires": { + "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "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" + }, + "node_modules/vscode-uri": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "dependencies": { + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" } }, - "vm-browserify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "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": { - "indexof": "0.0.1" + "dependencies": { + "makeerror": "1.0.12" } }, - "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/watchpack": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", "dev": true, - "requires": { - "browser-process-hrtime": "^0.1.2" + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" } }, - "walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "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, - "requires": { - "makeerror": "1.0.x" + "engines": { + "node": ">=12" } }, - "watch": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", - "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", + "node_modules/webpack": { + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", "dev": true, - "requires": { - "exec-sh": "^0.2.0", - "minimist": "^1.2.0" + "dependencies": { + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "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": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "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 + } } }, - "watchpack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", - "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true, - "requires": { - "chokidar": "^2.0.2", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" + "engines": { + "node": ">=10.13.0" } }, - "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.29.6", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.29.6.tgz", - "integrity": "sha512-MwBwpiE1BQpMDkbnUUaW6K8RFZjljJHArC6tWQJoFm0oQtfoSebtg4Y7/QHnJ/SddtjYLHaKGX64CFjG5rehJw==", - "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.0.5", - "acorn-dynamic-import": "^4.0.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "chrome-trace-event": "^1.0.0", - "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.0", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.3.0", - "loader-utils": "^1.1.0", - "memory-fs": "~0.4.1", - "micromatch": "^3.1.8", - "mkdirp": "~0.5.0", - "neo-async": "^2.5.0", - "node-libs-browser": "^2.0.0", - "schema-utils": "^1.0.0", - "tapable": "^1.1.0", - "terser-webpack-plugin": "^1.1.0", - "watchpack": "^1.5.0", - "webpack-sources": "^1.3.0" - } - }, - "webpack-merge": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.1.tgz", - "integrity": "sha512-4p8WQyS98bUJcCvFMbdGZyZmsKuWjWVnVHnAS3FFg0HDaRVrPbkivx2RYCre8UiemD67RsiFFLfn4JhLAin8Vw==", + "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": { - "lodash": "^4.17.5" + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" } }, - "webpack-sources": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", - "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", + "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": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "engines": { + "node": ">=4.0" } }, - "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/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "dev": true, - "requires": { - "iconv-lite": "0.4.24" + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" } }, - "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 + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "dev": true, + "engines": { + "node": ">=12" + } }, - "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/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "requires": { + "dependencies": { "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "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/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "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" + } + }, + "node_modules/winston-transport": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.0.tgz", + "integrity": "sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==", + "dev": true, + "dependencies": { + "logform": "^2.3.2", + "readable-stream": "^3.6.0", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } }, - "widest-line": { + "node_modules/winston/node_modules/is-stream": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", - "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "requires": { - "string-width": "^2.1.1" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "wordwrap": { + "node_modules/wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", "dev": true }, - "worker-farm": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", - "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", + "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": { - "errno": "~0.1.7" + "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" } }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.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" - } - }, - "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/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "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, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "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/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, - "requires": { - "mkdirp": "^0.5.1" + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "write-file-atomic": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.2.tgz", - "integrity": "sha512-s0b6vB3xIVRLWywa6X9TOMA7k9zio0TMOsl9ZnDkliA/cfJlpHXAscj0gbHVJiTdIuAYpIyqS5GW91fqm6gG5g==", + "node_modules/write-file-atomic/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 + }, + "node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "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": { - "async-limiter": "~1.0.0" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "xdg-basedir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", - "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", - "dev": true + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "engines": { + "node": ">=12" + } }, - "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==", + "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 }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true + "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, + "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, + "engines": { + "node": ">=10" + } }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, - "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "node_modules/yaml": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", + "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.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.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", - "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.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" } }, - "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" + "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, + "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 + }, + "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, + "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, "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" } }, - "yup": { - "version": "0.26.10", - "resolved": "https://registry.npmjs.org/yup/-/yup-0.26.10.tgz", - "integrity": "sha512-keuNEbNSnsOTOuGCt3UJW69jDE3O4P+UHAakO7vSeFMnjaitcmlbij/a3oNb9g1Y1KvSKH/7O1R2PQ4m4TRylw==", + "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, - "requires": { - "@babel/runtime": "7.0.0", - "fn-name": "~2.0.1", - "lodash": "^4.17.10", - "property-expr": "^1.5.0", - "synchronous-promise": "^2.0.5", - "toposort": "^2.0.2" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } } } diff --git a/package.json b/package.json index 24be0c1e..f237131a 100644 --- a/package.json +++ b/package.json @@ -1,88 +1,106 @@ { "name": "css-loader", - "version": "2.1.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": ">= 6.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", - "commitlint": "commitlint", - "commitmsg": "commitlint -e $GIT_PARAMS", - "lint": "eslint --cache src test", - "prepublish": "npm run build", - "release": "standard-version", - "security": "npm audit", - "test:only": "jest", - "test:watch": "jest --watch", - "test:coverage": "jest --collectCoverageFrom='src/**/*.js' --coverage", + "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", + "commitlint": "commitlint --from=master", + "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:**\"", + "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": "npm run test:only -- --watch", + "test:coverage": "npm run test:only -- --collectCoverageFrom=\"src/**/*.js\" --coverage", "pretest": "npm run lint", - "test": "npm run test:only", - "ci:lint": "npm run lint && npm run security", - "ci:test": "npm run test:only -- --runInBand", - "ci:coverage": "npm run test:coverage -- --runInBand", - "ci:lint:commits": "commitlint --from=origin/master --to=${CIRCLE_SHA1}", - "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": { - "icss-utils": "^4.1.0", - "loader-utils": "^1.2.3", - "camelcase": "^5.2.0", - "normalize-path": "^3.0.0", - "postcss": "^7.0.14", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^2.0.6", - "postcss-modules-scope": "^2.1.0", - "postcss-modules-values": "^2.0.0", - "postcss-value-parser": "^3.3.0", - "schema-utils": "^1.0.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.1.5", - "@babel/core": "^7.1.6", - "@babel/polyfill": "^7.0.0", - "@babel/preset-env": "^7.1.6", - "@commitlint/cli": "^7.2.1", - "@commitlint/config-conventional": "^7.1.2", - "@webpack-contrib/defaults": "^3.0.0", + "@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.1.0", - "cross-env": "^5.2.0", - "del": "^4.0.0", - "del-cli": "^1.1.0", - "eslint": "^5.9.0", - "eslint-plugin-import": "^2.14.0", - "eslint-plugin-prettier": "^3.0.0", - "file-loader": "^3.0.1", - "husky": "^1.2.0", - "jest": "^24.1.0", - "lint-staged": "^8.1.0", - "memory-fs": "^0.4.1", - "postcss-loader": "^3.0.0", - "postcss-preset-env": "^6.4.0", - "prettier": "^1.15.2", - "sass": "^1.15.1", - "sass-loader": "^7.1.0", - "standard-version": "^5.0.0", - "strip-ansi": "^5.0.0", - "webpack": "^4.26.1" + "babel-jest": "^29.7.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": "^29.7.0", + "jest-environment-jsdom": "^29.7.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" }, "keywords": [ "webpack", @@ -90,39 +108,5 @@ "loader", "url", "import" - ], - "babel": { - "presets": [ - [ - "@babel/preset-env", - { - "targets": { - "node": "6.9.0" - }, - "useBuiltIns": "usage" - } - ] - ] - }, - "husky": { - "hooks": { - "pre-commit": "lint-staged" - } - }, - "lint-staged": { - "*.js": [ - "eslint --fix", - "git add" - ] - }, - "commitlint": { - "extends": [ - "@commitlint/config-conventional" - ] - }, - "prettier": { - "singleQuote": true, - "trailingComma": "es5", - "arrowParens": "always" - } + ] } 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 5b5a71ea..3c89c371 100644 --- a/src/index.js +++ b/src/index.js @@ -2,339 +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 localByDefault from 'postcss-modules-local-by-default'; -import extractImports from 'postcss-modules-extract-imports'; -import modulesScope from 'postcss-modules-scope'; -import modulesValues from 'postcss-modules-values'; -import { - getOptions, - isUrlRequest, - urlToRequest, - getRemainingRequest, - getCurrentRequest, - stringifyRequest, -} from 'loader-utils'; -import normalizePath from 'normalize-path'; -import schema from './options.json'; -import { importParser, icssParser, urlParser } from './plugins'; +import postcss from "postcss"; +import postcssPkg from "postcss/package.json"; +import { satisfies } from "semver"; + +import schema from "./options.json"; +import { icssParser, importParser, urlParser } from "./plugins"; import { - getLocalIdent, - getImportPrefix, - placholderRegExps, - camelCase, - dashesCamelCase, + normalizeOptions, + shouldUseModulesPlugins, + shouldUseImportPlugin, + shouldUseURLPlugin, + shouldUseIcssPlugin, + getPreRequester, + getExportCode, getFilter, -} from './utils'; -import Warning from './Warning'; -import CssSyntaxError from './CssSyntaxError'; + getImportCode, + getModuleCode, + 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, 'CSS Loader'); + 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; - - /* eslint-disable no-param-reassign */ - if (sourceMap) { - if (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 map === 'string') { - map = JSON.parse(map.replace(/^\)]}'[^\n]*\n/, '')); - } - - // 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 - - if (map.file) { - map.file = normalizePath(map.file); - } - - if (map.sourceRoot) { - map.sourceRoot = normalizePath(map.sourceRoot); - } - - if (map.sources) { - map.sources = map.sources.map((source) => normalizePath(source)); - } - } - } else { - // Some loaders (example `"postcss-loader": "1.x.x"`) always generates source map, we should remove it - map = null; + callback(null, content, map, meta); + + return; } - /* eslint-enable no-param-reassign */ - // 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) { - const loaderContext = this; - const mode = - typeof options.modules === 'boolean' ? 'local' : options.modules; + if (shouldUseModulesPlugins(options)) { + plugins.push(...getModulesPlugins(options, this)); + } - plugins.push( - modulesValues, - localByDefault({ mode }), - extractImports(), - modulesScope({ - generateScopedName: function generateScopedName(exportName) { - const localIdentName = options.localIdentName || '[hash:base64]'; - const customGetLocalIdent = options.getLocalIdent || getLocalIdent; - - return customGetLocalIdent( - loaderContext, - localIdentName, - exportName, - { - regExp: options.localIdentRegExp, - hashPrefix: options.hashPrefix || '', - context: options.context, - } - ); - }, - }) - ); + const importPluginImports = []; + const importPluginApi = []; + + let isSupportAbsoluteURL = false; + + // 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) { + 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) { + 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 + }), ); } - plugins.push(icssParser()); + const icssPluginImports = []; + const icssPluginApi = []; + + const needToUseIcssPlugin = shouldUseIcssPlugin(options); - postcss(plugins) - .process(content, { - from: getRemainingRequest(this) - .split('!') - .pop(), - to: getCurrentRequest(this) - .split('!') - .pop(), + if (needToUseIcssPlugin) { + plugins.push( + icssParser({ + loaderContext: this, + imports: icssPluginImports, + api: icssPluginApi, + replacements, + exports, + urlHandler: (url) => + stringifyRequest( + this, + combineRequests(getPreRequester(this)(options.importLoaders), url), + ), + }), + ); + } + + // 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, + prev: map ? normalizeSourceMap(map, resourcePath) : null, inline: false, annotation: false, } - : null, - }) - .then((result) => { - result - .warnings() - .forEach((warning) => this.emitWarning(new Warning(warning))); - - const messages = result.messages || []; - - // Run other loader (`postcss-loader`, `sass-loader` and etc) for importing CSS - const importUrlPrefix = getImportPrefix(this, options.importLoaders); - - // Prepare replacer to change from `___CSS_LOADER_IMPORT___INDEX___` to `require('./file.css').locals` - const importItemReplacer = (placeholder) => { - const match = placholderRegExps.importItem.exec(placeholder); - const idx = Number(match[1]); - - const message = messages.find( - // eslint-disable-next-line no-shadow - (message) => - message.type === 'icss-import' && - message.item && - message.item.index === idx - ); - - if (!message) { - return placeholder; - } - - const { item } = message; - const importUrl = importUrlPrefix + urlToRequest(item.url); - - if (options.exportOnlyLocals) { - return `" + require(${stringifyRequest( - this, - importUrl - )})[${JSON.stringify(item.export)}] + "`; - } - - return `" + require(${stringifyRequest( - this, - importUrl - )}).locals[${JSON.stringify(item.export)}] + "`; - }; - - const exports = messages - .filter((message) => message.type === 'export') - .reduce((accumulator, message) => { - const { key, value } = message.item; - - let valueAsString = JSON.stringify(value); - - valueAsString = valueAsString.replace( - placholderRegExps.importItemG, - importItemReplacer - ); - - function addEntry(k) { - accumulator.push(`\t${JSON.stringify(k)}: ${valueAsString}`); - } - - let targetKey; - - switch (options.camelCase) { - case true: - addEntry(key); - targetKey = camelCase(key); - - if (targetKey !== key) { - addEntry(targetKey); - } - break; - case 'dashes': - addEntry(key); - targetKey = dashesCamelCase(key); - - if (targetKey !== key) { - addEntry(targetKey); - } - break; - case 'only': - addEntry(camelCase(key)); - break; - case 'dashesOnly': - addEntry(dashesCamelCase(key)); - break; - default: - addEntry(key); - break; - } + : false, + }); + } catch (error) { + if (error.file) { + this.addDependency(error.file); + } - return accumulator; - }, []); - - if (options.exportOnlyLocals) { - return callback( - null, - exports.length > 0 - ? `module.exports = {\n${exports.join(',\n')}\n};` - : '' - ); - } - - const imports = messages - .filter((message) => message.type === 'import') - .map((message) => { - const { url } = message.item; - const media = message.item.media || ''; - - if (!isUrlRequest(url)) { - return `exports.push([module.id, ${JSON.stringify( - `@import url(${url});` - )}, ${JSON.stringify(media)}]);`; - } + callback( + error.name === "CssSyntaxError" ? syntaxErrorFactory(error) : error, + ); - const importUrl = importUrlPrefix + urlToRequest(url); + return; + } - return `exports.i(require(${stringifyRequest( - this, - importUrl - )}), ${JSON.stringify(media)});`; - }, this); - - let cssAsString = JSON.stringify(result.css).replace( - placholderRegExps.importItemG, - importItemReplacer - ); - - // Helper for ensuring valid CSS strings from requires - let hasUrlEscapeHelper = false; - - messages - .filter((message) => message.type === 'url') - .forEach((message) => { - if (!hasUrlEscapeHelper) { - imports.push( - `var urlEscape = require(${stringifyRequest( - this, - require.resolve('./runtime/url-escape.js') - )});` - ); - - hasUrlEscapeHelper = true; - } + for (const warning of result.warnings()) { + this.emitWarning(warningFactory(warning)); + } - const { item } = message; - const { url, placeholder, needQuotes } = item; - // Remove `#hash` and `?#hash` from `require` - const [normalizedUrl, singleQuery, hashValue] = url.split(/(\?)?#/); - const hash = - singleQuery || hashValue - ? `"${singleQuery ? '?' : ''}${hashValue ? `#${hashValue}` : ''}"` - : ''; - - imports.push( - `var ${placeholder} = urlEscape(require(${stringifyRequest( - this, - urlToRequest(normalizedUrl) - )})${hash ? ` + ${hash}` : ''}${needQuotes ? ', true' : ''});` - ); - - cssAsString = cssAsString.replace( - new RegExp(placeholder, 'g'), - () => `" + ${placeholder} + "` - ); - }); - - const runtimeCode = `exports = module.exports = require(${stringifyRequest( - this, - require.resolve('./runtime/api') - )})(${!!sourceMap});\n`; - const importCode = - imports.length > 0 ? `// Imports\n${imports.join('\n')}\n\n` : ''; - const moduleCode = `// Module\nexports.push([module.id, ${cssAsString}, ""${ - result.map ? `,${result.map}` : '' - }]);\n\n`; - const exportsCode = - exports.length > 0 - ? `// Exports\nexports.locals = {\n${exports.join(',\n')}\n};` - : ''; - - // Embed runtime - return callback( - null, - runtimeCode + importCode + moduleCode + exportsCode - ); - }) - .catch((error) => { - callback( - error.name === 'CssSyntaxError' ? new CssSyntaxError(error) : error - ); + 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 45494ec7..22773c7b 100644 --- a/src/options.json +++ b/src/options.json @@ -1,92 +1,217 @@ { + "title": "CSS Loader options", "additionalProperties": false, "properties": { "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": "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": "Allows to enable/disable CSS Modules or ICSS and setup configuration.", + "link": "https://github.com/webpack-contrib/css-loader#modules", "anyOf": [ { "type": "boolean" }, { - "type": "string", - "enum": ["local", "global"] - } - ] - }, - "localIdentName": { - "type": "string" - }, - "localIdentRegExp": { - "anyOf": [ - { - "type": "string" + "enum": ["local", "global", "pure", "icss"] }, { - "instanceof": "RegExp" - } - ] - }, - "context": { - "type": "string" - }, - "hashPrefix": { - "type": "string" - }, - "getLocalIdent": { - "anyOf": [ - { - "type": "boolean" - }, - { - "instanceof": "Function" + "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": { + "description": "Setup `mode` option.", + "link": "https://github.com/webpack-contrib/css-loader#mode", + "anyOf": [ + { + "enum": ["local", "global", "pure", "icss"] + }, + { + "instanceof": "Function" + } + ] + }, + "localIdentName": { + "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", + "minLength": 1 + }, + { + "instanceof": "RegExp" + } + ] + }, + "getLocalIdent": { + "description": "Allows to specify a function to generate the classname.", + "link": "https://github.com/webpack-contrib/css-loader#getlocalident", + "instanceof": "Function" + }, + "namedExport": { + "description": "Enables/disables ES modules named export for locals.", + "link": "https://github.com/webpack-contrib/css-loader#namedexport", + "type": "boolean" + }, + "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": [ + { + "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": "Allows to enable/disable source maps.", + "link": "https://github.com/webpack-contrib/css-loader#sourcemap", "type": "boolean" }, - "camelCase": { + "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": "string", - "enum": ["dashes", "only", "dashesOnly"] - } - ] - }, - "importLoaders": { - "anyOf": [ - { - "type": "boolean" + "type": "string" }, { - "type": "number" + "type": "integer" } ] }, - "exportOnlyLocals": { + "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 6730f50b..a40b4412 100644 --- a/src/plugins/postcss-icss-parser.js +++ b/src/plugins/postcss-icss-parser.js @@ -1,98 +1,124 @@ -import postcss from 'postcss'; -import valueParser from 'postcss-value-parser'; -import { extractICSS } from 'icss-utils'; -import loaderUtils from 'loader-utils'; - -const pluginName = 'postcss-icss-parser'; +import { extractICSS, replaceValueSymbols, replaceSymbols } from "icss-utils"; + +import { normalizeUrl, resolveRequests, requestify } from "../utils"; + +const plugin = (options = {}) => { + return { + postcssPlugin: "postcss-icss-parser", + async OnceExit(root) { + const importReplacements = Object.create(null); + const { icssImports, icssExports } = extractICSS(root); + const imports = new Map(); + const tasks = []; + + const { loaderContext } = options; + const resolver = loaderContext.getResolve({ + dependencyType: "icss", + conditionNames: ["style"], + extensions: ["..."], + mainFields: ["css", "style", "main", "..."], + mainFiles: ["index", "..."], + preferRelative: true, + }); -export default postcss.plugin( - pluginName, - () => - function process(css, result) { - const imports = {}; - const icss = extractICSS(css); - const exports = icss.icssExports; + // eslint-disable-next-line guard-for-in + for (const url in icssImports) { + const tokens = icssImports[url]; - Object.keys(icss.icssImports).forEach((key) => { - const url = loaderUtils.parseString(key); + if (Object.keys(tokens).length === 0) { + // eslint-disable-next-line no-continue + continue; + } - Object.keys(icss.icssImports[key]).forEach((prop) => { - const index = Object.keys(imports).length; + let normalizedUrl = url; + let prefix = ""; - imports[`$${prop}`] = index; + const queryParts = normalizedUrl.split("!"); - result.messages.push({ - pluginName, - type: 'icss-import', - item: { url, export: icss.icssImports[key][prop], index }, - }); + if (queryParts.length > 1) { + normalizedUrl = queryParts.pop(); + prefix = queryParts.join("!"); + } - const alreadyIncluded = result.messages.find( - (message) => - message.pluginName === pluginName && - message.type === 'import' && - message.item.url === url && - message.item.media === '' + const request = requestify( + normalizeUrl(normalizedUrl, true), + loaderContext.rootContext, + ); + const doResolve = async () => { + const resolvedUrl = await resolveRequests( + resolver, + loaderContext.context, + [...new Set([normalizedUrl, request])], ); - if (alreadyIncluded) { + if (!resolvedUrl) { return; } - result.messages.push({ - pluginName, - type: 'import', - item: { url, media: '' }, + // 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]; + + if (!item) { + // eslint-disable-next-line no-continue + continue; + } + + const newUrl = item.prefix ? `${item.prefix}!${item.url}` : item.url; + const importKey = newUrl; + let importName = imports.get(importKey); + + if (!importName) { + importName = `___CSS_LOADER_ICSS_IMPORT_${imports.size}___`; + imports.set(importKey, importName); + + options.imports.push({ + type: "icss_import", + importName, + url: options.urlHandler(newUrl), + icss: true, + index, }); - }); - }); - function replaceImportsInString(str) { - const tokens = valueParser(str); + options.api.push({ importName, dedupe: true, index }); + } - tokens.walk((node) => { - if (node.type !== 'word') { - return; - } + for (const [replacementIndex, token] of Object.keys( + item.tokens, + ).entries()) { + const replacementName = `___CSS_LOADER_ICSS_IMPORT_${index}_REPLACEMENT_${replacementIndex}___`; + const localName = item.tokens[token]; - const token = node.value; - const importIndex = imports[`$${token}`]; + importReplacements[token] = replacementName; - if (typeof importIndex === 'number') { - // eslint-disable-next-line no-param-reassign - node.value = `___CSS_LOADER_IMPORT___${importIndex}___`; - } - }); + options.replacements.push({ replacementName, importName, localName }); + } + } - return tokens.toString(); + if (Object.keys(importReplacements).length > 0) { + replaceSymbols(root, importReplacements); } - // Replace tokens in declarations - css.walkDecls((decl) => { - // eslint-disable-next-line no-param-reassign - decl.value = replaceImportsInString(decl.value.toString()); - }); + for (const name of Object.keys(icssExports)) { + const value = replaceValueSymbols( + icssExports[name], + importReplacements, + ); - // Replace tokens in at-rules - css.walkAtRules((atrule) => { - // Due reusing `ast` from `postcss-loader` some plugins may lack - // `params` property, we need to account for this possibility - if (atrule.params) { - // eslint-disable-next-line no-param-reassign - atrule.params = replaceImportsInString(atrule.params.toString()); - } - }); + options.exports.push({ name, value }); + } + }, + }; +}; - // Replace tokens in export - Object.keys(exports).forEach((exportName) => { - result.messages.push({ - pluginName, - type: 'export', - item: { - key: exportName, - value: replaceImportsInString(exports[exportName]), - }, - }); - }); - } -); +plugin.postcss = true; + +export default plugin; diff --git a/src/plugins/postcss-import-parser.js b/src/plugins/postcss-import-parser.js index cba59318..142e105f 100644 --- a/src/plugins/postcss-import-parser.js +++ b/src/plugins/postcss-import-parser.js @@ -1,108 +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 = []; + 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; + + throw error; } - 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; + isStringValue = + paramsNodes[0].nodes.length !== 0 && + paramsNodes[0].nodes[0].type === "string"; + url = isStringValue + ? paramsNodes[0].nodes[0].value + : valueParser.stringify(paramsNodes[0].nodes); + } + + url = normalizeUrl(url, isStringValue); + + let requestable = false; + let needResolve = false; + + if (!isIgnored) { + ({ requestable, needResolve } = isURLRequestable(url, options)); + } + + let prefix; + + 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; + + 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 isLayerFunction = + node.type === "function" && node.value.toLowerCase() === "layer"; + const isLayerWord = + node.type === "word" && node.value.toLowerCase() === "layer"; + + 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, + }); + } - const parsed = parseImport(atRule.params); + layer = valueParser.stringify(nodes).trim().toLowerCase(); + nodes = []; + } else if ( + node.type === "function" && + node.value.toLowerCase() === "supports" + ) { + nodes.splice(nodes.length - 1, 1, ...node.nodes); - if (!parsed) { - // eslint-disable-next-line consistent-return - return result.warn(`Unable to find uri in '${atRule.toString()}'`, { - node: atRule, - }); + supports = valueParser.stringify(nodes).trim().toLowerCase(); + nodes = []; + } } - if (filter && !filter(parsed)) { - return; + if (nodes.length > 0) { + media = valueParser.stringify(nodes).trim().toLowerCase(); } + } - atRule.remove(); + // eslint-disable-next-line consistent-return + return { + atRule, + prefix, + url, + layer, + supports, + media, + requestable, + needResolve, + }; +} - const { url, media } = parsed; +const plugin = (options = {}) => { + return { + postcssPlugin: "postcss-import-parser", + prepare(result) { + const parsedAtRules = []; - items.push({ url, media }); - }); + 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, + ), + ); - return items; -} + return; + } -function uniq(array) { - return array.reduce( - (acc, d) => - !acc.find((el) => el.url === d.url && el.media === d.media) - ? [...acc, d] - : acc, - [] - ); -} + const { isSupportDataURL, isSupportAbsoluteURL } = options; -export default postcss.plugin( - pluginName, - (options = {}) => - function process(css, result) { - const traversed = walkAtRules(css, result, options.filter); - const paths = uniq(traversed); + let parsedAtRule; - paths.forEach((item) => { - result.messages.push({ pluginName, type: 'import', item }); - }); - } -); + try { + parsedAtRule = parseNode(atRule, "params", { + isSupportAbsoluteURL, + isSupportDataURL, + }); + } catch (error) { + result.warn(error.message, { node: error.node }); + } + + 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 96fd7187..4e24e926 100644 --- a/src/plugins/postcss-url-parser.js +++ b/src/plugins/postcss-url-parser.js @@ -1,157 +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 walkDeclsWithUrl(css, result, filter) { - const items = []; +function shouldHandleURL(url, declaration, result, options) { + if (url.length === 0) { + result.warn(`Unable to find uri in '${declaration.toString()}'`, { + node: declaration, + }); - css.walkDecls((decl) => { - if (!needParseDecl.test(decl.value)) { - return; + return { requestable: false, needResolve: false }; + } + + return isURLRequestable(url, options); +} + +function parseDeclaration(declaration, key, result, options) { + if (!needParseDeclaration.test(declaration[key])) { + return; + } + + const parsed = valueParser( + declaration.raws && declaration.raws.value && declaration.raws.value.raw + ? declaration.raws.value.raw + : declaration[key], + ); + + let inBetween; + + if (declaration.raws && declaration.raws.between) { + const lastCommentIndex = declaration.raws.between.lastIndexOf("/*"); + + const matched = declaration.raws.between + .slice(lastCommentIndex) + .match(WEBPACK_IGNORE_COMMENT_REGEXP); + + if (matched) { + inBetween = matched[2] === "true"; } + } - const parsed = valueParser(decl.value); - const urls = []; + let isIgnoreOnDeclaration = false; - walkUrls(parsed, (node, url, needQuotes) => { - if (url.trim().replace(/\\[\r\n]/g, '').length === 0) { - result.warn(`Unable to find uri in '${decl.toString()}'`, { - node: decl, - }); + const prevNode = declaration.prev(); - return; - } + if (prevNode && prevNode.type === "comment") { + const matched = prevNode.text.match(WEBPACK_IGNORE_COMMENT_REGEXP); - if (filter && !filter(url)) { - return; - } + if (matched) { + isIgnoreOnDeclaration = matched[2] === "true"; + } + } - urls.push({ url, needQuotes }); - }); + let needIgnore; - if (urls.length === 0) { + const parsedURLs = []; + + parsed.walk((valueNode, index, valueNodes) => { + if (valueNode.type !== "function") { return; } - items.push({ decl, parsed, 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 uniqWith(array, comparator) { - return array.reduce( - (acc, d) => (!acc.some((item) => comparator(d, item)) ? [...acc, d] : acc), - [] - ); -} + return; + } -function flatten(array) { - return array.reduce((a, b) => a.concat(b), []); -} + const { nodes } = valueNode; + const isStringValue = nodes.length !== 0 && nodes[0].type === "string"; + let url = isStringValue ? nodes[0].value : valueParser.stringify(nodes); -function isEqual(value, other) { - return value.url === other.url && value.needQuotes === other.needQuotes; -} + url = normalizeUrl(url, isStringValue); -export default postcss.plugin( - pluginName, - (options = {}) => - function process(css, result) { - const traversed = walkDeclsWithUrl(css, result, options.filter); - const paths = uniqWith( - flatten(traversed.map((item) => item.urls)), - isEqual + const { requestable, needResolve } = shouldHandleURL( + url, + declaration, + result, + options, ); - if (paths.length === 0) { - return; + // Do not traverse inside `url` + if (!requestable) { + // eslint-disable-next-line consistent-return + return false; } - const placeholders = []; + const queryParts = url.split("!"); - paths.forEach((path, index) => { - const placeholder = `___CSS_LOADER_URL___${index}___`; - const { url, needQuotes } = path; + let prefix; - placeholders.push({ placeholder, path }); + if (queryParts.length > 1) { + url = queryParts.pop(); + prefix = queryParts.join("!"); + } - result.messages.push({ - pluginName, - type: 'url', - item: { url, placeholder, needQuotes }, - }); + parsedURLs.push({ + declaration, + parsed, + node: getNodeFromUrlFunc(valueNode), + prefix, + url, + needQuotes: false, + needResolve, }); - traversed.forEach((item) => { - walkUrls(item.parsed, (node, url, needQuotes) => { - const value = placeholders.find( - (placeholder) => - placeholder.path.url === url && - placeholder.path.needQuotes === needQuotes + // 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 (!value) { - return; + if ( + (isIgnoreOnDeclaration && typeof needIgnore === "undefined") || + needIgnore + ) { + if (needIgnore) { + // eslint-disable-next-line no-undefined + needIgnore = undefined; + } + + // eslint-disable-next-line no-continue + continue; } - const { placeholder } = value; + const { nodes } = nNode; + const isStringValue = + nodes.length !== 0 && nodes[0].type === "string"; + let url = isStringValue + ? nodes[0].value + : valueParser.stringify(nodes); - // eslint-disable-next-line no-param-reassign - node.type = 'word'; - // eslint-disable-next-line no-param-reassign - node.value = placeholder; - }); + url = normalizeUrl(url, isStringValue); - // eslint-disable-next-line no-param-reassign - item.decl.value = item.parsed.toString(); - }); + 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: 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 e70cba20..21d4def7 100644 --- a/src/runtime/api.js +++ b/src/runtime/api.js @@ -2,81 +2,103 @@ MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ -// css base code, injected by the css-loader -module.exports = function(useSourceMap) { - var list = []; +module.exports = (cssWithMappingToString) => { + const list = []; // return the list of modules as css string list.toString = function toString() { - return this.map(function(item) { - var content = cssWithMappingToString(item, useSourceMap); + return this.map((item) => { + 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 + '}'; - } else { - return content; + content += "}"; } - }).join(''); + + if (item[4]) { + content += "}"; + } + + return content; + }).join(""); }; // import a list of modules into the list - list.i = function(modules, mediaQuery) { - if (typeof modules === 'string') { - modules = [[null, modules, '']]; + list.i = function i(modules, media, dedupe, supports, layer) { + if (typeof modules === "string") { + modules = [[null, modules, undefined]]; } - var alreadyImportedModules = {}; - for (var i = 0; i < this.length; i++) { - var id = this[i][0]; - if (id != null) { - alreadyImportedModules[id] = true; + + const alreadyImportedModules = {}; + + if (dedupe) { + for (let k = 0; k < this.length; k++) { + const id = this[k][0]; + + if (id != null) { + alreadyImportedModules[id] = true; + } } } - for (i = 0; i < modules.length; i++) { - var 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; + } + } + + if (supports) { + if (!item[4]) { + item[4] = `${supports}`; + } else { + item[1] = `@supports (${item[4]}) {${item[1]}}`; + item[4] = supports; } - list.push(item); } + + list.push(item); } }; + return list; }; - -function cssWithMappingToString(item, useSourceMap) { - var content = item[1] || ''; - var cssMapping = item[3]; - if (!cssMapping) { - return content; - } - - if (useSourceMap && typeof btoa === 'function') { - var sourceMapping = toComment(cssMapping); - var sourceURLs = cssMapping.sources.map(function(source) { - return '/*# 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 - var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); - var data = - 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64; - - return '/*# ' + data + ' */'; -} diff --git a/src/runtime/getUrl.js b/src/runtime/getUrl.js new file mode 100644 index 00000000..6c70a337 --- /dev/null +++ b/src/runtime/getUrl.js @@ -0,0 +1,28 @@ +module.exports = (url, options) => { + if (!options) { + options = {}; + } + + if (!url) { + return url; + } + + url = String(url.__esModule ? url.default : url); + + // If url is already wrapped in quotes, remove them + if (/^['"].*['"]$/.test(url)) { + url = url.slice(1, -1); + } + + if (options.hash) { + url += options.hash; + } + + // Should url be wrapped? + // See https://drafts.csswg.org/css-values-3/#urls + 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/runtime/url-escape.js b/src/runtime/url-escape.js deleted file mode 100644 index a792c658..00000000 --- a/src/runtime/url-escape.js +++ /dev/null @@ -1,18 +0,0 @@ -module.exports = function escape(url, needQuotes) { - if (typeof url !== 'string') { - return url; - } - - // If url is already wrapped in quotes, remove them - if (/^['"].*['"]$/.test(url)) { - url = url.slice(1, -1); - } - - // Should url be wrapped? - // See https://drafts.csswg.org/css-values-3/#urls - if (/["'() \t\n]/.test(url) || needQuotes) { - return '"' + url.replace(/"/g, '\\"').replace(/\n/g, '\\n') + '"'; - } - - return url; -}; diff --git a/src/utils.js b/src/utils.js index 6df7ef0f..86866702 100644 --- a/src/utils.js +++ b/src/utils.js @@ -2,115 +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 cc from 'camelcase'; -import loaderUtils from 'loader-utils'; +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"; -/* eslint-disable line-comment-position */ +const WEBPACK_IGNORE_COMMENT_REGEXP = /webpackIgnore:(\s+)?(true|false)/; -const placholderRegExps = { - importItemG: /___CSS_LOADER_IMPORT___([0-9]+)___/g, - importItem: /___CSS_LOADER_IMPORT___([0-9]+)___/, +function stringifyRequest(loaderContext, request) { + return JSON.stringify( + loaderContext.utils.contextify( + loaderContext.context || loaderContext.rootContext, + request, + ), + ); +} + +// 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}`; + } + + // 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 getImportPrefix(loaderContext, importLoaders) { - if (importLoaders === false) { - return ''; +function camelCase(input) { + let result = input.trim(); + + if (result.length === 0) { + return ""; + } + + if (result.length === 1) { + return result.toLowerCase(); } - const numberImportedLoaders = parseInt(importLoaders, 10) || 0; - const loadersRequest = loaderContext.loaders - .slice( - loaderContext.loaderIndex, - loaderContext.loaderIndex + 1 + numberImportedLoaders - ) - .map((x) => x.request) - .join('!'); + const hasUpperCase = result !== result.toLowerCase(); + + if (hasUpperCase) { + result = preserveCamelCase(result); + } - return `-!${loadersRequest}!`; + return result + .replace(/^[_.\- ]+/, "") + .toLowerCase() + .replace(/[_.\- ]+([\p{Alpha}\p{N}_]|$)/gu, (_, p1) => p1.toUpperCase()) + .replace(/\d+([\p{Alpha}\p{N}_]|$)/gu, (m) => m.toUpperCase()); } -function camelCase(str) { - return cc(str); +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 dashesCamelCase(str) { - return str.replace(/-+(\w)/g, (match, firstLetter) => - firstLetter.toUpperCase() - ); +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 whitespace = '[\\x20\\t\\r\\n\\f]'; -const unescapeRegExp = new RegExp( - `\\\\([\\da-f]{1,6}${whitespace}?|(${whitespace})|.)`, - 'ig' -); +const CONTAINS_ESCAPE = /\\/; function unescape(str) { - return str.replace(unescapeRegExp, (_, escaped, escapedWhitespace) => { - const high = `0x${escaped}` - 0x10000; - - // 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); - }); + 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 = /[<>:"/\\|?*]/g; +// eslint-disable-next-line no-control-regex +const reControlChars = /[\u0000-\u001f\u0080-\u009f]/g; + +function escapeLocalIdent(localident) { + // TODO simplify? + return escape( + localident + // For `[hash]` placeholder + .replace(/^((-?[0-9])|--)/, "_$1") + .replace(filenameReservedRegex, "-") + .replace(reControlChars, "-") + .replace(/\./g, "-"), + ); } -function getLocalIdent(loaderContext, localIdentName, localName, options) { - if (!options.context) { +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 = + 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, + ); + + 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 - options.context = loaderContext.rootContext; + localIdentName = localIdentName.replace( + /\[(?:([^:\]]+):)?(?:hash|contenthash|fullhash)(?::([a-z]+\d*))?(?::(\d+))?\]/gi, + () => (hashName === "fullhash" ? "[fullhash]" : "[contenthash]"), + ); } - const request = path - .relative(options.context, loaderContext.resourcePath) - .replace(/\\/g, '/'); + let localIdentHash = ""; - // eslint-disable-next-line no-param-reassign - options.content = `${options.hashPrefix + request}+${unescape(localName)}`; + 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); - // eslint-disable-next-line no-param-reassign - localIdentName = localIdentName.replace(/\[local\]/gi, localName); + if (hashSalt) { + hash.update(hashSalt); + } + + const tierSalt = Buffer.allocUnsafe(4); + + tierSalt.writeUInt32LE(tier); - const hash = loaderUtils.interpolateName( + 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); + } + + 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; +} + +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; + }; +} + +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 { + rawModulesOptions = rawOptions.modules; + ({ auto } = rawModulesOptions); + } + + 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 (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; + } + }; + } + + 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, - options + 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, 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); + } + + delete newMap.file; + + const { sourceRoot } = newMap; + + delete newMap.sourceRoot; + + if (newMap.sources) { + // 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 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 code ? `// Imports\n${code}` : ""; +} + +function normalizeSourceMapForRuntime(map, loaderContext) { + const resultMap = map ? map.toJSON() : null; + + if (resultMap) { + delete resultMap.file; + + /* 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 */ + + delete resultMap.sourcesContent; + } + + resultMap.sourceRoot = ""; + resultMap.sources = resultMap.sources.map((source) => { + // Non-standard syntax from `postcss` + if (source.indexOf("<") === 0) { + return source; + } + + const sourceType = getURLType(source); + + if (sourceType !== "path-relative") { + return source; + } + + const resourceDirname = path.dirname(loaderContext.resourcePath); + const absoluteSource = path.resolve(resourceDirname, source); + const contextifyPath = normalizePath( + path.relative(loaderContext.rootContext, absoluteSource), + ); + + return `webpack://./${contextifyPath}`; + }); + } + + return JSON.stringify(resultMap); +} + +function printParams(media, dedupe, supports, layer) { + let result = ""; + + if (typeof layer !== "undefined") { + result = `, ${JSON.stringify(layer)}`; + } + + if (typeof supports !== "undefined") { + result = `, ${JSON.stringify(supports)}${result}`; + } else if (result.length > 0) { + result = `, undefined${result}`; + } + + 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}`; + } + + return result; +} + +function getModuleCode( + result, + api, + replacements, + options, + isTemplateLiteralSupported, + loaderContext, +) { + if (options.modules.exportOnlyLocals === true) { + return ""; + } + + 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" : []); + const preparedOptions = + getUrlOptions.length > 0 ? `, { ${getUrlOptions.join(", ")} }` : ""; + + beforeCode += `var ${replacementName} = ___CSS_LOADER_GET_URL_IMPORT___(${importName}${preparedOptions});\n`; + code = code.replace(new RegExp(replacementName, "g"), () => + isTemplateLiteralSupported + ? `\${${replacementName}}` + : `" + ${replacementName} + "`, + ); + } + } + + // 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`; +} + +const SLASH = "\\".charCodeAt(0); +const BACKTICK = "`".charCodeAt(0); +const DOLLAR = "$".charCodeAt(0); + +function convertToTemplateLiteral(str) { + let escapedString = ""; + + for (let i = 0; i < str.length; i++) { + const code = str.charCodeAt(i); + + escapedString += + code === SLASH || code === BACKTICK || code === DOLLAR + ? `\\${str[i]}` + : str[i]; + } + + return `\`${escapedString}\``; +} + +function dashesCamelCase(str) { + return str.replace(/-+(\w)/g, (match, firstLetter) => + firstLetter.toUpperCase(), ); +} + +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}`; + } + + if (!validIdentifier.test(name) || keywords.has(name)) { + identifierId += 1; + + const id = `_${identifierId.toString(16)}`; + + 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`; + } + + localsCode += `\t${JSON.stringify(name)}: ${serializedValue}`; + } + } + }; - return hash - .replace(new RegExp('[^a-zA-Z0-9\\-_\u00A0-\uFFFF]', 'g'), '-') - .replace(/^((-?[0-9])|--)/, '_$1'); + for (const { name, value } of exports) { + addExportToLocalsCode( + options.modules.exportLocalsConvention(name), + value, + ); + } + + 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} + "`, + ); + } + } + + 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; } -function getFilter(filter, resourcePath, defaultFilter = null) { - return (content) => { - if (defaultFilter && !defaultFilter(content)) { - return false; +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; + } + + 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 }; } - if (typeof filter === 'function') { - return !filter(content, resourcePath); + return { requestable: true, needResolve: false }; + } + + // `file:` protocol + if (/^file:/i.test(url)) { + return { requestable: true, needResolve: true }; + } + + // 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 { 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 { - getImportPrefix, - getLocalIdent, - placholderRegExps, - camelCase, - dashesCamelCase, + normalizeOptions, + shouldUseModulesPlugins, + shouldUseImportPlugin, + shouldUseURLPlugin, + shouldUseIcssPlugin, + normalizeUrl, + requestify, getFilter, + getModulesOptions, + getModulesPlugins, + normalizeSourceMap, + 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-option.test.js.snap b/test/__snapshots__/camelCase-option.test.js.snap deleted file mode 100644 index 537f463e..00000000 --- a/test/__snapshots__/camelCase-option.test.js.snap +++ /dev/null @@ -1,202 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`camelCase option dashes: errors 1`] = `Array []`; - -exports[`camelCase option dashes: locals 1`] = ` -Object { - "btn--info_is-disabled_1": "jDvNwV-WRSMB9n2z9QrzR", - "btn-info_is-disabled": "_1XTfjK5gKYeSzbdZhEXRpF", - "btnInfo_isDisabled": "_1XTfjK5gKYeSzbdZhEXRpF", - "btnInfo_isDisabled_1": "jDvNwV-WRSMB9n2z9QrzR", - "foo": "bar", - "my-btn-info_is-disabled": "value", - "myBtnInfo_isDisabled": "value", - "simple": "_1penVf9PMtov2qLxmtsMjq", -} -`; - -exports[`camelCase option dashes: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1XTfjK5gKYeSzbdZhEXRpF { - color: blue; -} - -.jDvNwV-WRSMB9n2z9QrzR { - color: blue; -} - -._1penVf9PMtov2qLxmtsMjq { - color: red; -} - -a { - color: yellow; -} -", - "", - ], -] -`; - -exports[`camelCase option dashes: warnings 1`] = `Array []`; - -exports[`camelCase option dashesOnly: errors 1`] = `Array []`; - -exports[`camelCase option dashesOnly: locals 1`] = ` -Object { - "btnInfo_isDisabled": "_1XTfjK5gKYeSzbdZhEXRpF", - "btnInfo_isDisabled_1": "jDvNwV-WRSMB9n2z9QrzR", - "foo": "bar", - "myBtnInfo_isDisabled": "value", - "simple": "_1penVf9PMtov2qLxmtsMjq", -} -`; - -exports[`camelCase option dashesOnly: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1XTfjK5gKYeSzbdZhEXRpF { - color: blue; -} - -.jDvNwV-WRSMB9n2z9QrzR { - color: blue; -} - -._1penVf9PMtov2qLxmtsMjq { - color: red; -} - -a { - color: yellow; -} -", - "", - ], -] -`; - -exports[`camelCase option dashesOnly: warnings 1`] = `Array []`; - -exports[`camelCase option not specified: errors 1`] = `Array []`; - -exports[`camelCase option not specified: locals 1`] = ` -Object { - "btn--info_is-disabled_1": "jDvNwV-WRSMB9n2z9QrzR", - "btn-info_is-disabled": "_1XTfjK5gKYeSzbdZhEXRpF", - "foo": "bar", - "my-btn-info_is-disabled": "value", - "simple": "_1penVf9PMtov2qLxmtsMjq", -} -`; - -exports[`camelCase option not specified: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1XTfjK5gKYeSzbdZhEXRpF { - color: blue; -} - -.jDvNwV-WRSMB9n2z9QrzR { - color: blue; -} - -._1penVf9PMtov2qLxmtsMjq { - color: red; -} - -a { - color: yellow; -} -", - "", - ], -] -`; - -exports[`camelCase option not specified: warnings 1`] = `Array []`; - -exports[`camelCase option only: errors 1`] = `Array []`; - -exports[`camelCase option only: locals 1`] = ` -Object { - "btnInfoIsDisabled": "_1XTfjK5gKYeSzbdZhEXRpF", - "btnInfoIsDisabled1": "jDvNwV-WRSMB9n2z9QrzR", - "foo": "bar", - "myBtnInfoIsDisabled": "value", - "simple": "_1penVf9PMtov2qLxmtsMjq", -} -`; - -exports[`camelCase option only: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1XTfjK5gKYeSzbdZhEXRpF { - color: blue; -} - -.jDvNwV-WRSMB9n2z9QrzR { - color: blue; -} - -._1penVf9PMtov2qLxmtsMjq { - color: red; -} - -a { - color: yellow; -} -", - "", - ], -] -`; - -exports[`camelCase option only: warnings 1`] = `Array []`; - -exports[`camelCase option true: errors 1`] = `Array []`; - -exports[`camelCase option true: locals 1`] = ` -Object { - "btn--info_is-disabled_1": "jDvNwV-WRSMB9n2z9QrzR", - "btn-info_is-disabled": "_1XTfjK5gKYeSzbdZhEXRpF", - "btnInfoIsDisabled": "_1XTfjK5gKYeSzbdZhEXRpF", - "btnInfoIsDisabled1": "jDvNwV-WRSMB9n2z9QrzR", - "foo": "bar", - "my-btn-info_is-disabled": "value", - "myBtnInfoIsDisabled": "value", - "simple": "_1penVf9PMtov2qLxmtsMjq", -} -`; - -exports[`camelCase option true: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1XTfjK5gKYeSzbdZhEXRpF { - color: blue; -} - -.jDvNwV-WRSMB9n2z9QrzR { - color: blue; -} - -._1penVf9PMtov2qLxmtsMjq { - color: red; -} - -a { - color: yellow; -} -", - "", - ], -] -`; - -exports[`camelCase option true: warnings 1`] = `Array []`; 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__/errors.test.js.snap b/test/__snapshots__/errors.test.js.snap deleted file mode 100644 index e04c3b08..00000000 --- a/test/__snapshots__/errors.test.js.snap +++ /dev/null @@ -1,117 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`validation 1`] = ` -"CSS Loader Invalid Options - -options.url should be boolean -options.url should pass \\"instanceof\\" keyword validation -options.url should match some schema in anyOf -" -`; - -exports[`validation 2`] = ` -"CSS Loader Invalid Options - -options.import should be boolean -options.import should pass \\"instanceof\\" keyword validation -options.import should match some schema in anyOf -" -`; - -exports[`validation 3`] = ` -"CSS Loader Invalid Options - -options.modules should be boolean -options.modules should be equal to one of the allowed values -options.modules should match some schema in anyOf -" -`; - -exports[`validation 4`] = ` -"CSS Loader Invalid Options - -options.modules should be boolean -options.modules should be equal to one of the allowed values -options.modules should match some schema in anyOf -" -`; - -exports[`validation 5`] = ` -"CSS Loader Invalid Options - -options.modules should be boolean -options.modules should be equal to one of the allowed values -options.modules should match some schema in anyOf -" -`; - -exports[`validation 6`] = ` -"CSS Loader Invalid Options - -options.localIdentName should be string -" -`; - -exports[`validation 7`] = ` -"CSS Loader Invalid Options - -options.localIdentRegExp should be string -options.localIdentRegExp should pass \\"instanceof\\" keyword validation -options.localIdentRegExp should match some schema in anyOf -" -`; - -exports[`validation 8`] = ` -"CSS Loader Invalid Options - -options.context should be string -" -`; - -exports[`validation 9`] = ` -"CSS Loader Invalid Options - -options.hashPrefix should be string -" -`; - -exports[`validation 10`] = ` -"CSS Loader Invalid Options - -options.getLocalIdent should be boolean -options.getLocalIdent should pass \\"instanceof\\" keyword validation -options.getLocalIdent should match some schema in anyOf -" -`; - -exports[`validation 11`] = ` -"CSS Loader Invalid Options - -options.sourceMap should be boolean -" -`; - -exports[`validation 12`] = ` -"CSS Loader Invalid Options - -options.camelCase should be boolean -options.camelCase should be equal to one of the allowed values -options.camelCase should match some schema in anyOf -" -`; - -exports[`validation 13`] = ` -"CSS Loader Invalid Options - -options.importLoaders should be boolean -options.importLoaders should be number -options.importLoaders should match some schema in anyOf -" -`; - -exports[`validation 14`] = ` -"CSS Loader Invalid Options - -options.exportOnlyLocals should be boolean -" -`; 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..21c6e5d5 --- /dev/null +++ b/test/__snapshots__/exportType.test.js.snap @@ -0,0 +1,5151 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +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`] = `[]`; + +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`] = `[]`; + +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`] = `[]`; diff --git a/test/__snapshots__/getLocalIdent-option.test.js.snap b/test/__snapshots__/getLocalIdent-option.test.js.snap deleted file mode 100644 index 16ce6a7b..00000000 --- a/test/__snapshots__/getLocalIdent-option.test.js.snap +++ /dev/null @@ -1,150 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`getLocalIdent option should accepts arguments: errors 1`] = `Array []`; - -exports[`getLocalIdent option should accepts arguments: locals 1`] = ` -Object { - "abc": "foo", - "def": "foo", - "ghi": "foo", - "jkl": "foo", -} -`; - -exports[`getLocalIdent option should accepts arguments: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".foo .foo { - color: red; -} - -.foo .foo { - color: blue; -} -", - "", - ], -] -`; - -exports[`getLocalIdent option should accepts arguments: warnings 1`] = `Array []`; - -exports[`getLocalIdent option should allow to use \`false\` value: errors 1`] = `Array []`; - -exports[`getLocalIdent option should allow to use \`false\` value: locals 1`] = ` -Object { - "abc": "before_abc__1hk_after", - "def": "before_def__3oo_after", - "ghi": "before_ghi__2ZR_after", - "jkl": "before_jkl__aQ1_after", -} -`; - -exports[`getLocalIdent option should allow to use \`false\` value: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".before_abc__1hk_after .before_def__3oo_after { - color: red; -} - -.before_ghi__2ZR_after .before_jkl__aQ1_after { - color: blue; -} -", - "", - ], -] -`; - -exports[`getLocalIdent option should allow to use \`false\` value: warnings 1`] = `Array []`; - -exports[`getLocalIdent option should respect \`context\` option: errors 1`] = `Array []`; - -exports[`getLocalIdent option should respect \`context\` option: locals 1`] = ` -Object { - "abc": "_1hksQTRR0UD9eKPUBlgn0X", - "def": "_3oo37UGTAgyDe0MeQom-28", - "ghi": "_2ZRWT_7WiIKpOei7U0eJzJ", - "jkl": "aQ1rQfhbWSRMXFXxIfQcx", -} -`; - -exports[`getLocalIdent option should respect \`context\` option: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._1hksQTRR0UD9eKPUBlgn0X ._3oo37UGTAgyDe0MeQom-28 { - color: red; -} - -._2ZRWT_7WiIKpOei7U0eJzJ .aQ1rQfhbWSRMXFXxIfQcx { - color: blue; -} -", - "", - ], -] -`; - -exports[`getLocalIdent option should respect \`context\` option: warnings 1`] = `Array []`; - -exports[`getLocalIdent option should work (\`modules: false\`): errors 1`] = `Array []`; - -exports[`getLocalIdent option should work (\`modules: false\`): locals 1`] = ` -Object { - "def": "foo", - "ghi": "foo", - "jkl": "foo", -} -`; - -exports[`getLocalIdent option should work (\`modules: false\`): module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".abc .foo { - color: red; -} - -.foo .foo { - color: blue; -} -", - "", - ], -] -`; - -exports[`getLocalIdent option should work (\`modules: false\`): warnings 1`] = `Array []`; - -exports[`getLocalIdent option should work (\`modules: true\`): errors 1`] = `Array []`; - -exports[`getLocalIdent option should work (\`modules: true\`): locals 1`] = ` -Object { - "abc": "foo", - "def": "foo", - "ghi": "foo", - "jkl": "foo", -} -`; - -exports[`getLocalIdent option should work (\`modules: true\`): module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".foo .foo { - color: red; -} - -.foo .foo { - color: blue; -} -", - "", - ], -] -`; - -exports[`getLocalIdent option should work (\`modules: true\`): warnings 1`] = `Array []`; 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 704c33ff..f0aa2ca8 100644 --- a/test/__snapshots__/import-option.test.js.snap +++ b/test/__snapshots__/import-option.test.js.snap @@ -1,535 +1,752 @@ // 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; } -", - "((min-width: 100px)) and (screen and print)", - ], - Array [ - 2, - ".test { - c: c; +\`, ""]); +// 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; } ", - "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);", + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/order-2.css", + ".order-2 { + color: red; +} +", "", ], - Array [ - 1, - "@import url(http://example.com/style.css?#hash);", - "", + [ + "./import/order.css", + "@import url(http://example.com/style.css);", ], - Array [ - 1, - "@import url(http://example.com/style.css?foo=bar#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/other-style.css);", - "screen and print", - ], - 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-2.css", + ".order-2 { + color: red; } ", - "", + "screen and (min-width: 2000px)", ], - Array [ - 5, - ".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-3-1.css", + ".order-3-1 { + color: white; } ", - "", + "screen and (orientation:landscape)", ], - Array [ - 6, - ".other-query { - f: f; + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/order-3.css", + ".order-3 { + color: red; } ", - "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);", - "", + [ + "./import/order.css", + "@import url(http://example.com/style.css);", ], - 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-1.css", + "@media (min-width: 1000px) {.order-4-1 { + color: red; +} +}", + "screen", ], - Array [ - 7, - ".relative { + [ + "../../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 [ - 8, - ".top-relative { - color: black; + [ + "../../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 [ - 9, - ".tilde { - color: yellow; + [ + "../../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 [ - 10, - ".alias { + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/order-4.css", + ".order-4 { color: red; } ", - "", + "screen", ], - Array [ - 11, - ".background-imported { - background: url(/webpack/public/path/img.png); + [ + "./import/order.css", + "div { + width: 100%; + height: 200px; } ", "", ], - 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 {} +] +`; -.class { - a: b c d; -} +exports[`"import" option should keep original order: warnings 1`] = `[]`; -.foo { - @import 'path.css'; -} +exports[`"import" option should resolve "file" protocol: errors 1`] = `[]`; -.background { - background: url(/webpack/public/path/img.png); +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; } ", "", ], + [ + "./import/import-file-protocol.css", + "", + "", + ], ] `; -exports[`import option Function: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-media.css\\"), \\"screen and print\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-other.css\\"), \\"(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(require(\\"-!../../../src/index.js??ref--4-0!./query.css?foo=1&bar=1\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"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(require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"), \\"\\"); -var urlEscape = require(\\"../../../src/runtime/url-escape.js\\"); -var ___CSS_LOADER_URL___0___ = urlEscape(require(\\"./img.png\\")); +exports[`"import" option should resolve "file" protocol: warnings 1`] = `[]`; -// 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___0___ + \\");\\\\n}\\\\n\\", \\"\\"]); +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 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 +exports[`"import" option should resolve absolute path: result 1`] = ` +[ + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./import/test.css", + ".test { + a: a; +} +", + "", + ], + [ + "./import/import-absolute.css", + "", + "", + ], +] +`; -(19:1) Unable to find uri in '@import \\" \\"'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +exports[`"import" option should resolve absolute path: warnings 1`] = `[]`; -(20:1) Unable to find uri in '@import \\" -\\"'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +exports[`"import" option should resolve server-relative url relative rootContext: errors 1`] = `[]`; -(22:1) Unable to find uri in '@import url()'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +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___; +" +`; -(23:1) Unable to find uri in '@import url('')'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +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; +} +", + "", + ], + [ + "../../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; +} +", + "", + ], +] +`; -(24:1) Unable to find uri in '@import url(\\"\\")'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +exports[`"import" option should resolve server-relative url relative rootContext: warnings 1`] = `[]`; -(40:1) Unable to find uri in '@import '", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +exports[`"import" option should respect conditionNames: errors 1`] = `[]`; -(41:1) Unable to find uri in '@import foo-bar'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning +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 +___CSS_LOADER_EXPORT___.push([module.id, \` +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; -(43:1) It looks like you didn't end your @import statement correctly. Child nodes are attached to it.", +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", + " +", + "", + ], ] `; -exports[`import option false: errors 1`] = `Array []`; - -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 respect conditionNames: warnings 1`] = `[]`; -.class { - a: b c d; -} +exports[`"import" option should respect style field in package.json: errors 1`] = `[]`; -.foo { - @import 'path.css'; +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___; +" +`; -@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); +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", + " ", "", ], ] `; -exports[`import option false: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -var urlEscape = require(\\"../../../src/runtime/url-escape.js\\"); -var ___CSS_LOADER_URL___0___ = urlEscape(require(\\"./img.png\\")); +exports[`"import" option should respect style field in package.json: warnings 1`] = `[]`; -// 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___0___ + \\");\\\\n}\\\\n\\", \\"\\"]); +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 should throw an error on unresolved import: warnings 1`] = `[]`; + +exports[`"import" option should work and output media: errors 1`] = `[]`; + +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___; " `; -exports[`import option false: warnings 1`] = `Array []`; +exports[`"import" option should work and output media: result 1`] = ` +"@media (prefers-color-scheme: dark) {a { + color: white; +} +}a { + color: black; +} +" +`; -exports[`import option true and modules \`false\`: errors 1`] = `Array []`; +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 +___CSS_LOADER_EXPORT___.push([module.id, \` +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" +`; -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);", + [ + "./import/import-order.css", + " +", "", ], - 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; -} -", - "", - ], - 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; @@ -544,1122 +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 -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"), \\"screen and print\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-media.css\\"), \\"screen and print\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-other.css\\"), \\"(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(require(\\"-!../../../src/index.js??ref--4-0!package/test.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./query.css?foo=1&bar=1\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"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(require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"), \\"\\"); -var urlEscape = require(\\"../../../src/runtime/url-escape.js\\"); -var ___CSS_LOADER_URL___0___ = urlEscape(require(\\"./img.png\\")); - -// 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___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 - -(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 +@import nourl(test.css); +@import '\\\\ +\\\\ +\\\\ +'; -(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 { +.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; } -", - "((min-width: 100px)) and (screen and print)", - ], - Array [ - 4, - ".test { +}}@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 { +}@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, - ".query { +.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(); -@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'; +.test { + a: a; } - -.background { - background: url(/webpack/public/path/img.png); +.test { + a: a; } -", - "", - ], -] -`; - -exports[`import option true and modules \`global\`: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"), \\"screen and print\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-media.css\\"), \\"screen and print\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-other.css\\"), \\"(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(require(\\"-!../../../src/index.js??ref--4-0!package/test.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./query.css?foo=1&bar=1\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"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(require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"), \\"\\"); -var urlEscape = require(\\"../../../src/runtime/url-escape.js\\"); -var ___CSS_LOADER_URL___0___ = urlEscape(require(\\"./img.png\\")); - -// 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___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 { +.test { a: a; } -", - "", - ], - Array [ - 3, - "._3fDHa2l1HOcl9VXVfSKtB7 { +.test { a: a; } -", - "screen and print", - ], - Array [ - 5, - "a { - b: b; +.strange { + color: red; } -", - "((min-width: 100px)) and (screen and print)", - ], - Array [ - 4, - ".f63QYE3dlpdhZuYg8R4pd { - c: c; +.strange { + color: red; } -", - "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 { - d: d +.strange { + color: red; } -", - "", - ], - Array [ - 7, - "._2FiPFdRUJ6bc--oLN32vUX { - e: e; +.strange { + color: red; } -", - "", - ], - Array [ - 8, - "._2nQ7ONr22lmMu683ljj0MN { - f: f; +.space { + color: gray; } -", - "", - ], - Array [ - 9, - "._2nQ7ONr22lmMu683ljj0MN { - f: f; +.space { + color: gray; } -", - "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 { +.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; } -", - "", - ], - Array [ - 11, - "._4a-iWS8tumU5J8-oW8LlR { - color: black; +.my-box { + color: red; } -", - "", - ], - Array [ - 12, - "._2VXavzz3TUKPrbI3S1tkrW { - color: yellow; +.my-box { + color: red; } -", - "", - ], - Array [ - 13, - "._2E2zpPgFs4vJaVymauWk3p { +.my-box { color: red; } -", - "", - ], - Array [ - 14, - "._1N9oVhfOd30-kQu9zrdhrJ { - background: url(/webpack/public/path/img.png); +.my-box { + color: red; } -", - "", - ], - Array [ - 1, - "@import url(); +.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 -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"), \\"screen and print\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-media.css\\"), \\"screen and print\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-other.css\\"), \\"(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(require(\\"-!../../../src/index.js??ref--4-0!package/test.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./query.css?foo=1&bar=1\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"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(require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"), \\"\\"); -var urlEscape = require(\\"../../../src/runtime/url-escape.js\\"); -var ___CSS_LOADER_URL___0___ = urlEscape(require(\\"./img.png\\")); +/* Should be one import and two css modules */ -// 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___0___ + \\");\\\\n}\\\\n\\", \\"\\"]); +/* Should be one import and two css modules */ -// Exports -exports.locals = { - \\"class\\": \\"hnxX78DgkaA2kCp_BPbLd\\", - \\"foo\\": \\"_1Lug_45kZL-M7XuNeM4SCw\\", - \\"background\\": \\"_1E9CLkKp-0idM8IkvZwXn9\\" -};" +/* 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 {} -exports[`import option true and modules \`true\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._3fDHa2l1HOcl9VXVfSKtB7 { - a: a; +.class { + a: b c d; } -", - "", - ], - Array [ - 3, - "._3fDHa2l1HOcl9VXVfSKtB7 { - a: a; + +.foo { + @import 'path.css'; } -", - "screen and print", - ], - Array [ - 5, - "a { + +.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 when not specified: 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; +} +}@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%); +} +", + "", + ], +] +`; + +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%); +} +", + "", + ], +] +`; + +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; } -", - "((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 '\\ +\\ +\\ +'; + +/* Should be one import and two css modules */ + +/* Should be one import and two css modules */ -exports[`import option true and modules \`true\`: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"), \\"screen and print\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-media.css\\"), \\"screen and print\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-other.css\\"), \\"(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(require(\\"-!../../../src/index.js??ref--4-0!package/test.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./query.css?foo=1&bar=1\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"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(require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"), \\"\\"); -var urlEscape = require(\\"../../../src/runtime/url-escape.js\\"); -var ___CSS_LOADER_URL___0___ = urlEscape(require(\\"./img.png\\")); +/* Should be one import and two css modules */ -// 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___0___ + \\");\\\\n}\\\\n\\", \\"\\"]); +/* Should be two import and two css modules */ -// Exports -exports.locals = { - \\"class\\": \\"hnxX78DgkaA2kCp_BPbLd\\", - \\"foo\\": \\"_1Lug_45kZL-M7XuNeM4SCw\\", - \\"background\\": \\"_1E9CLkKp-0idM8IkvZwXn9\\" -};" +/* 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; @@ -1674,102 +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 -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"), \\"screen and print\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-media.css\\"), \\"screen and print\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-other.css\\"), \\"(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(require(\\"-!../../../src/index.js??ref--4-0!package/test.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./query.css?foo=1&bar=1\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"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(require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"), \\"\\"); -var urlEscape = require(\\"../../../src/runtime/url-escape.js\\"); -var ___CSS_LOADER_URL___0___ = urlEscape(require(\\"./img.png\\")); - -// 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___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 2aa70abb..00000000 --- a/test/__snapshots__/importLoaders-option.test.js.snap +++ /dev/null @@ -1,191 +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 -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./imported.css\\"), \\"\\"); - -// 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 -exports.i(require(\\"-!../../../src/index.js??ref--4-0!../../../node_modules/postcss-loader/src/index.js??ref--4-1!./imported.css\\"), \\"\\"); - -// 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 -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./imported.css\\"), \\"\\"); - -// 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 -exports.i(require(\\"-!../../../src/index.js??ref--4-0!../../../node_modules/postcss-loader/src/index.js??ref--4-1!./imported.css\\"), \\"\\"); - -// 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 -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./imported.css\\"), \\"\\"); - -// 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 158f1624..a40e2aa9 100644 --- a/test/__snapshots__/loader.test.js.snap +++ b/test/__snapshots__/loader.test.js.snap @@ -1,135 +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 -module.exports = function(useSourceMap) { - var list = []; - - // return the list of modules as css string - list.toString = function toString() { - return this.map(function(item) { - var content = cssWithMappingToString(item, useSourceMap); - if (item[2]) { - return '@media ' + item[2] + '{' + content + '}'; - } else { - return content; - } - }).join(''); - }; +exports[`loader issue #1033 (2): errors 1`] = `[]`; - // import a list of modules into the list - list.i = function(modules, mediaQuery) { - if (typeof modules === 'string') { - modules = [[null, modules, '']]; - } - var alreadyImportedModules = {}; - for (var i = 0; i < this.length; i++) { - var id = this[i][0]; - if (id != null) { - alreadyImportedModules[id] = true; - } - } - for (i = 0; i < modules.length; i++) { - var 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) { - var content = item[1] || ''; - var cssMapping = item[3]; - if (!cssMapping) { - return content; - } +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___; +" +`; + +exports[`loader issue #1033 (2): result 1`] = ` +[ + [ + "./modules/issue-1033/issue-1033.css", + "", + "", + ], +] +`; - if (useSourceMap && typeof btoa === 'function') { - var sourceMapping = toComment(cssMapping); - var sourceURLs = cssMapping.sources.map(function(source) { - return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'; - }); +exports[`loader issue #1033 (2): warnings 1`] = `[]`; - return [content] - .concat(sourceURLs) - .concat([sourceMapping]) - .join('\\\\n'); - } +exports[`loader issue #1033: errors 1`] = `[]`; - return [content].join('\\\\n'); -} +exports[`loader issue #1033: module 1`] = ` +"// Exports +" +`; + +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___; +" +`; + +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`] = `[]`; -// Adapted from convert-source-map (MIT) -function toComment(sourceMap) { - // eslint-disable-next-line no-undef - var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); - var data = - 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64; +exports[`loader should pass queries to other loader: errors 1`] = `[]`; - return '/*# ' + data + ' */'; +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 pass queries to other loader: warnings 1`] = `[]`; -exports[`loader should compile with \`css\` entry point (with \`modules\` and scope \`global\`): escape 1`] = ` -"module.exports = function escape(url, needQuotes) { - if (typeof url !== 'string') { - return url; - } +exports[`loader should reuse \`ast\` from "postcss-loader": errors 1`] = `[]`; - // If url is already wrapped in quotes, remove them - if (/^['\\"].*['\\"]$/.test(url)) { - url = url.slice(1, -1); - } +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); +} - // Should url be wrapped? - // See https://drafts.csswg.org/css-values-3/#urls - if (/[\\"'() \\\\t\\\\n]/.test(url) || needQuotes) { - return '\\"' + url.replace(/\\"/g, '\\\\\\\\\\"').replace(/\\\\n/g, '\\\\\\\\n') + '\\"'; +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(\${___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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + +.hero:matches(main, .main) { + background-image: url(\${___CSS_LOADER_URL_REPLACEMENT_1___}); +} +} - return url; -}; +a { + color: rgba(0, 0, 255, 0.9); +} + +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 [ - null, - "nothing", +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 (-webkit-min-device-pixel-ratio: 2), (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 + +> 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 + + 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(nothing); + background: url("./url/img.png"); } .class-duplicate-url { - background: url(nothing); + background: url("./url/img.png"); } :root { @@ -141,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 { @@ -152,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; @@ -223,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{ @@ -247,164 +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 -exports.i(require(\\"-!../../src/index.js??ref--4-0!./imported.css\\"), \\"\\"); -var urlEscape = require(\\"../../src/runtime/url-escape.js\\"); -var ___CSS_LOADER_URL___0___ = urlEscape(require(\\"./url/img.png\\")); - -// Module -exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n background: url(\\" + ___CSS_LOADER_URL___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 -module.exports = function(useSourceMap) { - var list = []; - - // return the list of modules as css string - list.toString = function toString() { - return this.map(function(item) { - var content = cssWithMappingToString(item, useSourceMap); - if (item[2]) { - return '@media ' + item[2] + '{' + content + '}'; - } else { - return content; - } - }).join(''); - }; - - // import a list of modules into the list - list.i = function(modules, mediaQuery) { - if (typeof modules === 'string') { - modules = [[null, modules, '']]; - } - var alreadyImportedModules = {}; - for (var i = 0; i < this.length; i++) { - var id = this[i][0]; - if (id != null) { - alreadyImportedModules[id] = true; - } - } - for (i = 0; i < modules.length; i++) { - var 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) { - var content = item[1] || ''; - var cssMapping = item[3]; - if (!cssMapping) { - return content; - } - - if (useSourceMap && typeof btoa === 'function') { - var sourceMapping = toComment(cssMapping); - var sourceURLs = cssMapping.sources.map(function(source) { - return '/*# 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 - var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); - var 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 work and nothing to do with built-in CSS support: module 2`] = ` +"@charset "UTF-8"; -exports[`loader should compile with \`css\` entry point (with \`modules\` and scope \`local\`): escape 1`] = ` -"module.exports = function escape(url, needQuotes) { - if (typeof url !== 'string') { - return url; - } - - // If url is already wrapped in quotes, remove them - if (/^['\\"].*['\\"]$/.test(url)) { - url = url.slice(1, -1); - } - - // Should url be wrapped? - // See https://drafts.csswg.org/css-values-3/#urls - if (/[\\"'() \\\\t\\\\n]/.test(url) || 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 [ - null, - "nothing", - "", - ], - Array [ - 1, - "@charset \\"UTF-8\\"; /* Comment */ -._1PSZ4tK4URrenXyNSoawrx { +.class { color: red; - background: url(nothing); + background: url("./url/img.png"); } -._3YYoEr128Gk7ZgfRycu4tr { - background: url(nothing); +.class-duplicate-url { + background: url("./url/img.png"); } :root { @@ -412,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 { @@ -426,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'; } -._3Zu4uw_Urs6mU3AHN6h0NV {} +.♫ {} + +.\\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; +} -._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=\\"©\\" */ +\\.\\$\\{foo\\} { + color: aliceblue; +} + +/* \` */ +/* \`\` */ +/* \`\`\` */ +/* \${} */ +/* \\\\\` */ :root { --title-align: center; @@ -497,213 +553,2616 @@ 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; +} + +.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 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 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 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"; + + +/* 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 in 'production' mode: result 1`] = ` +[ + [ + 501, + "@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 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(\${___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 "asset" module type: 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 "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`] = `[]`; + +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`] = `[]`; + +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`] = `[]`; + +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); } -._2H1jUQC4I1yE2c9CEwXfAS._3HDHfIW-5V2j3qdUcRiaMD ._2eB5NM0D15e1HQWl3AHa8q:before{ - content: '💡'; +.class { + color: red; + /** webpackIgnore: true */ + background: /** webpackIgnore: false */ url(replaced_file_protocol_/webpack/public/path/img.png), /** webpackIgnore: true */ url("./url/img.png"); } -.JNjvwXXuHnb_zjhkwPzBD { - background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==); +.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); } -a[href=''] { +.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); } -a[href='' i] { +.class { color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png), /** webpackIgnore: false */ /** webpackIgnore: true */ url("./url/img.png"); } -a[href=\\"\\"] { - color: blue; +.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; } -a[href=\\"\\" i] { - color: blue; +.class { + /*webpackIgnore: true*/ + background-image: image-set( + url(./url/img.png) 2x, + url(./url/img.png) 3x, + url(./url/img.png) 4x + ); } -", - "", - ], -] -`; -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 -exports.i(require(\\"-!../../src/index.js??ref--4-0!./imported.css\\"), \\"\\"); -var urlEscape = require(\\"../../src/runtime/url-escape.js\\"); -var ___CSS_LOADER_URL___0___ = urlEscape(require(\\"./url/img.png\\")); +.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'); +} -// Module -exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n._1PSZ4tK4URrenXyNSoawrx {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n._3YYoEr128Gk7ZgfRycu4tr {\\\\n background: url(\\" + ___CSS_LOADER_URL___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\\", \\"\\"]); +.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');; +} -// 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\\" -};" -`; +.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); +} -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 -module.exports = function(useSourceMap) { - var list = []; - - // return the list of modules as css string - list.toString = function toString() { - return this.map(function(item) { - var content = cssWithMappingToString(item, useSourceMap); - if (item[2]) { - return '@media ' + item[2] + '{' + content + '}'; - } else { - return content; - } - }).join(''); - }; +.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 + ); +} - // import a list of modules into the list - list.i = function(modules, mediaQuery) { - if (typeof modules === 'string') { - modules = [[null, modules, '']]; - } - var alreadyImportedModules = {}; - for (var i = 0; i < this.length; i++) { - var id = this[i][0]; - if (id != null) { - alreadyImportedModules[id] = true; - } - } - for (i = 0; i < modules.length; i++) { - var 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) { - var content = item[1] || ''; - var cssMapping = item[3]; - if (!cssMapping) { - return content; - } +.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 + ); +} - if (useSourceMap && typeof btoa === 'function') { - var sourceMapping = toComment(cssMapping); - var sourceURLs = cssMapping.sources.map(function(source) { - return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'; - }); +.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 + ); +} - return [content] - .concat(sourceURLs) - .concat([sourceMapping]) - .join('\\\\n'); - } +.class { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png), /** webpackIgnore: true */url("./url/img.png"); +} - return [content].join('\\\\n'); +.class { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png), /** webpackIgnore: true */ url("./url/img.png"); } -// Adapted from convert-source-map (MIT) -function toComment(sourceMap) { - // eslint-disable-next-line no-undef - var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); - var data = - 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64; +.class { + color: red; + background: url(replaced_file_protocol_/webpack/public/path/img.png)/** webpackIgnore: true */, url(replaced_file_protocol_/webpack/public/path/img.png); +} - return '/*# ' + data + ' */'; +.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"); } -" +", + "", + ], +] `; -exports[`loader should compile with \`css\` entry point: errors 1`] = `Array []`; - -exports[`loader should compile with \`css\` entry point: escape 1`] = ` -"module.exports = function escape(url, needQuotes) { - if (typeof url !== 'string') { - return url; - } - - // If url is already wrapped in quotes, remove them - if (/^['\\"].*['\\"]$/.test(url)) { - url = url.slice(1, -1); - } +exports[`loader should work with webpackIgnore comment: warnings 1`] = `[]`; - // Should url be wrapped? - // See https://drafts.csswg.org/css-values-3/#urls - if (/[\\"'() \\\\t\\\\n]/.test(url) || needQuotes) { - return '\\"' + url.replace(/\\"/g, '\\\\\\\\\\"').replace(/\\\\n/g, '\\\\\\\\n') + '\\"'; - } +exports[`loader should work: errors 1`] = `[]`; - 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"; -exports[`loader should compile with \`css\` entry point: module (evaluated) 1`] = ` -Array [ - Array [ - null, - "nothing", - "", - ], - Array [ - 1, - "@charset \\"UTF-8\\"; /* Comment */ .class { color: red; - background: url(nothing); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); } .class-duplicate-url { - background: url(nothing); + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); } :root { @@ -717,7 +3176,7 @@ Array [ .u-m\\\\+ { a: b c d; } -.class { content: \\"\\\\F10C\\" } +.class { content: "\\\\F10C" } @media only screen and (max-width: 600px) { body { @@ -726,11 +3185,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 {} @@ -775,11 +3234,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; @@ -797,10 +3270,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; } @@ -810,7 +3283,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=''] { @@ -821,164 +3294,35 @@ 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 -exports.i(require(\\"-!../../src/index.js??ref--4-0!./imported.css\\"), \\"\\"); -var urlEscape = require(\\"../../src/runtime/url-escape.js\\"); -var ___CSS_LOADER_URL___0___ = urlEscape(require(\\"./url/img.png\\")); - -// Module -exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n background: url(\\" + ___CSS_LOADER_URL___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: 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 -module.exports = function(useSourceMap) { - var list = []; - - // return the list of modules as css string - list.toString = function toString() { - return this.map(function(item) { - var content = cssWithMappingToString(item, useSourceMap); - if (item[2]) { - return '@media ' + item[2] + '{' + content + '}'; - } else { - return content; - } - }).join(''); - }; - - // import a list of modules into the list - list.i = function(modules, mediaQuery) { - if (typeof modules === 'string') { - modules = [[null, modules, '']]; - } - var alreadyImportedModules = {}; - for (var i = 0; i < this.length; i++) { - var id = this[i][0]; - if (id != null) { - alreadyImportedModules[id] = true; - } - } - for (i = 0; i < modules.length; i++) { - var 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) { - var content = item[1] || ''; - var cssMapping = item[3]; - if (!cssMapping) { - return content; - } - - if (useSourceMap && typeof btoa === 'function') { - var sourceMapping = toComment(cssMapping); - var sourceURLs = cssMapping.sources.map(function(source) { - return '/*# 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 - var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); - var data = - 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64; - - return '/*# ' + data + ' */'; -} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; " `; -exports[`loader should compile with \`js\` entry point: errors 1`] = `Array []`; - -exports[`loader should compile with \`js\` entry point: escape 1`] = ` -"module.exports = function escape(url, needQuotes) { - if (typeof url !== 'string') { - return url; - } - - // If url is already wrapped in quotes, remove them - if (/^['\\"].*['\\"]$/.test(url)) { - url = url.slice(1, -1); - } - - // Should url be wrapped? - // See https://drafts.csswg.org/css-values-3/#urls - if (/[\\"'() \\\\t\\\\n]/.test(url) || needQuotes) { - return '\\"' + url.replace(/\\"/g, '\\\\\\\\\\"').replace(/\\\\n/g, '\\\\\\\\n') + '\\"'; - } - - return url; -}; -" -`; +exports[`loader should work: result 1`] = ` +[ + [ + "./basic.css", + "@charset "UTF-8"; -exports[`loader should compile with \`js\` entry point: module (evaluated) 1`] = ` -Array [ - Array [ - null, - "nothing", - "", - ], - Array [ - 1, - "@charset \\"UTF-8\\"; /* Comment */ .class { color: red; - background: url(nothing); + background: url(replaced_file_protocol_/webpack/public/path/img.png); } .class-duplicate-url { - background: url(nothing); + background: url(replaced_file_protocol_/webpack/public/path/img.png); } :root { @@ -990,9 +3334,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 { @@ -1001,60 +3345,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; @@ -1072,12 +3430,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{ @@ -1096,11 +3454,11 @@ a[href='' i] { color: red; } -a[href=\\"\\"] { +a[href=""] { color: blue; } -a[href=\\"\\" i] { +a[href="" i] { color: blue; } ", @@ -1109,198 +3467,4 @@ a[href=\\"\\" i] { ] `; -exports[`loader should compile with \`js\` entry point: module 1`] = ` -"exports = module.exports = require(\\"../../src/runtime/api.js\\")(false); -// Imports -exports.i(require(\\"-!../../src/index.js??ref--4-0!./imported.css\\"), \\"\\"); -var urlEscape = require(\\"../../src/runtime/url-escape.js\\"); -var ___CSS_LOADER_URL___0___ = urlEscape(require(\\"./url/img.png\\")); - -// Module -exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n background: url(\\" + ___CSS_LOADER_URL___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 \`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 compile with empty css entry point: warnings 1`] = `Array []`; - -exports[`loader should compile with empty options: errors 1`] = `Array []`; - -exports[`loader should compile with empty options: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "", - "", - ], -] -`; - -exports[`loader should compile with empty options: module 1`] = ` -"exports = module.exports = require(\\"../../src/runtime/api.js\\")(false); -// Module -exports.push([module.id, \\"\\", \\"\\"]); - -" -`; - -exports[`loader should compile with empty options: warnings 1`] = `Array []`; - -exports[`loader should throw error on invalid css syntax: errors 1`] = ` -Array [ - "ModuleBuildError: Module build failed (from \`replaced original path\`): -CssSyntaxError - -(2:3) Unknown word - - 1 | .some { -> 2 | invalid css; - | ^ - 3 | } - 4 | -", -] -`; - -exports[`loader should throw error on invalid css syntax: warnings 1`] = `Array []`; - -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. -(Source code omitted for this binary file)", -] -`; - -exports[`loader should throws error when no loader for assets: warnings 1`] = `Array []`; - -exports[`loader using together with "postcss-loader" and reuse \`ast\`: errors 1`] = `Array []`; - -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); -} - -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; -} - -main.hero, .hero.main { - background-image: url(/webpack/public/path/img1x.png); -} - -@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { - -main.hero, .hero.main { - background-image: url(/webpack/public/path/img2x.png); -} -} - -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); -} - -a { - color: rgba(0, 0, 255, 0.9) -} - -a:hover { - color: #639; - } -", - "", - ], -] -`; - -exports[`loader using together with "postcss-loader" and reuse \`ast\`: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -var urlEscape = require(\\"../../../src/runtime/url-escape.js\\"); -var ___CSS_LOADER_URL___0___ = urlEscape(require(\\"./img1x.png\\")); -var ___CSS_LOADER_URL___1___ = urlEscape(require(\\"./img2x.png\\")); - -// 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___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___1___ + \\");\\\\n}\\\\n}\\\\n\\\\nmain.hero, .hero.main {\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL___0___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___1___ + \\") 2x);\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___0___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___1___ + \\") 2x);\\\\n}\\\\n\\\\na {\\\\n color: rgba(0, 0, 255, 0.9)\\\\n}\\\\n\\\\na:hover {\\\\n color: #639;\\\\n }\\\\n\\", \\"\\"]); - -" -`; - -exports[`loader using together with "postcss-loader" and reuse \`ast\`: warnings 1`] = `Array []`; - -exports[`loader using together with "sass-loader": errors 1`] = `Array []`; - -exports[`loader using together with "sass-loader": module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "body { - font: 100% Helvetica, sans-serif; - color: #333; -}", - "", - ], -] -`; - -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": warnings 1`] = `Array []`; +exports[`loader should work: warnings 1`] = `[]`; diff --git a/test/__snapshots__/localIdentName-option.test.js.snap b/test/__snapshots__/localIdentName-option.test.js.snap deleted file mode 100644 index 23e0126c..00000000 --- a/test/__snapshots__/localIdentName-option.test.js.snap +++ /dev/null @@ -1,302 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`localIdentName option basic: errors 1`] = `Array []`; - -exports[`localIdentName option basic: locals 1`] = `undefined`; - -exports[`localIdentName option basic: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ":local(.test) { - background: red; -} - -:local(._test) { - background: blue; -} - -:local(.className) { - background: red; -} - -:local(#someId) { - background: green; -} - -:local(.className .subClass) { - color: green; -} - -:local(#someId .subClass) { - color: blue; -} - -:local(.-a0-34a___f) { - color: red; -} -", - "", - ], -] -`; - -exports[`localIdentName option basic: warnings 1`] = `Array []`; - -exports[`localIdentName option should have hash: errors 1`] = `Array []`; - -exports[`localIdentName option should have hash: locals 1`] = `undefined`; - -exports[`localIdentName option should have hash: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ":local(.test) { - background: red; -} - -:local(._test) { - background: blue; -} - -:local(.className) { - background: red; -} - -:local(#someId) { - background: green; -} - -:local(.className .subClass) { - color: green; -} - -:local(#someId .subClass) { - color: blue; -} - -:local(.-a0-34a___f) { - color: red; -} -", - "", - ], -] -`; - -exports[`localIdentName option should have hash: warnings 1`] = `Array []`; - -exports[`localIdentName option should have path naming with context: errors 1`] = `Array []`; - -exports[`localIdentName option should have path naming with context: locals 1`] = `undefined`; - -exports[`localIdentName option should have path naming with context: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ":local(.test) { - background: red; -} - -:local(._test) { - background: blue; -} - -:local(.className) { - background: red; -} - -:local(#someId) { - background: green; -} - -:local(.className .subClass) { - color: green; -} - -:local(#someId .subClass) { - color: blue; -} - -:local(.-a0-34a___f) { - color: red; -} -", - "", - ], -] -`; - -exports[`localIdentName option should have path naming with context: warnings 1`] = `Array []`; - -exports[`localIdentName option should prefixes leading hyphen + digit with underscore: errors 1`] = `Array []`; - -exports[`localIdentName option should prefixes leading hyphen + digit with underscore: locals 1`] = `undefined`; - -exports[`localIdentName option should prefixes leading hyphen + digit with underscore: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ":local(.test) { - background: red; -} - -:local(._test) { - background: blue; -} - -:local(.className) { - background: red; -} - -:local(#someId) { - background: green; -} - -:local(.className .subClass) { - color: green; -} - -:local(#someId .subClass) { - color: blue; -} - -:local(.-a0-34a___f) { - color: red; -} -", - "", - ], -] -`; - -exports[`localIdentName option should prefixes leading hyphen + digit with underscore: warnings 1`] = `Array []`; - -exports[`localIdentName option should prefixes two leading hyphens with underscore: errors 1`] = `Array []`; - -exports[`localIdentName option should prefixes two leading hyphens with underscore: locals 1`] = `undefined`; - -exports[`localIdentName option should prefixes two leading hyphens with underscore: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ":local(.test) { - background: red; -} - -:local(._test) { - background: blue; -} - -:local(.className) { - background: red; -} - -:local(#someId) { - background: green; -} - -:local(.className .subClass) { - color: green; -} - -:local(#someId .subClass) { - color: blue; -} - -:local(.-a0-34a___f) { - color: red; -} -", - "", - ], -] -`; - -exports[`localIdentName option should prefixes two leading hyphens with underscore: warnings 1`] = `Array []`; - -exports[`localIdentName option should saves underscore prefix in exported class names: errors 1`] = `Array []`; - -exports[`localIdentName option should saves underscore prefix in exported class names: locals 1`] = `undefined`; - -exports[`localIdentName option should saves underscore prefix in exported class names: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ":local(.test) { - background: red; -} - -:local(._test) { - background: blue; -} - -:local(.className) { - background: red; -} - -:local(#someId) { - background: green; -} - -:local(.className .subClass) { - color: green; -} - -:local(#someId .subClass) { - color: blue; -} - -:local(.-a0-34a___f) { - color: red; -} -", - "", - ], -] -`; - -exports[`localIdentName option should saves underscore prefix in exported class names: warnings 1`] = `Array []`; - -exports[`localIdentName option should use hash prefix: errors 1`] = `Array []`; - -exports[`localIdentName option should use hash prefix: locals 1`] = `undefined`; - -exports[`localIdentName option should use hash prefix: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ":local(.test) { - background: red; -} - -:local(._test) { - background: blue; -} - -:local(.className) { - background: red; -} - -:local(#someId) { - background: green; -} - -:local(.className .subClass) { - color: green; -} - -:local(#someId .subClass) { - color: blue; -} - -:local(.-a0-34a___f) { - color: red; -} -", - "", - ], -] -`; - -exports[`localIdentName option should use hash prefix: warnings 1`] = `Array []`; diff --git a/test/__snapshots__/modules-option.test.js.snap b/test/__snapshots__/modules-option.test.js.snap index 45d35998..37c78af1 100644 --- a/test/__snapshots__/modules-option.test.js.snap +++ b/test/__snapshots__/modules-option.test.js.snap @@ -1,86 +1,138 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`modules case \`animation\`: (export \`all\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; - -exports[`modules case \`animation\`: (export \`all\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; - -exports[`modules case \`animation\`: (export \`all\`) (\`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: errors 1`] = `[]`; + +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 } +", + "", + ], + [ + "./modules/issue-286/source.css", + ".b--main { } ", "", ], ] `; -exports[`modules case \`animation\`: (export \`all\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; - -exports[`modules case \`animation\`: (export \`all\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #286: warnings 1`] = `[]`; -exports[`modules case \`animation\`: (export \`all\`) (\`modules\` value is \`global)\`: locals 1`] = `undefined`; +exports[`"modules" option issue #636: errors 1`] = `[]`; -exports[`modules case \`animation\`: (export \`all\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "a { - animation: slide-right 300ms forwards ease-out, fade-in 300ms forwards ease-out; +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" 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\`: (export \`all\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +exports[`"modules" option issue #636: warnings 1`] = `[]`; -exports[`modules case \`animation\`: (export \`all\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #861: errors 1`] = `[]`; -exports[`modules case \`animation\`: (export \`all\`) (\`modules\` value is \`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\`: (export \`all\`) (\`modules\` value is \`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", + " +", + "", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/issue-861/node_modules/@otherlocalpackage/style.css", + ".RkMzgETKHXnuOl77obC2 { + display: flex; } ", "", ], -] -`; - -exports[`modules case \`animation\`: (export \`all\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; - -exports[`modules case \`animation\`: (export \`all\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; - -exports[`modules case \`animation\`: (export \`all\`) (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "fade-in": "_fade-in", - "slide-right": "_slide-right", + [ + "../../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 \`animation\`: (export \`all\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "a { - animation: _slide-right 300ms forwards ease-out, _fade-in 300ms forwards ease-out; - +", + "", + ], + [ + "./modules/issue-861/resolving-from-node_modules.css", + ".y19CYJvfPsY__wKRrRBJ { + color: gray; + margin: 0; + padding: 0; } ", "", @@ -88,60 +140,74 @@ Array [ ] `; -exports[`modules case \`animation\`: (export \`all\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; - -exports[`modules case \`animation\`: (export \`only locals\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; - -exports[`modules case \`animation\`: (export \`only locals\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; - -exports[`modules case \`animation\`: (export \`only locals\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = `Object {}`; - -exports[`modules case \`animation\`: (export \`only locals\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; - -exports[`modules case \`animation\`: (export \`only locals\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #861: warnings 1`] = `[]`; -exports[`modules case \`animation\`: (export \`only locals\`) (\`modules\` value is \`global)\`: locals 1`] = `undefined`; +exports[`"modules" option issue #966 - values in selectors aren't escaped properly: errors 1`] = `[]`; -exports[`modules case \`animation\`: (export \`only locals\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = `Object {}`; - -exports[`modules case \`animation\`: (export \`only locals\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; - -exports[`modules case \`animation\`: (export \`only locals\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; - -exports[`modules case \`animation\`: (export \`only locals\`) (\`modules\` value is \`local)\`: locals 1`] = `undefined`; - -exports[`modules case \`animation\`: (export \`only locals\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Object { - "fade-in": "_fade-in", - "slide-right": "_slide-right", +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 \`animation\`: (export \`only locals\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.\\\\--bar-class { + color: red; +} -exports[`modules case \`animation\`: (export \`only locals\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +.\\\\--baz-class { + color: red; +} -exports[`modules case \`animation\`: (export \`only locals\`) (\`modules\` value is \`true)\`: locals 1`] = `undefined`; +.fooBaz-class-continuation { + color: red; +} -exports[`modules case \`animation\`: (export \`only locals\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Object { - "fade-in": "_fade-in", - "slide-right": "_slide-right", +.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 \`animation\`: (export \`only locals\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +.\\--bar-class { + color: red; +} -exports[`modules case \`class-names\`: (export \`all\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +.\\--baz-class { + color: red; +} -exports[`modules case \`class-names\`: (export \`all\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +.fooBaz-class-continuation { + color: red; +} -exports[`modules case \`class-names\`: (export \`all\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".class-1, .class-10 .bar-1 { - color: green; +.some.class { + color: red; } ", "", @@ -149,18 +215,32 @@ Array [ ] `; -exports[`modules case \`class-names\`: (export \`all\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +exports[`"modules" option issue #966 - values in selectors aren't escaped properly: warnings 1`] = `[]`; -exports[`modules case \`class-names\`: (export \`all\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #966: errors 1`] = `[]`; -exports[`modules case \`class-names\`: (export \`all\`) (\`modules\` value is \`global)\`: locals 1`] = `undefined`; +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\`: (export \`all\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".class-1, .class-10 .bar-1 { - color: green; +exports[`"modules" option issue #966: result 1`] = ` +[ + [ + "./modules/issue-966/button.css", + ".button-hey { + color: red; } ", "", @@ -168,24 +248,52 @@ Array [ ] `; -exports[`modules case \`class-names\`: (export \`all\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +exports[`"modules" option issue #966: warnings 1`] = `[]`; -exports[`modules case \`class-names\`: (export \`all\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #967: errors 1`] = `[]`; -exports[`modules case \`class-names\`: (export \`all\`) (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "bar-1": "_bar-1", - "class-1": "_class-1", - "class-10": "_class-10", +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 \`class-names\`: (export \`all\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._class-1, ._class-10 ._bar-1 { - color: green; +.modules-issue-967-path-placeholder__foo\\\\/bar__--sep---sep---sep---sep----sep---sep---sep---sep---sep-- { + color: blue; +} + +.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; +} + +.modules-issue-967-path-placeholder__foo\\/bar__--sep---sep---sep---sep----sep---sep---sep---sep---sep-- { + color: blue; +} + +.modules-issue-967-path-placeholder__\\[\\/\\?\\<\\>\\\\\\\\\\3A \\*\\|\\"\\3A \\]__--sep---sep---sep---sep----sep---sep---sep---sep---sep-- { + color: yellow; } ", "", @@ -193,24 +301,32 @@ Array [ ] `; -exports[`modules case \`class-names\`: (export \`all\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +exports[`"modules" option issue #967: warnings 1`] = `[]`; -exports[`modules case \`class-names\`: (export \`all\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #980: errors 1`] = `[]`; -exports[`modules case \`class-names\`: (export \`all\`) (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "bar-1": "_bar-1", - "class-1": "_class-1", - "class-10": "_class-10", +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 \`class-names\`: (export \`all\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._class-1, ._class-10 ._bar-1 { - color: green; +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; } ", "", @@ -218,981 +334,1399 @@ Array [ ] `; -exports[`modules case \`class-names\`: (export \`all\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; - -exports[`modules case \`class-names\`: (export \`only locals\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #980: warnings 1`] = `[]`; -exports[`modules case \`class-names\`: (export \`only locals\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +exports[`"modules" option issue #995 #2: errors 1`] = `[]`; -exports[`modules case \`class-names\`: (export \`only locals\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = `Object {}`; +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 \`class-names\`: (export \`only locals\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +/* class="😀 😓" */ +.a.b { + color: red; +} -exports[`modules case \`class-names\`: (export \`only locals\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +/* class="😀" > class="😓" */ +.a .b { + color: red; +} -exports[`modules case \`class-names\`: (export \`only locals\`) (\`modules\` value is \`global)\`: locals 1`] = `undefined`; +/* class="😀" */ +.😀 { + color: red; +} -exports[`modules case \`class-names\`: (export \`only locals\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = `Object {}`; +/* class="😀 😓" */ +.😀.😓 { + color: red; +} -exports[`modules case \`class-names\`: (export \`only locals\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +/* class="😀" > class="😓" */ +.😀 .😓 { + color: red; +} -exports[`modules case \`class-names\`: (export \`only locals\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +/* class="😀" */ +.\\\\1F600 { + color: red; +} -exports[`modules case \`class-names\`: (export \`only locals\`) (\`modules\` value is \`local)\`: locals 1`] = `undefined`; +/* class="😀 😓" */ +.\\\\1F600.\\\\1F613 { + color: red; +} -exports[`modules case \`class-names\`: (export \`only locals\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Object { - "bar-1": "_bar-1", - "class-1": "_class-1", - "class-10": "_class-10", +/* class="😀" > class="😓" */ +.\\\\1F600 .\\\\1F613 { + color: red; } -`; -exports[`modules case \`class-names\`: (export \`only locals\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +/* Local */ -exports[`modules case \`class-names\`: (export \`only locals\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +/* class="😀" */ +.\\\\ { + color: red; +} -exports[`modules case \`class-names\`: (export \`only locals\`) (\`modules\` value is \`true)\`: locals 1`] = `undefined`; +/* class="😀 😓" */ +.\\\\ .\\\\ { + color: red; +} -exports[`modules case \`class-names\`: (export \`only locals\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Object { - "bar-1": "_bar-1", - "class-1": "_class-1", - "class-10": "_class-10", +/* class="😀" > class="😓" */ +.\\\\ .\\\\ { + color: red; } -`; -exports[`modules case \`class-names\`: (export \`only locals\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +.\\\\1F600 .a .\\\\1F600 { + color: red; +} -exports[`modules case \`comment-in-local\`: (export \`all\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +.\\\\ .\\\\ .\\\\ { + color: red; +} -exports[`modules case \`comment-in-local\`: (export \`all\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +div:not(.\\\\ ) { + color: red; +} -exports[`modules case \`comment-in-local\`: (export \`all\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ":local(.c1/*.c2*/.c3) { background: red; } -", - "", - ], -] -`; +.\\\\ .b { + color: red; +} -exports[`modules case \`comment-in-local\`: (export \`all\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +.b .\\\\ { + color: red; +} -exports[`modules case \`comment-in-local\`: (export \`all\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +.\\\\1F613 .\\\\ { + color: red; +} -exports[`modules case \`comment-in-local\`: (export \`all\`) (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "c1": "_c1", - "c3": "_c3", +.\\\\1F613 .\\\\ { + color: red; } -`; -exports[`modules case \`comment-in-local\`: (export \`all\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._c1/*.c2*/._c3 { background: red; } -", - "", - ], -] -`; +.\\\\ > .\\\\ > .\\\\ { + 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 \`comment-in-local\`: (export \`all\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +/* class="😀 😓" */ +.a.b { + color: red; +} -exports[`modules case \`comment-in-local\`: (export \`all\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +/* class="😀" > class="😓" */ +.a .b { + color: red; +} -exports[`modules case \`comment-in-local\`: (export \`all\`) (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "c1": "_c1", - "c3": "_c3", +/* class="😀" */ +.😀 { + color: red; } -`; -exports[`modules case \`comment-in-local\`: (export \`all\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._c1/*.c2*/._c3 { background: red; } -", - "", - ], -] -`; +/* class="😀 😓" */ +.😀.😓 { + color: red; +} -exports[`modules case \`comment-in-local\`: (export \`all\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +/* class="😀" > class="😓" */ +.😀 .😓 { + color: red; +} -exports[`modules case \`comment-in-local\`: (export \`all\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +/* class="😀" */ +.\\1F600 { + color: red; +} -exports[`modules case \`comment-in-local\`: (export \`all\`) (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "c1": "_c1", - "c3": "_c3", +/* class="😀 😓" */ +.\\1F600.\\1F613 { + color: red; } -`; -exports[`modules case \`comment-in-local\`: (export \`all\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._c1/*.c2*/._c3 { background: red; } -", - "", - ], -] -`; +/* class="😀" > class="😓" */ +.\\1F600 .\\1F613 { + color: red; +} -exports[`modules case \`comment-in-local\`: (export \`all\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +/* Local */ -exports[`modules case \`comment-in-local\`: (export \`only locals\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +/* class="😀" */ +.\\ { + color: red; +} -exports[`modules case \`comment-in-local\`: (export \`only locals\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +/* class="😀 😓" */ +.\\ .\\ { + color: red; +} -exports[`modules case \`comment-in-local\`: (export \`only locals\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = `Object {}`; +/* class="😀" > class="😓" */ +.\\ .\\ { + color: red; +} -exports[`modules case \`comment-in-local\`: (export \`only locals\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +.\\1F600 .a .\\1F600 { + color: red; +} -exports[`modules case \`comment-in-local\`: (export \`only locals\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +.\\ .\\ .\\ { + color: red; +} -exports[`modules case \`comment-in-local\`: (export \`only locals\`) (\`modules\` value is \`global)\`: locals 1`] = `undefined`; +div:not(.\\ ) { + color: red; +} -exports[`modules case \`comment-in-local\`: (export \`only locals\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Object { - "c1": "_c1", - "c3": "_c3", +.\\ .b { + color: red; } -`; -exports[`modules case \`comment-in-local\`: (export \`only locals\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +.b .\\ { + color: red; +} -exports[`modules case \`comment-in-local\`: (export \`only locals\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +.\\1F613 .\\ { + color: red; +} -exports[`modules case \`comment-in-local\`: (export \`only locals\`) (\`modules\` value is \`local)\`: locals 1`] = `undefined`; +.\\1F613 .\\ { + color: red; +} -exports[`modules case \`comment-in-local\`: (export \`only locals\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Object { - "c1": "_c1", - "c3": "_c3", +.\\ > .\\ > .\\ { + color: red; } +", + "", + ], +] `; -exports[`modules case \`comment-in-local\`: (export \`only locals\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +exports[`"modules" option issue #995 #2: warnings 1`] = `[]`; -exports[`modules case \`comment-in-local\`: (export \`only locals\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #995: errors 1`] = `[]`; -exports[`modules case \`comment-in-local\`: (export \`only locals\`) (\`modules\` value is \`true)\`: locals 1`] = `undefined`; +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 \`comment-in-local\`: (export \`only locals\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Object { - "c1": "_c1", - "c3": "_c3", +/* class="😀 😓" */ +.a.b { + color: red; } -`; -exports[`modules case \`comment-in-local\`: (export \`only locals\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +/* class="😀" > class="😓" */ +.a .b { + color: red; +} -exports[`modules case \`comments\`: (export \`all\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +/* class="😀" */ +.😀 { + color: red; +} -exports[`modules case \`comments\`: (export \`all\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +/* class="😀 😓" */ +.😀.😓 { + color: red; +} -exports[`modules case \`comments\`: (export \`all\`) (\`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); +/* class="😀" */ +.\\\\1F600 { + color: red; } -/* - * a ' below - */ -", - "", - ], -] -`; - -exports[`modules case \`comments\`: (export \`all\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; - -exports[`modules case \`comments\`: (export \`all\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; - -exports[`modules case \`comments\`: (export \`all\`) (\`modules\` value is \`global)\`: locals 1`] = `undefined`; - -exports[`modules case \`comments\`: (export \`all\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "/* - * a ' above - */ - -.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\`: (export \`all\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +/* Local */ -exports[`modules case \`comments\`: (export \`all\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +/* class="😀" */ +.😀 { + color: red; +} -exports[`modules case \`comments\`: (export \`all\`) (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "bg": "_bg", +/* class="😀 😓" */ +.😀.😀 { + color: red; } -`; -exports[`modules case \`comments\`: (export \`all\`) (\`modules\` value is \`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\`: (export \`all\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +div:not(.😀) { + color: red; +} -exports[`modules case \`comments\`: (export \`all\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +.😀 .b { + color: red; +} -exports[`modules case \`comments\`: (export \`all\`) (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "bg": "_bg", +.b .😀 { + color: red; } -`; -exports[`modules case \`comments\`: (export \`all\`) (\`modules\` value is \`true)\`: 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: result 1`] = ` +[ + [ + "./modules/issue-995/issue-995.css", + "/* class="😀" */ +.a { + color: red; +} -exports[`modules case \`comments\`: (export \`all\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +/* class="😀 😓" */ +.a.b { + color: red; +} -exports[`modules case \`comments\`: (export \`only locals\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +/* class="😀" > class="😓" */ +.a .b { + color: red; +} -exports[`modules case \`comments\`: (export \`only locals\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +/* class="😀" */ +.😀 { + color: red; +} -exports[`modules case \`comments\`: (export \`only locals\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = `Object {}`; +/* class="😀 😓" */ +.😀.😓 { + color: red; +} -exports[`modules case \`comments\`: (export \`only locals\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +/* class="😀" > class="😓" */ +.😀 .😓 { + color: red; +} -exports[`modules case \`comments\`: (export \`only locals\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +/* class="😀" */ +.\\1F600 { + color: red; +} -exports[`modules case \`comments\`: (export \`only locals\`) (\`modules\` value is \`global)\`: locals 1`] = `undefined`; +/* class="😀 😓" */ +.\\1F600.\\1F613 { + color: red; +} -exports[`modules case \`comments\`: (export \`only locals\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = `Object {}`; +/* class="😀" > class="😓" */ +.\\1F600 .\\1F613 { + color: red; +} -exports[`modules case \`comments\`: (export \`only locals\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +/* Local */ -exports[`modules case \`comments\`: (export \`only locals\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +/* class="😀" */ +.😀 { + color: red; +} -exports[`modules case \`comments\`: (export \`only locals\`) (\`modules\` value is \`local)\`: locals 1`] = `undefined`; +/* class="😀 😓" */ +.😀.😀 { + color: red; +} -exports[`modules case \`comments\`: (export \`only locals\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Object { - "bg": "_bg", +/* class="😀" > class="😓" */ +.😀 .😀 { + color: red; } -`; -exports[`modules case \`comments\`: (export \`only locals\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.\\1F600 .a .\\1F600 { + color: red; +} -exports[`modules case \`comments\`: (export \`only locals\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +.😀 .😀 .😀 { + color: red; +} -exports[`modules case \`comments\`: (export \`only locals\`) (\`modules\` value is \`true)\`: locals 1`] = `undefined`; +div:not(.😀) { + color: red; +} -exports[`modules case \`comments\`: (export \`only locals\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Object { - "bg": "_bg", +.😀 .b { + color: red; } -`; -exports[`modules case \`comments\`: (export \`only locals\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +.b .😀 { + color: red; +} -exports[`modules case \`composes\`: (export \`all\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +.\\1F613 .😀 { + color: red; +} -exports[`modules case \`composes\`: (export \`all\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +.\\1F613 .😀 { + color: red; +} -exports[`modules case \`composes\`: (export \`all\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ":local(.c1) { a: 1; } -:local(.c2) { composes: c1; b: 1; } +.😀 > .😀 > .😀 { + color: red; +} ", "", ], ] `; -exports[`modules case \`composes\`: (export \`all\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; - -exports[`modules case \`composes\`: (export \`all\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; - -exports[`modules case \`composes\`: (export \`all\`) (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "c1": "_c1", - "c2": "_c2 _c1", -} -`; +exports[`"modules" option issue #995: warnings 1`] = `[]`; -exports[`modules case \`composes\`: (export \`all\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._c1 { a: 1; } -._c2 { b: 1; } -", - "", - ], +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\`: (export \`all\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; - -exports[`modules case \`composes\`: (export \`all\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; - -exports[`modules case \`composes\`: (export \`all\`) (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "c1": "_c1", - "c2": "_c2 _c1", +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; } -`; -exports[`modules case \`composes\`: (export \`all\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._c1 { a: 1; } -._c2 { b: 1; } -", - "", - ], -] +:global(.otherClassLocalFile) { + color: blue; +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" `; -exports[`modules case \`composes\`: (export \`all\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; - -exports[`modules case \`composes\`: (export \`all\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; - -exports[`modules case \`composes\`: (export \`all\`) (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "c1": "_c1", - "c2": "_c2 _c1", +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; } -`; -exports[`modules case \`composes\`: (export \`all\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._c1 { a: 1; } -._c2 { b: 1; } -", - "", - ], -] +:local(.otherClassGlobalFile) { + color: coral; +} +\`, ""]); +// Exports +export default ___CSS_LOADER_EXPORT___; +" `; -exports[`modules case \`composes\`: (export \`all\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; - -exports[`modules case \`composes\`: (export \`only locals\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #1063 throw error: result 1`] = ` +".classNameLocalFile { + color: green; +} -exports[`modules case \`composes\`: (export \`only locals\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +:global(.otherClassLocalFile) { + color: blue; +} +.classNameGlobalFile { + color: black; +} -exports[`modules case \`composes\`: (export \`only locals\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = `Object {}`; +:local(.otherClassGlobalFile) { + color: coral; +} +.foo :local(.bar) { + color: red; +} +" +`; -exports[`modules case \`composes\`: (export \`only locals\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +exports[`"modules" option issue #1063 throw error: warnings 1`] = `[]`; -exports[`modules case \`composes\`: (export \`only locals\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #1063: errors 1`] = `[]`; -exports[`modules case \`composes\`: (export \`only locals\`) (\`modules\` value is \`global)\`: locals 1`] = `undefined`; +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\`: (export \`only locals\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Object { - "c1": "_c1", - "c2": "_c2 _c1", +.OgdGONvTFtVRlDH24Xxl { + color: coral; } +\`, ""]); +// Exports +export var otherClassGlobalFile = \`OgdGONvTFtVRlDH24Xxl\`; +export default ___CSS_LOADER_EXPORT___; +" `; -exports[`modules case \`composes\`: (export \`only locals\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; - -exports[`modules case \`composes\`: (export \`only locals\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; - -exports[`modules case \`composes\`: (export \`only locals\`) (\`modules\` value is \`local)\`: locals 1`] = `undefined`; +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; +} -exports[`modules case \`composes\`: (export \`only locals\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Object { - "c1": "_c1", - "c2": "_c2 _c1", +.otherClassLocalFile { + color: blue; } +\`, ""]); +// Exports +export var classNameLocalFile = \`XQP_Uob2ss9FjIlDgMOk\`; +export default ___CSS_LOADER_EXPORT___; +" `; -exports[`modules case \`composes\`: (export \`only locals\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +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\`: (export \`only locals\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #1063: result 1`] = ` +".XQP_Uob2ss9FjIlDgMOk { + color: green; +} -exports[`modules case \`composes\`: (export \`only locals\`) (\`modules\` value is \`true)\`: locals 1`] = `undefined`; +.otherClassLocalFile { + color: blue; +} +.classNameGlobalFile { + color: black; +} -exports[`modules case \`composes\`: (export \`only locals\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Object { - "c1": "_c1", - "c2": "_c2 _c1", +.OgdGONvTFtVRlDH24Xxl { + color: coral; +} +.O3Bw7YaDjucmoBcLTWv6 .bsnf8w1D6AQzl0nVBMef { + color: red; } +" `; -exports[`modules case \`composes\`: (export \`only locals\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; - -exports[`modules case \`composes-1\`: (export \`all\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +exports[`"modules" option issue #1063: warnings 1`] = `[]`; -exports[`modules case \`composes-1\`: (export \`all\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +exports[`"modules" option issue #1191 - fallback to default getLocalIdent: errors 1`] = `[]`; -exports[`modules case \`composes-1\`: (export \`all\`) (\`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; } +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; +} +\`, ""]); +// 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; +} ", - "", + "", + ], ], -] + "css2": [ + [ + "./modules/issue-1191/issue-1191-custom.css", + ".custom-some-class { + color: red; +} +", + "", + ], + ], +} `; -exports[`modules case \`composes-1\`: (export \`all\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +exports[`"modules" option issue #1191 - fallback to default getLocalIdent: warnings 1`] = `[]`; -exports[`modules case \`composes-1\`: (export \`all\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +exports[`"modules" option should avoid unnecessary "require": errors 1`] = `[]`; -exports[`modules case \`composes-1\`: (export \`all\`) (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "c1": "_c1 _c2", - "c3": "_c3 _c1 _c2", - "c5": "_c5 _c2 _c4", -} -`; - -exports[`modules case \`composes-1\`: (export \`all\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._c2 { +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; } + [ + "./modules/composes/composes-duplicate.css", + ".Ps8VWEq9D6yYDbYD8Z74 { + color: red; +} + +.RoQqX1UKTeWtDXMISYk9 { + color: red; +} ", "", ], ] `; -exports[`modules case \`composes-1\`: (export \`all\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +exports[`"modules" option should avoid unnecessary "require": warnings 1`] = `[]`; -exports[`modules case \`composes-1\`: (export \`all\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +exports[`"modules" option should dedupe same modules in one module (issue #1037): errors 1`] = `[]`; -exports[`modules case \`composes-1\`: (export \`all\`) (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "c1": "_c1 _c2", - "c3": "_c3 _c1 _c2", - "c5": "_c5 _c2 _c4", +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-1\`: (export \`all\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._c2 { - color: red; +.mKgsL_hCxK21zxRDQMbn +{ } - -._c4 { - color: blue; +\`, ""]); +// 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" 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; } - -._test{ - c: d +", + "", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/dedupe/buttons/primary-button.css", + ".T3rsQRYGiFPb789T3nPW +{ + background-color:blue; + color:white; } ", "", ], - Array [ - 1, - "._c1 { b: 1; } -._c3 { b: 3; } -._c5 { b: 5; } + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/dedupe/buttons/secondary-button.css", + "._BsvPO61W5jn4UqX0Jck +{ + background-color:#555; + color:white; +} +", + "", + ], + [ + "./modules/dedupe/source.css", + ".cxBUjVsu_UGx0Xg0ywCw +{ +} + +.mKgsL_hCxK21zxRDQMbn +{ +} ", "", ], ] `; -exports[`modules case \`composes-1\`: (export \`all\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +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" option should invoke the custom getJSON function if provided: errors 1`] = `[]`; -exports[`modules case \`composes-1\`: (export \`all\`) (\`modules\` value is \`true)\`: 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-1\`: (export \`all\`) (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "c1": "_c1 _c2", - "c3": "_c3 _c1 _c2", - "c5": "_c5 _c2 _c4", + background-color: aliceblue; } -`; -exports[`modules case \`composes-1\`: (export \`all\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._c2 { - color: red; +.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___; +" +`; -._c4 { - color: blue; +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; } -._test{ - c: d +.hFeFcgvjCoj_9RRA4E59 { } ", "", ], - Array [ - 1, - "._c1 { b: 1; } -._c3 { b: 3; } -._c5 { b: 5; } -", - "", - ], -] -`; - -exports[`modules case \`composes-1\`: (export \`all\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; - -exports[`modules case \`composes-1\`: (export \`only locals\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; - -exports[`modules case \`composes-1\`: (export \`only locals\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; - -exports[`modules case \`composes-1\`: (export \`only locals\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = `Object {}`; - -exports[`modules case \`composes-1\`: (export \`only locals\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; - -exports[`modules case \`composes-1\`: (export \`only locals\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; - -exports[`modules case \`composes-1\`: (export \`only locals\`) (\`modules\` value is \`global)\`: locals 1`] = `undefined`; + [ + "./modules/getJSON/source.css", + ".RT7ktT7mB7tfBR25sJDZ { -exports[`modules case \`composes-1\`: (export \`only locals\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Object { - "c1": "_c1 _c2", - "c3": "_c3 _c1 _c2", - "c5": "_c5 _c2 _c4", + background-color: aliceblue; } -`; - -exports[`modules case \`composes-1\`: (export \`only locals\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; - -exports[`modules case \`composes-1\`: (export \`only locals\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; - -exports[`modules case \`composes-1\`: (export \`only locals\`) (\`modules\` value is \`local)\`: locals 1`] = `undefined`; - -exports[`modules case \`composes-1\`: (export \`only locals\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Object { - "c1": "_c1 _c2", - "c3": "_c3 _c1 _c2", - "c5": "_c5 _c2 _c4", -} -`; - -exports[`modules case \`composes-1\`: (export \`only locals\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; -exports[`modules case \`composes-1\`: (export \`only locals\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +.IZmhTnK9CIeu6ww6Zjbv { -exports[`modules case \`composes-1\`: (export \`only locals\`) (\`modules\` value is \`true)\`: locals 1`] = `undefined`; - -exports[`modules case \`composes-1\`: (export \`only locals\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Object { - "c1": "_c1 _c2", - "c3": "_c3 _c1 _c2", - "c5": "_c5 _c2 _c4", + background-color: blanchedalmond; } -`; - -exports[`modules case \`composes-1\`: (export \`only locals\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; - -exports[`modules case \`composes-2\`: (export \`all\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; - -exports[`modules case \`composes-2\`: (export \`all\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; - -exports[`modules case \`composes-2\`: (export \`all\`) (\`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 case \`composes-2\`: (export \`all\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +exports[`"modules" option should invoke the custom getJSON function if provided: warnings 1`] = `[]`; -exports[`modules case \`composes-2\`: (export \`all\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +exports[`"modules" option should keep order: errors 1`] = `[]`; -exports[`modules case \`composes-2\`: (export \`all\`) (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "c1": "_c1 _c-2", - "c3": "_c3 _c1 _c-2", - "c5": "_c5 _c-2 _c4", +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-2\`: (export \`all\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._c-2 { +.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; } -._c4 { +.xIASfsMafltm9AZOHmbo { + color: aliceblue; +} +", + "", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/order/order-2.css", + ".EPgSMUSXLA4RUVdEmb8f { color: blue; } -.test{ - c: d +.WSVzOOOUl82t8IEBx9dS { + color: azure; } ", "", ], - Array [ - 1, - "._c1 { b: 1; } -._c3 { b: 3; } -._c5 { b: 5; } + [ + "./modules/order/index.css", + ".Q9ZbfN73CE9nTzgsOKaJ { + display: block; +} + +.BRalxsptB32EbO5CVyzm { + display: inline; +} ", "", ], ] `; -exports[`modules case \`composes-2\`: (export \`all\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +exports[`"modules" option should keep order: warnings 1`] = `[]`; -exports[`modules case \`composes-2\`: (export \`all\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +exports[`"modules" option should resolve absolute path in composes: errors 1`] = `[]`; -exports[`modules case \`composes-2\`: (export \`all\`) (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "c1": "_c1 _c-2", - "c3": "_c3 _c1 _c-2", - "c5": "_c5 _c-2 _c4", -} +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-2\`: (export \`all\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._c-2 { - color: red; -} - -._c4 { - color: blue; -} - -._test{ - c: d +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, - "._c1 { b: 1; } -._c3 { b: 3; } -._c5 { b: 5; } -", + [ + "./modules/composes/composes-absolute.css", + ".kyvwkn92Lnd2EucgzJse { color: red; }", "", ], ] `; -exports[`modules case \`composes-2\`: (export \`all\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; - -exports[`modules case \`composes-2\`: (export \`all\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +exports[`"modules" option should resolve absolute path in composes: warnings 1`] = `[]`; -exports[`modules case \`composes-2\`: (export \`all\`) (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "c1": "_c1 _c-2", - "c3": "_c3 _c1 _c-2", - "c5": "_c5 _c-2 _c4", -} -`; +exports[`"modules" option should resolve package from node_modules with and without tilde: errors 1`] = `[]`; -exports[`modules case \`composes-2\`: (export \`all\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._c-2 { - color: red; +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"] }; } -._c4 { - color: blue; -} +\`, ""]); +// 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___; +" +`; -._test{ - c: d -} +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, - "._c1 { b: 1; } -._c3 { b: 3; } -._c5 { b: 5; } + [ + "./modules/issue-914/source.css", + ".dplP4w4XMPrlPI5jKzht { + color: red; + background: green; +} + ", "", ], ] `; -exports[`modules case \`composes-2\`: (export \`all\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +exports[`"modules" option should resolve package from node_modules with and without tilde: warnings 1`] = `[]`; -exports[`modules case \`composes-2\`: (export \`only locals\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +exports[`"modules" option should should work with two leading hyphens: errors 1`] = `[]`; -exports[`modules case \`composes-2\`: (export \`only locals\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +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-2\`: (export \`only locals\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = `Object {}`; +._--_test { + background: blue; +} -exports[`modules case \`composes-2\`: (export \`only locals\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +._--className { + background: red; +} -exports[`modules case \`composes-2\`: (export \`only locals\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +#_--someId { + background: green; +} -exports[`modules case \`composes-2\`: (export \`only locals\`) (\`modules\` value is \`global)\`: locals 1`] = `undefined`; +._--className ._--subClass { + color: green; +} -exports[`modules case \`composes-2\`: (export \`only locals\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Object { - "c1": "_c1 _c-2", - "c3": "_c3 _c1 _c-2", - "c5": "_c5 _c-2 _c4", +#_--someId ._--subClass { + color: blue; } -`; -exports[`modules case \`composes-2\`: (export \`only locals\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +._---a0-34a___f { + color: red; +} -exports[`modules case \`composes-2\`: (export \`only locals\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +._--m_x_\\\\@ { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`composes-2\`: (export \`only locals\`) (\`modules\` value is \`local)\`: locals 1`] = `undefined`; +._--B\\\\&W\\\\? { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`composes-2\`: (export \`only locals\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Object { - "c1": "_c1 _c-2", - "c3": "_c3 _c1 _c-2", - "c5": "_c5 _c-2 _c4", +/* matches elements with class=":\\\`(" */ +._--\\\\3A \\\\\\\`\\\\( { + color: aqua; } -`; -exports[`modules case \`composes-2\`: (export \`only locals\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +/* matches elements with class="1a2b3c" */ +._--\\\\31 a2b3c { + color: aliceblue; +} -exports[`modules case \`composes-2\`: (export \`only locals\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +/* matches the element with id="#fake-id" */ +#_--\\\\#fake-id { + color: antiquewhite; +} -exports[`modules case \`composes-2\`: (export \`only locals\`) (\`modules\` value is \`true)\`: locals 1`] = `undefined`; +/* matches the element with id="-a-b-c-" */ +#_---a-b-c- { + color: azure; +} -exports[`modules case \`composes-2\`: (export \`only locals\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Object { - "c1": "_c1 _c-2", - "c3": "_c3 _c1 _c-2", - "c5": "_c5 _c-2 _c4", +/* matches the element with id="©" */ +#_--© { + color: black; } -`; -exports[`modules case \`composes-2\`: (export \`only locals\`) (\`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; } -exports[`modules case \`composes-multiple\`: (export \`all\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +._--foo\\\\/bar { + background: hotpink; +} -exports[`modules case \`composes-multiple\`: (export \`all\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +._--foo\\\\\\\\bar { + background: hotpink; +} -exports[`modules case \`composes-multiple\`: (export \`all\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ":local(.abc) { - composes: def1 from \\"./file1.css\\"; - composes: def2 from \\"./file2.css\\"; +._--foo\\\\/bar\\\\/baz { + background: hotpink; +} + +._--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 \`composes-multiple\`: (export \`all\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +._--_test { + background: blue; +} -exports[`modules case \`composes-multiple\`: (export \`all\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +._--className { + background: red; +} -exports[`modules case \`composes-multiple\`: (export \`all\`) (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "abc": "_abc _def1 _def2", +#_--someId { + background: green; } -`; -exports[`modules case \`composes-multiple\`: (export \`all\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._def1 { - color: red; +._--className ._--subClass { + color: green; } -", - "", - ], - Array [ - 3, - "._def2 { + +#_--someId ._--subClass { color: blue; } -", - "", - ], - Array [ - 1, - "._abc { + +._---a0-34a___f { + color: red; } -", - "", - ], -] -`; -exports[`modules case \`composes-multiple\`: (export \`all\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +._--m_x_\\@ { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`composes-multiple\`: (export \`all\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +._--B\\&W\\? { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`composes-multiple\`: (export \`all\`) (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "abc": "_abc _def1 _def2", +/* matches elements with class=":\`(" */ +._--\\3A \\\`\\( { + color: aqua; } -`; -exports[`modules case \`composes-multiple\`: (export \`all\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._def1 { - color: red; +/* matches elements with class="1a2b3c" */ +._--\\31 a2b3c { + color: aliceblue; } -", - "", - ], - Array [ - 3, - "._def2 { - color: blue; + +/* matches the element with id="#fake-id" */ +#_--\\#fake-id { + color: antiquewhite; } -", - "", - ], - Array [ - 1, - "._abc { + +/* matches the element with id="-a-b-c-" */ +#_---a-b-c- { + color: azure; } -", - "", - ], -] -`; -exports[`modules case \`composes-multiple\`: (export \`all\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +/* matches the element with id="©" */ +#_--© { + color: black; +} -exports[`modules case \`composes-multiple\`: (export \`all\`) (\`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; } -exports[`modules case \`composes-multiple\`: (export \`all\`) (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "abc": "_abc _def1 _def2", +._--foo\\/bar { + background: hotpink; } -`; -exports[`modules case \`composes-multiple\`: (export \`all\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._def1 { - color: red; +._--foo\\\\bar { + background: hotpink; } -", - "", - ], - Array [ - 3, - "._def2 { - color: blue; + +._--foo\\/bar\\/baz { + background: hotpink; } -", - "", - ], - Array [ - 1, - "._abc { + +._--foo\\\\bar\\\\baz { + background: hotpink; } ", "", @@ -1200,152 +1734,343 @@ Array [ ] `; -exports[`modules case \`composes-multiple\`: (export \`all\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; - -exports[`modules case \`composes-multiple\`: (export \`only locals\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +exports[`"modules" option should should work with two leading hyphens: warnings 1`] = `[]`; -exports[`modules case \`composes-multiple\`: (export \`only locals\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +exports[`"modules" option should should work with two leading underscore: errors 1`] = `[]`; -exports[`modules case \`composes-multiple\`: (export \`only locals\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = `Object {}`; - -exports[`modules case \`composes-multiple\`: (export \`only locals\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +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 \`composes-multiple\`: (export \`only locals\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +.___test { + background: blue; +} -exports[`modules case \`composes-multiple\`: (export \`only locals\`) (\`modules\` value is \`global)\`: locals 1`] = `undefined`; +.__className { + background: red; +} -exports[`modules case \`composes-multiple\`: (export \`only locals\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Object { - "abc": "_abc _def1 _def2", +#__someId { + background: green; } -`; -exports[`modules case \`composes-multiple\`: (export \`only locals\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +.__className .__subClass { + color: green; +} -exports[`modules case \`composes-multiple\`: (export \`only locals\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +#__someId .__subClass { + color: blue; +} -exports[`modules case \`composes-multiple\`: (export \`only locals\`) (\`modules\` value is \`local)\`: locals 1`] = `undefined`; +.__-a0-34a___f { + color: red; +} -exports[`modules case \`composes-multiple\`: (export \`only locals\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Object { - "abc": "_abc _def1 _def2", +.__m_x_\\\\@ { + margin-left: auto !important; + margin-right: auto !important; } -`; -exports[`modules case \`composes-multiple\`: (export \`only locals\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.__B\\\\&W\\\\? { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`composes-multiple\`: (export \`only locals\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +/* matches elements with class=":\\\`(" */ +.__\\\\3A \\\\\\\`\\\\( { + color: aqua; +} -exports[`modules case \`composes-multiple\`: (export \`only locals\`) (\`modules\` value is \`true)\`: locals 1`] = `undefined`; +/* matches elements with class="1a2b3c" */ +.__\\\\31 a2b3c { + color: aliceblue; +} -exports[`modules case \`composes-multiple\`: (export \`only locals\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Object { - "abc": "_abc _def1 _def2", +/* matches the element with id="#fake-id" */ +#__\\\\#fake-id { + color: antiquewhite; } -`; -exports[`modules case \`composes-multiple\`: (export \`only locals\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +/* matches the element with id="-a-b-c-" */ +#__-a-b-c- { + color: azure; +} -exports[`modules case \`composes-with-importing\`: (export \`all\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +/* matches the element with id="©" */ +#__© { + color: black; +} -exports[`modules case \`composes-with-importing\`: (export \`all\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +.__♥ { 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 \`composes-with-importing\`: (export \`all\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ":local(.abc) { - composes: def from \\"./file.css\\"; +.__foo\\\\/bar { + background: hotpink; } -", - "", - ], -] -`; -exports[`modules case \`composes-with-importing\`: (export \`all\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +.__foo\\\\\\\\bar { + background: hotpink; +} -exports[`modules case \`composes-with-importing\`: (export \`all\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +.__foo\\\\/bar\\\\/baz { + background: hotpink; +} -exports[`modules case \`composes-with-importing\`: (export \`all\`) (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "abc": "_abc _def", +.__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 underscore: result 1`] = ` +[ + [ + "./modules/localIdentName/localIdentName.css", + ".__test { + background: red; } -`; -exports[`modules case \`composes-with-importing\`: (export \`all\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._def { - color: red; +.___test { + background: blue; } -", - "", - ], - Array [ - 1, - "._abc { + +.__className { + background: red; } -", - "", - ], -] -`; -exports[`modules case \`composes-with-importing\`: (export \`all\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +#__someId { + background: green; +} -exports[`modules case \`composes-with-importing\`: (export \`all\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +.__className .__subClass { + color: green; +} -exports[`modules case \`composes-with-importing\`: (export \`all\`) (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "abc": "_abc _def", +#__someId .__subClass { + color: blue; } -`; -exports[`modules case \`composes-with-importing\`: (export \`all\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._def { +.__-a0-34a___f { color: red; } -", - "", - ], - Array [ - 1, - "._abc { + +.__m_x_\\@ { + margin-left: auto !important; + margin-right: auto !important; } -", - "", - ], -] -`; -exports[`modules case \`composes-with-importing\`: (export \`all\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.__B\\&W\\? { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`composes-with-importing\`: (export \`all\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +/* matches elements with class=":\`(" */ +.__\\3A \\\`\\( { + color: aqua; +} -exports[`modules case \`composes-with-importing\`: (export \`all\`) (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "abc": "_abc _def", +/* matches elements with class="1a2b3c" */ +.__\\31 a2b3c { + color: aliceblue; } -`; -exports[`modules case \`composes-with-importing\`: (export \`all\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._def { - color: red; +/* matches the element with id="#fake-id" */ +#__\\#fake-id { + color: antiquewhite; } -", - "", - ], - Array [ - 1, - "._abc { + +/* matches the element with id="-a-b-c-" */ +#__-a-b-c- { + color: azure; +} + +/* matches the element with id="©" */ +#__© { + color: black; +} + +.__♥ { 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; +} + +.__foo\\\\bar { + background: hotpink; +} + +.__foo\\/bar\\/baz { + background: hotpink; +} + +.__foo\\\\bar\\\\baz { + background: hotpink; } ", "", @@ -1353,201 +2078,540 @@ Array [ ] `; -exports[`modules case \`composes-with-importing\`: (export \`all\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +exports[`"modules" option should should work with two leading underscore: warnings 1`] = `[]`; -exports[`modules case \`composes-with-importing\`: (export \`only locals\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +exports[`"modules" option should support resolving in composes preprocessor files with extensions: errors 1`] = `[]`; -exports[`modules case \`composes-with-importing\`: (export \`only locals\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +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; +} -exports[`modules case \`composes-with-importing\`: (export \`only locals\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = `Object {}`; +.jfnINdjNmjmNE30hJhM2 { + color: \${ ___CSS_LOADER_ICSS_IMPORT_0____NAMED___["v-def"] }; +} -exports[`modules case \`composes-with-importing\`: (export \`only locals\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +.UIbsE5LKj9LULxJh5lui { + color: \${ ___CSS_LOADER_ICSS_IMPORT_1____NAMED___["v-foo"] }; +} -exports[`modules case \`composes-with-importing\`: (export \`only locals\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +.IhDiFbofjUNbC6vdWN9Z { + color: \${ ___CSS_LOADER_ICSS_IMPORT_2____NAMED___["v-bar"] }; +} -exports[`modules case \`composes-with-importing\`: (export \`only locals\`) (\`modules\` value is \`global)\`: locals 1`] = `undefined`; +.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", + " +", + "", + ], + [ + "../../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; -exports[`modules case \`composes-with-importing\`: (export \`only locals\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Object { - "abc": "_abc _def", +.oNU7JF6MtPAFrlrthaOD { + color: $color; + padding: 15px; +} +", + "", + ], + [ + "./modules/composes/composes-preprocessors.css", + ".globalClassName { + color: orange; } -`; -exports[`modules case \`composes-with-importing\`: (export \`only locals\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +.jfnINdjNmjmNE30hJhM2 { + color: red; +} -exports[`modules case \`composes-with-importing\`: (export \`only locals\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +.UIbsE5LKj9LULxJh5lui { + color: green; +} -exports[`modules case \`composes-with-importing\`: (export \`only locals\`) (\`modules\` value is \`local)\`: locals 1`] = `undefined`; +.IhDiFbofjUNbC6vdWN9Z { + color: white; +} -exports[`modules case \`composes-with-importing\`: (export \`only locals\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Object { - "abc": "_abc _def", +.vtrwouBgSegFPwkaXOt_ { + background: #000; } +", + "", + ], +] `; -exports[`modules case \`composes-with-importing\`: (export \`only locals\`) (\`modules\` value is \`local)\`: 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 \`composes-with-importing\`: (export \`only locals\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +.zchqshjqLbPAHaRvIBET { + color: blue; +} -exports[`modules case \`composes-with-importing\`: (export \`only locals\`) (\`modules\` value is \`true)\`: locals 1`] = `undefined`; +.WZBxXqS2GytaA3IBhhnd { + display: block; +} -exports[`modules case \`composes-with-importing\`: (export \`only locals\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Object { - "abc": "_abc _def", +.W51zcAMuJMsNFi1CXgWr { + width: \${ ___CSS_LOADER_ICSS_IMPORT_1____NAMED___["v-something"] }; } -`; -exports[`modules case \`composes-with-importing\`: (export \`only locals\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +.KEl5ZxzNkpjfWorrBglC { + color: \${ ___CSS_LOADER_ICSS_IMPORT_0____NAMED___["v-other"] }; +} -exports[`modules case \`declaration-value\`: (export \`all\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +.ecAEWh2vww9pNEdyj9Jn { + prop: \${ ___CSS_LOADER_ICSS_IMPORT_0____NAMED___["v-def"] }; + duplicate: \${ ___CSS_LOADER_ICSS_IMPORT_0____NAMED___["v-other"] }; +} -exports[`modules case \`declaration-value\`: (export \`all\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +.CBlowYk8qiAgWWzFeXRA { + color: red; +} -exports[`modules case \`declaration-value\`: (export \`all\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "@value blue: red; +.c_NHnDcX1bd_kuxgsuYi { + color: yellow; +} -.a { - border: 1px solid blue; +.S0Kwou8pVmsENtBP3hYm { + color: gray; } -", - "", - ], -] -`; -exports[`modules case \`declaration-value\`: (export \`all\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +.rq663Pq_zV0CjpwttvK4 { + color: gray; +} -exports[`modules case \`declaration-value\`: (export \`all\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +.fadRMHArJofp7sWEbPVR { + color: gainsboro; +} -exports[`modules case \`declaration-value\`: (export \`all\`) (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "blue": "red", +.sg1HlXqlWy6l6_Wm5iA7 { + color: gainsboro; } -`; -exports[`modules case \`declaration-value\`: (export \`all\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".a { - border: 1px solid red; +.bnRUswvicYag6u0SPnvI { + color: #BF4040; } -", - "", - ], -] -`; -exports[`modules case \`declaration-value\`: (export \`all\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +.kEJRwpukB2OtmkGTknbU { + color: black; +} -exports[`modules case \`declaration-value\`: (export \`all\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +@media (min-width: 960px) { + .hY2PI5vC9ABuJY1nkWnf { + padding: 0 20px; + } +} -exports[`modules case \`declaration-value\`: (export \`all\`) (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "a": "_a", - "blue": "red", +.\${ ___CSS_LOADER_ICSS_IMPORT_0____NAMED___["s-white"] } { + color: white; } -`; -exports[`modules case \`declaration-value\`: (export \`all\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._a { - border: 1px solid red; +@media \${ ___CSS_LOADER_ICSS_IMPORT_0____NAMED___["m-small"] } { + .hY2PI5vC9ABuJY1nkWnf { + padding: 20px 20px; + } } -", - "", - ], -] -`; -exports[`modules case \`declaration-value\`: (export \`all\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.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'; + } +} -exports[`modules case \`declaration-value\`: (export \`all\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +[class~='content'] { + color:green; +} -exports[`modules case \`declaration-value\`: (export \`all\`) (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "a": "_a", - "blue": "red", +.xajoqP1d3SwrjJ4WEM8g { + background: url(\${___CSS_LOADER_URL_REPLACEMENT_0___}); } -`; -exports[`modules case \`declaration-value\`: (export \`all\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._a { - border: 1px solid red; +.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 \`declaration-value\`: (export \`all\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +.zchqshjqLbPAHaRvIBET { + color: blue; +} -exports[`modules case \`declaration-value\`: (export \`only locals\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +.WZBxXqS2GytaA3IBhhnd { + display: block; +} -exports[`modules case \`declaration-value\`: (export \`only locals\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +.W51zcAMuJMsNFi1CXgWr { + width: 2112moon; +} -exports[`modules case \`declaration-value\`: (export \`only locals\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = `Object {}`; +.KEl5ZxzNkpjfWorrBglC { + color: green; +} -exports[`modules case \`declaration-value\`: (export \`only locals\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +.ecAEWh2vww9pNEdyj9Jn { + prop: red; + duplicate: green; +} -exports[`modules case \`declaration-value\`: (export \`only locals\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +.CBlowYk8qiAgWWzFeXRA { + color: red; +} -exports[`modules case \`declaration-value\`: (export \`only locals\`) (\`modules\` value is \`global)\`: locals 1`] = `undefined`; +.c_NHnDcX1bd_kuxgsuYi { + color: yellow; +} -exports[`modules case \`declaration-value\`: (export \`only locals\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Object { - "blue": "red", +.S0Kwou8pVmsENtBP3hYm { + color: gray; } -`; -exports[`modules case \`declaration-value\`: (export \`only locals\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +.rq663Pq_zV0CjpwttvK4 { + color: gray; +} -exports[`modules case \`declaration-value\`: (export \`only locals\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +.fadRMHArJofp7sWEbPVR { + color: gainsboro; +} -exports[`modules case \`declaration-value\`: (export \`only locals\`) (\`modules\` value is \`local)\`: locals 1`] = `undefined`; +.sg1HlXqlWy6l6_Wm5iA7 { + color: gainsboro; +} -exports[`modules case \`declaration-value\`: (export \`only locals\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Object { - "a": "_a", - "blue": "red", +.bnRUswvicYag6u0SPnvI { + color: #BF4040; } -`; -exports[`modules case \`declaration-value\`: (export \`only locals\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.kEJRwpukB2OtmkGTknbU { + color: black; +} -exports[`modules case \`declaration-value\`: (export \`only locals\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +@media (min-width: 960px) { + .hY2PI5vC9ABuJY1nkWnf { + padding: 0 20px; + } +} -exports[`modules case \`declaration-value\`: (export \`only locals\`) (\`modules\` value is \`true)\`: locals 1`] = `undefined`; +.white { + color: white; +} -exports[`modules case \`declaration-value\`: (export \`only locals\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Object { - "a": "_a", - "blue": "red", +@media (min-width: 320px) { + .hY2PI5vC9ABuJY1nkWnf { + padding: 20px 20px; + } } -`; -exports[`modules case \`declaration-value\`: (export \`only locals\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +.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'; + } +} -exports[`modules case \`issue-589\`: (export \`all\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +[class~='content'] { + color:green; +} -exports[`modules case \`issue-589\`: (export \`all\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +.xajoqP1d3SwrjJ4WEM8g { + background: url(replaced_file_protocol_/webpack/public/path/img.png); +} -exports[`modules case \`issue-589\`: (export \`all\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "body:before { - content: ''; - background: url(/webpack/public/path/5b1f36bc41ab31f5b801d48ba1d65781.png); +.Ix5nEHiVOsWuWxdx0twz { + background: red; } ", "", @@ -1555,219 +2619,382 @@ Array [ ] `; -exports[`modules case \`issue-589\`: (export \`all\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; - -exports[`modules case \`issue-589\`: (export \`all\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +exports[`"modules" option should support resolving in composes: warnings 1`] = `[]`; -exports[`modules case \`issue-589\`: (export \`all\`) (\`modules\` value is \`global)\`: locals 1`] = `undefined`; - -exports[`modules case \`issue-589\`: (export \`all\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "body:before { - content: ''; - background: url(/webpack/public/path/5b1f36bc41ab31f5b801d48ba1d65781.png); -} -", - "", - ], +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 \`issue-589\`: (export \`all\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +exports[`"modules" option should throw an error on unresolved import: warnings 1`] = `[]`; -exports[`modules case \`issue-589\`: (export \`all\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +exports[`"modules" option should throw an error when class has unsupported name (JavaScript reserved words): errors 1`] = `[]`; -exports[`modules case \`issue-589\`: (export \`all\`) (\`modules\` value is \`local)\`: locals 1`] = `undefined`; +exports[`"modules" option should throw an error when class has unsupported name (JavaScript reserved words): warnings 1`] = `[]`; -exports[`modules case \`issue-589\`: (export \`all\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "body:before { - content: ''; - background: url(/webpack/public/path/5b1f36bc41ab31f5b801d48ba1d65781.png); -} -", - "", - ], -] -`; +exports[`"modules" option should throw an error when the "namedExport" is enabled and the "exportLocalsConvention" options has not "camelCaseOnly" value: errors 1`] = `[]`; -exports[`modules case \`issue-589\`: (export \`all\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +exports[`"modules" option should throw an error when the "namedExport" is enabled and the "exportLocalsConvention" options has not "camelCaseOnly" value: warnings 1`] = `[]`; -exports[`modules case \`issue-589\`: (export \`all\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +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", +] +`; -exports[`modules case \`issue-589\`: (export \`all\`) (\`modules\` value is \`true)\`: locals 1`] = `undefined`; +exports[`"modules" option should throw an error when the "namedExport" option is "true", but the "esModule" is "false": warnings 1`] = `[]`; -exports[`modules case \`issue-589\`: (export \`all\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "body:before { - content: ''; - background: url(/webpack/public/path/5b1f36bc41ab31f5b801d48ba1d65781.png); -} -", - "", - ], +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 \`issue-589\`: (export \`all\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +exports[`"modules" option should throw error when the "exportLocalsConvention" function throw error: warnings 1`] = `[]`; -exports[`modules case \`issue-589\`: (export \`only locals\`) (\`modules\` value is \`false)\`: 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 \`issue-589\`: (export \`only locals\`) (\`modules\` value is \`false)\`: 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 \`issue-589\`: (export \`only locals\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = `Object {}`; +exports[`"modules" option should work and correctly replace escaped symbols: errors 1`] = `[]`; -exports[`modules case \`issue-589\`: (export \`only locals\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +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; +} -exports[`modules case \`issue-589\`: (export \`only locals\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +._test--Lb3f { + background: blue; +} -exports[`modules case \`issue-589\`: (export \`only locals\`) (\`modules\` value is \`global)\`: locals 1`] = `undefined`; +.className--Ldhp { + background: red; +} -exports[`modules case \`issue-589\`: (export \`only locals\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = `Object {}`; +#someId--b0rh { + background: green; +} -exports[`modules case \`issue-589\`: (export \`only locals\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +.className--Ldhp .subClass--Mw9j { + color: green; +} -exports[`modules case \`issue-589\`: (export \`only locals\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +#someId--b0rh .subClass--Mw9j { + color: blue; +} -exports[`modules case \`issue-589\`: (export \`only locals\`) (\`modules\` value is \`local)\`: locals 1`] = `undefined`; +.-a0-34a___f--DdFW { + color: red; +} -exports[`modules case \`issue-589\`: (export \`only locals\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = `Object {}`; +.m_x_\\\\@--OdAm { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`issue-589\`: (export \`only locals\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.B\\\\&W\\\\?--h4SE { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`issue-589\`: (export \`only locals\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +/* matches elements with class=":\\\`(" */ +.\\\\3A \\\\\\\`\\\\(--fKJQ { + color: aqua; +} -exports[`modules case \`issue-589\`: (export \`only locals\`) (\`modules\` value is \`true)\`: locals 1`] = `undefined`; +/* matches elements with class="1a2b3c" */ +.\\\\31 a2b3c--YR1u { + color: aliceblue; +} -exports[`modules case \`issue-589\`: (export \`only locals\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = `Object {}`; +/* matches the element with id="#fake-id" */ +#\\\\#fake-id--AqiA { + color: antiquewhite; +} -exports[`modules case \`issue-589\`: (export \`only locals\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +/* matches the element with id="-a-b-c-" */ +#-a-b-c---CwXv { + color: azure; +} -exports[`modules case \`keyframes-and-animation\`: (export \`all\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +/* matches the element with id="©" */ +#©--jBj0 { + color: black; +} -exports[`modules case \`keyframes-and-animation\`: (export \`all\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +.♥--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; } -exports[`modules case \`keyframes-and-animation\`: (export \`all\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".a { - color: green; +.foo\\\\/bar--hei2 { + background: hotpink; } -@keyframes bounce { - 0% { - transform: translateY(-100%); - opacity: 0; - } - 5% { - transform: translateY(-100%); - opacity: 0; - } +.foo\\\\\\\\bar--IgSz { + background: hotpink; } -@-webkit-keyframes bounce2 { - 0% { - transform: translateY(-100%); - opacity: 0; - } - 5% { - transform: translateY(-100%); - opacity: 0; - } +.foo\\\\/bar\\\\/baz--p6KJ { + background: hotpink; } -.bounce { - animation-name: bounce; - animation: bounce2 1s ease; +.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; } -.bounce2 { - color: green; - animation: bounce 1s ease; - animation-name: bounce2; +._test--Lb3f { + background: blue; } -.bounce3 { - animation: bounce 1s ease, bounce2 +.className--Ldhp { + background: red; } -.bounce4 { - animation: bounce 1s ease, bounce2; +#someId--b0rh { + background: green; } -.b { - color: green; +.className--Ldhp .subClass--Mw9j { + color: green; } -", - "", - ], -] -`; -exports[`modules case \`keyframes-and-animation\`: (export \`all\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +#someId--b0rh .subClass--Mw9j { + color: blue; +} -exports[`modules case \`keyframes-and-animation\`: (export \`all\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +.-a0-34a___f--DdFW { + color: red; +} -exports[`modules case \`keyframes-and-animation\`: (export \`all\`) (\`modules\` value is \`global)\`: locals 1`] = `undefined`; +.m_x_\\@--OdAm { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`keyframes-and-animation\`: (export \`all\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".a { - color: green; +.B\\&W\\?--h4SE { + margin-left: auto !important; + margin-right: auto !important; } -@keyframes bounce { - 0% { - transform: translateY(-100%); - opacity: 0; - } - 5% { - transform: translateY(-100%); - opacity: 0; - } +/* matches elements with class=":\`(" */ +.\\3A \\\`\\(--fKJQ { + color: aqua; } -@-webkit-keyframes bounce2 { - 0% { - transform: translateY(-100%); - opacity: 0; - } - 5% { - transform: translateY(-100%); - opacity: 0; - } +/* matches elements with class="1a2b3c" */ +.\\31 a2b3c--YR1u { + color: aliceblue; } -.bounce { - animation-name: bounce; - animation: bounce2 1s ease; +/* matches the element with id="#fake-id" */ +#\\#fake-id--AqiA { + color: antiquewhite; } -.bounce2 { - color: green; - animation: bounce 1s ease; - animation-name: bounce2; +/* matches the element with id="-a-b-c-" */ +#-a-b-c---CwXv { + color: azure; } -.bounce3 { - animation: bounce 1s ease, bounce2 +/* matches the element with id="©" */ +#©--jBj0 { + color: black; } -.bounce4 { - animation: bounce 1s ease, bounce2; +.♥--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; } -.b { - color: green; +.foo\\\\bar--IgSz { + background: hotpink; +} + +.foo\\/bar\\/baz--p6KJ { + background: hotpink; +} + +.foo\\\\bar\\\\baz--HZer { + background: hotpink; } ", "", @@ -1775,248 +3002,668 @@ Array [ ] `; -exports[`modules case \`keyframes-and-animation\`: (export \`all\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; - -exports[`modules case \`keyframes-and-animation\`: (export \`all\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +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 \`keyframes-and-animation\`: (export \`all\`) (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "a": "_a", - "b": "_b", - "bounce": "_bounce", - "bounce2": "_bounce2", - "bounce3": "_bounce3", - "bounce4": "_bounce4", +.foo { + background: blue; } -`; -exports[`modules case \`keyframes-and-animation\`: (export \`all\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._a { - color: green; +.foo { + background: red; } -@keyframes _bounce { - 0% { - transform: translateY(-100%); - opacity: 0; - } - 5% { - transform: translateY(-100%); - opacity: 0; - } +#foo { + background: green; } -@-webkit-keyframes _bounce2 { - 0% { - transform: translateY(-100%); - opacity: 0; - } - 5% { - transform: translateY(-100%); - opacity: 0; - } +.foo .foo { + color: green; } -._bounce { - animation-name: _bounce; - animation: _bounce2 1s ease; +#foo .foo { + color: blue; } -._bounce2 { - color: green; - animation: _bounce 1s ease; - animation-name: _bounce2; +.foo { + color: red; } -._bounce3 { - animation: _bounce 1s ease, _bounce2 +.foo { + margin-left: auto !important; + margin-right: auto !important; } -._bounce4 { - animation: _bounce 1s ease, _bounce2; +.foo { + margin-left: auto !important; + margin-right: auto !important; } -._b { - color: green; +/* matches elements with class=":\\\`(" */ +.foo { + color: aqua; } -", - "", - ], -] -`; -exports[`modules case \`keyframes-and-animation\`: (export \`all\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +/* matches elements with class="1a2b3c" */ +.foo { + color: aliceblue; +} -exports[`modules case \`keyframes-and-animation\`: (export \`all\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +/* matches the element with id="#fake-id" */ +#foo { + color: antiquewhite; +} -exports[`modules case \`keyframes-and-animation\`: (export \`all\`) (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "a": "_a", - "b": "_b", - "bounce": "_bounce", - "bounce2": "_bounce2", - "bounce3": "_bounce3", - "bounce4": "_bounce4", +/* matches the element with id="-a-b-c-" */ +#foo { + color: azure; } -`; -exports[`modules case \`keyframes-and-animation\`: (export \`all\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._a { - color: green; +/* matches the element with id="©" */ +#foo { + color: black; } -@keyframes _bounce { - 0% { - transform: translateY(-100%); - opacity: 0; - } - 5% { - transform: translateY(-100%); - opacity: 0; - } +.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; } -@-webkit-keyframes _bounce2 { - 0% { - transform: translateY(-100%); - opacity: 0; - } - 5% { - transform: translateY(-100%); - opacity: 0; - } +.foo { + background: hotpink; } -._bounce { - animation-name: _bounce; - animation: _bounce2 1s ease; +.foo { + background: hotpink; } -._bounce2 { - color: green; - animation: _bounce 1s ease; - animation-name: _bounce2; +.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; } -._bounce3 { - animation: _bounce 1s ease, _bounce2 +.foo { + background: blue; } -._bounce4 { - animation: _bounce 1s ease, _bounce2; +.foo { + background: red; } -._b { - color: green; +#foo { + background: green; } -", - "", - ], -] -`; -exports[`modules case \`keyframes-and-animation\`: (export \`all\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +.foo .foo { + color: green; +} -exports[`modules case \`keyframes-and-animation\`: (export \`only locals\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +#foo .foo { + color: blue; +} -exports[`modules case \`keyframes-and-animation\`: (export \`only locals\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +.foo { + color: red; +} -exports[`modules case \`keyframes-and-animation\`: (export \`only locals\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = `Object {}`; +.foo { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`keyframes-and-animation\`: (export \`only locals\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +.foo { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`keyframes-and-animation\`: (export \`only locals\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +/* matches elements with class=":\`(" */ +.foo { + color: aqua; +} -exports[`modules case \`keyframes-and-animation\`: (export \`only locals\`) (\`modules\` value is \`global)\`: locals 1`] = `undefined`; +/* matches elements with class="1a2b3c" */ +.foo { + color: aliceblue; +} -exports[`modules case \`keyframes-and-animation\`: (export \`only locals\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = `Object {}`; +/* matches the element with id="#fake-id" */ +#foo { + color: antiquewhite; +} -exports[`modules case \`keyframes-and-animation\`: (export \`only locals\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +/* matches the element with id="-a-b-c-" */ +#foo { + color: azure; +} -exports[`modules case \`keyframes-and-animation\`: (export \`only locals\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +/* matches the element with id="©" */ +#foo { + color: black; +} -exports[`modules case \`keyframes-and-animation\`: (export \`only locals\`) (\`modules\` value is \`local)\`: locals 1`] = `undefined`; +.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; } -exports[`modules case \`keyframes-and-animation\`: (export \`only locals\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Object { - "a": "_a", - "b": "_b", - "bounce": "_bounce", - "bounce2": "_bounce2", - "bounce3": "_bounce3", - "bounce4": "_bounce4", +.foo { + background: hotpink; } -`; -exports[`modules case \`keyframes-and-animation\`: (export \`only locals\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; - -exports[`modules case \`keyframes-and-animation\`: (export \`only locals\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +.foo { + background: hotpink; +} -exports[`modules case \`keyframes-and-animation\`: (export \`only locals\`) (\`modules\` value is \`true)\`: locals 1`] = `undefined`; +.foo { + background: hotpink; +} -exports[`modules case \`keyframes-and-animation\`: (export \`only locals\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Object { - "a": "_a", - "b": "_b", - "bounce": "_bounce", - "bounce2": "_bounce2", - "bounce3": "_bounce3", - "bounce4": "_bounce4", +.foo { + background: hotpink; } +", + "", + ], +] `; -exports[`modules case \`keyframes-and-animation\`: (export \`only locals\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; - -exports[`modules case \`leak-scope\`: (export \`all\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; - -exports[`modules case \`leak-scope\`: (export \`all\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; - -exports[`modules case \`leak-scope\`: (export \`all\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".a { - color: green; - animation: a; -} +exports[`"modules" option should work and has "undefined" context if no context was given: warnings 1`] = `[]`; -@keyframes b { - 0% { left: 10px; } - 100% { left: 20px; } -} +exports[`"modules" option should work and prefer relative for "composes": errors 1`] = `[]`; -.b { - animation: b; +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; } -@keyframes :global(c) { - 0% { left: 10px; } - 100% { left: 20px; } +.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___; +" +`; -.c { - animation: c1; - animation: c2, c3, c4; +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; } - -@keyframes :global(d) { - 0% { left: 10px; } - 100% { left: 20px; } +", + "", + ], + [ + "../../src/index.js??ruleSet[1].rules[0].use[0]!./modules/prefer-relative/node_modules/package/two.css", + ".sFLAbn2jg871KRraVJSF { + display: inline; } - -:global .d1 { - animation: d1; - animation: d2, d3, d4; +", + "", + ], + [ + "./modules/prefer-relative/source.css", + ".eY6jkKjjXnFY1QWC5gpe { + color: yellow; } -:global(.d2) { - animation: d2; +.cfTHoySzymaJQ150LQPh { + color: yellow; } ", "", @@ -2024,286 +3671,343 @@ Array [ ] `; -exports[`modules case \`leak-scope\`: (export \`all\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +exports[`"modules" option should work and prefer relative for "composes": warnings 1`] = `[]`; -exports[`modules case \`leak-scope\`: (export \`all\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +exports[`"modules" option should work and prefix leading hyphen when digit is first: errors 1`] = `[]`; -exports[`modules case \`leak-scope\`: (export \`all\`) (\`modules\` value is \`global)\`: 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 \`leak-scope\`: (export \`all\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".a { - color: green; - animation: a; +._-1_test { + background: blue; } -@keyframes b { - 0% { left: 10px; } - 100% { left: 20px; } +._-1className { + background: red; } -.b { - animation: b; +#_-1someId { + background: green; } -@keyframes c { - 0% { left: 10px; } - 100% { left: 20px; } +._-1className ._-1subClass { + color: green; } -.c { - animation: c1; - animation: c2, c3, c4; +#_-1someId ._-1subClass { + color: blue; } -@keyframes d { - 0% { left: 10px; } - 100% { left: 20px; } +._-1-a0-34a___f { + color: red; } -.d1 { - animation: d1; - animation: d2, d3, d4; +._-1m_x_\\\\@ { + margin-left: auto !important; + margin-right: auto !important; } -.d2 { - animation: d2; +._-1B\\\\&W\\\\? { + margin-left: auto !important; + margin-right: auto !important; } -", - "", - ], -] -`; -exports[`modules case \`leak-scope\`: (export \`all\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +/* matches elements with class=":\\\`(" */ +._-1\\\\3A \\\\\\\`\\\\( { + color: aqua; +} -exports[`modules case \`leak-scope\`: (export \`all\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +/* matches elements with class="1a2b3c" */ +._-1\\\\31 a2b3c { + color: aliceblue; +} -exports[`modules case \`leak-scope\`: (export \`all\`) (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "a": "_a", - "b": "_b", - "c": "_c", - "c1": "_c1", - "c2": "_c2", - "c3": "_c3", - "c4": "_c4", - "d2": "_d2", +/* matches the element with id="#fake-id" */ +#_-1\\\\#fake-id { + color: antiquewhite; } -`; -exports[`modules case \`leak-scope\`: (export \`all\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._a { - color: green; - animation: _a; +/* matches the element with id="-a-b-c-" */ +#_-1-a-b-c- { + color: azure; } -@keyframes _b { - 0% { left: 10px; } - 100% { left: 20px; } +/* matches the element with id="©" */ +#_-1© { + color: black; } -._b { - animation: _b; -} +._-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; } -@keyframes c { - 0% { left: 10px; } - 100% { left: 20px; } +._-1foo\\\\/bar { + background: hotpink; } -._c { - animation: _c1; - animation: _c2, _c3, _c4; +._-1foo\\\\\\\\bar { + background: hotpink; } -@keyframes d { - 0% { left: 10px; } - 100% { left: 20px; } +._-1foo\\\\/bar\\\\/baz { + background: hotpink; } -.d1 { - animation: d1; - animation: d2, d3, d4; +._-1foo\\\\\\\\bar\\\\\\\\baz { + background: hotpink; } - -.d2 { - animation: _d2; +\`, ""]); +// 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 \`leak-scope\`: (export \`all\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; - -exports[`modules case \`leak-scope\`: (export \`all\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; - -exports[`modules case \`leak-scope\`: (export \`all\`) (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "a": "_a", - "b": "_b", - "c": "_c", - "c1": "_c1", - "c2": "_c2", - "c3": "_c3", - "c4": "_c4", - "d2": "_d2", +._-1_test { + background: blue; } -`; -exports[`modules case \`leak-scope\`: (export \`all\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._a { - color: green; - animation: _a; +._-1className { + background: red; } -@keyframes _b { - 0% { left: 10px; } - 100% { left: 20px; } +#_-1someId { + background: green; } -._b { - animation: _b; +._-1className ._-1subClass { + color: green; } -@keyframes c { - 0% { left: 10px; } - 100% { left: 20px; } +#_-1someId ._-1subClass { + color: blue; } -._c { - animation: _c1; - animation: _c2, _c3, _c4; +._-1-a0-34a___f { + color: red; } -@keyframes d { - 0% { left: 10px; } - 100% { left: 20px; } +._-1m_x_\\@ { + margin-left: auto !important; + margin-right: auto !important; } -.d1 { - animation: d1; - animation: d2, d3, d4; +._-1B\\&W\\? { + margin-left: auto !important; + margin-right: auto !important; } -.d2 { - animation: _d2; +/* matches elements with class=":\`(" */ +._-1\\3A \\\`\\( { + color: aqua; } -", - "", - ], -] -`; - -exports[`modules case \`leak-scope\`: (export \`all\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; -exports[`modules case \`leak-scope\`: (export \`only locals\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; - -exports[`modules case \`leak-scope\`: (export \`only locals\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; - -exports[`modules case \`leak-scope\`: (export \`only locals\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = `Object {}`; - -exports[`modules case \`leak-scope\`: (export \`only locals\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; - -exports[`modules case \`leak-scope\`: (export \`only locals\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; - -exports[`modules case \`leak-scope\`: (export \`only locals\`) (\`modules\` value is \`global)\`: locals 1`] = `undefined`; - -exports[`modules case \`leak-scope\`: (export \`only locals\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = `Object {}`; - -exports[`modules case \`leak-scope\`: (export \`only locals\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; - -exports[`modules case \`leak-scope\`: (export \`only locals\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; - -exports[`modules case \`leak-scope\`: (export \`only locals\`) (\`modules\` value is \`local)\`: locals 1`] = `undefined`; - -exports[`modules case \`leak-scope\`: (export \`only locals\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Object { - "a": "_a", - "b": "_b", - "c": "_c", - "c1": "_c1", - "c2": "_c2", - "c3": "_c3", - "c4": "_c4", - "d2": "_d2", +/* matches elements with class="1a2b3c" */ +._-1\\31 a2b3c { + color: aliceblue; } -`; - -exports[`modules case \`leak-scope\`: (export \`only locals\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; -exports[`modules case \`leak-scope\`: (export \`only locals\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; - -exports[`modules case \`leak-scope\`: (export \`only locals\`) (\`modules\` value is \`true)\`: locals 1`] = `undefined`; - -exports[`modules case \`leak-scope\`: (export \`only locals\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Object { - "a": "_a", - "b": "_b", - "c": "_c", - "c1": "_c1", - "c2": "_c2", - "c3": "_c3", - "c4": "_c4", - "d2": "_d2", +/* matches the element with id="#fake-id" */ +#_-1\\#fake-id { + color: antiquewhite; } -`; - -exports[`modules case \`leak-scope\`: (export \`only locals\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; -exports[`modules case \`local\`: (export \`all\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; - -exports[`modules case \`local\`: (export \`all\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; - -exports[`modules case \`local\`: (export \`all\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".abc :local(.def) { - color: red; +/* matches the element with id="-a-b-c-" */ +#_-1-a-b-c- { + color: azure; } -:local .ghi .jkl { - color: blue; +/* matches the element with id="©" */ +#_-1© { + color: black; } -", - "", - ], -] -`; -exports[`modules case \`local\`: (export \`all\`) (\`modules\` value is \`false)\`: 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; } -exports[`modules case \`local\`: (export \`all\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +._-1foo\\/bar { + background: hotpink; +} -exports[`modules case \`local\`: (export \`all\`) (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "def": "_def", - "ghi": "_ghi", - "jkl": "_jkl", +._-1foo\\\\bar { + background: hotpink; } -`; -exports[`modules case \`local\`: (export \`all\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ".abc ._def { - color: red; +._-1foo\\/bar\\/baz { + background: hotpink; } -._ghi ._jkl { - color: blue; +._-1foo\\\\bar\\\\baz { + background: hotpink; } ", "", @@ -2311,309 +4015,449 @@ Array [ ] `; -exports[`modules case \`local\`: (export \`all\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +exports[`"modules" option should work and prefix leading hyphen when digit is first: warnings 1`] = `[]`; -exports[`modules case \`local\`: (export \`all\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +exports[`"modules" option should work and respect the "context" option: errors 1`] = `[]`; -exports[`modules case \`local\`: (export \`all\`) (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "abc": "_abc", - "def": "_def", - "ghi": "_ghi", - "jkl": "_jkl", +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; } -`; -exports[`modules case \`local\`: (export \`all\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._abc ._def { - color: red; +.TGo4Rmnn { + background: blue; } -._ghi ._jkl { - color: blue; +.V3rkzYqn { + background: red; } -", - "", - ], -] -`; -exports[`modules case \`local\`: (export \`all\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; - -exports[`modules case \`local\`: (export \`all\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; - -exports[`modules case \`local\`: (export \`all\`) (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "abc": "_abc", - "def": "_def", - "ghi": "_ghi", - "jkl": "_jkl", +#p0emrDgk { + background: green; } -`; -exports[`modules case \`local\`: (export \`all\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._abc ._def { - color: red; +.V3rkzYqn .v0YwV1mq { + color: green; } -._ghi ._jkl { +#p0emrDgk .v0YwV1mq { color: blue; } -", - "", - ], -] -`; -exports[`modules case \`local\`: (export \`all\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; - -exports[`modules case \`local\`: (export \`only locals\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +.iD7O58t6 { + color: red; +} -exports[`modules case \`local\`: (export \`only locals\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +.RH_w1QEb { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`local\`: (export \`only locals\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = `Object {}`; +.Ag92YvL3 { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`local\`: (export \`only locals\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +/* matches elements with class=":\\\`(" */ +.ETB9N0Rx { + color: aqua; +} -exports[`modules case \`local\`: (export \`only locals\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +/* matches elements with class="1a2b3c" */ +.LEy8bpHz { + color: aliceblue; +} -exports[`modules case \`local\`: (export \`only locals\`) (\`modules\` value is \`global)\`: locals 1`] = `undefined`; +/* matches the element with id="#fake-id" */ +#JOQqQG3P { + color: antiquewhite; +} -exports[`modules case \`local\`: (export \`only locals\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Object { - "def": "_def", - "ghi": "_ghi", - "jkl": "_jkl", +/* matches the element with id="-a-b-c-" */ +#LD6vZ0vn { + color: azure; } -`; -exports[`modules case \`local\`: (export \`only locals\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +/* matches the element with id="©" */ +#bD4iEyBe { + color: black; +} -exports[`modules case \`local\`: (export \`only locals\`) (\`modules\` value is \`local)\`: errors 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; } -exports[`modules case \`local\`: (export \`only locals\`) (\`modules\` value is \`local)\`: locals 1`] = `undefined`; +.GOPxpaxq { + background: hotpink; +} -exports[`modules case \`local\`: (export \`only locals\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Object { - "abc": "_abc", - "def": "_def", - "ghi": "_ghi", - "jkl": "_jkl", +.chesbSdq { + background: hotpink; } -`; -exports[`modules case \`local\`: (export \`only locals\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.QMeNd406 { + background: hotpink; +} -exports[`modules case \`local\`: (export \`only locals\`) (\`modules\` value is \`true)\`: 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 \`local\`: (export \`only locals\`) (\`modules\` value is \`true)\`: locals 1`] = `undefined`; +.TGo4Rmnn { + background: blue; +} -exports[`modules case \`local\`: (export \`only locals\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Object { - "abc": "_abc", - "def": "_def", - "ghi": "_ghi", - "jkl": "_jkl", +.V3rkzYqn { + background: red; } -`; -exports[`modules case \`local\`: (export \`only locals\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +#p0emrDgk { + background: green; +} -exports[`modules case \`local-2\`: (export \`all\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +.V3rkzYqn .v0YwV1mq { + color: green; +} -exports[`modules case \`local-2\`: (export \`all\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +#p0emrDgk .v0YwV1mq { + color: blue; +} -exports[`modules case \`local-2\`: (export \`all\`) (\`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; } -", - "", - ], -] -`; +.iD7O58t6 { + color: red; +} -exports[`modules case \`local-2\`: (export \`all\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +.RH_w1QEb { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`local-2\`: (export \`all\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +.Ag92YvL3 { + margin-left: auto !important; + margin-right: auto !important; +} -exports[`modules case \`local-2\`: (export \`all\`) (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "className": "_className", - "someId": "_someId", - "subClass": "_subClass", +/* matches elements with class=":\`(" */ +.ETB9N0Rx { + color: aqua; } -`; -exports[`modules case \`local-2\`: (export \`all\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._className { background: red; } -#_someId { background: green; } -._className ._subClass { color: green; } -#_someId ._subClass { color: blue; } -", - "", - ], -] -`; +/* matches elements with class="1a2b3c" */ +.LEy8bpHz { + color: aliceblue; +} -exports[`modules case \`local-2\`: (export \`all\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; +/* matches the element with id="#fake-id" */ +#JOQqQG3P { + color: antiquewhite; +} -exports[`modules case \`local-2\`: (export \`all\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +/* matches the element with id="-a-b-c-" */ +#LD6vZ0vn { + color: azure; +} -exports[`modules case \`local-2\`: (export \`all\`) (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "className": "_className", - "someId": "_someId", - "subClass": "_subClass", +/* matches the element with id="©" */ +#bD4iEyBe { + color: black; } -`; -exports[`modules case \`local-2\`: (export \`all\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._className { background: red; } -#_someId { background: green; } -._className ._subClass { color: green; } -#_someId ._subClass { color: blue; } -", - "", - ], -] -`; +.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; } -exports[`modules case \`local-2\`: (export \`all\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.GOPxpaxq { + background: hotpink; +} -exports[`modules case \`local-2\`: (export \`all\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +.chesbSdq { + background: hotpink; +} -exports[`modules case \`local-2\`: (export \`all\`) (\`modules\` value is \`true)\`: locals 1`] = ` -Object { - "className": "_className", - "someId": "_someId", - "subClass": "_subClass", +.QMeNd406 { + background: hotpink; } -`; -exports[`modules case \`local-2\`: (export \`all\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._className { background: red; } -#_someId { background: green; } -._className ._subClass { color: green; } -#_someId ._subClass { color: blue; } +.jXaakDKS { + background: hotpink; +} ", "", ], ] `; -exports[`modules case \`local-2\`: (export \`all\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; - -exports[`modules case \`local-2\`: (export \`only locals\`) (\`modules\` value is \`false)\`: errors 1`] = `Array []`; +exports[`"modules" option should work and respect the "context" option: warnings 1`] = `[]`; -exports[`modules case \`local-2\`: (export \`only locals\`) (\`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 \`local-2\`: (export \`only locals\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = `Object {}`; - -exports[`modules case \`local-2\`: (export \`only locals\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; - -exports[`modules case \`local-2\`: (export \`only locals\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; - -exports[`modules case \`local-2\`: (export \`only locals\`) (\`modules\` value is \`global)\`: locals 1`] = `undefined`; - -exports[`modules case \`local-2\`: (export \`only locals\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Object { - "className": "_className", - "someId": "_someId", - "subClass": "_subClass", +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 \`local-2\`: (export \`only locals\`) (\`modules\` value is \`global)\`: warnings 1`] = `Array []`; -exports[`modules case \`local-2\`: (export \`only locals\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; - -exports[`modules case \`local-2\`: (export \`only locals\`) (\`modules\` value is \`local)\`: locals 1`] = `undefined`; - -exports[`modules case \`local-2\`: (export \`only locals\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Object { - "className": "_className", - "someId": "_someId", - "subClass": "_subClass", +.AooVHuvzAIGXWngdfslc { + color: blue; } -`; -exports[`modules case \`local-2\`: (export \`only locals\`) (\`modules\` value is \`local)\`: warnings 1`] = `Array []`; +.snmJCrfw3LVnrlx87XVC { + color: red; +} -exports[`modules case \`local-2\`: (export \`only locals\`) (\`modules\` value is \`true)\`: errors 1`] = `Array []`; +a { + color: yellow; +} -exports[`modules case \`local-2\`: (export \`only locals\`) (\`modules\` value is \`true)\`: locals 1`] = `undefined`; +.vA4oeh0XymefKJVIJyg1 { + color: red; +} -exports[`modules case \`local-2\`: (export \`only locals\`) (\`modules\` value is \`true)\`: module (evaluated) 1`] = ` -Object { - "className": "_className", - "someId": "_someId", - "subClass": "_subClass", +.mDiC1MIOTWjgsd86woaJ { + color: red; } -`; -exports[`modules case \`local-2\`: (export \`only locals\`) (\`modules\` value is \`true)\`: warnings 1`] = `Array []`; +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} -exports[`modules case \`local-and-composes\`: (export \`all\`) (\`modules\` value is \`false)\`: errors 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 \`local-and-composes\`: (export \`all\`) (\`modules\` value is \`false)\`: locals 1`] = `undefined`; +.AooVHuvzAIGXWngdfslc { + color: blue; +} -exports[`modules case \`local-and-composes\`: (export \`all\`) (\`modules\` value is \`false)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - ":local(.abc) { +.snmJCrfw3LVnrlx87XVC { color: red; } -:local(.def) { - composes: abc; - background: green; -} -", - "", - ], -] -`; -exports[`modules case \`local-and-composes\`: (export \`all\`) (\`modules\` value is \`false)\`: warnings 1`] = `Array []`; +a { + color: yellow; +} -exports[`modules case \`local-and-composes\`: (export \`all\`) (\`modules\` value is \`global)\`: errors 1`] = `Array []`; +.vA4oeh0XymefKJVIJyg1 { + color: red; +} -exports[`modules case \`local-and-composes\`: (export \`all\`) (\`modules\` value is \`global)\`: locals 1`] = ` -Object { - "abc": "_abc", - "def": "_def _abc", +.mDiC1MIOTWjgsd86woaJ { + color: red; } -`; -exports[`modules case \`local-and-composes\`: (export \`all\`) (\`modules\` value is \`global)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._abc { +.kY3VVFqpzmTiFlxOd9KU { color: red; } -._def { - background: green; + +.eiLdMC_n9TCXQ0oPIJyI { + color: red; } ", "", @@ -2621,53 +4465,17116 @@ Array [ ] `; -exports[`modules case \`local-and-composes\`: (export \`all\`) (\`modules\` value is \`global)\`: 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 \`local-and-composes\`: (export \`all\`) (\`modules\` value is \`local)\`: errors 1`] = `Array []`; +exports[`"modules" option should work and respect the "exportLocalsConvention" option with the "function" type: errors 1`] = `[]`; -exports[`modules case \`local-and-composes\`: (export \`all\`) (\`modules\` value is \`local)\`: locals 1`] = ` -Object { - "abc": "_abc", - "def": "_def _abc", +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 \`local-and-composes\`: (export \`all\`) (\`modules\` value is \`local)\`: module (evaluated) 1`] = ` -Array [ - Array [ - 1, - "._abc { - color: red; +.AooVHuvzAIGXWngdfslc { + color: blue; } -._def { + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.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; +} + +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.eiLdMC_n9TCXQ0oPIJyI { + color: red; +} +", + "", + ], +] +`; + +exports[`"modules" option should work and respect the "exportLocalsConvention" option with the "function" type: warnings 1`] = `[]`; + +exports[`"modules" option should work and respect the "exportOnlyLocals" option: errors 1`] = `[]`; + +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" option should work and respect the "exportOnlyLocals" option: warnings 1`] = `[]`; + +exports[`"modules" option should work and respect the "getLocalIdent" option: errors 1`] = `[]`; + +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; +} + +.foo { + background: blue; +} + +.foo { + background: red; +} + +#foo { + background: green; +} + +.foo .foo { + color: green; +} + +#foo .foo { + color: blue; +} + +.foo { + color: red; +} + +.foo { + margin-left: auto !important; + margin-right: auto !important; +} + +.foo { + margin-left: auto !important; + margin-right: auto !important; +} + +/* matches elements with class=":\\\`(" */ +.foo { + color: aqua; +} + +/* matches elements with class="1a2b3c" */ +.foo { + color: aliceblue; +} + +/* matches the element with id="#fake-id" */ +#foo { + color: antiquewhite; +} + +/* matches the element with id="-a-b-c-" */ +#foo { + color: azure; +} + +/* 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; +} +\`, ""]); +// 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; +} + +.foo { + background: blue; +} + +.foo { + background: red; +} + +#foo { + background: green; +} + +.foo .foo { + color: green; +} + +#foo .foo { + color: blue; +} + +.foo { + color: red; +} + +.foo { + margin-left: auto !important; + margin-right: auto !important; +} + +.foo { + margin-left: auto !important; + margin-right: auto !important; +} + +/* matches elements with class=":\`(" */ +.foo { + color: aqua; +} + +/* matches elements with class="1a2b3c" */ +.foo { + color: aliceblue; +} + +/* matches the element with id="#fake-id" */ +#foo { + color: antiquewhite; +} + +/* matches the element with id="-a-b-c-" */ +#foo { + color: azure; +} + +/* 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; +} +", + "", + ], +] +`; + +exports[`"modules" option should work and respect the "getLocalIdent" option: warnings 1`] = `[]`; + +exports[`"modules" option should work and respect the "hashSalt" option: errors 1`] = `[]`; + +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; +} + +._test--df4a97df5d4981c18fd3 { + background: blue; +} + +.className--f51a39697d46ec360e5d { + background: red; +} + +#someId--a66e8413a3c261c3b5db { + background: green; +} + +.className--f51a39697d46ec360e5d .subClass--a2c5762a1671ee02d495 { + color: green; +} + +#someId--a66e8413a3c261c3b5db .subClass--a2c5762a1671ee02d495 { + color: blue; +} + +.-a0-34a___f--bcceae76b21ea32837d1 { + color: red; +} + +.m_x_\\\\@--bf8f3ed982973d67547f { + margin-left: auto !important; + margin-right: auto !important; +} + +.B\\\\&W\\\\?--fdee73d5165bc2acf73d { + margin-left: auto !important; + margin-right: auto !important; +} + +/* matches elements with class=":\\\`(" */ +.\\\\3A \\\\\\\`\\\\(--daecad79b824a8ae7e46 { + color: aqua; +} + +/* matches elements with class="1a2b3c" */ +.\\\\31 a2b3c--d785e50a661529be89f2 { + color: aliceblue; +} + +/* matches the element with id="#fake-id" */ +#\\\\#fake-id--a2d7428449895097291a { + color: antiquewhite; +} + +/* matches the element with id="-a-b-c-" */ +#-a-b-c---ccf3274dd45a8534913a { + color: azure; +} + +/* matches the element with id="©" */ +#©--adb36177ba3316dd9afb { + color: black; +} + +.♥--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; +} + +.foo\\\\\\\\bar--e8ba4f9a74f8b7fa8361 { + background: hotpink; +} + +.foo\\\\/bar\\\\/baz--b5eb40201778b94976f0 { + background: hotpink; +} + +.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; +} + +.className--f51a39697d46ec360e5d { + background: red; +} + +#someId--a66e8413a3c261c3b5db { + background: green; +} + +.className--f51a39697d46ec360e5d .subClass--a2c5762a1671ee02d495 { + color: green; +} + +#someId--a66e8413a3c261c3b5db .subClass--a2c5762a1671ee02d495 { + color: blue; +} + +.-a0-34a___f--bcceae76b21ea32837d1 { + color: red; +} + +.m_x_\\@--bf8f3ed982973d67547f { + margin-left: auto !important; + margin-right: auto !important; +} + +.B\\&W\\?--fdee73d5165bc2acf73d { + margin-left: auto !important; + margin-right: auto !important; +} + +/* matches elements with class=":\`(" */ +.\\3A \\\`\\(--daecad79b824a8ae7e46 { + color: aqua; +} + +/* matches elements with class="1a2b3c" */ +.\\31 a2b3c--d785e50a661529be89f2 { + color: aliceblue; +} + +/* matches the element with id="#fake-id" */ +#\\#fake-id--a2d7428449895097291a { + color: antiquewhite; +} + +/* matches the element with id="-a-b-c-" */ +#-a-b-c---ccf3274dd45a8534913a { + color: azure; +} + +/* matches the element with id="©" */ +#©--adb36177ba3316dd9afb { + color: black; +} + +.♥--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; +} + +.foo\\\\bar--e8ba4f9a74f8b7fa8361 { + background: hotpink; +} + +.foo\\/bar\\/baz--b5eb40201778b94976f0 { + background: hotpink; +} + +.foo\\\\bar\\\\baz--b178648b8128f2bbc548 { + background: hotpink; +} +", + "", + ], +] +`; + +exports[`"modules" option should work and respect the "hashSalt" option: warnings 1`] = `[]`; + +exports[`"modules" option should work and respect the "hashStrategy" = "minimal-subset" and [local]: errors 1`] = `[]`; + +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; +} + +._test__iHMJbI42 { + background: blue; +} + +.className__iHMJbI42 { + background: red; +} + +#someId__iHMJbI42 { background: green; } + +.className__iHMJbI42 .subClass__iHMJbI42 { + color: green; +} + +#someId__iHMJbI42 .subClass__iHMJbI42 { + color: blue; +} + +.-a0-34a___f__iHMJbI42 { + color: red; +} + +.m_x_\\\\@__iHMJbI42 { + margin-left: auto !important; + margin-right: auto !important; +} + +.B\\\\&W\\\\?__iHMJbI42 { + margin-left: auto !important; + margin-right: auto !important; +} + +/* matches elements with class=":\\\`(" */ +.\\\\3A \\\\\\\`\\\\(__iHMJbI42 { + color: aqua; +} + +/* matches elements with class="1a2b3c" */ +.\\\\31 a2b3c__iHMJbI42 { + color: aliceblue; +} + +/* matches the element with id="#fake-id" */ +#\\\\#fake-id__iHMJbI42 { + color: antiquewhite; +} + +/* matches the element with id="-a-b-c-" */ +#-a-b-c-__iHMJbI42 { + color: azure; +} + +/* matches the element with id="©" */ +#©__iHMJbI42 { + color: black; +} + +.♥__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; +} + +.foo\\\\\\\\bar__iHMJbI42 { + background: hotpink; +} + +.foo\\\\/bar\\\\/baz__iHMJbI42 { + background: hotpink; +} + +.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; +} + +._test__iHMJbI42 { + background: blue; +} + +.className__iHMJbI42 { + background: red; +} + +#someId__iHMJbI42 { + background: green; +} + +.className__iHMJbI42 .subClass__iHMJbI42 { + color: green; +} + +#someId__iHMJbI42 .subClass__iHMJbI42 { + color: blue; +} + +.-a0-34a___f__iHMJbI42 { + color: red; +} + +.m_x_\\@__iHMJbI42 { + margin-left: auto !important; + margin-right: auto !important; +} + +.B\\&W\\?__iHMJbI42 { + margin-left: auto !important; + margin-right: auto !important; +} + +/* matches elements with class=":\`(" */ +.\\3A \\\`\\(__iHMJbI42 { + color: aqua; +} + +/* matches elements with class="1a2b3c" */ +.\\31 a2b3c__iHMJbI42 { + color: aliceblue; +} + +/* matches the element with id="#fake-id" */ +#\\#fake-id__iHMJbI42 { + color: antiquewhite; +} + +/* matches the element with id="-a-b-c-" */ +#-a-b-c-__iHMJbI42 { + color: azure; +} + +/* matches the element with id="©" */ +#©__iHMJbI42 { + color: black; +} + +.♥__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; +} + +.foo\\\\bar__iHMJbI42 { + background: hotpink; +} + +.foo\\/bar\\/baz__iHMJbI42 { + background: hotpink; +} + +.foo\\\\bar\\\\baz__iHMJbI42 { + background: hotpink; +} +", + "", + ], +] +`; + +exports[`"modules" option should work and respect the "hashStrategy" = "minimal-subset" and [local]: warnings 1`] = `[]`; + +exports[`"modules" option should work and respect the "hashStrategy" = "minimal-subset" and no [local]: errors 1`] = `[]`; + +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; +} + +.Lb3fhDAu { + background: blue; +} + +.LdhpkZRW { + background: red; +} + +#b0rhwJSt { + background: green; +} + +.LdhpkZRW .Mw9j4nId { + color: green; +} + +#b0rhwJSt .Mw9j4nId { + color: blue; +} + +.DdFWMPol { + color: red; +} + +.OdAmghrm { + margin-left: auto !important; + margin-right: auto !important; +} + +.h4SEF34C { + margin-left: auto !important; + margin-right: auto !important; +} + +/* matches elements with class=":\\\`(" */ +.fKJQkLar { + color: aqua; +} + +/* matches elements with class="1a2b3c" */ +.YR1u_buY { + color: aliceblue; +} + +/* matches the element with id="#fake-id" */ +#AqiAGSfn { + color: antiquewhite; +} + +/* matches the element with id="-a-b-c-" */ +#CwXv27VM { + color: azure; +} + +/* 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; +} + +.IgSzmmsC { + background: hotpink; +} + +.p6KJMhNW { + background: hotpink; +} + +.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; +} + +.Lb3fhDAu { + background: blue; +} + +.LdhpkZRW { + background: red; +} + +#b0rhwJSt { + background: green; +} + +.LdhpkZRW .Mw9j4nId { + color: green; +} + +#b0rhwJSt .Mw9j4nId { + color: blue; +} + +.DdFWMPol { + color: red; +} + +.OdAmghrm { + margin-left: auto !important; + margin-right: auto !important; +} + +.h4SEF34C { + margin-left: auto !important; + margin-right: auto !important; +} + +/* matches elements with class=":\`(" */ +.fKJQkLar { + color: aqua; +} + +/* matches elements with class="1a2b3c" */ +.YR1u_buY { + color: aliceblue; +} + +/* matches the element with id="#fake-id" */ +#AqiAGSfn { + color: antiquewhite; +} + +/* matches the element with id="-a-b-c-" */ +#CwXv27VM { + color: azure; +} + +/* 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; +} + +.IgSzmmsC { + background: hotpink; +} + +.p6KJMhNW { + background: hotpink; +} + +.HZerWgmU { + background: hotpink; +} +", + "", + ], +] +`; + +exports[`"modules" option should work and respect the "hashStrategy" = "minimal-subset" and no [local]: warnings 1`] = `[]`; + +exports[`"modules" option should work and respect the "hashStrategy" = "resource-path-and-local-name": errors 1`] = `[]`; + +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; +} + +._test__Lb3fhDAu { + background: blue; +} + +.className__LdhpkZRW { + background: red; +} + +#someId__b0rhwJSt { + background: green; +} + +.className__LdhpkZRW .subClass__Mw9j4nId { + color: green; +} + +#someId__b0rhwJSt .subClass__Mw9j4nId { + color: blue; +} + +.-a0-34a___f__DdFWMPol { + color: red; +} + +.m_x_\\\\@__OdAmghrm { + margin-left: auto !important; + margin-right: auto !important; +} + +.B\\\\&W\\\\?__h4SEF34C { + margin-left: auto !important; + margin-right: auto !important; +} + +/* matches elements with class=":\\\`(" */ +.\\\\3A \\\\\\\`\\\\(__fKJQkLar { + color: aqua; +} + +/* matches elements with class="1a2b3c" */ +.\\\\31 a2b3c__YR1u_buY { + color: aliceblue; +} + +/* matches the element with id="#fake-id" */ +#\\\\#fake-id__AqiAGSfn { + color: antiquewhite; +} + +/* matches the element with id="-a-b-c-" */ +#-a-b-c-__CwXv27VM { + color: azure; +} + +/* 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; } +.\\\\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; +} + +.foo\\\\\\\\bar__IgSzmmsC { + background: hotpink; +} + +.foo\\\\/bar\\\\/baz__p6KJMhNW { + background: hotpink; +} + +.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; +} + +._test__Lb3fhDAu { + background: blue; +} + +.className__LdhpkZRW { + background: red; +} + +#someId__b0rhwJSt { + background: green; +} + +.className__LdhpkZRW .subClass__Mw9j4nId { + color: green; +} + +#someId__b0rhwJSt .subClass__Mw9j4nId { + color: blue; +} + +.-a0-34a___f__DdFWMPol { + color: red; +} + +.m_x_\\@__OdAmghrm { + margin-left: auto !important; + margin-right: auto !important; +} + +.B\\&W\\?__h4SEF34C { + margin-left: auto !important; + margin-right: auto !important; +} + +/* matches elements with class=":\`(" */ +.\\3A \\\`\\(__fKJQkLar { + color: aqua; +} + +/* matches elements with class="1a2b3c" */ +.\\31 a2b3c__YR1u_buY { + color: aliceblue; +} + +/* matches the element with id="#fake-id" */ +#\\#fake-id__AqiAGSfn { + color: antiquewhite; +} + +/* matches the element with id="-a-b-c-" */ +#-a-b-c-__CwXv27VM { + color: azure; +} + +/* 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; } +.\\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; +} + +.foo\\\\bar__IgSzmmsC { + background: hotpink; +} + +.foo\\/bar\\/baz__p6KJMhNW { + background: hotpink; +} + +.foo\\\\bar\\\\baz__HZerWgmU { + background: hotpink; +} +", + "", + ], +] +`; + +exports[`"modules" option should work and respect the "hashStrategy" = "resource-path-and-local-name": warnings 1`] = `[]`; + +exports[`"modules" option should work and respect the "localConvention" option with the "asIs" value: errors 1`] = `[]`; + +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; +} + +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.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; +} + +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.eiLdMC_n9TCXQ0oPIJyI { + color: red; +} +", + "", + ], +] +`; + +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" option should work and respect the "localIdentHashFunction" option: errors 2`] = `[]`; + +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; +} + +._test--e91d3d0c5fd37cd4b01b { + background: blue; +} + +.className--e02e6f829b2bee39d627 { + background: red; +} + +#someId--de52fa8c46db92b11447 { + background: green; +} + +.className--e02e6f829b2bee39d627 .subClass--be91981b36e10e364e4c { + color: green; +} + +#someId--de52fa8c46db92b11447 .subClass--be91981b36e10e364e4c { + color: blue; +} + +.-a0-34a___f--da00a255d4f26816d790 { + color: red; +} + +.m_x_\\\\@--bfd2a88024baab94215a { + margin-left: auto !important; + margin-right: auto !important; +} + +.B\\\\&W\\\\?--bdeaa204fa06e193156e { + margin-left: auto !important; + margin-right: auto !important; +} + +/* matches elements with class=":\\\`(" */ +.\\\\3A \\\\\\\`\\\\(--ca761b17eca1ae06d42e { + color: aqua; +} + +/* matches elements with class="1a2b3c" */ +.\\\\31 a2b3c--a35141d9affd245508ec { + color: aliceblue; +} + +/* matches the element with id="#fake-id" */ +#\\\\#fake-id--ad040e49adcf9ebf2b28 { + color: antiquewhite; +} + +/* matches the element with id="-a-b-c-" */ +#-a-b-c---e778be7522ccfc908a7f { + color: azure; +} + +/* matches the element with id="©" */ +#©--e0f3ca20d394f3e4c0c4 { + color: black; +} + +.♥--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; +} + +.foo\\\\\\\\bar--c17737aec664275b67b0 { + background: hotpink; +} + +.foo\\\\/bar\\\\/baz--c948ac137924110011f2 { + background: hotpink; +} + +.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; +} + +._test--Lb3fhDAuJv { + background: blue; +} + +.className--LdhpkZRWyK { + background: red; +} + +#someId--b0rhwJStMR { + background: green; +} + +.className--LdhpkZRWyK .subClass--Mw9j4nIdjx { + color: green; +} + +#someId--b0rhwJStMR .subClass--Mw9j4nIdjx { + color: blue; +} + +.-a0-34a___f--DdFWMPoluI { + color: red; +} + +.m_x_\\\\@--OdAmghrme3 { + margin-left: auto !important; + margin-right: auto !important; +} + +.B\\\\&W\\\\?--h4SEF34CLw { + margin-left: auto !important; + margin-right: auto !important; +} + +/* matches elements with class=":\\\`(" */ +.\\\\3A \\\\\\\`\\\\(--fKJQkLarfQ { + color: aqua; +} + +/* matches elements with class="1a2b3c" */ +.\\\\31 a2b3c--YR1u_buYf6 { + color: aliceblue; +} + +/* matches the element with id="#fake-id" */ +#\\\\#fake-id--AqiAGSfnwa { + color: antiquewhite; +} + +/* matches the element with id="-a-b-c-" */ +#-a-b-c---CwXv27VMwy { + color: azure; +} + +/* matches the element with id="©" */ +#©--jBj0sZiWBy { + color: black; +} + +.♥--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; +} + +.foo\\\\\\\\bar--IgSzmmsCqi { + background: hotpink; +} + +.foo\\\\/bar\\\\/baz--p6KJMhNWwm { + background: hotpink; +} + +.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; +} + +._test--e91d3d0c5fd37cd4b01b { + background: blue; +} + +.className--e02e6f829b2bee39d627 { + background: red; +} + +#someId--de52fa8c46db92b11447 { + background: green; +} + +.className--e02e6f829b2bee39d627 .subClass--be91981b36e10e364e4c { + color: green; +} + +#someId--de52fa8c46db92b11447 .subClass--be91981b36e10e364e4c { + color: blue; +} + +.-a0-34a___f--da00a255d4f26816d790 { + color: red; +} + +.m_x_\\@--bfd2a88024baab94215a { + margin-left: auto !important; + margin-right: auto !important; +} + +.B\\&W\\?--bdeaa204fa06e193156e { + margin-left: auto !important; + margin-right: auto !important; +} + +/* matches elements with class=":\`(" */ +.\\3A \\\`\\(--ca761b17eca1ae06d42e { + color: aqua; +} + +/* matches elements with class="1a2b3c" */ +.\\31 a2b3c--a35141d9affd245508ec { + color: aliceblue; +} + +/* matches the element with id="#fake-id" */ +#\\#fake-id--ad040e49adcf9ebf2b28 { + color: antiquewhite; +} + +/* matches the element with id="-a-b-c-" */ +#-a-b-c---e778be7522ccfc908a7f { + color: azure; +} + +/* matches the element with id="©" */ +#©--e0f3ca20d394f3e4c0c4 { + color: black; +} + +.♥--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; +} + +.foo\\\\bar--c17737aec664275b67b0 { + background: hotpink; +} + +.foo\\/bar\\/baz--c948ac137924110011f2 { + background: hotpink; +} + +.foo\\\\bar\\\\baz--ee89c9e938e6eb8df43d { + background: hotpink; +} +", + "", + ], +] +`; + +exports[`"modules" option should work and respect the "localIdentHashFunction" option: result 2`] = ` +[ + [ + "./modules/localIdentName/localIdentName.css", + ".test--KuIShlgsYf { + background: red; +} + +._test--Lb3fhDAuJv { + background: blue; +} + +.className--LdhpkZRWyK { + background: red; +} + +#someId--b0rhwJStMR { + background: green; +} + +.className--LdhpkZRWyK .subClass--Mw9j4nIdjx { + color: green; +} + +#someId--b0rhwJStMR .subClass--Mw9j4nIdjx { + color: blue; +} + +.-a0-34a___f--DdFWMPoluI { + color: red; +} + +.m_x_\\@--OdAmghrme3 { + margin-left: auto !important; + margin-right: auto !important; +} + +.B\\&W\\?--h4SEF34CLw { + margin-left: auto !important; + margin-right: auto !important; +} + +/* matches elements with class=":\`(" */ +.\\3A \\\`\\(--fKJQkLarfQ { + color: aqua; +} + +/* matches elements with class="1a2b3c" */ +.\\31 a2b3c--YR1u_buYf6 { + color: aliceblue; +} + +/* matches the element with id="#fake-id" */ +#\\#fake-id--AqiAGSfnwa { + color: antiquewhite; +} + +/* matches the element with id="-a-b-c-" */ +#-a-b-c---CwXv27VMwy { + color: azure; +} + +/* matches the element with id="©" */ +#©--jBj0sZiWBy { + color: black; +} + +.♥--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; +} + +.foo\\\\bar--IgSzmmsCqi { + background: hotpink; +} + +.foo\\/bar\\/baz--p6KJMhNWwm { + background: hotpink; +} + +.foo\\\\bar\\\\baz--HZerWgmU0f { + background: hotpink; +} +", + "", + ], +] +`; + +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" option should work and respect the "localIdentName" option 2: errors 1`] = `[]`; + +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; +} + +.localIdentName--_test--c6a38 { + background: blue; +} + +.localIdentName--className--ae4cd { + background: red; +} + +#localIdentName--someId--a747a { + background: green; +} + +.localIdentName--className--ae4cd .localIdentName--subClass--bf463 { + color: green; +} + +#localIdentName--someId--a747a .localIdentName--subClass--bf463 { + color: blue; +} + +.localIdentName---a0-34a___f--d3488 { + color: red; +} + +.localIdentName--m_x_\\\\@--ff0d5 { + margin-left: auto !important; + margin-right: auto !important; +} + +.localIdentName--B\\\\&W\\\\?--f7662 { + margin-left: auto !important; + margin-right: auto !important; +} + +/* matches elements with class=":\\\`(" */ +.localIdentName--\\\\3A \\\\\\\`\\\\(--d3744 { + color: aqua; +} + +/* matches elements with class="1a2b3c" */ +.localIdentName--\\\\31 a2b3c--c4cbc { + color: aliceblue; +} + +/* matches the element with id="#fake-id" */ +#localIdentName--\\\\#fake-id--e42a4 { + color: antiquewhite; +} + +/* matches the element with id="-a-b-c-" */ +#localIdentName---a-b-c---e4b0f { + color: azure; +} + +/* matches the element with id="©" */ +#localIdentName--©--c3e22 { + color: black; +} + +.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; +} + +.localIdentName--foo\\\\\\\\bar--ac6d2 { + background: hotpink; +} + +.localIdentName--foo\\\\/bar\\\\/baz--c78d7 { + background: hotpink; +} + +.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; +} + +.localIdentName--_test--c6a38 { + background: blue; +} + +.localIdentName--className--ae4cd { + background: red; +} + +#localIdentName--someId--a747a { + background: green; +} + +.localIdentName--className--ae4cd .localIdentName--subClass--bf463 { + color: green; +} + +#localIdentName--someId--a747a .localIdentName--subClass--bf463 { + color: blue; +} + +.localIdentName---a0-34a___f--d3488 { + color: red; +} + +.localIdentName--m_x_\\@--ff0d5 { + margin-left: auto !important; + margin-right: auto !important; +} + +.localIdentName--B\\&W\\?--f7662 { + margin-left: auto !important; + margin-right: auto !important; +} + +/* matches elements with class=":\`(" */ +.localIdentName--\\3A \\\`\\(--d3744 { + color: aqua; +} + +/* matches elements with class="1a2b3c" */ +.localIdentName--\\31 a2b3c--c4cbc { + color: aliceblue; +} + +/* matches the element with id="#fake-id" */ +#localIdentName--\\#fake-id--e42a4 { + color: antiquewhite; +} + +/* matches the element with id="-a-b-c-" */ +#localIdentName---a-b-c---e4b0f { + color: azure; +} + +/* matches the element with id="©" */ +#localIdentName--©--c3e22 { + color: black; +} + +.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; +} + +.localIdentName--foo\\\\bar--ac6d2 { + background: hotpink; +} + +.localIdentName--foo\\/bar\\/baz--c78d7 { + background: hotpink; +} + +.localIdentName--foo\\\\bar\\\\baz--f235d { + background: hotpink; +} +", + "", + ], +] +`; + +exports[`"modules" option should work and respect the "localIdentName" option 2: warnings 1`] = `[]`; + +exports[`"modules" option should work and respect the "localIdentName" option: errors 1`] = `[]`; + +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; +} + +.localIdentName--_test--TGo4R { + background: blue; +} + +.localIdentName--className--V3rkz { + background: red; +} + +#localIdentName--someId--p0emr { + background: green; +} + +.localIdentName--className--V3rkz .localIdentName--subClass--v0YwV { + color: green; +} + +#localIdentName--someId--p0emr .localIdentName--subClass--v0YwV { + color: blue; +} + +.localIdentName---a0-34a___f--iD7O5 { + color: red; +} + +.localIdentName--m_x_\\\\@--RH_w1 { + margin-left: auto !important; + margin-right: auto !important; +} + +.localIdentName--B\\\\&W\\\\?--Ag92Y { + margin-left: auto !important; + margin-right: auto !important; +} + +/* matches elements with class=":\\\`(" */ +.localIdentName--\\\\3A \\\\\\\`\\\\(--ETB9N { + color: aqua; +} + +/* matches elements with class="1a2b3c" */ +.localIdentName--\\\\31 a2b3c--LEy8b { + color: aliceblue; +} + +/* matches the element with id="#fake-id" */ +#localIdentName--\\\\#fake-id--JOQqQ { + color: antiquewhite; +} + +/* matches the element with id="-a-b-c-" */ +#localIdentName---a-b-c---LD6vZ { + color: azure; +} + +/* matches the element with id="©" */ +#localIdentName--©--bD4iE { + color: black; +} + +.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; +} + +.localIdentName--foo\\\\\\\\bar--chesb { + background: hotpink; +} + +.localIdentName--foo\\\\/bar\\\\/baz--QMeNd { + background: hotpink; +} + +.localIdentName--foo\\\\\\\\bar\\\\\\\\baz--jXaak { + background: hotpink; +} +\`, ""]); +// 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; +} + +.localIdentName--_test--TGo4R { + background: blue; +} + +.localIdentName--className--V3rkz { + background: red; +} + +#localIdentName--someId--p0emr { + background: green; +} + +.localIdentName--className--V3rkz .localIdentName--subClass--v0YwV { + color: green; +} + +#localIdentName--someId--p0emr .localIdentName--subClass--v0YwV { + color: blue; +} + +.localIdentName---a0-34a___f--iD7O5 { + color: red; +} + +.localIdentName--m_x_\\@--RH_w1 { + margin-left: auto !important; + margin-right: auto !important; +} + +.localIdentName--B\\&W\\?--Ag92Y { + margin-left: auto !important; + margin-right: auto !important; +} + +/* matches elements with class=":\`(" */ +.localIdentName--\\3A \\\`\\(--ETB9N { + color: aqua; +} + +/* matches elements with class="1a2b3c" */ +.localIdentName--\\31 a2b3c--LEy8b { + color: aliceblue; +} + +/* matches the element with id="#fake-id" */ +#localIdentName--\\#fake-id--JOQqQ { + color: antiquewhite; +} + +/* matches the element with id="-a-b-c-" */ +#localIdentName---a-b-c---LD6vZ { + color: azure; +} + +/* matches the element with id="©" */ +#localIdentName--©--bD4iE { + color: black; +} + +.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; +} + +.localIdentName--foo\\\\bar--chesb { + background: hotpink; +} + +.localIdentName--foo\\/bar\\/baz--QMeNd { + background: hotpink; +} + +.localIdentName--foo\\\\bar\\\\baz--jXaak { + background: hotpink; +} +", + "", + ], +] +`; + +exports[`"modules" option should work and respect the "localIdentName" option: warnings 1`] = `[]`; + +exports[`"modules" option should work and respect the "localIdentRegExp" option: errors 1`] = `[]`; + +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; +} + +.localIdentName___test__Lb3fhDAu { + background: blue; +} + +.localIdentName__className__LdhpkZRW { + background: red; +} + +#localIdentName__someId__b0rhwJSt { + background: green; +} + +.localIdentName__className__LdhpkZRW .localIdentName__subClass__Mw9j4nId { + color: green; +} + +#localIdentName__someId__b0rhwJSt .localIdentName__subClass__Mw9j4nId { + color: blue; +} + +.localIdentName__-a0-34a___f__DdFWMPol { + color: red; +} + +.localIdentName__m_x_\\\\@__OdAmghrm { + margin-left: auto !important; + margin-right: auto !important; +} + +.localIdentName__B\\\\&W\\\\?__h4SEF34C { + margin-left: auto !important; + margin-right: auto !important; +} + +/* matches elements with class=":\\\`(" */ +.localIdentName__\\\\3A \\\\\\\`\\\\(__fKJQkLar { + color: aqua; +} + +/* matches elements with class="1a2b3c" */ +.localIdentName__\\\\31 a2b3c__YR1u_buY { + color: aliceblue; +} + +/* matches the element with id="#fake-id" */ +#localIdentName__\\\\#fake-id__AqiAGSfn { + color: antiquewhite; +} + +/* matches the element with id="-a-b-c-" */ +#localIdentName__-a-b-c-__CwXv27VM { + color: azure; +} + +/* matches the element with id="©" */ +#localIdentName__©__jBj0sZiW { + color: black; +} + +.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; +} + +.localIdentName__foo\\\\\\\\bar__IgSzmmsC { + background: hotpink; +} + +.localIdentName__foo\\\\/bar\\\\/baz__p6KJMhNW { + background: hotpink; +} + +.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; +} + +.localIdentName___test__Lb3fhDAu { + background: blue; +} + +.localIdentName__className__LdhpkZRW { + background: red; +} + +#localIdentName__someId__b0rhwJSt { + background: green; +} + +.localIdentName__className__LdhpkZRW .localIdentName__subClass__Mw9j4nId { + color: green; +} + +#localIdentName__someId__b0rhwJSt .localIdentName__subClass__Mw9j4nId { + color: blue; +} + +.localIdentName__-a0-34a___f__DdFWMPol { + color: red; +} + +.localIdentName__m_x_\\@__OdAmghrm { + margin-left: auto !important; + margin-right: auto !important; +} + +.localIdentName__B\\&W\\?__h4SEF34C { + margin-left: auto !important; + margin-right: auto !important; +} + +/* matches elements with class=":\`(" */ +.localIdentName__\\3A \\\`\\(__fKJQkLar { + color: aqua; +} + +/* matches elements with class="1a2b3c" */ +.localIdentName__\\31 a2b3c__YR1u_buY { + color: aliceblue; +} + +/* matches the element with id="#fake-id" */ +#localIdentName__\\#fake-id__AqiAGSfn { + color: antiquewhite; +} + +/* matches the element with id="-a-b-c-" */ +#localIdentName__-a-b-c-__CwXv27VM { + color: azure; +} + +/* matches the element with id="©" */ +#localIdentName__©__jBj0sZiW { + color: black; +} + +.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; +} + +.localIdentName__foo\\\\bar__IgSzmmsC { + background: hotpink; +} + +.localIdentName__foo\\/bar\\/baz__p6KJMhNW { + background: hotpink; +} + +.localIdentName__foo\\\\bar\\\\baz__HZerWgmU { + background: hotpink; +} +", + "", + ], +] +`; + +exports[`"modules" option should work and respect the "localIdentRegExp" option: warnings 1`] = `[]`; + +exports[`"modules" option should work and respect the "path" placeholder: errors 1`] = `[]`; + +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; +} + +.fixtures-modules-localIdentName-localIdentName___test { + background: blue; +} + +.fixtures-modules-localIdentName-localIdentName__className { + background: red; +} + +#fixtures-modules-localIdentName-localIdentName__someId { + background: green; +} + +.fixtures-modules-localIdentName-localIdentName__className .fixtures-modules-localIdentName-localIdentName__subClass { + color: green; +} + +#fixtures-modules-localIdentName-localIdentName__someId .fixtures-modules-localIdentName-localIdentName__subClass { + color: blue; +} + +.fixtures-modules-localIdentName-localIdentName__-a0-34a___f { + color: red; +} + +.fixtures-modules-localIdentName-localIdentName__m_x_\\\\@ { + margin-left: auto !important; + margin-right: auto !important; +} + +.fixtures-modules-localIdentName-localIdentName__B\\\\&W\\\\? { + margin-left: auto !important; + margin-right: auto !important; +} + +/* matches elements with class=":\\\`(" */ +.fixtures-modules-localIdentName-localIdentName__\\\\3A \\\\\\\`\\\\( { + color: aqua; +} + +/* matches elements with class="1a2b3c" */ +.fixtures-modules-localIdentName-localIdentName__\\\\31 a2b3c { + color: aliceblue; +} + +/* matches the element with id="#fake-id" */ +#fixtures-modules-localIdentName-localIdentName__\\\\#fake-id { + color: antiquewhite; +} + +/* matches the element with id="-a-b-c-" */ +#fixtures-modules-localIdentName-localIdentName__-a-b-c- { + color: azure; +} + +/* matches the element with id="©" */ +#fixtures-modules-localIdentName-localIdentName__© { + color: black; +} + +.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; +} + +.fixtures-modules-localIdentName-localIdentName__foo\\\\\\\\bar { + background: hotpink; +} + +.fixtures-modules-localIdentName-localIdentName__foo\\\\/bar\\\\/baz { + background: hotpink; +} + +.fixtures-modules-localIdentName-localIdentName__foo\\\\\\\\bar\\\\\\\\baz { + background: hotpink; +} +\`, ""]); +// 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; +} + +.fixtures-modules-localIdentName-localIdentName___test { + background: blue; +} + +.fixtures-modules-localIdentName-localIdentName__className { + background: red; +} + +#fixtures-modules-localIdentName-localIdentName__someId { + background: green; +} + +.fixtures-modules-localIdentName-localIdentName__className .fixtures-modules-localIdentName-localIdentName__subClass { + color: green; +} + +#fixtures-modules-localIdentName-localIdentName__someId .fixtures-modules-localIdentName-localIdentName__subClass { + color: blue; +} + +.fixtures-modules-localIdentName-localIdentName__-a0-34a___f { + color: red; +} + +.fixtures-modules-localIdentName-localIdentName__m_x_\\@ { + margin-left: auto !important; + margin-right: auto !important; +} + +.fixtures-modules-localIdentName-localIdentName__B\\&W\\? { + margin-left: auto !important; + margin-right: auto !important; +} + +/* matches elements with class=":\`(" */ +.fixtures-modules-localIdentName-localIdentName__\\3A \\\`\\( { + color: aqua; +} + +/* matches elements with class="1a2b3c" */ +.fixtures-modules-localIdentName-localIdentName__\\31 a2b3c { + color: aliceblue; +} + +/* matches the element with id="#fake-id" */ +#fixtures-modules-localIdentName-localIdentName__\\#fake-id { + color: antiquewhite; +} + +/* matches the element with id="-a-b-c-" */ +#fixtures-modules-localIdentName-localIdentName__-a-b-c- { + color: azure; +} + +/* matches the element with id="©" */ +#fixtures-modules-localIdentName-localIdentName__© { + color: black; +} + +.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; +} + +.fixtures-modules-localIdentName-localIdentName__foo\\\\bar { + background: hotpink; +} + +.fixtures-modules-localIdentName-localIdentName__foo\\/bar\\/baz { + background: hotpink; +} + +.fixtures-modules-localIdentName-localIdentName__foo\\\\bar\\\\baz { + background: hotpink; +} +", + "", + ], +] +`; + +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" 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; +} + +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.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; +} + +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.eiLdMC_n9TCXQ0oPIJyI { + color: red; +} +", + "", + ], +] +`; + +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 +___CSS_LOADER_EXPORT___.push([module.id, \`.rmc8ltu8P1VXaeqLNU6N { + color: blue; +} + +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.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; +} + +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.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; +} + +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.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; +} + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.eiLdMC_n9TCXQ0oPIJyI { + color: red; +} +", + "", + ], +] +`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`camel-case-only\` value and \`namedExport\` false: warnings 1`] = `[]`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`camel-case-only\` value: errors 1`] = `[]`; + +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; +} + +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.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; +} + +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.eiLdMC_n9TCXQ0oPIJyI { + color: red; +} +", + "", + ], +] +`; + +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; +} + +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.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; +} + +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.eiLdMC_n9TCXQ0oPIJyI { + color: red; +} +", + "", + ], +] +`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`camelCase\` value and \`namedExport\` false: warnings 1`] = `[]`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`camelCase\` value: errors 1`] = `[]`; + +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; +} + +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.eiLdMC_n9TCXQ0oPIJyI { + color: red; +} +\`, ""]); +// 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; +} + +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.eiLdMC_n9TCXQ0oPIJyI { + color: 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; +} + +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.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; +} + +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.eiLdMC_n9TCXQ0oPIJyI { + color: red; +} +", + "", + ], +] +`; + +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; +} + +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.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; +} + +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.eiLdMC_n9TCXQ0oPIJyI { + color: red; +} +", + "", + ], +] +`; + +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; +} + +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.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; +} + +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.eiLdMC_n9TCXQ0oPIJyI { + color: red; +} +", + "", + ], +] +`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`dashesOnly\` value and \`namedExport\` false: warnings 1`] = `[]`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`dashesOnly\` value: errors 1`] = `[]`; + +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; +} + +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.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; +} + +.AooVHuvzAIGXWngdfslc { + color: blue; +} + +.snmJCrfw3LVnrlx87XVC { + color: red; +} + +a { + color: yellow; +} + +.vA4oeh0XymefKJVIJyg1 { + color: red; +} + +.mDiC1MIOTWjgsd86woaJ { + color: red; +} + +.kY3VVFqpzmTiFlxOd9KU { + color: red; +} + +.eiLdMC_n9TCXQ0oPIJyI { + color: red; +} +", + "", + ], +] +`; + +exports[`"modules" option should work and respect the \`localConvention\` option with the \`dashesOnly\` value: warnings 1`] = `[]`; + +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; +} + +h1 .uUkzTtFrPX7DQk7AJn_C { + color: green; +} + +.d2SVtvxeS3c0zw1j0XY3 h1 { + color: blue; +} + +.uj35KKSMxYrydy9AtwEA h1 .sHauUzQwWo87dp__t_Ug { + color: red; +} + +#ebGYgLwRuH_cwCOAeAIf { + color: red; +} + +h1 #CEBxO1NI6KSE4aIOEe8g { + color: green; +} + +#CIs5QkSldUS9Z6oE85dq h1 { + color: blue; +} + +#eEMqyPYFGmm35aX75zy3 h1 #nNXpPpX8pUC5paDKAwBo { + color: red; +} + +.G4jxkxdOl0F0aHDyzSab .bar .XbSw2R5rWm8FCPx8AUjP { + color: white; +} + +.owPaXiJkt4EitYBDn5Yh .CP7zuaZH99lZJVmJwA3g .vvLsn8M1D1up5NfSbIYh { + color: black; +} + +.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 #2: result 1`] = ` +[ + [ + "./modules/pure/pure.css", + ".GG5NOiRT4g06DVEU5tQf { + color: red; +} + +h1 .uUkzTtFrPX7DQk7AJn_C { + color: green; +} + +.d2SVtvxeS3c0zw1j0XY3 h1 { + color: blue; +} + +.uj35KKSMxYrydy9AtwEA h1 .sHauUzQwWo87dp__t_Ug { + color: red; +} + +#ebGYgLwRuH_cwCOAeAIf { + color: red; +} + +h1 #CEBxO1NI6KSE4aIOEe8g { + color: green; +} + +#CIs5QkSldUS9Z6oE85dq h1 { + color: blue; +} + +#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 #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; +} + +h1 .uUkzTtFrPX7DQk7AJn_C { + color: green; +} + +.d2SVtvxeS3c0zw1j0XY3 h1 { + color: blue; +} + +.uj35KKSMxYrydy9AtwEA h1 .sHauUzQwWo87dp__t_Ug { + color: red; +} + +#ebGYgLwRuH_cwCOAeAIf { + color: red; +} + +h1 #CEBxO1NI6KSE4aIOEe8g { + color: green; +} + +#CIs5QkSldUS9Z6oE85dq h1 { + color: blue; +} + +#eEMqyPYFGmm35aX75zy3 h1 #nNXpPpX8pUC5paDKAwBo { + color: red; +} + +.G4jxkxdOl0F0aHDyzSab .bar .XbSw2R5rWm8FCPx8AUjP { + color: white; +} + +.owPaXiJkt4EitYBDn5Yh .CP7zuaZH99lZJVmJwA3g .vvLsn8M1D1up5NfSbIYh { + color: black; +} + +.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; +} + +h1 .uUkzTtFrPX7DQk7AJn_C { + color: green; +} + +.d2SVtvxeS3c0zw1j0XY3 h1 { + color: blue; +} + +.uj35KKSMxYrydy9AtwEA h1 .sHauUzQwWo87dp__t_Ug { + color: red; +} + +#ebGYgLwRuH_cwCOAeAIf { + color: red; +} + +h1 #CEBxO1NI6KSE4aIOEe8g { + color: green; +} + +#CIs5QkSldUS9Z6oE85dq h1 { + color: blue; +} + +#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": " +

+
+