├── .editorconfig ├── .github ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE.md ├── dependabot.yml └── workflows │ └── ci.yml ├── .gitignore ├── .prettierignore ├── .prettierrc ├── .vscode └── settings.json ├── CHANGELOG.md ├── LICENSE.md ├── README.md ├── eslint.config.js ├── index.js ├── package.json ├── recommended.js ├── test ├── fixtures │ ├── check.inert.astro │ ├── check.inert.component.html │ ├── check.inert.html │ ├── check.inert.js │ ├── check.inert.jsx │ ├── check.inert.md │ ├── check.inert.svelte │ ├── check.inert.tsx │ ├── check.inert.vue │ ├── check.invalid.css │ ├── check.invalid.less │ ├── check.invalid.scss │ ├── check.unparsable.js │ └── stylelint.config.js ├── prettierrc │ ├── custom │ │ └── .prettierrc │ └── default │ │ └── .prettierrc ├── stylelint-prettier-e2e.test.js └── stylelint-prettier.test.js └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_size = 2 7 | indent_style = space 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | # Markdown syntax specifies that trailing whitespaces can be meaningful, 12 | # so let’s not trim those. e.g. 2 trailing spaces = linebreak (
) 13 | # See https://daringfireball.net/projects/markdown/syntax#p 14 | [*.md] 15 | trim_trailing_whitespace = false 16 | -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Thanks for contributing! 4 | 5 | ## Installation 6 | 7 | ```sh 8 | git clone https://github.com/prettier/stylelint-prettier.git 9 | cd stylelint-prettier 10 | yarn install 11 | ``` 12 | 13 | ## Running the tests 14 | 15 | ```sh 16 | yarn run test 17 | ``` 18 | 19 | This is a [Stylelint](https://stylelint.io/) plugin. Documentation for the APIs that it uses can be found on Stylelint's [Writing Plugins](https://stylelint.io/developer-guide/plugins/) page. 20 | 21 | Linting is ran as part of `yarn run test`. The build will fail if there are any linting errors. You can run `yarn run lint --fix` to fix some linting errors (including formatting to match prettier's expectations). To run the tests without linting run `node --test test/*.test.js`. 22 | 23 | ### End to end tests 24 | 25 | e2e test fixtures are in `test/fixtures`. 26 | 27 | Running the e2e tests while trying to debug a problem can be annoying. To check 28 | stylelint's output of a single fixture, run stylelint from within the fixtures 29 | directory: 30 | 31 | ```sh 32 | cd test/fixtures 33 | ../../node_modules/.bin/stylelint 'check*' 34 | ``` 35 | 36 | ## Publishing 37 | 38 | - Ensure you are on the `main` branch locally. 39 | - Update `CHANGELOG.md` and commit. 40 | - Run the following: 41 | 42 | ```sh 43 | yarn publish 44 | git push --follow-tags 45 | ``` 46 | 47 | Running `yarn publish` shall: 48 | 49 | - Bump the version in package.json (asking you for the new version number) 50 | - Create a new commit containing that version bump in package.json 51 | - Create a tag for that commit 52 | - Publish to the npm repository 53 | 54 | Running `git push --follow-tags` shall: 55 | 56 | - Push the commit and tag to GitHub 57 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | **What version of `stylelint`, `prettier` and `stylelint-prettier` are you using?** 4 | 5 | **Please paste any applicable config files that you're using (e.g. `.prettierrc` or `.stylelintrc` files)** 6 | 7 | **What source code are you linting?** 8 | 9 | **What did you expect to happen?** 10 | 11 | **What actually happened?** 12 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: npm 4 | directory: '/' 5 | schedule: 6 | interval: 'monthly' 7 | open-pull-requests-limit: 10 8 | ignore: 9 | # Manually update stylelint and prettier, to ensure we control the range 10 | # of version that we maintain support for 11 | - dependency-name: 'stylelint' 12 | - dependency-name: 'prettier' 13 | - dependency-name: 'prettier-linter-helpers' 14 | groups: 15 | dev-dependencies: 16 | dependency-type: development 17 | patterns: 18 | - '*' 19 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | pull_request: ~ 5 | push: 6 | branches: [main] 7 | 8 | jobs: 9 | ci: 10 | name: 'Test: Node ${{ matrix.node-version }} - Stylelint ${{ matrix.stylelint-version }} - Prettier ${{ matrix.prettier-version }}' 11 | runs-on: ubuntu-latest 12 | strategy: 13 | fail-fast: false 14 | matrix: 15 | stylelint-version: [16.x] 16 | node-version: [22.x, 20.x, 18.x] 17 | 18 | steps: 19 | - uses: actions/checkout@v4 20 | 21 | - name: Use Node.js ${{ matrix.node-version }} 22 | uses: actions/setup-node@v4 23 | with: 24 | node-version: ${{ matrix.node-version }} 25 | cache: yarn 26 | 27 | - name: Use Stylelint ${{ matrix.stylelint-version }} 28 | run: yarn upgrade stylelint@${{ matrix.stylelint-version }} --ignore-engines 29 | 30 | - name: Install 31 | run: yarn install --ignore-engines 32 | 33 | - name: Test 34 | run: yarn run test 35 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | npm-debug.log 3 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | package.json 2 | test/fixtures 3 | 4 | # this file doesn't exist, but we use it as a filename that should be ignored 5 | # by prettier in the tests 6 | ignore-me.css 7 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "arrowParens": "always", 3 | "singleQuote": true, 4 | "trailingComma": "es5", 5 | "bracketSpacing": false 6 | } 7 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.formatOnSave": true, 3 | "editor.codeActionsOnSave": { 4 | "source.fixAll.eslint": "explicit" 5 | }, 6 | "files.exclude": { 7 | "**/.DS_Store": true, 8 | "**/.git": true, 9 | "**/node_modules": true 10 | }, 11 | "search.exclude": { 12 | "**/node_modules": true 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## 5.0.3 (2025-01-26) 4 | 5 | Avoid deprecation warning when encountering parsing errors in Stylelint >=16.13.0 (#385) 6 | 7 | ## 5.0.2 (2024-07-16) 8 | 9 | Fix case where less files were incorrectly mangled when using v5.0.1 (#363) 10 | 11 | ## 5.0.1 (2024-07-13) 12 | 13 | Fix case where when autofixing multiple other rules in addition to prettier, the other autofixes would be thrown away (#360) 14 | 15 | ## 5.0.0 (2023-12-10) 16 | 17 | Increase the minimum required versions of `stylelint`and `node`. Stylelint v16 18 | has converted its codebase to esm and has [deprecated its commonjs apis](https://github.com/stylelint/stylelint/blob/16.0.0/docs/migration-guide/to-16.md#deprecated-commonjs-api). We've followed their suggested migration guide and `stylelint-prettier` is now an esm-only package. This has required dropping support for v15 at the same time. 19 | 20 | - Minimum stylelint version is now v16 (drop support for v15.x) 21 | - Minimum node requirements is now >=18.12.0 (drop support for v14.x and v16.x) 22 | 23 | ## 4.1.0 (2023-11-24) 24 | 25 | - Added end indexes for violations - the squiggly line in vscode will now cover more than one character. (#341) 26 | - Do not trigger prettier for .astro files. (#340) 27 | 28 | ## 4.0.2 (2023-07-27) 29 | 30 | Fix case where an error is thrown when no prettier configuration file is found (#311) 31 | 32 | ## 4.0.1 (2023-07-26) 33 | 34 | Fix `prettier-plugin-svelte` support by ensuring `.svelte` files are ignored. The regression of them not being ignored only affected v4.0.0. (#309) 35 | 36 | ## 4.0.0 (2023-07-07) 37 | 38 | Add support for Prettier v3. 39 | 40 | In order to make Prettier v3 work, we've had to drop support for Prettier `v2.x` and Stylelint less that `v15.8.0`. Maintaining temporary support for Prettier v2 and v3 at the same time isn't worth the complication that results thanks to prettier's migration to es modules. When you update to prettier v3, ensure that you update `stylelint-prettier` at the same time. 41 | 42 | - Minimum supported `prettier` version is now `v3.0.0`. 43 | - Minimum supported `stylelint` version is now `v15.8.0`. 44 | 45 | ## 3.0.0 (2023-02-22) 46 | 47 | Remove `stylelint-config-prettier` from the recommended config. [Stylelint v15 deprecated the rules that `stylelint-config-prettier` disabled](https://stylelint.io/migration-guide/to-15/#deprecated-stylistic-rules), thus if you do not use those deprecated rules then you do not need `stylelint-config-prettier`. If you are still using these deprecated rules then you should install and configure `stylelint-config-prettier` separately. 48 | 49 | Increase the mimimum required node version. No code changes have been required and v2.0.0 works with stylelint v15, however continuing to test with the unsupported node 12 is a burden that is not worth carrying. 50 | 51 | - Minimum node requirement is now "^14.17.0 || >=16.0.0" (drop support for v12.x) 52 | - If you extended from the `stylelint-prettier/recommended` in v2 then you must add an explict extend from `stylelint-config-prettier` to retain the same behaviour. 53 | 54 | ## 2.0.0 (2021-11-05) 55 | 56 | Increase the minimum required versions of `stylelint`, `prettier` and `node`. No code changes have been required and v1.2.0 works with stylelint v14, however continuing to test old these old unsupported versions is getting more difficult thanks to internal API changes. (#198) 57 | 58 | - Minimum stylelint version is now v14 (drop support for v9.5 through v13.x) 59 | - Minimum prettier version is now v2 (drop support for v1.x) 60 | - Minimum node requirements is now ^12.22.0 || ^14.17.0 || >=16.0.0 (drop support for v8.x and v10.x) 61 | 62 | ## 1.2.0 (2021-02-27) 63 | 64 | - Do not trigger prettier for .svelte and .component.html (angular) files. This avoids errors. Prettifying a subset of the file (i.e. just contents of ` 27 | -------------------------------------------------------------------------------- /test/fixtures/check.inert.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page Title 6 | 11 | 12 | 13 | 14 |

Hi

15 | 16 | 17 | -------------------------------------------------------------------------------- /test/fixtures/check.inert.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page Title 6 | 11 | 12 | 23 | 24 | 25 | 26 |

Hi

27 | 28 | 29 | -------------------------------------------------------------------------------- /test/fixtures/check.inert.js: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | const Button = styled.div` 4 | background-image: url("x"); 5 | color: red; 6 | `; 7 | 8 | const Button2 = styled.div({ 9 | backgroundImage: 'url("x")', 10 | color: 'red', 11 | }); 12 | -------------------------------------------------------------------------------- /test/fixtures/check.inert.jsx: -------------------------------------------------------------------------------- 1 | const button =
Hi
; 5 | 6 | const button2 =
Hi
; 7 | -------------------------------------------------------------------------------- /test/fixtures/check.inert.md: -------------------------------------------------------------------------------- 1 | # TEST 2 | 3 | ```css 4 | h2 { 5 | background-image: url("x"); 6 | } 7 | ``` 8 | 9 | ```scss 10 | h2 { 11 | background-image: url("x"); 12 | } 13 | 14 | $map: ( 15 | 'alpha': 10, 16 | 'beta': 20, 17 | 'gamma': 30 18 | ); 19 | ``` 20 | 21 | ```jsx 22 | const Button = styled.div` 23 | background-image: url("x"); 24 | color: red; 25 | `; 26 | 27 | const styledDiv =
Hi
; 31 | ``` 32 | -------------------------------------------------------------------------------- /test/fixtures/check.inert.svelte: -------------------------------------------------------------------------------- 1 | Hi 2 | 3 | 13 | -------------------------------------------------------------------------------- /test/fixtures/check.inert.tsx: -------------------------------------------------------------------------------- 1 | const button = (
Hi
); 5 | 6 | const button2 =
Hi
; 7 | -------------------------------------------------------------------------------- /test/fixtures/check.inert.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 10 | 11 | 22 | -------------------------------------------------------------------------------- /test/fixtures/check.invalid.css: -------------------------------------------------------------------------------- 1 | .foo { 2 | background-image: url("x"); 3 | } 4 | -------------------------------------------------------------------------------- /test/fixtures/check.invalid.less: -------------------------------------------------------------------------------- 1 | .foo { 2 | background-image: url("x"); 3 | } 4 | 5 | @map: { 6 | alpha: 10; 7 | beta: 20; 8 | gamma: 30 9 | }; 10 | 11 | .node { 12 | .someMixinName(value); // inline 13 | } 14 | -------------------------------------------------------------------------------- /test/fixtures/check.invalid.scss: -------------------------------------------------------------------------------- 1 | .foo { 2 | background-image: url("x"); 3 | } 4 | 5 | $map: ( 6 | 'alpha': 10, 7 | 'beta': 20, 8 | 'gamma': 30 9 | ); 10 | -------------------------------------------------------------------------------- /test/fixtures/check.unparsable.js: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | const But{ton = styled.div` 4 | background-image: url("x"); 5 | color: red; 6 | `; 7 | 8 | -------------------------------------------------------------------------------- /test/fixtures/stylelint.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | plugins: ['../..'], 3 | rules: { 4 | 'prettier/prettier': [ 5 | true, 6 | { 7 | singleQuote: true, 8 | trailingComma: 'all', 9 | plugins: ['prettier-plugin-svelte', 'prettier-plugin-astro'], 10 | } 11 | ], 12 | }, 13 | overrides: [ 14 | { 15 | files: ['**/*.scss'], 16 | customSyntax: 'postcss-scss', 17 | }, 18 | { 19 | files: ['**/*.less'], 20 | customSyntax: 'postcss-less', 21 | }, 22 | { 23 | files: ['**/*.{js,jsx,tsx}'], 24 | customSyntax: 'postcss-styled-syntax', 25 | }, 26 | { 27 | files: ['**/*.{html,svelte,vue,astro}'], 28 | customSyntax: 'postcss-html', 29 | }, 30 | { 31 | files: ['**/*.md'], 32 | customSyntax: 'postcss-markdown', 33 | }, 34 | ] 35 | }; 36 | -------------------------------------------------------------------------------- /test/prettierrc/custom/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": false, 3 | "tabWidth": 4, 4 | "trailingComma": "all" 5 | } 6 | -------------------------------------------------------------------------------- /test/prettierrc/default/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "tabWidth": 2, 4 | "trailingComma": "es5", 5 | "overrides": [ 6 | { 7 | "files": "*.wxss", 8 | "options": { "parser": "css" } 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /test/stylelint-prettier-e2e.test.js: -------------------------------------------------------------------------------- 1 | import {describe, test} from 'node:test'; 2 | import assert from 'node:assert/strict'; 3 | import {spawnSync} from 'node:child_process'; 4 | import {resolve, relative, dirname} from 'node:path'; 5 | import {fileURLToPath} from 'node:url'; 6 | 7 | import stylelint from 'stylelint'; 8 | 9 | import baseConfig from './fixtures/stylelint.config.js'; 10 | 11 | const __dirname = dirname(fileURLToPath(import.meta.url)); 12 | 13 | const stylelintCwd = `${__dirname}/fixtures`; 14 | 15 | /** 16 | * Tests that report errors in multiple files may change the order of the files 17 | * across multiple runs. 18 | * To avoid flaky tests, assert the reporting of errors in one file only per 19 | * test case. Asserting no errors are reported across multiple files is ok. 20 | */ 21 | describe('E2E Tests', () => { 22 | test('CSS files', () => { 23 | const result = runStylelint('*.css'); 24 | 25 | const expectedResult = ` 26 | ::error file=check.invalid.css,line=2,col=25,endLine=2,endColumn=28,title=Stylelint problem::Replace ""x"" with "'x'" (prettier/prettier) 27 | `.trim(); 28 | 29 | assert.strictEqual(result.output, ''); 30 | assert.strictEqual(result.error, expectedResult); 31 | assert.strictEqual(result.status, 2); 32 | }); 33 | 34 | test('SCSS files', () => { 35 | const result = runStylelint('*.scss'); 36 | 37 | const expectedResult = ` 38 | ::error file=check.invalid.scss,line=2,col=25,endLine=2,endColumn=28,title=Stylelint problem::Replace ""x"" with "'x'" (prettier/prettier) 39 | ::error file=check.invalid.scss,line=8,col=14,endLine=8,endColumn=15,title=Stylelint problem::Insert "," (prettier/prettier) 40 | `.trim(); 41 | 42 | assert.strictEqual(result.output, ''); 43 | assert.strictEqual(result.error, expectedResult); 44 | assert.strictEqual(result.status, 2); 45 | }); 46 | 47 | test('LESS files', () => { 48 | const result = runStylelint('*.less'); 49 | 50 | const expectedResult = ` 51 | ::error file=check.invalid.less,line=2,col=25,endLine=2,endColumn=28,title=Stylelint problem::Replace ""x"" with "'x'" (prettier/prettier) 52 | ::error file=check.invalid.less,line=8,col=12,endLine=8,endColumn=13,title=Stylelint problem::Insert ";" (prettier/prettier) 53 | ::error file=check.invalid.less,line=12,col=1,endLine=12,endColumn=2,title=Stylelint problem::Insert "··" (prettier/prettier) 54 | `.trim(); 55 | 56 | assert.strictEqual(result.output, ''); 57 | assert.strictEqual(result.error, expectedResult); 58 | assert.strictEqual(result.status, 2); 59 | }); 60 | 61 | /** 62 | * Don't act upon html-like files, as prettier already handles them as whole 63 | * files 64 | */ 65 | test('HTML/Markdown/Vue/Svelte/Astro files', () => { 66 | const result = runStylelint('*.{html,md,vue,svelte,astro}'); 67 | 68 | const expectedResult = ``; 69 | 70 | assert.strictEqual(result.output, ''); 71 | assert.strictEqual(result.error, expectedResult); 72 | assert.strictEqual(result.status, 0); 73 | }); 74 | 75 | /** 76 | * Don't act upon CSS-in-JS files, as prettier already handles them as whole 77 | * files 78 | */ 79 | test('CSS-in-JS files', () => { 80 | const result = runStylelint('*.{js,jsx,tsx}'); 81 | 82 | const expectedResult = ``; 83 | 84 | assert.strictEqual(result.output, ''); 85 | assert.strictEqual(result.error, expectedResult); 86 | assert.strictEqual(result.status, 0); 87 | }); 88 | 89 | /** @see https://github.com/prettier/stylelint-prettier/issues/354 */ 90 | test('the --fix option works correctly with other rules', async () => { 91 | const inputCode = `.a {\n color: #ffffff;\n font-size: 16px\n}\n`; 92 | const fixConfig = structuredClone(baseConfig); 93 | fixConfig.rules['color-hex-length'] = 'short'; 94 | 95 | const {code: outputCode} = await stylelint.lint({ 96 | code: inputCode, 97 | configBasedir: stylelintCwd, 98 | fix: true, 99 | config: fixConfig, 100 | }); 101 | 102 | assert.strictEqual( 103 | outputCode, 104 | '.a {\n color: #fff;\n font-size: 16px;\n}\n' 105 | ); 106 | }); 107 | }); 108 | 109 | function runStylelint(pattern) { 110 | const stylelintCmd = resolve(`${__dirname}/../node_modules/.bin/stylelint`); 111 | 112 | // Use json formatter as it is less likely to change across releases 113 | const result = spawnSync(stylelintCmd, ['--formatter=json', pattern], { 114 | cwd: stylelintCwd, 115 | }); 116 | const resultContent = result.stderr.toString().trim(); 117 | 118 | let jsonErrors; 119 | try { 120 | jsonErrors = JSON.parse(resultContent); 121 | } catch (err) { 122 | throw new Error( 123 | `Could not parse json from stderr. Attempted to parse:\n${resultContent}`, 124 | {cause: err} 125 | ); 126 | } 127 | 128 | const errorLines = []; 129 | 130 | for (const error of jsonErrors) { 131 | for (const warning of error.warnings) { 132 | errorLines.push( 133 | `::error file=${relative(stylelintCwd, error.source)}` + 134 | `,line=${warning.line}` + 135 | `,col=${warning.column}` + 136 | `,endLine=${warning.endLine}` + 137 | `,endColumn=${warning.endColumn}` + 138 | `,title=Stylelint problem` + 139 | `::${warning.text}` 140 | ); 141 | } 142 | } 143 | 144 | return { 145 | status: result.status, 146 | output: result.stdout.toString().trim(), 147 | error: errorLines.join('\n'), 148 | }; 149 | } 150 | -------------------------------------------------------------------------------- /test/stylelint-prettier.test.js: -------------------------------------------------------------------------------- 1 | import {describe, it, beforeEach, afterEach, mock} from 'node:test'; 2 | import assert from 'node:assert/strict'; 3 | import path from 'node:path'; 4 | import {fileURLToPath} from 'node:url'; 5 | import stylelint from 'stylelint'; 6 | import {testRule} from 'stylelint-test-rule-node'; 7 | import plugin from '../index.js'; 8 | 9 | const __dirname = path.dirname(fileURLToPath(import.meta.url)); 10 | const plugins = [plugin]; 11 | const {ruleName} = plugin; 12 | 13 | // Reading from default .prettierrc 14 | testRule({ 15 | plugins, 16 | ruleName, 17 | config: true, 18 | codeFilename: filename('default'), 19 | fix: true, 20 | 21 | accept: [ 22 | { 23 | description: 'Prettier Valid - Default .prettierrc', 24 | code: '.x {\n color: red;\n}\n', 25 | }, 26 | ], 27 | reject: [ 28 | { 29 | description: 'Prettier Insert - Default .prettierrc', 30 | code: '.x {\ncolor: red;\n}\n', 31 | fixed: '.x {\n color: red;\n}\n', 32 | message: 'Insert "··" (prettier/prettier)', 33 | line: 2, 34 | column: 1, 35 | endLine: 2, 36 | endColumn: 2, 37 | }, 38 | { 39 | description: 'Prettier Replace - Default .prettierrc', 40 | code: '.x { color:red; }\n', 41 | fixed: '.x {\n color: red;\n}\n', 42 | message: 43 | 'Replace "·color:red;·" with "⏎··color:·red;⏎" (prettier/prettier)', 44 | line: 1, 45 | column: 5, 46 | endLine: 1, 47 | endColumn: 17, 48 | }, 49 | { 50 | description: 'Prettier Delete - Default .prettierrc', 51 | code: '.x {\n color: red;;\n}\n', 52 | fixed: '.x {\n color: red;\n}\n', 53 | message: 'Delete ";" (prettier/prettier)', 54 | line: 2, 55 | column: 14, 56 | endLine: 2, 57 | endColumn: 15, 58 | }, 59 | ], 60 | }); 61 | 62 | // Reading from custom .prettierrc 63 | testRule({ 64 | plugins, 65 | ruleName, 66 | config: true, 67 | codeFilename: filename('custom'), 68 | fix: true, 69 | 70 | accept: [ 71 | { 72 | description: 'Prettier Valid - Custom .prettierrc', 73 | code: '.x {\n color: red;\n}\n', 74 | }, 75 | ], 76 | reject: [ 77 | { 78 | description: 'Prettier Insert - Custom .prettierrc', 79 | code: '.x {\ncolor: red;\n}\n', 80 | fixed: '.x {\n color: red;\n}\n', 81 | message: 'Insert "····" (prettier/prettier)', 82 | line: 2, 83 | column: 1, 84 | endLine: 2, 85 | endColumn: 2, 86 | }, 87 | { 88 | description: 'Prettier Replace - Custom .prettierrc', 89 | code: '.x { color:red; }\n', 90 | fixed: '.x {\n color: red;\n}\n', 91 | message: 92 | 'Replace "·color:red;·" with "⏎····color:·red;⏎" (prettier/prettier)', 93 | line: 1, 94 | column: 5, 95 | endLine: 1, 96 | endColumn: 17, 97 | }, 98 | { 99 | description: 'Prettier Delete - Custom .prettierrc', 100 | code: '.x {\n color: red;;\n}\n', 101 | fixed: '.x {\n color: red;\n}\n', 102 | message: 'Delete ";" (prettier/prettier)', 103 | line: 2, 104 | column: 16, 105 | endline: 2, 106 | endColumn: 17, 107 | }, 108 | ], 109 | }); 110 | 111 | // Merging options from config into .prettierrc 112 | testRule({ 113 | plugins, 114 | ruleName, 115 | config: [true, {tabWidth: 8}], 116 | codeFilename: filename('default'), 117 | fix: true, 118 | 119 | accept: [ 120 | { 121 | description: 'Prettier Valid - Inline Options Override', 122 | code: '.x {\n color: red;\n}\n', 123 | }, 124 | ], 125 | reject: [ 126 | { 127 | description: 'Prettier Insert - Inline Options Override', 128 | code: '.x {\ncolor: red;\n}\n', 129 | fixed: '.x {\n color: red;\n}\n', 130 | message: 'Insert "········" (prettier/prettier)', 131 | line: 2, 132 | column: 1, 133 | endLine: 2, 134 | endColumn: 2, 135 | }, 136 | { 137 | description: 'Prettier Replace - Inline Options Override', 138 | code: '.x { color:red; }\n', 139 | fixed: '.x {\n color: red;\n}\n', 140 | message: 141 | 'Replace "·color:red;·" with "⏎········color:·red;⏎" (prettier/prettier)', 142 | line: 1, 143 | column: 5, 144 | endLine: 1, 145 | endColumn: 17, 146 | }, 147 | { 148 | description: 'Prettier Delete - Inline Options Override', 149 | code: '.x {\n color: red;;\n}\n', 150 | fixed: '.x {\n color: red;\n}\n', 151 | message: 'Delete ";" (prettier/prettier)', 152 | line: 2, 153 | column: 20, 154 | endLine: 2, 155 | endColumn: 21, 156 | }, 157 | ], 158 | }); 159 | 160 | // Use the css parser if no filename was specified 161 | testRule({ 162 | plugins, 163 | ruleName, 164 | config: true, 165 | fix: true, 166 | 167 | accept: [ 168 | { 169 | description: 'Prettier Valid', 170 | code: '.x {\n color: red;\n}\n', 171 | }, 172 | ], 173 | reject: [ 174 | { 175 | description: 'Prettier Insert', 176 | code: '.x {\ncolor: red;\n}\n', 177 | fixed: '.x {\n color: red;\n}\n', 178 | message: 'Insert "··" (prettier/prettier)', 179 | line: 2, 180 | column: 1, 181 | endLine: 2, 182 | endColumn: 2, 183 | }, 184 | ], 185 | }); 186 | 187 | // Use the parser specified in overrides in .prettierrc 188 | testRule({ 189 | plugins, 190 | ruleName, 191 | config: true, 192 | customSyntax: 'postcss', 193 | codeFilename: filename('default', 'dummy.wxss'), 194 | accept: [ 195 | { 196 | description: 'Prettier Valid - Default .prettierrc', 197 | code: '.x {\n color: red;\n}\n', 198 | }, 199 | ], 200 | reject: [ 201 | { 202 | description: 'Prettier Insert - Default .prettierrc', 203 | code: '.x {\ncolor: red;\n}\n', 204 | fixed: '.x {\n color: red;\n}\n', 205 | message: 'Insert "··" (prettier/prettier)', 206 | line: 2, 207 | column: 1, 208 | endLine: 2, 209 | endColumn: 2, 210 | }, 211 | ], 212 | }); 213 | 214 | // Ignoring files in .prettierignore 215 | testRule({ 216 | plugins, 217 | ruleName, 218 | config: true, 219 | codeFilename: filename('default', 'ignore-me.css'), 220 | accept: [ 221 | { 222 | description: 'Prettier Valid - Ignored file', 223 | code: '.x {color: red;}', 224 | }, 225 | ], 226 | }); 227 | 228 | // Testing Comments 229 | testRule({ 230 | plugins, 231 | ruleName, 232 | config: [true, {endOfLine: 'auto'}], 233 | codeFilename: filename('default'), 234 | fix: true, 235 | 236 | accept: [ 237 | { 238 | description: 'Prettier Valid Raws - trailing newline', 239 | code: '/* start */\n.x {\n color: red; /* middle */\n}\n', 240 | }, 241 | { 242 | description: 'Prettier Valid Raws - windows trailing newline', 243 | code: '/* start */\r\n.x {\r\n color: red; /* middle */\r\n}\r\n', 244 | }, 245 | { 246 | description: 'Prettier Valid Raws - comment and newline', 247 | code: '/* start */\n.x {\n color: red; /* middle */\n}\n/* end */\n', 248 | }, 249 | ], 250 | reject: [ 251 | { 252 | description: 'Prettier Invalid Raws - no trailing newline', 253 | code: '/* start */\n.x {\n color: red; /* middle */\n}', 254 | fixed: '/* start */\n.x {\n color: red; /* middle */\n}\n', 255 | message: 'Insert "⏎" (prettier/prettier)', 256 | line: 4, 257 | column: 2, 258 | endLine: 4, 259 | endColumn: 3, 260 | }, 261 | // This should pass but the output goes a bit weird 262 | // { 263 | // description: 'Prettier Invalid Raws - no trailing windows newline', 264 | // code: '/* start */\r\n.x {\r\n color: red; /* middle */\r\n}', 265 | // fixed: '/* start */\r\n.x {\r\n color: red; /* middle */\r\n}\r\n', 266 | // message: 'Insert "␍⏎" (prettier/prettier)', 267 | // line: 4, 268 | // column: 2, 269 | // endLine: 4, 270 | // endColumn: 3 271 | // }, 272 | { 273 | description: 'Prettier Invalid Raws - comment and no newline', 274 | code: '/* start */\n.x {\n color: red; /* middle */\n}\n/* end */', 275 | fixed: '/* start */\n.x {\n color: red; /* middle */\n}\n/* end */\n', 276 | message: 'Insert "⏎" (prettier/prettier)', 277 | line: 5, 278 | column: 10, 279 | endLine: 5, 280 | endColumn: 11, 281 | }, 282 | ], 283 | }); 284 | 285 | // Css Stress Test 286 | const stressTestCssInput = `.foo { 287 | display: block;;;;;;;; 288 | } 289 | 290 | .first:after,.first:after{color: red;content: "beep";} 291 | 292 | .second:after#second { 293 | color: red; 294 | content: "beep"; 295 | } 296 | 297 | .final:after,.final:after{color: blue;content: "shift";} 298 | 299 | 300 | .baz { 301 | display: block; 302 | }.ham{display:inline} 303 | 304 | .quz { 305 | display: block;;;;;;;; 306 | } 307 | 308 | 309 | .final:after,.final:after{color: blue;content: "shift";} 310 | `; 311 | 312 | const stressTestCssExpected = `.foo { 313 | display: block; 314 | } 315 | 316 | .first:after, 317 | .first:after { 318 | color: red; 319 | content: 'beep'; 320 | } 321 | 322 | .second:after#second { 323 | color: red; 324 | content: 'beep'; 325 | } 326 | 327 | .final:after, 328 | .final:after { 329 | color: blue; 330 | content: 'shift'; 331 | } 332 | 333 | .baz { 334 | display: block; 335 | } 336 | .ham { 337 | display: inline; 338 | } 339 | 340 | .quz { 341 | display: block; 342 | } 343 | 344 | .final:after, 345 | .final:after { 346 | color: blue; 347 | content: 'shift'; 348 | } 349 | `; 350 | 351 | testRule({ 352 | plugins, 353 | ruleName, 354 | config: true, 355 | codeFilename: filename('default'), 356 | fix: true, 357 | 358 | accept: [ 359 | { 360 | description: 'Prettier Insert/Replace/Delete - Stress Test', 361 | code: stressTestCssExpected, 362 | }, 363 | ], 364 | reject: [ 365 | { 366 | description: 'Prettier Insert/Replace/Delete - Stress Test', 367 | code: stressTestCssInput, 368 | fixed: stressTestCssExpected, 369 | warnings: [ 370 | { 371 | message: `Delete ";;;;;;;" (prettier/prettier)`, 372 | line: 2, 373 | column: 18, 374 | endLine: 2, 375 | endColumn: 25, 376 | }, 377 | { 378 | message: 379 | 'Replace ".first:after{color:·red;content:·"beep";" with "⏎.first:after·{⏎··color:·red;⏎··content:·\'beep\';⏎" (prettier/prettier)', 380 | line: 5, 381 | column: 14, 382 | endLine: 5, 383 | endColumn: 54, 384 | }, 385 | { 386 | message: 'Insert "··" (prettier/prettier)', 387 | line: 8, 388 | column: 1, 389 | endLine: 8, 390 | endColumn: 2, 391 | }, 392 | { 393 | message: 394 | 'Replace "content:·"beep"" with "··content:·\'beep\'" (prettier/prettier)', 395 | line: 9, 396 | column: 1, 397 | endLine: 9, 398 | endColumn: 16, 399 | }, 400 | { 401 | message: 402 | 'Replace ".final:after{color:·blue;content:·"shift";}" with "⏎.final:after·{⏎··color:·blue;⏎··content:·\'shift\';" (prettier/prettier)', 403 | line: 12, 404 | column: 14, 405 | endLine: 12, 406 | endColumn: 57, 407 | }, 408 | { 409 | message: 'Insert "}" (prettier/prettier)', 410 | line: 13, 411 | column: 1, 412 | endLine: 13, 413 | endColumn: 2, 414 | }, 415 | { 416 | message: 'Insert "··" (prettier/prettier)', 417 | line: 16, 418 | column: 1, 419 | endLine: 16, 420 | endColumn: 2, 421 | }, 422 | { 423 | message: 424 | 'Replace ".ham{display:inline" with "⏎.ham·{⏎··display:·inline;⏎" (prettier/prettier)', 425 | line: 17, 426 | column: 2, 427 | endLine: 17, 428 | endColumn: 21, 429 | }, 430 | { 431 | message: 432 | 'Replace "····display:·block;;;;;;;;" with "··display:·block;" (prettier/prettier)', 433 | line: 20, 434 | column: 1, 435 | endLine: 20, 436 | endColumn: 27, 437 | }, 438 | { 439 | message: 'Delete "⏎" (prettier/prettier)', 440 | line: 21, 441 | column: 2, 442 | endLine: 22, 443 | endColumn: 1, 444 | }, 445 | { 446 | message: 447 | 'Replace ".final:after{color:·blue;content:·"shift";" with "⏎.final:after·{⏎··color:·blue;⏎··content:·\'shift\';⏎" (prettier/prettier)', 448 | line: 24, 449 | column: 14, 450 | endLine: 24, 451 | endColumn: 56, 452 | }, 453 | ], 454 | }, 455 | ], 456 | }); 457 | 458 | // Scss Stress test 459 | const stressTestScssInput = `$size: rem(10px);;; 460 | $base-position: rem(-4px); 461 | 462 | .Indicator { 463 | &::before, 464 | &::after { 465 | content: ''; 466 | position: absolute; 467 | background-color: color('teal'); 468 | right: $base-position; 469 | top: $base-position; 470 | width: $size; 471 | height: $size; 472 | border-radius: 100%; 473 | } 474 | } 475 | 476 | .pulseIndicator::before { 477 | z-index: 1; 478 | animation: bounce 5s ease infinite; 479 | } 480 | 481 | .pulseIndicator::after { 482 | right: $base-position; 483 | top: $base-position; 484 | animation: pulse 5s ease infinite; 485 | } 486 | 487 | $pip-animation: ( 488 | start-scaling-small: 65%, 489 | finish-scaling-small: 75%, 490 | finish-scaling-big: 82.5%, 491 | finish-scaling: 85% 492 | ); 493 | 494 | @keyframes bounce { 495 | from, 496 | #{map-get($pip-animation, start-scaling-small)}, 497 | #{map-get($pip-animation, finish-scaling)} { 498 | transform: scale(1); 499 | } 500 | 501 | #{map-get($pip-animation, finish-scaling-small)} {transform: scale(0.85)} 502 | 503 | #{map-get($pip-animation, finish-scaling-big)} { 504 | transform: scale(1.05); 505 | } 506 | } 507 | 508 | @keyframes pulse { 509 | from, 510 | #{map-get($pip-animation, finish-scaling-small)} { 511 | transform: scale(0.85); 512 | opacity: 1; 513 | } 514 | 515 | to { 516 | transform: scale(2.5); 517 | opacity: 0; 518 | } 519 | } 520 | `; 521 | 522 | const stressTestScssExpected = `$size: rem(10px); 523 | $base-position: rem(-4px); 524 | 525 | .Indicator { 526 | &::before, 527 | &::after { 528 | content: ''; 529 | position: absolute; 530 | background-color: color('teal'); 531 | right: $base-position; 532 | top: $base-position; 533 | width: $size; 534 | height: $size; 535 | border-radius: 100%; 536 | } 537 | } 538 | 539 | .pulseIndicator::before { 540 | z-index: 1; 541 | animation: bounce 5s ease infinite; 542 | } 543 | 544 | .pulseIndicator::after { 545 | right: $base-position; 546 | top: $base-position; 547 | animation: pulse 5s ease infinite; 548 | } 549 | 550 | $pip-animation: ( 551 | start-scaling-small: 65%, 552 | finish-scaling-small: 75%, 553 | finish-scaling-big: 82.5%, 554 | finish-scaling: 85%, 555 | ); 556 | 557 | @keyframes bounce { 558 | from, 559 | #{map-get($pip-animation, start-scaling-small)}, 560 | #{map-get($pip-animation, finish-scaling)} { 561 | transform: scale(1); 562 | } 563 | 564 | #{map-get($pip-animation, finish-scaling-small)} { 565 | transform: scale(0.85); 566 | } 567 | 568 | #{map-get($pip-animation, finish-scaling-big)} { 569 | transform: scale(1.05); 570 | } 571 | } 572 | 573 | @keyframes pulse { 574 | from, 575 | #{map-get($pip-animation, finish-scaling-small)} { 576 | transform: scale(0.85); 577 | opacity: 1; 578 | } 579 | 580 | to { 581 | transform: scale(2.5); 582 | opacity: 0; 583 | } 584 | } 585 | `; 586 | 587 | testRule({ 588 | plugins, 589 | ruleName, 590 | config: true, 591 | codeFilename: filename('default', 'dummy.scss'), 592 | customSyntax: 'postcss-scss', 593 | fix: true, 594 | 595 | accept: [ 596 | { 597 | description: 'Prettier Insert/Replace/Delete - Scss Stress Test', 598 | code: stressTestScssExpected, 599 | }, 600 | ], 601 | reject: [ 602 | { 603 | description: 'Prettier Insert/Replace/Delete - Scss Stress Test', 604 | code: stressTestScssInput, 605 | fixed: stressTestScssExpected, 606 | warnings: [ 607 | { 608 | message: `Delete ";;" (prettier/prettier)`, 609 | line: 1, 610 | column: 18, 611 | endLine: 1, 612 | endColumn: 20, 613 | }, 614 | { 615 | message: 'Insert "," (prettier/prettier)', 616 | line: 33, 617 | column: 22, 618 | endLine: 33, 619 | endColumn: 23, 620 | }, 621 | { 622 | message: 623 | 'Replace "transform:·scale(0.85)" with "⏎····transform:·scale(0.85);⏎··" (prettier/prettier)', 624 | line: 43, 625 | column: 53, 626 | endLine: 43, 627 | endColumn: 75, 628 | }, 629 | ], 630 | }, 631 | ], 632 | }); 633 | 634 | // Test trailing commas in near-empty scss files 635 | testRule({ 636 | plugins, 637 | ruleName, 638 | config: [true, {trailingComma: 'all'}], 639 | codeFilename: filename('default', 'dummy.scss'), 640 | customSyntax: 'postcss-scss', 641 | fix: true, 642 | 643 | accept: [ 644 | { 645 | description: 'Prettier Scss Valid - Formatting Trailing Commas', 646 | code: `$map: (\n 'alpha': 10,\n 'beta': 20,\n 'gamma': 30,\n);\n`, 647 | }, 648 | ], 649 | reject: [ 650 | { 651 | description: 'Prettier Scss Invalid - Formatting Trailing Commas', 652 | code: `$map: (\n 'alpha': 10,\n 'beta': 20,\n 'gamma': 30\n);\n`, 653 | fixed: `$map: (\n 'alpha': 10,\n 'beta': 20,\n 'gamma': 30,\n);\n`, 654 | message: `Insert "," (prettier/prettier)`, 655 | line: 4, 656 | column: 14, 657 | endLine: 4, 658 | endColumn: 15, 659 | }, 660 | ], 661 | }); 662 | 663 | // Passing a syntax works 664 | testRule({ 665 | plugins, 666 | ruleName, 667 | config: [true, {parser: 'scss', trailingComma: 'all'}], 668 | customSyntax: 'postcss-scss', 669 | fix: true, 670 | accept: [ 671 | { 672 | description: 'Prettier Scss Valid - Setting Explicit Parser', 673 | code: `$map: (\n 'alpha': 10,\n 'beta': 20,\n 'gamma': 30,\n);\n`, 674 | }, 675 | ], 676 | reject: [ 677 | { 678 | description: 'Prettier Scss Invalid - Setting Explicit Parser', 679 | code: `$map: (\n 'alpha': 10,\n 'beta': 20,\n 'gamma': 30\n);\n`, 680 | fixed: `$map: (\n 'alpha': 10,\n 'beta': 20,\n 'gamma': 30,\n);\n`, 681 | message: `Insert "," (prettier/prettier)`, 682 | line: 4, 683 | column: 14, 684 | endLine: 4, 685 | endColumn: 15, 686 | }, 687 | ], 688 | }); 689 | 690 | // EOL Tests 691 | testRule({ 692 | plugins, 693 | ruleName, 694 | config: [true, {endOfLine: 'auto'}], 695 | fix: true, 696 | accept: [ 697 | { 698 | description: 'Prettier EOL Valid - UNIX', 699 | code: `body {\n font-size: 12px;\n}\np {\n color: 'black';\n}\n`, 700 | }, 701 | { 702 | description: 'Prettier EOL Valid - Windows', 703 | code: `body {\r\n font-size: 12px;\r\n}\r\np {\r\n color: 'black';\r\n}\r\n`, 704 | }, 705 | ], 706 | reject: [ 707 | { 708 | description: 'Prettier EOL Invalid - UNIX', 709 | code: `body {\n font-size: 12px;\n}\np {\n color: 'black';\n}`, 710 | fixed: `body {\n font-size: 12px;\n}\np {\n color: 'black';\n}\n`, 711 | message: `Insert "⏎" (prettier/prettier)`, 712 | line: 6, 713 | column: 2, 714 | endLine: 6, 715 | endColumn: 3, 716 | }, 717 | { 718 | description: 'Prettier EOL Invalid - Windows', 719 | code: `body {\r\n font-size: 12px;\r\n}\r\np {\r\n color: 'black';\r\n}`, 720 | fixed: `body {\r\n font-size: 12px;\r\n}\r\np {\r\n color: 'black';\r\n}\r\n`, 721 | message: `Insert "␍⏎" (prettier/prettier)`, 722 | line: 6, 723 | column: 2, 724 | endLine: 6, 725 | endColumn: 3, 726 | }, 727 | ], 728 | }); 729 | 730 | describe('stylelint configurations', () => { 731 | const oldWarn = console.warn; 732 | beforeEach(() => { 733 | console.warn = mock.fn(console.warn); 734 | }); 735 | 736 | afterEach(() => { 737 | console.warn = oldWarn; 738 | }); 739 | 740 | it("doesn't raise prettier warnings on `message`", async () => { 741 | await stylelint.lint({ 742 | code: ``, 743 | config: { 744 | plugins: ['./'], 745 | rules: { 746 | 'prettier/prettier': [true, {message: 'welp'}], 747 | }, 748 | }, 749 | }); 750 | 751 | assert.strictEqual(console.warn.mock.calls.length, 0); 752 | }); 753 | 754 | it("doesn't raise prettier warnings on `severity`", async () => { 755 | await stylelint.lint({ 756 | code: ``, 757 | config: { 758 | plugins: ['./'], 759 | rules: { 760 | 'prettier/prettier': [true, {severity: 'warning'}], 761 | }, 762 | }, 763 | }); 764 | 765 | assert.strictEqual(console.warn.mock.calls.length, 0); 766 | }); 767 | }); 768 | 769 | /** 770 | * Builds a dummy file path to trick prettier into resolving a specific .prettierrc file. 771 | */ 772 | function filename(dir, file = 'dummy.css') { 773 | return path.resolve(__dirname, `./prettierrc/${dir}/${file}`); 774 | } 775 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@aashutoshrathi/word-wrap@^1.2.3": 6 | version "1.2.6" 7 | resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" 8 | integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== 9 | 10 | "@ampproject/remapping@^2.3.0": 11 | version "2.3.0" 12 | resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" 13 | integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== 14 | dependencies: 15 | "@jridgewell/gen-mapping" "^0.3.5" 16 | "@jridgewell/trace-mapping" "^0.3.24" 17 | 18 | "@astrojs/compiler@^2.9.1": 19 | version "2.10.3" 20 | resolved "https://registry.yarnpkg.com/@astrojs/compiler/-/compiler-2.10.3.tgz#852386445029f7765a70b4c1d1140e175e1d8c27" 21 | integrity sha512-bL/O7YBxsFt55YHU021oL+xz+B/9HvGNId3F9xURN16aeqDK9juHGktdkCSXz+U4nqFACq6ZFvWomOzhV+zfPw== 22 | 23 | "@babel/code-frame@^7.0.0": 24 | version "7.18.6" 25 | resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" 26 | integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== 27 | dependencies: 28 | "@babel/highlight" "^7.18.6" 29 | 30 | "@babel/helper-validator-identifier@^7.18.6": 31 | version "7.19.1" 32 | resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" 33 | integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== 34 | 35 | "@babel/highlight@^7.18.6": 36 | version "7.18.6" 37 | resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" 38 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== 39 | dependencies: 40 | "@babel/helper-validator-identifier" "^7.18.6" 41 | chalk "^2.0.0" 42 | js-tokens "^4.0.0" 43 | 44 | "@csstools/css-parser-algorithms@^3.0.4": 45 | version "3.0.4" 46 | resolved "https://registry.yarnpkg.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.4.tgz#74426e93bd1c4dcab3e441f5cc7ba4fb35d94356" 47 | integrity sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A== 48 | 49 | "@csstools/css-tokenizer@^3.0.3": 50 | version "3.0.3" 51 | resolved "https://registry.yarnpkg.com/@csstools/css-tokenizer/-/css-tokenizer-3.0.3.tgz#a5502c8539265fecbd873c1e395a890339f119c2" 52 | integrity sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw== 53 | 54 | "@csstools/media-query-list-parser@^4.0.2": 55 | version "4.0.2" 56 | resolved "https://registry.yarnpkg.com/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.2.tgz#e80e17eba1693fceafb8d6f2cfc68c0e7a9ab78a" 57 | integrity sha512-EUos465uvVvMJehckATTlNqGj4UJWkTmdWuDMjqvSUkjGpmOyFZBVwb4knxCm/k2GMTXY+c/5RkdndzFYWeX5A== 58 | 59 | "@csstools/selector-specificity@^5.0.0": 60 | version "5.0.0" 61 | resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz#037817b574262134cabd68fc4ec1a454f168407b" 62 | integrity sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw== 63 | 64 | "@dual-bundle/import-meta-resolve@^4.1.0": 65 | version "4.1.0" 66 | resolved "https://registry.yarnpkg.com/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz#519c1549b0e147759e7825701ecffd25e5819f7b" 67 | integrity sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg== 68 | 69 | "@eslint-community/eslint-utils@^4.1.2", "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.1": 70 | version "4.4.1" 71 | resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz#d1145bf2c20132d6400495d6df4bf59362fd9d56" 72 | integrity sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA== 73 | dependencies: 74 | eslint-visitor-keys "^3.4.3" 75 | 76 | "@eslint-community/regexpp@^4.11.0", "@eslint-community/regexpp@^4.12.1": 77 | version "4.12.1" 78 | resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" 79 | integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== 80 | 81 | "@eslint/config-array@^0.19.0": 82 | version "0.19.0" 83 | resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.19.0.tgz#3251a528998de914d59bb21ba4c11767cf1b3519" 84 | integrity sha512-zdHg2FPIFNKPdcHWtiNT+jEFCHYVplAXRDlQDyqy0zGx/q2parwh7brGJSiTxRk/TSMkbM//zt/f5CHgyTyaSQ== 85 | dependencies: 86 | "@eslint/object-schema" "^2.1.4" 87 | debug "^4.3.1" 88 | minimatch "^3.1.2" 89 | 90 | "@eslint/core@^0.9.0": 91 | version "0.9.0" 92 | resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.9.0.tgz#168ee076f94b152c01ca416c3e5cf82290ab4fcd" 93 | integrity sha512-7ATR9F0e4W85D/0w7cU0SNj7qkAexMG+bAHEZOjo9akvGuhHE2m7umzWzfnpa0XAg5Kxc1BWmtPMV67jJ+9VUg== 94 | 95 | "@eslint/eslintrc@^3.2.0": 96 | version "3.2.0" 97 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.2.0.tgz#57470ac4e2e283a6bf76044d63281196e370542c" 98 | integrity sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w== 99 | dependencies: 100 | ajv "^6.12.4" 101 | debug "^4.3.2" 102 | espree "^10.0.1" 103 | globals "^14.0.0" 104 | ignore "^5.2.0" 105 | import-fresh "^3.2.1" 106 | js-yaml "^4.1.0" 107 | minimatch "^3.1.2" 108 | strip-json-comments "^3.1.1" 109 | 110 | "@eslint/js@9.16.0", "@eslint/js@^9.16.0": 111 | version "9.16.0" 112 | resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.16.0.tgz#3df2b2dd3b9163056616886c86e4082f45dbf3f4" 113 | integrity sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg== 114 | 115 | "@eslint/object-schema@^2.1.4": 116 | version "2.1.4" 117 | resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.4.tgz#9e69f8bb4031e11df79e03db09f9dbbae1740843" 118 | integrity sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ== 119 | 120 | "@eslint/plugin-kit@^0.2.3": 121 | version "0.2.3" 122 | resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.3.tgz#812980a6a41ecf3a8341719f92a6d1e784a2e0e8" 123 | integrity sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA== 124 | dependencies: 125 | levn "^0.4.1" 126 | 127 | "@humanfs/core@^0.19.1": 128 | version "0.19.1" 129 | resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77" 130 | integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA== 131 | 132 | "@humanfs/node@^0.16.6": 133 | version "0.16.6" 134 | resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.6.tgz#ee2a10eaabd1131987bf0488fd9b820174cd765e" 135 | integrity sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw== 136 | dependencies: 137 | "@humanfs/core" "^0.19.1" 138 | "@humanwhocodes/retry" "^0.3.0" 139 | 140 | "@humanwhocodes/module-importer@^1.0.1": 141 | version "1.0.1" 142 | resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" 143 | integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== 144 | 145 | "@humanwhocodes/retry@^0.3.0": 146 | version "0.3.1" 147 | resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.1.tgz#c72a5c76a9fbaf3488e231b13dc52c0da7bab42a" 148 | integrity sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA== 149 | 150 | "@humanwhocodes/retry@^0.4.1": 151 | version "0.4.1" 152 | resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.1.tgz#9a96ce501bc62df46c4031fbd970e3cc6b10f07b" 153 | integrity sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA== 154 | 155 | "@jridgewell/gen-mapping@^0.3.5": 156 | version "0.3.5" 157 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" 158 | integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== 159 | dependencies: 160 | "@jridgewell/set-array" "^1.2.1" 161 | "@jridgewell/sourcemap-codec" "^1.4.10" 162 | "@jridgewell/trace-mapping" "^0.3.24" 163 | 164 | "@jridgewell/resolve-uri@^3.1.0": 165 | version "3.1.2" 166 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" 167 | integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== 168 | 169 | "@jridgewell/set-array@^1.2.1": 170 | version "1.2.1" 171 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" 172 | integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== 173 | 174 | "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15", "@jridgewell/sourcemap-codec@^1.5.0": 175 | version "1.5.0" 176 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" 177 | integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== 178 | 179 | "@jridgewell/trace-mapping@^0.3.24": 180 | version "0.3.25" 181 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" 182 | integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== 183 | dependencies: 184 | "@jridgewell/resolve-uri" "^3.1.0" 185 | "@jridgewell/sourcemap-codec" "^1.4.14" 186 | 187 | "@keyv/serialize@^1.0.2": 188 | version "1.0.2" 189 | resolved "https://registry.yarnpkg.com/@keyv/serialize/-/serialize-1.0.2.tgz#72507c4be94d8914434a4aa80661f8ac6131967f" 190 | integrity sha512-+E/LyaAeuABniD/RvUezWVXKpeuvwLEA9//nE9952zBaOdBd2mQ3pPoM8cUe2X6IcMByfuSLzmYqnYshG60+HQ== 191 | dependencies: 192 | buffer "^6.0.3" 193 | 194 | "@nodelib/fs.scandir@2.1.5": 195 | version "2.1.5" 196 | resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" 197 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 198 | dependencies: 199 | "@nodelib/fs.stat" "2.0.5" 200 | run-parallel "^1.1.9" 201 | 202 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 203 | version "2.0.5" 204 | resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" 205 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 206 | 207 | "@nodelib/fs.walk@^1.2.3": 208 | version "1.2.8" 209 | resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" 210 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 211 | dependencies: 212 | "@nodelib/fs.scandir" "2.1.5" 213 | fastq "^1.6.0" 214 | 215 | "@pkgr/core@^0.1.0": 216 | version "0.1.1" 217 | resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.1.1.tgz#1ec17e2edbec25c8306d424ecfbf13c7de1aaa31" 218 | integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA== 219 | 220 | "@types/estree@^1.0.1", "@types/estree@^1.0.5", "@types/estree@^1.0.6": 221 | version "1.0.6" 222 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" 223 | integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== 224 | 225 | "@types/json-schema@^7.0.15": 226 | version "7.0.15" 227 | resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" 228 | integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== 229 | 230 | "@types/mdast@^3.0.0": 231 | version "3.0.10" 232 | resolved "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz" 233 | integrity sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA== 234 | dependencies: 235 | "@types/unist" "*" 236 | 237 | "@types/unist@*", "@types/unist@^2.0.2": 238 | version "2.0.6" 239 | resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz" 240 | integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== 241 | 242 | acorn-jsx@^5.3.2: 243 | version "5.3.2" 244 | resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" 245 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== 246 | 247 | acorn-typescript@^1.4.13: 248 | version "1.4.13" 249 | resolved "https://registry.yarnpkg.com/acorn-typescript/-/acorn-typescript-1.4.13.tgz#5f851c8bdda0aa716ffdd5f6ac084df8acc6f5ea" 250 | integrity sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q== 251 | 252 | acorn@^8.12.1, acorn@^8.14.0: 253 | version "8.14.0" 254 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" 255 | integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== 256 | 257 | ajv@^6.12.4: 258 | version "6.12.6" 259 | resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" 260 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 261 | dependencies: 262 | fast-deep-equal "^3.1.1" 263 | fast-json-stable-stringify "^2.0.0" 264 | json-schema-traverse "^0.4.1" 265 | uri-js "^4.2.2" 266 | 267 | ajv@^8.0.1: 268 | version "8.6.3" 269 | resolved "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz" 270 | integrity sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw== 271 | dependencies: 272 | fast-deep-equal "^3.1.1" 273 | json-schema-traverse "^1.0.0" 274 | require-from-string "^2.0.2" 275 | uri-js "^4.2.2" 276 | 277 | ansi-regex@^5.0.1: 278 | version "5.0.1" 279 | resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" 280 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 281 | 282 | ansi-styles@^3.2.1: 283 | version "3.2.1" 284 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" 285 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 286 | dependencies: 287 | color-convert "^1.9.0" 288 | 289 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 290 | version "4.3.0" 291 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" 292 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 293 | dependencies: 294 | color-convert "^2.0.1" 295 | 296 | argparse@^2.0.1: 297 | version "2.0.1" 298 | resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" 299 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 300 | 301 | aria-query@^5.3.1: 302 | version "5.3.2" 303 | resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.2.tgz#93f81a43480e33a338f19163a3d10a50c01dcd59" 304 | integrity sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw== 305 | 306 | array-union@^2.1.0: 307 | version "2.1.0" 308 | resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" 309 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 310 | 311 | astral-regex@^2.0.0: 312 | version "2.0.0" 313 | resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" 314 | integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== 315 | 316 | axobject-query@^4.1.0: 317 | version "4.1.0" 318 | resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-4.1.0.tgz#28768c76d0e3cff21bc62a9e2d0b6ac30042a1ee" 319 | integrity sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ== 320 | 321 | balanced-match@^1.0.0: 322 | version "1.0.0" 323 | resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz" 324 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 325 | 326 | balanced-match@^2.0.0: 327 | version "2.0.0" 328 | resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz" 329 | integrity sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA== 330 | 331 | base64-js@^1.3.1: 332 | version "1.5.1" 333 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" 334 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== 335 | 336 | brace-expansion@^1.1.7: 337 | version "1.1.11" 338 | resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" 339 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 340 | dependencies: 341 | balanced-match "^1.0.0" 342 | concat-map "0.0.1" 343 | 344 | brace-expansion@^2.0.1: 345 | version "2.0.1" 346 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" 347 | integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== 348 | dependencies: 349 | balanced-match "^1.0.0" 350 | 351 | braces@^3.0.3: 352 | version "3.0.3" 353 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" 354 | integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== 355 | dependencies: 356 | fill-range "^7.1.1" 357 | 358 | buffer@^6.0.3: 359 | version "6.0.3" 360 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" 361 | integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== 362 | dependencies: 363 | base64-js "^1.3.1" 364 | ieee754 "^1.2.1" 365 | 366 | cacheable@^1.8.7: 367 | version "1.8.8" 368 | resolved "https://registry.yarnpkg.com/cacheable/-/cacheable-1.8.8.tgz#d105f6de41811e42acfa1327718f955794f879a6" 369 | integrity sha512-OE1/jlarWxROUIpd0qGBSKFLkNsotY8pt4GeiVErUYh/NUeTNrT+SBksUgllQv4m6a0W/VZsLuiHb88maavqEw== 370 | dependencies: 371 | hookified "^1.7.0" 372 | keyv "^5.2.3" 373 | 374 | callsites@^3.0.0: 375 | version "3.1.0" 376 | resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" 377 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 378 | 379 | chalk@^2.0.0: 380 | version "2.4.2" 381 | resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" 382 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 383 | dependencies: 384 | ansi-styles "^3.2.1" 385 | escape-string-regexp "^1.0.5" 386 | supports-color "^5.3.0" 387 | 388 | chalk@^4.0.0: 389 | version "4.1.2" 390 | resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" 391 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 392 | dependencies: 393 | ansi-styles "^4.1.0" 394 | supports-color "^7.1.0" 395 | 396 | character-entities-legacy@^1.0.0: 397 | version "1.1.4" 398 | resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz" 399 | integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== 400 | 401 | character-entities@^1.0.0: 402 | version "1.2.4" 403 | resolved "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz" 404 | integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== 405 | 406 | character-reference-invalid@^1.0.0: 407 | version "1.1.4" 408 | resolved "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz" 409 | integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== 410 | 411 | color-convert@^1.9.0: 412 | version "1.9.3" 413 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" 414 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 415 | dependencies: 416 | color-name "1.1.3" 417 | 418 | color-convert@^2.0.1: 419 | version "2.0.1" 420 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" 421 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 422 | dependencies: 423 | color-name "~1.1.4" 424 | 425 | color-name@1.1.3: 426 | version "1.1.3" 427 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" 428 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 429 | 430 | color-name@~1.1.4: 431 | version "1.1.4" 432 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" 433 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 434 | 435 | colord@^2.9.3: 436 | version "2.9.3" 437 | resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz" 438 | integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== 439 | 440 | concat-map@0.0.1: 441 | version "0.0.1" 442 | resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" 443 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 444 | 445 | cosmiconfig@^9.0.0: 446 | version "9.0.0" 447 | resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz" 448 | integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== 449 | dependencies: 450 | env-paths "^2.2.1" 451 | import-fresh "^3.3.0" 452 | js-yaml "^4.1.0" 453 | parse-json "^5.2.0" 454 | 455 | cross-spawn@^7.0.5: 456 | version "7.0.6" 457 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" 458 | integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== 459 | dependencies: 460 | path-key "^3.1.0" 461 | shebang-command "^2.0.0" 462 | which "^2.0.1" 463 | 464 | css-functions-list@^3.2.3: 465 | version "3.2.3" 466 | resolved "https://registry.yarnpkg.com/css-functions-list/-/css-functions-list-3.2.3.tgz#95652b0c24f0f59b291a9fc386041a19d4f40dbe" 467 | integrity sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA== 468 | 469 | css-tree@^3.1.0: 470 | version "3.1.0" 471 | resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-3.1.0.tgz#7aabc035f4e66b5c86f54570d55e05b1346eb0fd" 472 | integrity sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w== 473 | dependencies: 474 | mdn-data "2.12.2" 475 | source-map-js "^1.0.1" 476 | 477 | cssesc@^3.0.0: 478 | version "3.0.0" 479 | resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" 480 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== 481 | 482 | debug@^4.0.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.7: 483 | version "4.4.0" 484 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" 485 | integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== 486 | dependencies: 487 | ms "^2.1.3" 488 | 489 | deep-is@^0.1.3: 490 | version "0.1.4" 491 | resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" 492 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== 493 | 494 | dir-glob@^3.0.1: 495 | version "3.0.1" 496 | resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" 497 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 498 | dependencies: 499 | path-type "^4.0.0" 500 | 501 | dom-serializer@^2.0.0: 502 | version "2.0.0" 503 | resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz" 504 | integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== 505 | dependencies: 506 | domelementtype "^2.3.0" 507 | domhandler "^5.0.2" 508 | entities "^4.2.0" 509 | 510 | domelementtype@^2.3.0: 511 | version "2.3.0" 512 | resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" 513 | integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== 514 | 515 | domhandler@^5.0.1, domhandler@^5.0.2: 516 | version "5.0.3" 517 | resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" 518 | integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== 519 | dependencies: 520 | domelementtype "^2.3.0" 521 | 522 | domutils@^3.0.1: 523 | version "3.0.1" 524 | resolved "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz" 525 | integrity sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q== 526 | dependencies: 527 | dom-serializer "^2.0.0" 528 | domelementtype "^2.3.0" 529 | domhandler "^5.0.1" 530 | 531 | emoji-regex@^8.0.0: 532 | version "8.0.0" 533 | resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" 534 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 535 | 536 | enhanced-resolve@^5.17.1: 537 | version "5.17.1" 538 | resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" 539 | integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== 540 | dependencies: 541 | graceful-fs "^4.2.4" 542 | tapable "^2.2.0" 543 | 544 | entities@^4.2.0, entities@^4.3.0: 545 | version "4.4.0" 546 | resolved "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz" 547 | integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== 548 | 549 | env-paths@^2.2.1: 550 | version "2.2.1" 551 | resolved "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz" 552 | integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== 553 | 554 | error-ex@^1.3.1: 555 | version "1.3.2" 556 | resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" 557 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 558 | dependencies: 559 | is-arrayish "^0.2.1" 560 | 561 | escape-string-regexp@^1.0.5: 562 | version "1.0.5" 563 | resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" 564 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 565 | 566 | escape-string-regexp@^4.0.0: 567 | version "4.0.0" 568 | resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" 569 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 570 | 571 | eslint-compat-utils@^0.5.1: 572 | version "0.5.1" 573 | resolved "https://registry.yarnpkg.com/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz#7fc92b776d185a70c4070d03fd26fde3d59652e4" 574 | integrity sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q== 575 | dependencies: 576 | semver "^7.5.4" 577 | 578 | eslint-config-prettier@^9.1.0: 579 | version "9.1.0" 580 | resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" 581 | integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== 582 | 583 | eslint-plugin-es-x@^7.8.0: 584 | version "7.8.0" 585 | resolved "https://registry.yarnpkg.com/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz#a207aa08da37a7923f2a9599e6d3eb73f3f92b74" 586 | integrity sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ== 587 | dependencies: 588 | "@eslint-community/eslint-utils" "^4.1.2" 589 | "@eslint-community/regexpp" "^4.11.0" 590 | eslint-compat-utils "^0.5.1" 591 | 592 | eslint-plugin-n@^17.14.0: 593 | version "17.14.0" 594 | resolved "https://registry.yarnpkg.com/eslint-plugin-n/-/eslint-plugin-n-17.14.0.tgz#162a7c17a7ce7e3834af537bca68ab8b6aa26edc" 595 | integrity sha512-maxPLMEA0rPmRpoOlxEclKng4UpDe+N5BJS4t24I3UKnN109Qcivnfs37KMy84G0af3bxjog5lKctP5ObsvcTA== 596 | dependencies: 597 | "@eslint-community/eslint-utils" "^4.4.1" 598 | enhanced-resolve "^5.17.1" 599 | eslint-plugin-es-x "^7.8.0" 600 | get-tsconfig "^4.8.1" 601 | globals "^15.11.0" 602 | ignore "^5.3.2" 603 | minimatch "^9.0.5" 604 | semver "^7.6.3" 605 | 606 | eslint-plugin-prettier@^5.2.1: 607 | version "5.2.1" 608 | resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz#d1c8f972d8f60e414c25465c163d16f209411f95" 609 | integrity sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw== 610 | dependencies: 611 | prettier-linter-helpers "^1.0.0" 612 | synckit "^0.9.1" 613 | 614 | eslint-scope@^8.2.0: 615 | version "8.2.0" 616 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.2.0.tgz#377aa6f1cb5dc7592cfd0b7f892fd0cf352ce442" 617 | integrity sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A== 618 | dependencies: 619 | esrecurse "^4.3.0" 620 | estraverse "^5.2.0" 621 | 622 | eslint-visitor-keys@^3.4.3: 623 | version "3.4.3" 624 | resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" 625 | integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== 626 | 627 | eslint-visitor-keys@^4.2.0: 628 | version "4.2.0" 629 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#687bacb2af884fcdda8a6e7d65c606f46a14cd45" 630 | integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== 631 | 632 | eslint@^9.16.0: 633 | version "9.16.0" 634 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.16.0.tgz#66832e66258922ac0a626f803a9273e37747f2a6" 635 | integrity sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA== 636 | dependencies: 637 | "@eslint-community/eslint-utils" "^4.2.0" 638 | "@eslint-community/regexpp" "^4.12.1" 639 | "@eslint/config-array" "^0.19.0" 640 | "@eslint/core" "^0.9.0" 641 | "@eslint/eslintrc" "^3.2.0" 642 | "@eslint/js" "9.16.0" 643 | "@eslint/plugin-kit" "^0.2.3" 644 | "@humanfs/node" "^0.16.6" 645 | "@humanwhocodes/module-importer" "^1.0.1" 646 | "@humanwhocodes/retry" "^0.4.1" 647 | "@types/estree" "^1.0.6" 648 | "@types/json-schema" "^7.0.15" 649 | ajv "^6.12.4" 650 | chalk "^4.0.0" 651 | cross-spawn "^7.0.5" 652 | debug "^4.3.2" 653 | escape-string-regexp "^4.0.0" 654 | eslint-scope "^8.2.0" 655 | eslint-visitor-keys "^4.2.0" 656 | espree "^10.3.0" 657 | esquery "^1.5.0" 658 | esutils "^2.0.2" 659 | fast-deep-equal "^3.1.3" 660 | file-entry-cache "^8.0.0" 661 | find-up "^5.0.0" 662 | glob-parent "^6.0.2" 663 | ignore "^5.2.0" 664 | imurmurhash "^0.1.4" 665 | is-glob "^4.0.0" 666 | json-stable-stringify-without-jsonify "^1.0.1" 667 | lodash.merge "^4.6.2" 668 | minimatch "^3.1.2" 669 | natural-compare "^1.4.0" 670 | optionator "^0.9.3" 671 | 672 | esm-env@^1.2.0: 673 | version "1.2.1" 674 | resolved "https://registry.yarnpkg.com/esm-env/-/esm-env-1.2.1.tgz#34c2a0ba60582948afbe7bd779bc66f9d3aece7e" 675 | integrity sha512-U9JedYYjCnadUlXk7e1Kr+aENQhtUaoaV9+gZm1T8LC/YBAPJx3NSPIAurFOC0U5vrdSevnUJS2/wUVxGwPhng== 676 | 677 | espree@^10.0.1, espree@^10.3.0: 678 | version "10.3.0" 679 | resolved "https://registry.yarnpkg.com/espree/-/espree-10.3.0.tgz#29267cf5b0cb98735b65e64ba07e0ed49d1eed8a" 680 | integrity sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg== 681 | dependencies: 682 | acorn "^8.14.0" 683 | acorn-jsx "^5.3.2" 684 | eslint-visitor-keys "^4.2.0" 685 | 686 | esquery@^1.5.0: 687 | version "1.6.0" 688 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" 689 | integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== 690 | dependencies: 691 | estraverse "^5.1.0" 692 | 693 | esrap@^1.2.2: 694 | version "1.2.2" 695 | resolved "https://registry.yarnpkg.com/esrap/-/esrap-1.2.2.tgz#b9e3afee3f12238563a763b7fa86220de2c53203" 696 | integrity sha512-F2pSJklxx1BlQIQgooczXCPHmcWpn6EsP5oo73LQfonG9fIlIENQ8vMmfGXeojP9MrkzUNAfyU5vdFlR9shHAw== 697 | dependencies: 698 | "@jridgewell/sourcemap-codec" "^1.4.15" 699 | "@types/estree" "^1.0.1" 700 | 701 | esrecurse@^4.3.0: 702 | version "4.3.0" 703 | resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" 704 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 705 | dependencies: 706 | estraverse "^5.2.0" 707 | 708 | estraverse@^5.1.0, estraverse@^5.2.0: 709 | version "5.3.0" 710 | resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" 711 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== 712 | 713 | esutils@^2.0.2: 714 | version "2.0.3" 715 | resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" 716 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 717 | 718 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: 719 | version "3.1.3" 720 | resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" 721 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 722 | 723 | fast-diff@^1.1.2: 724 | version "1.2.0" 725 | resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz" 726 | integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== 727 | 728 | fast-glob@^3.2.9, fast-glob@^3.3.3: 729 | version "3.3.3" 730 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" 731 | integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== 732 | dependencies: 733 | "@nodelib/fs.stat" "^2.0.2" 734 | "@nodelib/fs.walk" "^1.2.3" 735 | glob-parent "^5.1.2" 736 | merge2 "^1.3.0" 737 | micromatch "^4.0.8" 738 | 739 | fast-json-stable-stringify@^2.0.0: 740 | version "2.1.0" 741 | resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" 742 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 743 | 744 | fast-levenshtein@^2.0.6: 745 | version "2.0.6" 746 | resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" 747 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 748 | 749 | fastest-levenshtein@^1.0.16: 750 | version "1.0.16" 751 | resolved "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz" 752 | integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== 753 | 754 | fastq@^1.6.0: 755 | version "1.13.0" 756 | resolved "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" 757 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 758 | dependencies: 759 | reusify "^1.0.4" 760 | 761 | fault@^1.0.0: 762 | version "1.0.4" 763 | resolved "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz" 764 | integrity sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA== 765 | dependencies: 766 | format "^0.2.0" 767 | 768 | file-entry-cache@^10.0.5: 769 | version "10.0.5" 770 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-10.0.5.tgz#0255cd065769ef930005073883389e432a16a9a7" 771 | integrity sha512-umpQsJrBNsdMDgreSryMEXvJh66XeLtZUwA8Gj7rHGearGufUFv6rB/bcXRFsiGWw/VeSUgUofF4Rf2UKEOrTA== 772 | dependencies: 773 | flat-cache "^6.1.5" 774 | 775 | file-entry-cache@^8.0.0: 776 | version "8.0.0" 777 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" 778 | integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== 779 | dependencies: 780 | flat-cache "^4.0.0" 781 | 782 | fill-range@^7.1.1: 783 | version "7.1.1" 784 | resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz" 785 | integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== 786 | dependencies: 787 | to-regex-range "^5.0.1" 788 | 789 | find-up@^5.0.0: 790 | version "5.0.0" 791 | resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" 792 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== 793 | dependencies: 794 | locate-path "^6.0.0" 795 | path-exists "^4.0.0" 796 | 797 | flat-cache@^4.0.0: 798 | version "4.0.1" 799 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" 800 | integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== 801 | dependencies: 802 | flatted "^3.2.9" 803 | keyv "^4.5.4" 804 | 805 | flat-cache@^6.1.5: 806 | version "6.1.5" 807 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-6.1.5.tgz#a3e0077571aa340c85c011aa6b9150b4606e2b0d" 808 | integrity sha512-QR+2kN38f8nMfiIQ1LHYjuDEmZNZVjxuxY+HufbS3BW0EX01Q5OnH7iduOYRutmgiXb797HAKcXUeXrvRjjgSQ== 809 | dependencies: 810 | cacheable "^1.8.7" 811 | flatted "^3.3.2" 812 | hookified "^1.6.0" 813 | 814 | flatted@^3.2.9, flatted@^3.3.2: 815 | version "3.3.2" 816 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.2.tgz#adba1448a9841bec72b42c532ea23dbbedef1a27" 817 | integrity sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA== 818 | 819 | format@^0.2.0: 820 | version "0.2.2" 821 | resolved "https://registry.npmjs.org/format/-/format-0.2.2.tgz" 822 | integrity sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs= 823 | 824 | get-tsconfig@^4.8.1: 825 | version "4.8.1" 826 | resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.8.1.tgz#8995eb391ae6e1638d251118c7b56de7eb425471" 827 | integrity sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg== 828 | dependencies: 829 | resolve-pkg-maps "^1.0.0" 830 | 831 | glob-parent@^5.1.2: 832 | version "5.1.2" 833 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" 834 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 835 | dependencies: 836 | is-glob "^4.0.1" 837 | 838 | glob-parent@^6.0.2: 839 | version "6.0.2" 840 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" 841 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 842 | dependencies: 843 | is-glob "^4.0.3" 844 | 845 | global-modules@^2.0.0: 846 | version "2.0.0" 847 | resolved "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz" 848 | integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== 849 | dependencies: 850 | global-prefix "^3.0.0" 851 | 852 | global-prefix@^3.0.0: 853 | version "3.0.0" 854 | resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz" 855 | integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== 856 | dependencies: 857 | ini "^1.3.5" 858 | kind-of "^6.0.2" 859 | which "^1.3.1" 860 | 861 | globals@^14.0.0: 862 | version "14.0.0" 863 | resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" 864 | integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== 865 | 866 | globals@^15.11.0: 867 | version "15.12.0" 868 | resolved "https://registry.yarnpkg.com/globals/-/globals-15.12.0.tgz#1811872883ad8f41055b61457a130221297de5b5" 869 | integrity sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ== 870 | 871 | globby@^11.1.0: 872 | version "11.1.0" 873 | resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" 874 | integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== 875 | dependencies: 876 | array-union "^2.1.0" 877 | dir-glob "^3.0.1" 878 | fast-glob "^3.2.9" 879 | ignore "^5.2.0" 880 | merge2 "^1.4.1" 881 | slash "^3.0.0" 882 | 883 | globjoin@^0.1.4: 884 | version "0.1.4" 885 | resolved "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz" 886 | integrity sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM= 887 | 888 | graceful-fs@^4.2.4: 889 | version "4.2.11" 890 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" 891 | integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== 892 | 893 | has-flag@^3.0.0: 894 | version "3.0.0" 895 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" 896 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 897 | 898 | has-flag@^4.0.0: 899 | version "4.0.0" 900 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" 901 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 902 | 903 | hookified@^1.6.0, hookified@^1.7.0: 904 | version "1.7.0" 905 | resolved "https://registry.yarnpkg.com/hookified/-/hookified-1.7.0.tgz#d1eb2a1d099fd4eeb3c43e5f75f3fe2ae82aae13" 906 | integrity sha512-XQdMjqC1AyeOzfs+17cnIk7Wdfu1hh2JtcyNfBf5u9jHrT3iZUlGHxLTntFBuk5lwkqJ6l3+daeQdHK5yByHVA== 907 | 908 | html-tags@^3.3.1: 909 | version "3.3.1" 910 | resolved "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz" 911 | integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== 912 | 913 | htmlparser2@^8.0.0: 914 | version "8.0.1" 915 | resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz" 916 | integrity sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA== 917 | dependencies: 918 | domelementtype "^2.3.0" 919 | domhandler "^5.0.2" 920 | domutils "^3.0.1" 921 | entities "^4.3.0" 922 | 923 | ieee754@^1.2.1: 924 | version "1.2.1" 925 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" 926 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== 927 | 928 | ignore@^5.2.0, ignore@^5.3.2: 929 | version "5.3.2" 930 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" 931 | integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== 932 | 933 | ignore@^7.0.3: 934 | version "7.0.3" 935 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.3.tgz#397ef9315dfe0595671eefe8b633fec6943ab733" 936 | integrity sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA== 937 | 938 | import-fresh@^3.2.1, import-fresh@^3.3.0: 939 | version "3.3.0" 940 | resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" 941 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 942 | dependencies: 943 | parent-module "^1.0.0" 944 | resolve-from "^4.0.0" 945 | 946 | imurmurhash@^0.1.4: 947 | version "0.1.4" 948 | resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" 949 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 950 | 951 | ini@^1.3.5: 952 | version "1.3.8" 953 | resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" 954 | integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== 955 | 956 | is-alphabetical@^1.0.0: 957 | version "1.0.4" 958 | resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz" 959 | integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== 960 | 961 | is-alphanumerical@^1.0.0: 962 | version "1.0.4" 963 | resolved "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz" 964 | integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== 965 | dependencies: 966 | is-alphabetical "^1.0.0" 967 | is-decimal "^1.0.0" 968 | 969 | is-arrayish@^0.2.1: 970 | version "0.2.1" 971 | resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" 972 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 973 | 974 | is-decimal@^1.0.0: 975 | version "1.0.4" 976 | resolved "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz" 977 | integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== 978 | 979 | is-extglob@^2.1.1: 980 | version "2.1.1" 981 | resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" 982 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 983 | 984 | is-fullwidth-code-point@^3.0.0: 985 | version "3.0.0" 986 | resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" 987 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 988 | 989 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: 990 | version "4.0.3" 991 | resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" 992 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 993 | dependencies: 994 | is-extglob "^2.1.1" 995 | 996 | is-hexadecimal@^1.0.0: 997 | version "1.0.4" 998 | resolved "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz" 999 | integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== 1000 | 1001 | is-number@^7.0.0: 1002 | version "7.0.0" 1003 | resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" 1004 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1005 | 1006 | is-plain-object@^5.0.0: 1007 | version "5.0.0" 1008 | resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" 1009 | integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== 1010 | 1011 | is-reference@^3.0.3: 1012 | version "3.0.3" 1013 | resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-3.0.3.tgz#9ef7bf9029c70a67b2152da4adf57c23d718910f" 1014 | integrity sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw== 1015 | dependencies: 1016 | "@types/estree" "^1.0.6" 1017 | 1018 | isexe@^2.0.0: 1019 | version "2.0.0" 1020 | resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" 1021 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 1022 | 1023 | js-tokens@^4.0.0: 1024 | version "4.0.0" 1025 | resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" 1026 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1027 | 1028 | js-tokens@^9.0.0: 1029 | version "9.0.1" 1030 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-9.0.1.tgz#2ec43964658435296f6761b34e10671c2d9527f4" 1031 | integrity sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ== 1032 | 1033 | js-yaml@^4.1.0: 1034 | version "4.1.0" 1035 | resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" 1036 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 1037 | dependencies: 1038 | argparse "^2.0.1" 1039 | 1040 | json-buffer@3.0.1: 1041 | version "3.0.1" 1042 | resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" 1043 | integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== 1044 | 1045 | json-parse-even-better-errors@^2.3.0: 1046 | version "2.3.1" 1047 | resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" 1048 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 1049 | 1050 | json-schema-traverse@^0.4.1: 1051 | version "0.4.1" 1052 | resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" 1053 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 1054 | 1055 | json-schema-traverse@^1.0.0: 1056 | version "1.0.0" 1057 | resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" 1058 | integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== 1059 | 1060 | json-stable-stringify-without-jsonify@^1.0.1: 1061 | version "1.0.1" 1062 | resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" 1063 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 1064 | 1065 | keyv@^4.5.4: 1066 | version "4.5.4" 1067 | resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" 1068 | integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== 1069 | dependencies: 1070 | json-buffer "3.0.1" 1071 | 1072 | keyv@^5.2.3: 1073 | version "5.2.3" 1074 | resolved "https://registry.yarnpkg.com/keyv/-/keyv-5.2.3.tgz#32db1a4aa8d05e2b8ab82688a57ddc5d2184a25c" 1075 | integrity sha512-AGKecUfzrowabUv0bH1RIR5Vf7w+l4S3xtQAypKaUpTdIR1EbrAcTxHCrpo9Q+IWeUlFE2palRtgIQcgm+PQJw== 1076 | dependencies: 1077 | "@keyv/serialize" "^1.0.2" 1078 | 1079 | kind-of@^6.0.2: 1080 | version "6.0.3" 1081 | resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" 1082 | integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== 1083 | 1084 | known-css-properties@^0.35.0: 1085 | version "0.35.0" 1086 | resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.35.0.tgz#f6f8e40ab4e5700fa32f5b2ef5218a56bc853bd6" 1087 | integrity sha512-a/RAk2BfKk+WFGhhOCAYqSiFLc34k8Mt/6NWRI4joER0EYUzXIcFivjjnoD3+XU1DggLn/tZc3DOAgke7l8a4A== 1088 | 1089 | levn@^0.4.1: 1090 | version "0.4.1" 1091 | resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" 1092 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 1093 | dependencies: 1094 | prelude-ls "^1.2.1" 1095 | type-check "~0.4.0" 1096 | 1097 | lines-and-columns@^1.1.6: 1098 | version "1.1.6" 1099 | resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz" 1100 | integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= 1101 | 1102 | locate-character@^3.0.0: 1103 | version "3.0.0" 1104 | resolved "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz" 1105 | integrity sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA== 1106 | 1107 | locate-path@^6.0.0: 1108 | version "6.0.0" 1109 | resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" 1110 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== 1111 | dependencies: 1112 | p-locate "^5.0.0" 1113 | 1114 | lodash.merge@^4.6.2: 1115 | version "4.6.2" 1116 | resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" 1117 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== 1118 | 1119 | lodash.truncate@^4.4.2: 1120 | version "4.4.2" 1121 | resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" 1122 | integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= 1123 | 1124 | magic-string@^0.30.11: 1125 | version "0.30.14" 1126 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.14.tgz#e9bb29870b81cfc1ec3cc656552f5a7fcbf19077" 1127 | integrity sha512-5c99P1WKTed11ZC0HMJOj6CDIue6F8ySu+bJL+85q1zBEIY8IklrJ1eiKC2NDRh3Ct3FcvmJPyQHb9erXMTJNw== 1128 | dependencies: 1129 | "@jridgewell/sourcemap-codec" "^1.5.0" 1130 | 1131 | mathml-tag-names@^2.1.3: 1132 | version "2.1.3" 1133 | resolved "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz" 1134 | integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== 1135 | 1136 | mdast-util-from-markdown@^0.8.5: 1137 | version "0.8.5" 1138 | resolved "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz" 1139 | integrity sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ== 1140 | dependencies: 1141 | "@types/mdast" "^3.0.0" 1142 | mdast-util-to-string "^2.0.0" 1143 | micromark "~2.11.0" 1144 | parse-entities "^2.0.0" 1145 | unist-util-stringify-position "^2.0.0" 1146 | 1147 | mdast-util-frontmatter@^0.2.0: 1148 | version "0.2.0" 1149 | resolved "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-0.2.0.tgz" 1150 | integrity sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ== 1151 | dependencies: 1152 | micromark-extension-frontmatter "^0.2.0" 1153 | 1154 | mdast-util-to-string@^2.0.0: 1155 | version "2.0.0" 1156 | resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz" 1157 | integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== 1158 | 1159 | mdn-data@2.12.2: 1160 | version "2.12.2" 1161 | resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.12.2.tgz#9ae6c41a9e65adf61318b32bff7b64fbfb13f8cf" 1162 | integrity sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA== 1163 | 1164 | meow@^13.2.0: 1165 | version "13.2.0" 1166 | resolved "https://registry.yarnpkg.com/meow/-/meow-13.2.0.tgz#6b7d63f913f984063b3cc261b6e8800c4cd3474f" 1167 | integrity sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA== 1168 | 1169 | merge2@^1.3.0, merge2@^1.4.1: 1170 | version "1.4.1" 1171 | resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" 1172 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 1173 | 1174 | micromark-extension-frontmatter@^0.2.0, micromark-extension-frontmatter@^0.2.2: 1175 | version "0.2.2" 1176 | resolved "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-0.2.2.tgz" 1177 | integrity sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A== 1178 | dependencies: 1179 | fault "^1.0.0" 1180 | 1181 | micromark@~2.11.0: 1182 | version "2.11.4" 1183 | resolved "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz" 1184 | integrity sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA== 1185 | dependencies: 1186 | debug "^4.0.0" 1187 | parse-entities "^2.0.0" 1188 | 1189 | micromatch@^4.0.8: 1190 | version "4.0.8" 1191 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" 1192 | integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== 1193 | dependencies: 1194 | braces "^3.0.3" 1195 | picomatch "^2.3.1" 1196 | 1197 | minimatch@^3.1.2: 1198 | version "3.1.2" 1199 | resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" 1200 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 1201 | dependencies: 1202 | brace-expansion "^1.1.7" 1203 | 1204 | minimatch@^9.0.5: 1205 | version "9.0.5" 1206 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" 1207 | integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== 1208 | dependencies: 1209 | brace-expansion "^2.0.1" 1210 | 1211 | ms@^2.1.3: 1212 | version "2.1.3" 1213 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 1214 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 1215 | 1216 | nanoid@^3.3.8: 1217 | version "3.3.8" 1218 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf" 1219 | integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w== 1220 | 1221 | natural-compare@^1.4.0: 1222 | version "1.4.0" 1223 | resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" 1224 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 1225 | 1226 | normalize-path@^3.0.0: 1227 | version "3.0.0" 1228 | resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" 1229 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 1230 | 1231 | optionator@^0.9.3: 1232 | version "0.9.3" 1233 | resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" 1234 | integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== 1235 | dependencies: 1236 | "@aashutoshrathi/word-wrap" "^1.2.3" 1237 | deep-is "^0.1.3" 1238 | fast-levenshtein "^2.0.6" 1239 | levn "^0.4.1" 1240 | prelude-ls "^1.2.1" 1241 | type-check "^0.4.0" 1242 | 1243 | p-limit@^3.0.2: 1244 | version "3.1.0" 1245 | resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" 1246 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 1247 | dependencies: 1248 | yocto-queue "^0.1.0" 1249 | 1250 | p-locate@^5.0.0: 1251 | version "5.0.0" 1252 | resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" 1253 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== 1254 | dependencies: 1255 | p-limit "^3.0.2" 1256 | 1257 | parent-module@^1.0.0: 1258 | version "1.0.1" 1259 | resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" 1260 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 1261 | dependencies: 1262 | callsites "^3.0.0" 1263 | 1264 | parse-entities@^2.0.0: 1265 | version "2.0.0" 1266 | resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz" 1267 | integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== 1268 | dependencies: 1269 | character-entities "^1.0.0" 1270 | character-entities-legacy "^1.0.0" 1271 | character-reference-invalid "^1.0.0" 1272 | is-alphanumerical "^1.0.0" 1273 | is-decimal "^1.0.0" 1274 | is-hexadecimal "^1.0.0" 1275 | 1276 | parse-json@^5.2.0: 1277 | version "5.2.0" 1278 | resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" 1279 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== 1280 | dependencies: 1281 | "@babel/code-frame" "^7.0.0" 1282 | error-ex "^1.3.1" 1283 | json-parse-even-better-errors "^2.3.0" 1284 | lines-and-columns "^1.1.6" 1285 | 1286 | path-exists@^4.0.0: 1287 | version "4.0.0" 1288 | resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" 1289 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 1290 | 1291 | path-key@^3.1.0: 1292 | version "3.1.1" 1293 | resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" 1294 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 1295 | 1296 | path-type@^4.0.0: 1297 | version "4.0.0" 1298 | resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" 1299 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 1300 | 1301 | picocolors@^1.1.1: 1302 | version "1.1.1" 1303 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" 1304 | integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== 1305 | 1306 | picomatch@^2.3.1: 1307 | version "2.3.1" 1308 | resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" 1309 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 1310 | 1311 | postcss-html@^1.7.0: 1312 | version "1.7.0" 1313 | resolved "https://registry.yarnpkg.com/postcss-html/-/postcss-html-1.7.0.tgz#06c7408f9a1be3b89643c916d5dcd99fb1f069a0" 1314 | integrity sha512-MfcMpSUIaR/nNgeVS8AyvyDugXlADjN9AcV7e5rDfrF1wduIAGSkL4q2+wgrZgA3sHVAHLDO9FuauHhZYW2nBw== 1315 | dependencies: 1316 | htmlparser2 "^8.0.0" 1317 | js-tokens "^9.0.0" 1318 | postcss "^8.4.0" 1319 | postcss-safe-parser "^6.0.0" 1320 | 1321 | postcss-less@^6.0.0: 1322 | version "6.0.0" 1323 | resolved "https://registry.yarnpkg.com/postcss-less/-/postcss-less-6.0.0.tgz#463b34c60f53b648c237f569aeb2e09149d85af4" 1324 | integrity sha512-FPX16mQLyEjLzEuuJtxA8X3ejDLNGGEG503d2YGZR5Ask1SpDN8KmZUMpzCvyalWRywAn1n1VOA5dcqfCLo5rg== 1325 | 1326 | postcss-markdown@^1.2.0: 1327 | version "1.2.0" 1328 | resolved "https://registry.npmjs.org/postcss-markdown/-/postcss-markdown-1.2.0.tgz" 1329 | integrity sha512-sO7eeu6pq5F0lx3XavY/rBVmifXbMTd6fGRuXaT/Q7wEuIAWTi0E2t747nQ57iVz99WynTPls4mw5wlLvZLFzw== 1330 | dependencies: 1331 | mdast-util-from-markdown "^0.8.5" 1332 | mdast-util-frontmatter "^0.2.0" 1333 | micromark-extension-frontmatter "^0.2.2" 1334 | postcss "^8.4.0" 1335 | postcss-safe-parser "^6.0.0" 1336 | 1337 | postcss-resolve-nested-selector@^0.1.6: 1338 | version "0.1.6" 1339 | resolved "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz#3d84dec809f34de020372c41b039956966896686" 1340 | integrity sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw== 1341 | 1342 | postcss-safe-parser@^6.0.0: 1343 | version "6.0.0" 1344 | resolved "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz" 1345 | integrity sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ== 1346 | 1347 | postcss-safe-parser@^7.0.1: 1348 | version "7.0.1" 1349 | resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz#36e4f7e608111a0ca940fd9712ce034718c40ec0" 1350 | integrity sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A== 1351 | 1352 | postcss-scss@^4.0.9: 1353 | version "4.0.9" 1354 | resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-4.0.9.tgz#a03c773cd4c9623cb04ce142a52afcec74806685" 1355 | integrity sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A== 1356 | 1357 | postcss-selector-parser@^7.0.0: 1358 | version "7.0.0" 1359 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz#41bd8b56f177c093ca49435f65731befe25d6b9c" 1360 | integrity sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ== 1361 | dependencies: 1362 | cssesc "^3.0.0" 1363 | util-deprecate "^1.0.2" 1364 | 1365 | postcss-styled-syntax@^0.7.1: 1366 | version "0.7.1" 1367 | resolved "https://registry.yarnpkg.com/postcss-styled-syntax/-/postcss-styled-syntax-0.7.1.tgz#4284dace4c50ee74c1589e66582179f3119d34d2" 1368 | integrity sha512-V5Iy8JztqXOKnTojdytF8IJ3zDXyVR927XftBPinJa3TnKdChGvGzUNEYlNuDtR+iqpuFkwJMgZdaJarYfGFCg== 1369 | dependencies: 1370 | typescript "^5.7.3" 1371 | 1372 | postcss-syntax@^0.36.2: 1373 | version "0.36.2" 1374 | resolved "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz" 1375 | integrity sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w== 1376 | 1377 | postcss-value-parser@^4.2.0: 1378 | version "4.2.0" 1379 | resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" 1380 | integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== 1381 | 1382 | postcss@^8.4.0, postcss@^8.5.1: 1383 | version "8.5.1" 1384 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.1.tgz#e2272a1f8a807fafa413218245630b5db10a3214" 1385 | integrity sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ== 1386 | dependencies: 1387 | nanoid "^3.3.8" 1388 | picocolors "^1.1.1" 1389 | source-map-js "^1.2.1" 1390 | 1391 | prelude-ls@^1.2.1: 1392 | version "1.2.1" 1393 | resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" 1394 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 1395 | 1396 | prettier-linter-helpers@^1.0.0: 1397 | version "1.0.0" 1398 | resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" 1399 | integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== 1400 | dependencies: 1401 | fast-diff "^1.1.2" 1402 | 1403 | prettier-plugin-astro@^0.14.1: 1404 | version "0.14.1" 1405 | resolved "https://registry.yarnpkg.com/prettier-plugin-astro/-/prettier-plugin-astro-0.14.1.tgz#50bff8a659f2a6a4ff3b1d7ea73f2de93c95b213" 1406 | integrity sha512-RiBETaaP9veVstE4vUwSIcdATj6dKmXljouXc/DDNwBSPTp8FRkLGDSGFClKsAFeeg+13SB0Z1JZvbD76bigJw== 1407 | dependencies: 1408 | "@astrojs/compiler" "^2.9.1" 1409 | prettier "^3.0.0" 1410 | sass-formatter "^0.7.6" 1411 | 1412 | prettier-plugin-svelte@^3.3.2: 1413 | version "3.3.2" 1414 | resolved "https://registry.yarnpkg.com/prettier-plugin-svelte/-/prettier-plugin-svelte-3.3.2.tgz#f0c0b023a697f5cb43fb7257170e3d8762b547c6" 1415 | integrity sha512-kRPjH8wSj2iu+dO+XaUv4vD8qr5mdDmlak3IT/7AOgGIMRG86z/EHOLauFcClKEnOUf4A4nOA7sre5KrJD4Raw== 1416 | 1417 | prettier@^3.0.0, prettier@^3.3.0: 1418 | version "3.3.0" 1419 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.0.tgz#d173ea0524a691d4c0b1181752f2b46724328cdf" 1420 | integrity sha512-J9odKxERhCQ10OC2yb93583f6UnYutOeiV5i0zEDS7UGTdUt0u+y8erxl3lBKvwo/JHyyoEdXjwp4dke9oyZ/g== 1421 | 1422 | punycode@^2.1.0: 1423 | version "2.1.1" 1424 | resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" 1425 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 1426 | 1427 | queue-microtask@^1.2.2: 1428 | version "1.2.3" 1429 | resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" 1430 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 1431 | 1432 | require-from-string@^2.0.2: 1433 | version "2.0.2" 1434 | resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" 1435 | integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== 1436 | 1437 | resolve-from@^4.0.0: 1438 | version "4.0.0" 1439 | resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" 1440 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 1441 | 1442 | resolve-from@^5.0.0: 1443 | version "5.0.0" 1444 | resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" 1445 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 1446 | 1447 | resolve-pkg-maps@^1.0.0: 1448 | version "1.0.0" 1449 | resolved "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz" 1450 | integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== 1451 | 1452 | reusify@^1.0.4: 1453 | version "1.0.4" 1454 | resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" 1455 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 1456 | 1457 | run-parallel@^1.1.9: 1458 | version "1.2.0" 1459 | resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" 1460 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 1461 | dependencies: 1462 | queue-microtask "^1.2.2" 1463 | 1464 | s.color@0.0.15: 1465 | version "0.0.15" 1466 | resolved "https://registry.npmjs.org/s.color/-/s.color-0.0.15.tgz" 1467 | integrity sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA== 1468 | 1469 | sass-formatter@^0.7.6: 1470 | version "0.7.8" 1471 | resolved "https://registry.npmjs.org/sass-formatter/-/sass-formatter-0.7.8.tgz" 1472 | integrity sha512-7fI2a8THglflhhYis7k06eUf92VQuJoXzEs2KRP0r1bluFxKFvLx0Ns7c478oYGM0fPfrr846ZRWVi2MAgHt9Q== 1473 | dependencies: 1474 | suf-log "^2.5.3" 1475 | 1476 | semver@^7.5.4, semver@^7.6.3: 1477 | version "7.6.3" 1478 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" 1479 | integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== 1480 | 1481 | shebang-command@^2.0.0: 1482 | version "2.0.0" 1483 | resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" 1484 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1485 | dependencies: 1486 | shebang-regex "^3.0.0" 1487 | 1488 | shebang-regex@^3.0.0: 1489 | version "3.0.0" 1490 | resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" 1491 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1492 | 1493 | signal-exit@^4.0.1: 1494 | version "4.0.2" 1495 | resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz" 1496 | integrity sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q== 1497 | 1498 | slash@^3.0.0: 1499 | version "3.0.0" 1500 | resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" 1501 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 1502 | 1503 | slice-ansi@^4.0.0: 1504 | version "4.0.0" 1505 | resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" 1506 | integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== 1507 | dependencies: 1508 | ansi-styles "^4.0.0" 1509 | astral-regex "^2.0.0" 1510 | is-fullwidth-code-point "^3.0.0" 1511 | 1512 | source-map-js@^1.0.1, source-map-js@^1.2.1: 1513 | version "1.2.1" 1514 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" 1515 | integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== 1516 | 1517 | string-width@^4.2.3: 1518 | version "4.2.3" 1519 | resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" 1520 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 1521 | dependencies: 1522 | emoji-regex "^8.0.0" 1523 | is-fullwidth-code-point "^3.0.0" 1524 | strip-ansi "^6.0.1" 1525 | 1526 | strip-ansi@^6.0.1: 1527 | version "6.0.1" 1528 | resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" 1529 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 1530 | dependencies: 1531 | ansi-regex "^5.0.1" 1532 | 1533 | strip-json-comments@^3.1.1: 1534 | version "3.1.1" 1535 | resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" 1536 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 1537 | 1538 | stylelint-test-rule-node@^0.3.0: 1539 | version "0.3.0" 1540 | resolved "https://registry.yarnpkg.com/stylelint-test-rule-node/-/stylelint-test-rule-node-0.3.0.tgz#f99e2422a77cecb21304f802d848104d6fa9bec6" 1541 | integrity sha512-f1e9v76lNJ2aFV7EDAHRoedaa5sFlUPhaYhEhy7u3h4Fi6KEuH8tNBllj1Vg8XHpLoP9LvE/AnbeaoiCXX+x+g== 1542 | 1543 | stylelint@^16.13.2: 1544 | version "16.14.0" 1545 | resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-16.14.0.tgz#eb0dd492c8dd545c7093f6cce8249752e09a0059" 1546 | integrity sha512-orePw2dKxzXC0hd1VmxrDBqgf1KUV9DYsZY4guKLE9XcQD7m0BxVnWMaoQqMNsQIG14MyyTHf6zoajvOnDra8g== 1547 | dependencies: 1548 | "@csstools/css-parser-algorithms" "^3.0.4" 1549 | "@csstools/css-tokenizer" "^3.0.3" 1550 | "@csstools/media-query-list-parser" "^4.0.2" 1551 | "@csstools/selector-specificity" "^5.0.0" 1552 | "@dual-bundle/import-meta-resolve" "^4.1.0" 1553 | balanced-match "^2.0.0" 1554 | colord "^2.9.3" 1555 | cosmiconfig "^9.0.0" 1556 | css-functions-list "^3.2.3" 1557 | css-tree "^3.1.0" 1558 | debug "^4.3.7" 1559 | fast-glob "^3.3.3" 1560 | fastest-levenshtein "^1.0.16" 1561 | file-entry-cache "^10.0.5" 1562 | global-modules "^2.0.0" 1563 | globby "^11.1.0" 1564 | globjoin "^0.1.4" 1565 | html-tags "^3.3.1" 1566 | ignore "^7.0.3" 1567 | imurmurhash "^0.1.4" 1568 | is-plain-object "^5.0.0" 1569 | known-css-properties "^0.35.0" 1570 | mathml-tag-names "^2.1.3" 1571 | meow "^13.2.0" 1572 | micromatch "^4.0.8" 1573 | normalize-path "^3.0.0" 1574 | picocolors "^1.1.1" 1575 | postcss "^8.5.1" 1576 | postcss-resolve-nested-selector "^0.1.6" 1577 | postcss-safe-parser "^7.0.1" 1578 | postcss-selector-parser "^7.0.0" 1579 | postcss-value-parser "^4.2.0" 1580 | resolve-from "^5.0.0" 1581 | string-width "^4.2.3" 1582 | supports-hyperlinks "^3.1.0" 1583 | svg-tags "^1.0.0" 1584 | table "^6.9.0" 1585 | write-file-atomic "^5.0.1" 1586 | 1587 | suf-log@^2.5.3: 1588 | version "2.5.3" 1589 | resolved "https://registry.npmjs.org/suf-log/-/suf-log-2.5.3.tgz" 1590 | integrity sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow== 1591 | dependencies: 1592 | s.color "0.0.15" 1593 | 1594 | supports-color@^5.3.0: 1595 | version "5.5.0" 1596 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" 1597 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1598 | dependencies: 1599 | has-flag "^3.0.0" 1600 | 1601 | supports-color@^7.0.0, supports-color@^7.1.0: 1602 | version "7.2.0" 1603 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" 1604 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1605 | dependencies: 1606 | has-flag "^4.0.0" 1607 | 1608 | supports-hyperlinks@^3.1.0: 1609 | version "3.1.0" 1610 | resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-3.1.0.tgz#b56150ff0173baacc15f21956450b61f2b18d3ac" 1611 | integrity sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A== 1612 | dependencies: 1613 | has-flag "^4.0.0" 1614 | supports-color "^7.0.0" 1615 | 1616 | svelte@^5.2.11: 1617 | version "5.2.11" 1618 | resolved "https://registry.yarnpkg.com/svelte/-/svelte-5.2.11.tgz#aeba2d0fb8017d2769682ffe321c15b3db10f157" 1619 | integrity sha512-rAVKne02inlyw//aD1QXuUbxDBNnyW6sagS7JfxzUbGVuJnHrf2WfQdJDYlBq8mOz8NBGQAZdD6KEITd0NUDtA== 1620 | dependencies: 1621 | "@ampproject/remapping" "^2.3.0" 1622 | "@jridgewell/sourcemap-codec" "^1.5.0" 1623 | "@types/estree" "^1.0.5" 1624 | acorn "^8.12.1" 1625 | acorn-typescript "^1.4.13" 1626 | aria-query "^5.3.1" 1627 | axobject-query "^4.1.0" 1628 | esm-env "^1.2.0" 1629 | esrap "^1.2.2" 1630 | is-reference "^3.0.3" 1631 | locate-character "^3.0.0" 1632 | magic-string "^0.30.11" 1633 | zimmerframe "^1.1.2" 1634 | 1635 | svg-tags@^1.0.0: 1636 | version "1.0.0" 1637 | resolved "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz" 1638 | integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q= 1639 | 1640 | synckit@^0.9.1: 1641 | version "0.9.2" 1642 | resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.9.2.tgz#a3a935eca7922d48b9e7d6c61822ee6c3ae4ec62" 1643 | integrity sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw== 1644 | dependencies: 1645 | "@pkgr/core" "^0.1.0" 1646 | tslib "^2.6.2" 1647 | 1648 | table@^6.9.0: 1649 | version "6.9.0" 1650 | resolved "https://registry.yarnpkg.com/table/-/table-6.9.0.tgz#50040afa6264141c7566b3b81d4d82c47a8668f5" 1651 | integrity sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A== 1652 | dependencies: 1653 | ajv "^8.0.1" 1654 | lodash.truncate "^4.4.2" 1655 | slice-ansi "^4.0.0" 1656 | string-width "^4.2.3" 1657 | strip-ansi "^6.0.1" 1658 | 1659 | tapable@^2.2.0: 1660 | version "2.2.1" 1661 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" 1662 | integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== 1663 | 1664 | to-regex-range@^5.0.1: 1665 | version "5.0.1" 1666 | resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" 1667 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1668 | dependencies: 1669 | is-number "^7.0.0" 1670 | 1671 | tslib@^2.6.2: 1672 | version "2.8.1" 1673 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" 1674 | integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== 1675 | 1676 | type-check@^0.4.0, type-check@~0.4.0: 1677 | version "0.4.0" 1678 | resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" 1679 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 1680 | dependencies: 1681 | prelude-ls "^1.2.1" 1682 | 1683 | typescript@5.7.2: 1684 | version "5.7.2" 1685 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.2.tgz#3169cf8c4c8a828cde53ba9ecb3d2b1d5dd67be6" 1686 | integrity sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg== 1687 | 1688 | typescript@^5.7.3: 1689 | version "5.7.3" 1690 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.3.tgz#919b44a7dbb8583a9b856d162be24a54bf80073e" 1691 | integrity sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw== 1692 | 1693 | unist-util-stringify-position@^2.0.0: 1694 | version "2.0.3" 1695 | resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz" 1696 | integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== 1697 | dependencies: 1698 | "@types/unist" "^2.0.2" 1699 | 1700 | uri-js@^4.2.2: 1701 | version "4.2.2" 1702 | resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz" 1703 | integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== 1704 | dependencies: 1705 | punycode "^2.1.0" 1706 | 1707 | util-deprecate@^1.0.2: 1708 | version "1.0.2" 1709 | resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" 1710 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 1711 | 1712 | which@^1.3.1: 1713 | version "1.3.1" 1714 | resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" 1715 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 1716 | dependencies: 1717 | isexe "^2.0.0" 1718 | 1719 | which@^2.0.1: 1720 | version "2.0.2" 1721 | resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" 1722 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 1723 | dependencies: 1724 | isexe "^2.0.0" 1725 | 1726 | write-file-atomic@^5.0.1: 1727 | version "5.0.1" 1728 | resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz" 1729 | integrity sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw== 1730 | dependencies: 1731 | imurmurhash "^0.1.4" 1732 | signal-exit "^4.0.1" 1733 | 1734 | yocto-queue@^0.1.0: 1735 | version "0.1.0" 1736 | resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" 1737 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 1738 | 1739 | zimmerframe@^1.1.2: 1740 | version "1.1.2" 1741 | resolved "https://registry.yarnpkg.com/zimmerframe/-/zimmerframe-1.1.2.tgz#5b75f1fa83b07ae2a428d51e50f58e2ae6855e5e" 1742 | integrity sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w== 1743 | --------------------------------------------------------------------------------