From a6a499aec1e8be43f0ce8bcfa52a17cb799706ea Mon Sep 17 00:00:00 2001 From: Robbie Wagner Date: Sun, 24 Dec 2023 13:29:34 -0500 Subject: [PATCH] Update linting and prettier setups, drop node 16 support (#1624) * Update linting and prettier setups * Update package.json --- .stylelintrc.js | 3 + .../ember-electron-postinstall/index.js | 2 +- blueprints/ember-electron/index.js | 26 +- forge/files/src/index.js | 8 +- forge/template.js | 4 +- index.js | 2 +- lib/commands/test.js | 2 +- lib/tasks/electron.js | 2 +- lib/utils/check-dependencies.js | 8 +- lib/utils/forge-core.js | 10 +- lib/utils/prepare-run-command.js | 4 +- node-tests/acceptance/end-to-end-test.js | 18 +- node-tests/integration/commands/build-test.js | 4 +- .../integration/commands/electron-test.js | 6 +- node-tests/integration/commands/make-test.js | 10 +- .../integration/commands/package-test.js | 4 +- node-tests/integration/commands/test-test.js | 4 +- .../utils/check-dependencies-test.js | 4 +- node-tests/unit/blueprint-test.js | 2 +- node-tests/unit/handle-file-urls-test.js | 10 +- package.json | 22 +- tests/dummy/app/styles/app.scss | 58 +-- yarn.lock | 463 ++++++++---------- 23 files changed, 313 insertions(+), 363 deletions(-) diff --git a/.stylelintrc.js b/.stylelintrc.js index b8cb5572..3bfc47c5 100644 --- a/.stylelintrc.js +++ b/.stylelintrc.js @@ -2,4 +2,7 @@ module.exports = { extends: ['stylelint-config-standard-scss', 'stylelint-prettier/recommended'], + rules: { + 'no-descending-specificity': null, + }, }; diff --git a/blueprints/ember-electron-postinstall/index.js b/blueprints/ember-electron-postinstall/index.js index cbb60401..084c0c02 100644 --- a/blueprints/ember-electron-postinstall/index.js +++ b/blueprints/ember-electron-postinstall/index.js @@ -13,7 +13,7 @@ module.exports = class EmberElectronBlueprint extends Blueprint { async afterInstall() { this.ui.writeLine( - `\nRun 'ember g ember-electron' to complete ember-electron setup\n` + `\nRun 'ember g ember-electron' to complete ember-electron setup\n`, ); } }; diff --git a/blueprints/ember-electron/index.js b/blueprints/ember-electron/index.js index 45504893..aaae22aa 100644 --- a/blueprints/ember-electron/index.js +++ b/blueprints/ember-electron/index.js @@ -32,8 +32,8 @@ module.exports = class EmberElectronBlueprint extends Blueprint { `\n'ember-electron' directory detected -- this looks like an ember-electron`, `v2 project. Setting up an updated project will not be destructive, but you`, `should read the upgrading documentation at ${upgradingUrl}.\n`, - ].join(' ') - ) + ].join(' '), + ), ); } @@ -51,8 +51,8 @@ module.exports = class EmberElectronBlueprint extends Blueprint { `If you're running the blueprint manually as part of an ember-electron`, `upgrade, make sure to check for upgrade instructions relevant to your`, `version upgrade at ${upgradingUrl}.\n`, - ].join(' ') - ) + ].join(' '), + ), ); } @@ -68,7 +68,7 @@ module.exports = class EmberElectronBlueprint extends Blueprint { if (rootURLRegex.test(contents)) { contents = contents.replace( rootURLRegex, - `$1 process.env.EMBER_CLI_ELECTRON ? '' :` + `$1 process.env.EMBER_CLI_ELECTRON ? '' :`, ); } else { this.ui.writeLine( @@ -78,8 +78,8 @@ module.exports = class EmberElectronBlueprint extends Blueprint { `\`process.env.EMBER_CLI_ELECTRON ? '' : \`,`, `which is needed for your Ember app to load assets under Electron.`, `See ${routingAndAssetLoadingUrl} for more information.`, - ].join(' ') - ) + ].join(' '), + ), ); } @@ -87,7 +87,7 @@ module.exports = class EmberElectronBlueprint extends Blueprint { if (locationTypeRegex.test(contents)) { contents = contents.replace( locationTypeRegex, - `$1 process.env.EMBER_CLI_ELECTRON ? 'hash' :` + `$1 process.env.EMBER_CLI_ELECTRON ? 'hash' :`, ); } else { this.ui.writeLine( @@ -97,8 +97,8 @@ module.exports = class EmberElectronBlueprint extends Blueprint { `\`process.env.EMBER_CLI_ELECTRON ? 'hash' : \`,`, `which is needed for your Ember app's routing to work under Electron.`, `See ${routingAndAssetLoadingUrl} for more information.`, - ].join(' ') - ) + ].join(' '), + ), ); } @@ -114,7 +114,7 @@ module.exports = class EmberElectronBlueprint extends Blueprint { // async updateEslintIgnore() { const toAppend = ['', '# ember-electron', `/${electronProjectPath}/`].join( - '\n' + '\n', ); await this.insertIntoFile('.eslintignore', toAppend); @@ -133,8 +133,8 @@ module.exports = class EmberElectronBlueprint extends Blueprint { async createElectronProject() { this.ui.writeLine( chalk.green( - `Creating electron-forge project at './${electronProjectPath}'` - ) + `Creating electron-forge project at './${electronProjectPath}'`, + ), ); await api.init({ diff --git a/forge/files/src/index.js b/forge/files/src/index.js index b20a569c..c5b5d151 100644 --- a/forge/files/src/index.js +++ b/forge/files/src/index.js @@ -11,7 +11,7 @@ const handleFileUrls = require('./handle-file-urls'); const emberAppDir = path.resolve(__dirname, '..', 'ember-dist'); const emberAppURL = pathToFileURL( - path.join(emberAppDir, 'index.html') + path.join(emberAppDir, 'index.html'), ).toString(); let mainWindow = null; @@ -71,14 +71,14 @@ app.on('ready', async () => { return; } console.log( - 'Your main window process has exited unexpectedly -- see https://www.electronjs.org/docs/api/web-contents#event-render-process-gone' + 'Your main window process has exited unexpectedly -- see https://www.electronjs.org/docs/api/web-contents#event-render-process-gone', ); console.log('Reason: ' + details.reason); }); mainWindow.on('unresponsive', () => { console.log( - 'Your Ember app (or other code) has made the window unresponsive.' + 'Your Ember app (or other code) has made the window unresponsive.', ); }); @@ -109,7 +109,7 @@ app.on('ready', async () => { process.on('uncaughtException', (err) => { console.log('An exception in the main thread was not handled.'); console.log( - 'This is a serious issue that needs to be handled and/or debugged.' + 'This is a serious issue that needs to be handled and/or debugged.', ); console.log(`Exception: ${err}`); }); diff --git a/forge/template.js b/forge/template.js index 1abb0173..d535b3ef 100644 --- a/forge/template.js +++ b/forge/template.js @@ -31,7 +31,7 @@ async function updateGitIgnore(dir) { '# package/make output directory', `${packageOutDir}/`, '', - ].join('\n') + ].join('\n'), ); } @@ -41,7 +41,7 @@ async function updatePackageJson(dir) { // copy some fields from the Ember project's package.json let parentPackageJson = JSON.parse( - await readFile(path.join(dir, '../package.json')) + await readFile(path.join(dir, '../package.json')), ); const keysToCopy = ['name', 'version', 'description', 'author', 'license']; for (let key of keysToCopy) { diff --git a/index.js b/index.js index a4aa1b09..6f8d6940 100644 --- a/index.js +++ b/index.js @@ -39,7 +39,7 @@ module.exports = { // loaded from `index.html`, and the assets will load correctly (see // https://ember-electron.js.org/versions/v3.0.0-beta.5/docs/faq/routing-and-asset-loading) return [injectScript('shim-test-head.js'), ''].join( - '\n' + '\n', ); case 'test-body': // testem.js needs to load over HTTP because of how testem works. We diff --git a/lib/commands/test.js b/lib/commands/test.js index c1c17af3..62f0c475 100644 --- a/lib/commands/test.js +++ b/lib/commands/test.js @@ -51,7 +51,7 @@ function buildAvailableOptions() { // Pick just the ones we support let availableOptions = baseOptions.filter((option) => - supportedNames.includes(option.name) + supportedNames.includes(option.name), ); // Make our customizations availableOptions = availableOptions.map((option) => { diff --git a/lib/tasks/electron.js b/lib/tasks/electron.js index d4854b50..7139f355 100644 --- a/lib/tasks/electron.js +++ b/lib/tasks/electron.js @@ -62,7 +62,7 @@ class ElectronTask extends Task { async _runElectron(builder, { electronArgs = [] }) { if (electronArgs.length > 0) { this.ui.writeLine( - chalk(`Starting Electron with args '${electronArgs.join(' ')}'...`) + chalk(`Starting Electron with args '${electronArgs.join(' ')}'...`), ); } else { this.ui.writeLine(chalk('Starting Electron...')); diff --git a/lib/utils/check-dependencies.js b/lib/utils/check-dependencies.js index 4110a6f6..142b5242 100644 --- a/lib/utils/check-dependencies.js +++ b/lib/utils/check-dependencies.js @@ -12,7 +12,7 @@ class Reporter extends BaseReporter { report() { if (this.messages.length) { let message = this.chalk.red( - `This should be done in ${electronProjectPath}/ -- see ${structureUrl} for more info.` + `This should be done in ${electronProjectPath}/ -- see ${structureUrl} for more info.`, ); this.messages.push(`${message}${this.EOL}`); } @@ -34,11 +34,11 @@ module.exports = async function checkDependencies(project) { electronProjectRoot, packageJson, project.ui, - project.cli + project.cli, ); let dependencyChecker = new DependencyChecker( electronProject, - new Reporter() + new Reporter(), ); // The dependency checker is set up to only run once, and it has already been @@ -46,7 +46,7 @@ module.exports = async function checkDependencies(project) { // alreadyChecked status so it will run for us here. DependencyChecker.setAlreadyChecked(false); project.ui.writeLine( - chalk.green(`Checking dependencies in ${electronProjectPath}...`) + chalk.green(`Checking dependencies in ${electronProjectPath}...`), ); dependencyChecker.checkDependencies(); }; diff --git a/lib/utils/forge-core.js b/lib/utils/forge-core.js index 5a7343b0..a2fe8352 100644 --- a/lib/utils/forge-core.js +++ b/lib/utils/forge-core.js @@ -1,9 +1,11 @@ const { electronProjectPath } = require('./build-paths'); try { - module.exports = require(require.resolve('@electron-forge/core', { - paths: [electronProjectPath], - })); + module.exports = require( + require.resolve('@electron-forge/core', { + paths: [electronProjectPath], + }), + ); } catch (e) { throw new Error( [ @@ -11,6 +13,6 @@ try { `-- make sure it's present in '${electronProjectPath}/package.json'`, `and you've run 'yarn' or 'npm install' from '${electronProjectPath}'.`, `Error:\n\n${e.stack}`, - ].join(' ') + ].join(' '), ); } diff --git a/lib/utils/prepare-run-command.js b/lib/utils/prepare-run-command.js index b3c579b4..e0ca3a9f 100644 --- a/lib/utils/prepare-run-command.js +++ b/lib/utils/prepare-run-command.js @@ -15,8 +15,8 @@ module.exports = async function prepareRun(project) { `ember-electron's blueprint when you first ran 'ember install`, `ember-electron'. If you are upgrading from ember-electron v2, you`, `should read the upgrading documentation at ${upgradingUrl}.`, - ].join(' ') - ) + ].join(' '), + ), ); } diff --git a/node-tests/acceptance/end-to-end-test.js b/node-tests/acceptance/end-to-end-test.js index 23f44f64..d563b766 100644 --- a/node-tests/acceptance/end-to-end-test.js +++ b/node-tests/acceptance/end-to-end-test.js @@ -41,7 +41,7 @@ describe('end-to-end', function () { return listenForPrompts( run(emberPath, args, { stdio: ['pipe', 'pipe', process.stderr], - }) + }), ); } @@ -100,14 +100,14 @@ describe('end-to-end', function () { 'ee-test-app', '--yarn', '--skip-git', - '--no-welcome' + '--no-welcome', ) .then(() => { process.chdir('ee-test-app'); return ember( 'install', - `ember-electron@${path.join(packageTmpDir, 'package')}` + `ember-electron@${path.join(packageTmpDir, 'package')}`, ); }) .then(() => { @@ -135,7 +135,7 @@ describe('end-to-end', function () { '--yarn', 'false', '--skip-git', - '--no-welcome' + '--no-welcome', ) .then(() => { process.chdir('ee-test-app'); @@ -154,9 +154,9 @@ describe('end-to-end', function () { 'install', `ember-electron@${path.join( packageTmpDir, - 'ember-electron-cachebust.tar' + 'ember-electron-cachebust.tar', )}`, - '--no-yarn' + '--no-yarn', ); }) .then(() => { @@ -210,7 +210,7 @@ describe('end-to-end', function () { let packageDir = path.join( packageOutPath, - `ee-test-app-${process.platform}-${process.arch}` + `ee-test-app-${process.platform}-${process.arch}`, ); expect(existsSync(packageDir)).to.be.ok; @@ -235,7 +235,7 @@ describe('end-to-end', function () { let configStr = readFileSync(configPath).toString(); writeFileSync( configPath, - configStr.replace(`platforms: ['darwin'],`, '') + configStr.replace(`platforms: ['darwin'],`, ''), ); // Only build zip target so we don't fail from missing platform dependencies @@ -243,7 +243,7 @@ describe('end-to-end', function () { return ember( 'electron:make', '--targets', - '@electron-forge/maker-zip' + '@electron-forge/maker-zip', ).then(() => { expect(existsSync(path.join(packageOutPath, 'make'))).to.be.ok; }); diff --git a/node-tests/integration/commands/build-test.js b/node-tests/integration/commands/build-test.js index a0e7fbd2..98e716f0 100644 --- a/node-tests/integration/commands/build-test.js +++ b/node-tests/integration/commands/build-test.js @@ -51,7 +51,7 @@ describe('electron:build command', function () { await expect(command.validateAndRun([])).to.be.fulfilled; expect(baseRunStub).to.be.calledOnce; expect(baseRunStub.firstCall.args[0].outputPath).to.equal( - path.join('electron-app', 'ember-dist') + path.join('electron-app', 'ember-dist'), ); }); @@ -66,7 +66,7 @@ describe('electron:build command', function () { '--watcher', 'polling', '--suppress-sizes', - ]) + ]), ).to.be.fulfilled; expect(baseRunStub).to.be.calledOnce; expect(baseRunStub.firstCall.args[0]).to.deep.equal({ diff --git a/node-tests/integration/commands/electron-test.js b/node-tests/integration/commands/electron-test.js index 080b3b6c..4798de81 100755 --- a/node-tests/integration/commands/electron-test.js +++ b/node-tests/integration/commands/electron-test.js @@ -108,7 +108,7 @@ describe('electron command', function () { expect(startServerStub).to.be.calledOnce; expect(api.start).to.be.calledOnce; expect(api.start.firstCall).be.calledAfter( - mockBrocWatcher.currentBuild.then.firstCall + mockBrocWatcher.currentBuild.then.firstCall, ); expect(api.start.firstCall).be.calledAfter(startServerStub.firstCall); expect(cleanupBuilderStub).be.calledOnce; @@ -125,7 +125,7 @@ describe('electron command', function () { await expect(command.validateAndRun([])).to.be.fulfilled; expect(api.start).to.be.calledOnce; expect(api.start.firstCall.args[0].dir).to.equal( - path.resolve('electron-app') + path.resolve('electron-app'), ); }); @@ -171,7 +171,7 @@ describe('electron command', function () { '12345', '--live-reload-prefix', 'lrlrlr', - ]) + ]), ).to.be.fulfilled; expect(startServerStub).to.be.calledOnce; expect(startServerStub.firstCall.args[0]).to.deep.equal({ diff --git a/node-tests/integration/commands/make-test.js b/node-tests/integration/commands/make-test.js index 14f431ed..9084e443 100644 --- a/node-tests/integration/commands/make-test.js +++ b/node-tests/integration/commands/make-test.js @@ -43,7 +43,7 @@ describe('electron:make command', function () { await expect(command.validateAndRun([])).to.be.fulfilled; expect(buildTaskStub).to.be.calledOnce; expect(buildTaskStub.firstCall.args[0].outputPath).to.equal( - path.join('electron-app', 'ember-dist') + path.join('electron-app', 'ember-dist'), ); expect(api.make).to.be.calledOnce; expect(api.make.firstCall.args[0]).to.deep.equal({ @@ -121,7 +121,7 @@ describe('electron:make command', function () { 'ia32', '--output-path', 'some-dir', - ]) + ]), ).to.be.fulfilled; expect(api.make).to.be.calledOnce; expect(api.make.firstCall.args[0]).to.deep.equal({ @@ -170,7 +170,7 @@ describe('electron:make command', function () { expect(api.publish).to.be.calledOnce; expect(api.publish.firstCall.args[0].dir).to.equal( - path.resolve('electron-app') + path.resolve('electron-app'), ); expect(api.publish.firstCall.args[0].makeResults).to.equal(makeResults); expect(api.publish.firstCall.args[0].publishTargets).to.be.undefined; @@ -178,7 +178,7 @@ describe('electron:make command', function () { it('can publish and set one override publish-target', async function () { await expect( - command.validateAndRun(['---publish', '--publish-targets=foo']) + command.validateAndRun(['---publish', '--publish-targets=foo']), ).to.be.fulfilled; expect(api.publish).to.be.calledOnce; @@ -187,7 +187,7 @@ describe('electron:make command', function () { it('can publish and set multiple override publish-targets', async function () { await expect( - command.validateAndRun(['---publish', '--publish-targets=foo,bar']) + command.validateAndRun(['---publish', '--publish-targets=foo,bar']), ).to.be.fulfilled; expect(api.publish).to.be.calledOnce; expect(api.publish.firstCall.args[0].publishTargets).to.deep.equal([ diff --git a/node-tests/integration/commands/package-test.js b/node-tests/integration/commands/package-test.js index 52be2c51..ef0f17eb 100644 --- a/node-tests/integration/commands/package-test.js +++ b/node-tests/integration/commands/package-test.js @@ -40,7 +40,7 @@ describe('electron:package command', function () { await expect(command.validateAndRun([])).to.be.fulfilled; expect(buildTaskStub).to.be.calledOnce; expect(buildTaskStub.firstCall.args[0].outputPath).to.equal( - path.join('electron-app', 'ember-dist') + path.join('electron-app', 'ember-dist'), ); expect(api.package).to.be.calledOnce; expect(api.package.firstCall.args[0]).to.deep.equal({ @@ -84,7 +84,7 @@ describe('electron:package command', function () { 'ia32', '--output-path', 'some-dir', - ]) + ]), ).to.be.fulfilled; expect(api.package).to.be.calledOnce; expect(api.package.firstCall.args[0]).to.deep.equal({ diff --git a/node-tests/integration/commands/test-test.js b/node-tests/integration/commands/test-test.js index e27a08fe..3f69b5d9 100644 --- a/node-tests/integration/commands/test-test.js +++ b/node-tests/integration/commands/test-test.js @@ -51,10 +51,10 @@ describe('electron:test command', function () { await expect(command.validateAndRun([])).to.be.fulfilled; expect(baseRunStub).to.be.calledOnce; expect(baseRunStub.firstCall.args[0].outputPath).to.equal( - path.join('electron-app', 'ember-test') + path.join('electron-app', 'ember-test'), ); expect(baseRunStub.firstCall.args[0].configFile).to.equal( - 'testem-electron.js' + 'testem-electron.js', ); }); diff --git a/node-tests/integration/utils/check-dependencies-test.js b/node-tests/integration/utils/check-dependencies-test.js index ff747e16..e5499337 100644 --- a/node-tests/integration/utils/check-dependencies-test.js +++ b/node-tests/integration/utils/check-dependencies-test.js @@ -25,7 +25,7 @@ describe('checkDependencies()', function () { dependencies: { 'fake-package': '^1.0.0', }, - }) + }), ); nodeModulesPath = path.join(electronProjectPath, 'node_modules'); fs.mkdirSync(nodeModulesPath); @@ -42,7 +42,7 @@ describe('checkDependencies()', function () { JSON.stringify({ name: 'fake-package', version: '1.0.2', - }) + }), ); await expect(checkDependencies(project)).to.be.fulfilled; }); diff --git a/node-tests/unit/blueprint-test.js b/node-tests/unit/blueprint-test.js index 57c7e942..71e176f8 100644 --- a/node-tests/unit/blueprint-test.js +++ b/node-tests/unit/blueprint-test.js @@ -39,7 +39,7 @@ describe('blueprint', function () { '..', 'fixtures', 'config-environment', - 'environment.js' + 'environment.js', ); let environmentJs = path.join(process.cwd(), 'config', 'environment.js'); diff --git a/node-tests/unit/handle-file-urls-test.js b/node-tests/unit/handle-file-urls-test.js index c5bf6d20..ee15e582 100644 --- a/node-tests/unit/handle-file-urls-test.js +++ b/node-tests/unit/handle-file-urls-test.js @@ -54,10 +54,10 @@ describe('handle-file-urls', function () { it('handles absolute paths in the Ember app dir', async function () { await expect( - getAssetPath(emberAppDir, pathToFileURL(indexHtmlPath)) + getAssetPath(emberAppDir, pathToFileURL(indexHtmlPath)), ).to.eventually.equal(indexHtmlPath); await expect( - getAssetPath(emberAppDir, pathToFileURL(vendorJsPath)) + getAssetPath(emberAppDir, pathToFileURL(vendorJsPath)), ).to.eventually.equal(vendorJsPath); }); @@ -66,16 +66,16 @@ describe('handle-file-urls', function () { let imageRelPath = `/${path.relative(emberAppDir, imagePath)}`; await expect( - getAssetPath(emberAppDir, pathToFileURL(rootImageRelPath)) + getAssetPath(emberAppDir, pathToFileURL(rootImageRelPath)), ).to.eventually.equal(rootImagePath); await expect( - getAssetPath(emberAppDir, pathToFileURL(imageRelPath)) + getAssetPath(emberAppDir, pathToFileURL(imageRelPath)), ).to.eventually.equal(imagePath); }); it('handles files outside the Ember app dir', async function () { await expect( - getAssetPath(emberAppDir, pathToFileURL(externalFilePath)) + getAssetPath(emberAppDir, pathToFileURL(externalFilePath)), ).to.eventually.equal(externalFilePath); }); }); diff --git a/package.json b/package.json index dda329ab..77b039ab 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ }, "scripts": { "lint": "concurrently \"npm:lint:*(!fix)\" --names \"lint:\"", - "lint:css": "stylelint \"**/*.css\"", + "lint:css": "stylelint \"**/*.scss\"", "lint:css:fix": "concurrently \"npm:lint:css -- --fix\"", "lint:fix": "concurrently \"npm:lint:*:fix\" --names \"fix:\"", "lint:hbs": "ember-template-lint .", @@ -107,18 +107,18 @@ "ember-resolver": "^11.0.0", "ember-source": "~5.2.0", "ember-source-channel-url": "^3.0.0", - "ember-template-lint": "^5.11.0", + "ember-template-lint": "^5.13.0", "ember-try": "^3.0.0", - "eslint": "^8.43.0", - "eslint-config-prettier": "^9.0.0", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", "eslint-plugin-ember": "^11.9.0", "eslint-plugin-n": "^16.0.1", - "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-prettier": "^5.1.2", "eslint-plugin-qunit": "^8.0.0", "fs-extra": "^11.0.0", "loader.js": "^4.7.0", "mocha": "^10.1.0", - "prettier": "^2.8.8", + "prettier": "^3.1.1", "qunit": "^2.19.4", "qunit-dom": "^2.0.0", "release-it": "^15.5.0", @@ -126,9 +126,9 @@ "sass": "^1.55.0", "sinon": "^15.0.1", "sinon-chai": "^3.7.0", - "stylelint": "^15.9.0", - "stylelint-config-standard-scss": "^11.0.0", - "stylelint-prettier": "^3.0.0", + "stylelint": "^16.0.2", + "stylelint-config-standard-scss": "^12.0.0", + "stylelint-prettier": "^5.0.0", "tmp": "^0.2.1", "webpack": "^5.88.1" }, @@ -138,7 +138,7 @@ "ember-source": ">= 4.0.0" }, "engines": { - "node": "16.* || >= 18" + "node": ">= 18" }, "publishConfig": { "registry": "https://registry.npmjs.org" @@ -167,7 +167,7 @@ } }, "volta": { - "node": "16.20.1", + "node": "18.19.0", "yarn": "1.22.19" } } diff --git a/tests/dummy/app/styles/app.scss b/tests/dummy/app/styles/app.scss index c4e927cb..4fe7fade 100644 --- a/tests/dummy/app/styles/app.scss +++ b/tests/dummy/app/styles/app.scss @@ -1,18 +1,18 @@ .old-index-page { - color: #7F8082; - background: #EAECF3; - font-family: 'open Sans', sans-serif; + color: #7f8082; + background: #eaecf3; + font-family: "open Sans", sans-serif; font-size: 14px; *, - *:before, - *:after { + *::before, + *::after { box-sizing: border-box; } code { display: inline; - font-family: 'Fira Mono', monospace; + font-family: "Fira Mono", monospace; font-size: 18px; } @@ -20,7 +20,7 @@ h2, h3 { padding: 0; - color: #494D57; + color: #494d57; font-weight: 400; } @@ -43,6 +43,7 @@ p { margin: 0; + max-width: 800px; } h2 + *, @@ -57,21 +58,13 @@ background: none; } - .top code { - - } - .page p code { padding: 3px 5px; - background: #F0F1F3; - border: 1px solid #CBD5E9; + background: #f0f1f3; + border: 1px solid #cbd5e9; border-radius: 3px; font-size: 13px; - color: #4E669A; - } - - p { - max-width: 800px; + color: #4e669a; } nav { @@ -82,7 +75,7 @@ a:link, a:visited { text-decoration: none; - color: #4E669A; + color: #4e669a; } /* Layout blocks */ @@ -105,12 +98,12 @@ .top { padding-top: 30px; - background: #2A2F3A; + background: #2a2f3a; } .top h2 { margin-top: 0; - color: #7F8082; + color: #7f8082; } .top h2 span { @@ -119,7 +112,7 @@ .top h3 { margin-top: 90px; - color: #FFF; + color: #fff; font-size: 13px; line-height: 20px; text-transform: uppercase; @@ -138,7 +131,7 @@ .top strong { font-weight: 400; - color: #FFF; + color: #fff; } .top .badge { @@ -148,7 +141,7 @@ } .page { - background: #F7F8FA; + background: #f7f8fa; } svg.swoosh { @@ -161,7 +154,7 @@ .end { padding: 120px 140px 10px; - color: #4E669A; + color: #4e669a; } /* Elements */ @@ -184,8 +177,8 @@ .logo h1 { padding: 30px 0 0; - color: #FFF; - font-family: 'Fira Mono', monospace; + color: #fff; + font-family: "Fira Mono", monospace; font-size: 25px; font-weight: 500; line-height: 30px; @@ -198,8 +191,10 @@ .btn { display: inline-block; padding: 10px 30px; - background: #FFF; - box-shadow: 0 2px 15px 0 rgba(42, 46, 58, 0.10), 0 1px 3px 0 rgba(42, 46, 58, 0.10); + background: #fff; + box-shadow: + 0 2px 15px 0 rgb(42 46 58 / 10%), + 0 1px 3px 0 rgb(42 46 58 / 10%); border-radius: 3px; font-size: 16px; line-height: 30px; @@ -213,7 +208,7 @@ .btn, .btn:link, .btn:visited { - color: #4E669A; + color: #4e669a; } .intro { @@ -222,8 +217,7 @@ line-height: 30px; } - - @media (max-width: 640px) { + @media (width <= 640px) { .top, .page, .end { diff --git a/yarn.lock b/yarn.lock index b2dd0b5f..a963c8b5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1129,20 +1129,20 @@ resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== -"@csstools/css-parser-algorithms@^2.3.1": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.1.tgz#ec4fc764ba45d2bb7ee2774667e056aa95003f3a" - integrity sha512-xrvsmVUtefWMWQsGgFffqWSK03pZ1vfDki4IVIIUxxDKnGBzqNgv0A7SB1oXtVNEkcVO8xi1ZrTL29HhSu5kGA== +"@csstools/css-parser-algorithms@^2.3.2": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.4.0.tgz#88c7b62b8e00c391b24c585f9db5a0b62ed665b0" + integrity sha512-/PPLr2g5PAUCKAPEbfyk6/baZA+WJHQtUhPkoCQMpyRE8I0lXrG1QFRN8e5s3ZYxM8d/g5BZc6lH3s8Op7/VEg== -"@csstools/css-tokenizer@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@csstools/css-tokenizer/-/css-tokenizer-2.2.0.tgz#9d70e6dcbe94e44c7400a2929928db35c4de32b5" - integrity sha512-wErmsWCbsmig8sQKkM6pFhr/oPha1bHfvxsUY5CYSQxwyhA9Ulrs8EqCgClhg4Tgg2XapVstGqSVcz0xOYizZA== +"@csstools/css-tokenizer@^2.2.1": + version "2.2.2" + resolved "https://registry.yarnpkg.com/@csstools/css-tokenizer/-/css-tokenizer-2.2.2.tgz#bcd85cef4468c356833b21e96d38b940c9760605" + integrity sha512-wCDUe/MAw7npAHFLyW3QjSyLA66S5QFaV1jIXlNQvdJ8RzXDSgALa49eWcUO6P55ARQaz0TsDdAgdRgkXFYY8g== -"@csstools/media-query-list-parser@^2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.4.tgz#0017f99945f6c16dd81a7aacf6821770933c3a5c" - integrity sha512-V/OUXYX91tAC1CDsiY+HotIcJR+vPtzrX8pCplCpT++i8ThZZsq5F5dzZh/bDM3WUOjrvC1ljed1oSJxMfjqhw== +"@csstools/media-query-list-parser@^2.1.5": + version "2.1.6" + resolved "https://registry.yarnpkg.com/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.6.tgz#e4e9a8a35be7a066836389b03ec19e584bc61af3" + integrity sha512-R6AKl9vaU0It7D7TR2lQn0pre5aQfdeqHRePlaRCY8rHL3l9eVlNRpsEVDKFi/zAjzv68CxH2M5kqbhPFPKjvw== "@csstools/postcss-sass@^5.0.0": version "5.0.1" @@ -2376,6 +2376,18 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== +"@pkgr/utils@^2.4.2": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.4.2.tgz#9e638bbe9a6a6f165580dc943f138fd3309a2cbc" + integrity sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw== + dependencies: + cross-spawn "^7.0.3" + fast-glob "^3.3.0" + is-glob "^4.0.3" + open "^9.1.0" + picocolors "^1.0.0" + tslib "^2.6.0" + "@pnpm/constants@7.1.1": version "7.1.1" resolved "https://registry.yarnpkg.com/@pnpm/constants/-/constants-7.1.1.tgz#3db261425fe15425aa213a2b003f4f60c9378b43" @@ -2848,11 +2860,6 @@ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== -"@types/minimist@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" - integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== - "@types/ms@*": version "0.7.31" resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" @@ -2868,11 +2875,6 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-9.6.61.tgz#29f124eddd41c4c74281bd0b455d689109fc2a2d" integrity sha512-/aKAdg5c8n468cYLy2eQrcR5k6chlbNwZNGUj3TboyPa2hcO2QAJcfymlqPzMiRj8B6nYKXjzQz36minFE0RwQ== -"@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== - "@types/q@^1.5.1": version "1.5.5" resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.5.tgz#75a2a8e7d8ab4b230414505d92335d1dcb53a6df" @@ -3456,11 +3458,6 @@ array.prototype.reduce@^1.0.4: es-array-method-boxes-properly "^1.0.0" is-string "^1.0.7" -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== - asn1@0.1.11: version "0.1.11" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.1.11.tgz#559be18376d08a4ec4dbe80877d27818639b2df7" @@ -5378,17 +5375,7 @@ camelcase-css@^2.0.1: resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== -camelcase-keys@^7.0.0: - version "7.0.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-7.0.2.tgz#d048d8c69448745bb0de6fc4c1c52a30dfbe7252" - integrity sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg== - dependencies: - camelcase "^6.3.0" - map-obj "^4.1.0" - quick-lru "^5.1.1" - type-fest "^1.2.1" - -camelcase@^6.0.0, camelcase@^6.3.0: +camelcase@^6.0.0: version "6.3.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== @@ -6103,15 +6090,15 @@ cosmiconfig@8.1.3: parse-json "^5.0.0" path-type "^4.0.0" -cosmiconfig@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.2.0.tgz#f7d17c56a590856cd1e7cee98734dca272b0d8fd" - integrity sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ== +cosmiconfig@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-9.0.0.tgz#34c3fc58287b915f3ae905ab6dc3de258b55ad9d" + integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== dependencies: - import-fresh "^3.2.1" + env-paths "^2.2.1" + import-fresh "^3.3.0" js-yaml "^4.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" + parse-json "^5.2.0" cross-spawn-windows-exe@^1.1.0, cross-spawn-windows-exe@^1.2.0: version "1.2.0" @@ -6170,10 +6157,10 @@ crypto-random-string@^4.0.0: dependencies: type-fest "^1.0.1" -css-functions-list@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/css-functions-list/-/css-functions-list-3.2.0.tgz#8290b7d064bf483f48d6559c10e98dc4d1ad19ee" - integrity sha512-d/jBMPyYybkkLVypgtGv12R+pIFw4/f/IHtCTxWpZc8ofTYOPigIgmA6vu5rMHartZC+WuXhBUHfnyNUIQSYrg== +css-functions-list@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/css-functions-list/-/css-functions-list-3.2.1.tgz#2eb205d8ce9f9ce74c5c1d7490b66b77c45ce3ea" + integrity sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ== css-loader@^5.2.0: version "5.2.7" @@ -6349,29 +6336,11 @@ debug@^3.1.0, debug@^3.2.7: dependencies: ms "^2.1.1" -decamelize-keys@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" - integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== - dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" - -decamelize@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== - decamelize@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== -decamelize@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-5.0.1.tgz#db11a92e58c741ef339fb0a2868d8a06a9a7b1e9" - integrity sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA== - decimal.js@^10.4.1: version "10.4.2" resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.2.tgz#0341651d1d997d86065a2ce3a441fbd0d8e8b98e" @@ -7856,7 +7825,7 @@ ember-template-imports@^3.4.2: string.prototype.matchall "^4.0.6" validate-peer-dependencies "^1.1.0" -ember-template-lint@^5.11.0: +ember-template-lint@^5.13.0: version "5.13.0" resolved "https://registry.yarnpkg.com/ember-template-lint/-/ember-template-lint-5.13.0.tgz#e9e3864646b9e16ce77a2ec8a91a5204be85d4c4" integrity sha512-AYxz9S9fVZfHPmTsymc7NwsD7FVmDUZyfC+KYpxDlK0wic7JSQx2FNQNqQSBFRLOuzn7VQ0/+1pX6DGqKDGswg== @@ -8039,7 +8008,7 @@ entities@~3.0.1: resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== -env-paths@^2.2.0: +env-paths@^2.2.0, env-paths@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== @@ -8200,10 +8169,10 @@ eslint-compat-utils@^0.1.2: resolved "https://registry.yarnpkg.com/eslint-compat-utils/-/eslint-compat-utils-0.1.2.tgz#f45e3b5ced4c746c127cf724fb074cd4e730d653" integrity sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg== -eslint-config-prettier@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz#eb25485946dd0c66cd216a46232dc05451518d1f" - integrity sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw== +eslint-config-prettier@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" + integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== eslint-formatter-kakoune@^1.0.0: version "1.0.0" @@ -8254,12 +8223,13 @@ eslint-plugin-n@^16.0.1: resolve "^1.22.2" semver "^7.5.3" -eslint-plugin-prettier@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b" - integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== +eslint-plugin-prettier@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.2.tgz#584c94d4bf31329b2d4cbeb10fd600d17d6de742" + integrity sha512-dhlpWc9vOwohcWmClFcA+HjlvUpuyynYs0Rf+L/P6/0iQE6vlHW9l5bkfzN62/Stm9fbq8ku46qzde76T1xlSg== dependencies: prettier-linter-helpers "^1.0.0" + synckit "^0.8.6" eslint-plugin-qunit@^8.0.0: version "8.0.0" @@ -8302,7 +8272,7 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint@^8.43.0: +eslint@^8.56.0: version "8.56.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.56.0.tgz#4957ce8da409dc0809f99ab07a1b94832ab74b15" integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== @@ -8641,7 +8611,7 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== -fast-glob@^3.0.3, fast-glob@^3.2.11, fast-glob@^3.2.7, fast-glob@^3.2.9, fast-glob@^3.3.0, fast-glob@^3.3.1: +fast-glob@^3.0.3, fast-glob@^3.2.11, fast-glob@^3.2.7, fast-glob@^3.2.9, fast-glob@^3.3.0: version "3.3.1" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== @@ -8652,6 +8622,17 @@ fast-glob@^3.0.3, fast-glob@^3.2.11, fast-glob@^3.2.7, fast-glob@^3.2.9, fast-gl merge2 "^1.3.0" micromatch "^4.0.4" +fast-glob@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -8753,6 +8734,13 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" +file-entry-cache@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-7.0.2.tgz#2d61bb70ba89b9548e3035b7c9173fe91deafff0" + integrity sha512-TfW7/1iI4Cy7Y8L6iqNdZQVvdXn0f8B4QcIXmkIbtTIe/Okm/nSlHb4IwGzRVOd3WfSieCgvf5cMzEfySAIl0g== + dependencies: + flat-cache "^3.2.0" + filename-reserved-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz#abf73dfab735d045440abfea2d91f389ebbfa229" @@ -8967,6 +8955,15 @@ flat-cache@^3.0.4: flatted "^3.1.0" rimraf "^3.0.2" +flat-cache@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== + dependencies: + flatted "^3.2.9" + keyv "^4.5.3" + rimraf "^3.0.2" + flat@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" @@ -8977,6 +8974,11 @@ flatted@^3.1.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== +flatted@^3.2.9: + version "3.2.9" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" + integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== + flora-colossus@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/flora-colossus/-/flora-colossus-2.0.0.tgz#af1e85db0a8256ef05f3fb531c1235236c97220a" @@ -9700,11 +9702,6 @@ handlebars@^4.0.4, handlebars@^4.3.1, handlebars@^4.7.3: optionalDependencies: uglify-js "^3.1.4" -hard-rejection@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" - integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== - has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -9894,7 +9891,7 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: +hosted-git-info@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== @@ -10098,12 +10095,17 @@ ignore@^5.1.1, ignore@^5.2.0, ignore@^5.2.4: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== +ignore@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" + integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== + immutable@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.1.0.tgz#f795787f0db780183307b9eb2091fcac1f6fafef" integrity sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ== -import-fresh@^3.2.1: +import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -10131,11 +10133,6 @@ indent-string@^4.0.0: resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== -indent-string@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-5.0.0.tgz#4fd2980fccaf8622d14c64d694f4cf33c81951a5" - integrity sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg== - infer-owner@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" @@ -10383,7 +10380,7 @@ is-ci@3.0.1, is-ci@^3.0.1: dependencies: ci-info "^3.2.0" -is-core-module@^2.12.0, is-core-module@^2.12.1, is-core-module@^2.5.0: +is-core-module@^2.12.0, is-core-module@^2.12.1: version "2.12.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd" integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg== @@ -10569,11 +10566,6 @@ is-plain-obj@2.1.0, is-plain-obj@^2.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== -is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== - is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -11002,6 +10994,13 @@ keyv@^4.5.2: dependencies: json-buffer "3.0.1" +keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -11021,7 +11020,7 @@ kind-of@^5.0.0: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== -kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: +kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -11031,10 +11030,10 @@ kleur@^4.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== -known-css-properties@^0.28.0: - version "0.28.0" - resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.28.0.tgz#8a8be010f368b3036fe6ab0ef4bbbed972bd6274" - integrity sha512-9pSL5XB4J+ifHP0e0jmmC98OGC1nL8/JjS+fi6mnTlIf//yt/MfVLtKg7S6nCtj/8KTcWX7nRlY0XywoYY1ISQ== +known-css-properties@^0.29.0: + version "0.29.0" + resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.29.0.tgz#e8ba024fb03886f23cb882e806929f32d814158f" + integrity sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ== language-subtag-registry@^0.3.20: version "0.3.22" @@ -11652,16 +11651,6 @@ map-cache@^0.2.2: resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== -map-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== - -map-obj@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - map-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" @@ -11811,23 +11800,10 @@ memory-streams@^0.1.3: dependencies: readable-stream "~1.0.2" -meow@^10.1.5: - version "10.1.5" - resolved "https://registry.yarnpkg.com/meow/-/meow-10.1.5.tgz#be52a1d87b5f5698602b0f32875ee5940904aa7f" - integrity sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw== - dependencies: - "@types/minimist" "^1.2.2" - camelcase-keys "^7.0.0" - decamelize "^5.0.0" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^3.0.2" - read-pkg-up "^8.0.0" - redent "^4.0.0" - trim-newlines "^4.0.2" - type-fest "^1.2.2" - yargs-parser "^20.2.9" +meow@^12.1.1: + version "12.1.1" + resolved "https://registry.yarnpkg.com/meow/-/meow-12.1.1.tgz#e558dddbab12477b69b2e9a2728c327f191bace6" + integrity sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw== merge-descriptors@1.0.1: version "1.0.1" @@ -12153,11 +12129,6 @@ mimic-response@^4.0.0: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-4.0.0.tgz#35468b19e7c75d10f5165ea25e75a5ceea7cf70f" integrity sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== -min-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - mini-css-extract-plugin@^2.5.2: version "2.6.1" resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz#9a1251d15f2035c342d99a468ab9da7a0451b71e" @@ -12207,15 +12178,6 @@ minimatch@^9.0.3: dependencies: brace-expansion "^2.0.1" -minimist-options@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" - integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - kind-of "^6.0.3" - minimist@>=1.2.5, minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: version "1.2.7" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" @@ -12426,6 +12388,11 @@ nanoid@^3.3.6: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -12636,16 +12603,6 @@ normalize-package-data@^2.3.2: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-package-data@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" - integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== - dependencies: - hosted-git-info "^4.0.1" - is-core-module "^2.5.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" - normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" @@ -12889,7 +12846,7 @@ onetime@^6.0.0: dependencies: mimic-fn "^4.0.0" -open@9.1.0: +open@9.1.0, open@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/open/-/open-9.1.0.tgz#684934359c90ad25742f5a26151970ff8c6c80b6" integrity sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg== @@ -13527,16 +13484,21 @@ postcss-resolve-nested-selector@^0.1.1: resolved "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e" integrity sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw== -postcss-safe-parser@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz#bb4c29894171a94bc5c996b9a30317ef402adaa1" - integrity sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ== +postcss-safe-parser@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-7.0.0.tgz#6273d4e5149e286db5a45bc6cf6eafcad464014a" + integrity sha512-ovehqRNVCpuFzbXoTb4qLtyzK3xn3t/CUBxOs8LsnQjQrShaB4lKiHoVqY8ANaC0hBMHq5QVWk77rwGklFUDrg== -postcss-scss@^4.0.0, postcss-scss@^4.0.7: +postcss-scss@^4.0.0: version "4.0.7" resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-4.0.7.tgz#cfe5507aaff81b3d8992039ad015da4bd3dccd2f" integrity sha512-xPv2GseoyXPa58Nro7M73ZntttusuCmZdeOojUFR5PZDz2BR62vfYx1w9TyOnp1+nYFowgOMipsCBhxzVkAEPw== +postcss-scss@^4.0.9: + version "4.0.9" + resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-4.0.9.tgz#a03c773cd4c9623cb04ce142a52afcec74806685" + integrity sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A== + postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.13, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: version "6.0.13" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b" @@ -13581,7 +13543,7 @@ postcss@^7.0.11, postcss@^7.0.18, postcss@^7.0.32: picocolors "^0.2.1" source-map "^0.6.1" -postcss@^8.1.4, postcss@^8.2.15, postcss@^8.3.11, postcss@^8.3.6, postcss@^8.4.27: +postcss@^8.1.4, postcss@^8.2.15, postcss@^8.3.11, postcss@^8.3.6: version "8.4.28" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.28.tgz#c6cc681ed00109072816e1557f889ef51cf950a5" integrity sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw== @@ -13590,6 +13552,15 @@ postcss@^8.1.4, postcss@^8.2.15, postcss@^8.3.11, postcss@^8.3.6, postcss@^8.4.2 picocolors "^1.0.0" source-map-js "^1.0.2" +postcss@^8.4.32: + version "8.4.32" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.32.tgz#1dac6ac51ab19adb21b8b34fd2d93a86440ef6c9" + integrity sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.0.2" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -13612,11 +13583,16 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^2.5.1, prettier@^2.8.8: +prettier@^2.5.1: version "2.8.8" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== +prettier@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.1.1.tgz#6ba9f23165d690b6cbdaa88cb0807278f7019848" + integrity sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw== + pretty-hrtime@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" @@ -13913,15 +13889,6 @@ read-pkg-up@^2.0.0: find-up "^2.0.0" read-pkg "^2.0.0" -read-pkg-up@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-8.0.0.tgz#72f595b65e66110f43b052dd9af4de6b10534670" - integrity sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ== - dependencies: - find-up "^5.0.0" - read-pkg "^6.0.0" - type-fest "^1.0.1" - read-pkg@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" @@ -13931,16 +13898,6 @@ read-pkg@^2.0.0: normalize-package-data "^2.3.2" path-type "^2.0.0" -read-pkg@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-6.0.0.tgz#a67a7d6a1c2b0c3cd6aa2ea521f40c458a4a504c" - integrity sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^3.0.2" - parse-json "^5.2.0" - type-fest "^1.0.1" - "readable-stream@2 || 3", readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" @@ -13991,14 +13948,6 @@ rechoir@^0.8.0: dependencies: resolve "^1.20.0" -redent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-4.0.0.tgz#0c0ba7caabb24257ab3bb7a4fd95dd1d5c5681f9" - integrity sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag== - dependencies: - indent-string "^5.0.0" - strip-indent "^4.0.0" - redeyed@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-1.0.1.tgz#e96c193b40c0816b00aec842698e61185e55498a" @@ -15409,6 +15358,13 @@ strip-ansi@^7.0.1: dependencies: ansi-regex "^6.0.1" +strip-ansi@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -15434,13 +15390,6 @@ strip-final-newline@^3.0.0: resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== -strip-indent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-4.0.0.tgz#b41379433dd06f5eae805e21d631e07ee670d853" - integrity sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA== - dependencies: - min-indent "^1.0.1" - strip-json-comments@3.1.1, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" @@ -15471,103 +15420,97 @@ style-loader@^2.0.0: loader-utils "^2.0.0" schema-utils "^3.0.0" -style-search@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" - integrity sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg== - styled_string@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/styled_string/-/styled_string-0.0.1.tgz#d22782bd81295459bc4f1df18c4bad8e94dd124a" integrity sha512-DU2KZiB6VbPkO2tGSqQ9n96ZstUPjW7X4sGO6V2m1myIQluX0p1Ol8BrA/l6/EesqhMqXOIXs3cJNOy1UuU2BA== -stylelint-config-recommended-scss@^13.0.0: - version "13.0.0" - resolved "https://registry.yarnpkg.com/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-13.0.0.tgz#dd8c319e15a6412262cd8554e4aad9bfba1bbb11" - integrity sha512-7AmMIsHTsuwUQm7I+DD5BGeIgCvqYZ4BpeYJJpb1cUXQwrJAKjA+GBotFZgUEGP8lAM+wmd91ovzOi8xfAyWEw== +stylelint-config-recommended-scss@^14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-14.0.0.tgz#d3482c9817dada80b5ec01685b38fc8af8f7263f" + integrity sha512-HDvpoOAQ1RpF+sPbDOT2Q2/YrBDEJDnUymmVmZ7mMCeNiFSdhRdyGEimBkz06wsN+HaFwUh249gDR+I9JR7Onw== dependencies: - postcss-scss "^4.0.7" - stylelint-config-recommended "^13.0.0" - stylelint-scss "^5.1.0" + postcss-scss "^4.0.9" + stylelint-config-recommended "^14.0.0" + stylelint-scss "^6.0.0" -stylelint-config-recommended@^13.0.0: - version "13.0.0" - resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-13.0.0.tgz#c48a358cc46b629ea01f22db60b351f703e00597" - integrity sha512-EH+yRj6h3GAe/fRiyaoO2F9l9Tgg50AOFhaszyfov9v6ayXJ1IkSHwTxd7lB48FmOeSGDPLjatjO11fJpmarkQ== +stylelint-config-recommended@^14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-14.0.0.tgz#b395c7014838d2aaca1755eebd914d0bb5274994" + integrity sha512-jSkx290CglS8StmrLp2TxAppIajzIBZKYm3IxT89Kg6fGlxbPiTiyH9PS5YUuVAFwaJLl1ikiXX0QWjI0jmgZQ== -stylelint-config-standard-scss@^11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/stylelint-config-standard-scss/-/stylelint-config-standard-scss-11.0.0.tgz#98332b68a9c98b6fce54c7698741e103719942b5" - integrity sha512-fGE79NBOLg09a9afqGH/guJulRULCaQWWv4cv1v2bMX92B+fGb0y56WqIguwvFcliPmmUXiAhKrrnXilIeXoHA== +stylelint-config-standard-scss@^12.0.0: + version "12.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-standard-scss/-/stylelint-config-standard-scss-12.0.0.tgz#fbd7881080eb3585ca63c1ce6791a5ff42c94489" + integrity sha512-ATh3EcEOLZq0iwlFaBdIsSavrla0lNtJ7mO7hdE7DgVT6imozRggFSqd4cFcjzVnOLKv/uJT63MmqA1acIflbw== dependencies: - stylelint-config-recommended-scss "^13.0.0" - stylelint-config-standard "^34.0.0" + stylelint-config-recommended-scss "^14.0.0" + stylelint-config-standard "^35.0.0" -stylelint-config-standard@^34.0.0: - version "34.0.0" - resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-34.0.0.tgz#309f3c48118a02aae262230c174282e40e766cf4" - integrity sha512-u0VSZnVyW9VSryBG2LSO+OQTjN7zF9XJaAJRX/4EwkmU0R2jYwmBSN10acqZisDitS0CLiEiGjX7+Hrq8TAhfQ== +stylelint-config-standard@^35.0.0: + version "35.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-35.0.0.tgz#f4574670affb72b6c99d2b5ca5ad010a11ee8d19" + integrity sha512-JyQrNZk2BZwVKFauGGxW2U6RuhIfQ4XoHHo+rBzMHcAkLnwI/knpszwXjzxiMgSfcxbZBckM7Vq4LHoANTR85g== dependencies: - stylelint-config-recommended "^13.0.0" + stylelint-config-recommended "^14.0.0" -stylelint-prettier@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/stylelint-prettier/-/stylelint-prettier-3.0.0.tgz#57028b99866ed4c3ae045ddd891bf9a77d274726" - integrity sha512-kIks1xw6np0zElokMT2kP6ar3S4MBoj6vUtPJuND1pFELMpZxVS/0uHPR4HDAVn0WAD3I5oF0IA3qBFxBpMkLg== +stylelint-prettier@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/stylelint-prettier/-/stylelint-prettier-5.0.0.tgz#515a87800228f6bea603966462f7119755ee9b82" + integrity sha512-RHfSlRJIsaVg5Br94gZVdWlz/rBTyQzZflNE6dXvSxt/GthWMY3gEHsWZEBaVGg7GM+XrtVSp4RznFlB7i0oyw== dependencies: prettier-linter-helpers "^1.0.0" -stylelint-scss@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-5.1.0.tgz#dd318bc5c65f7a11f3ecacc7b6e8b67e7f2f1df1" - integrity sha512-E+KlQFXv1Euha43qw3q+wKBSli557wxbbo6/39DWhRNXlUa9Cz+FYrcgz+PT6ag0l6UisCYjAGCNhoSl4FcwlA== +stylelint-scss@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-6.0.0.tgz#bf6be6798d71c898484b7e97007d5ed69a89308d" + integrity sha512-N1xV/Ef5PNRQQt9E45unzGvBUN1KZxCI8B4FgN/pMfmyRYbZGVN4y9qWlvOMdScU17c8VVCnjIHTVn38Bb6qSA== dependencies: + known-css-properties "^0.29.0" postcss-media-query-parser "^0.2.3" postcss-resolve-nested-selector "^0.1.1" postcss-selector-parser "^6.0.13" postcss-value-parser "^4.2.0" -stylelint@^15.9.0: - version "15.10.3" - resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-15.10.3.tgz#995e4512fdad450fb83e13f3472001f6edb6469c" - integrity sha512-aBQMMxYvFzJJwkmg+BUUg3YfPyeuCuKo2f+LOw7yYbU8AZMblibwzp9OV4srHVeQldxvSFdz0/Xu8blq2AesiA== +stylelint@^16.0.2: + version "16.0.2" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-16.0.2.tgz#fe49e9ff7460d9ae98501e9116884238432ea31e" + integrity sha512-SxA/rg3VWxdoHZlW0nmVueWO1E7TAKW4W6mmA3iTxxEF9bIeQdFZu2oiBlQYyNe1pGnOamOqo2XYnI7cs5Bgow== dependencies: - "@csstools/css-parser-algorithms" "^2.3.1" - "@csstools/css-tokenizer" "^2.2.0" - "@csstools/media-query-list-parser" "^2.1.4" + "@csstools/css-parser-algorithms" "^2.3.2" + "@csstools/css-tokenizer" "^2.2.1" + "@csstools/media-query-list-parser" "^2.1.5" "@csstools/selector-specificity" "^3.0.0" balanced-match "^2.0.0" colord "^2.9.3" - cosmiconfig "^8.2.0" - css-functions-list "^3.2.0" + cosmiconfig "^9.0.0" + css-functions-list "^3.2.1" css-tree "^2.3.1" debug "^4.3.4" - fast-glob "^3.3.1" + fast-glob "^3.3.2" fastest-levenshtein "^1.0.16" - file-entry-cache "^6.0.1" + file-entry-cache "^7.0.2" global-modules "^2.0.0" globby "^11.1.0" globjoin "^0.1.4" html-tags "^3.3.1" - ignore "^5.2.4" - import-lazy "^4.0.0" + ignore "^5.3.0" imurmurhash "^0.1.4" is-plain-object "^5.0.0" - known-css-properties "^0.28.0" + known-css-properties "^0.29.0" mathml-tag-names "^2.1.3" - meow "^10.1.5" + meow "^12.1.1" micromatch "^4.0.5" normalize-path "^3.0.0" picocolors "^1.0.0" - postcss "^8.4.27" + postcss "^8.4.32" postcss-resolve-nested-selector "^0.1.1" - postcss-safe-parser "^6.0.0" + postcss-safe-parser "^7.0.0" postcss-selector-parser "^6.0.13" postcss-value-parser "^4.2.0" resolve-from "^5.0.0" string-width "^4.2.3" - strip-ansi "^6.0.1" - style-search "^0.1.0" + strip-ansi "^7.1.0" supports-hyperlinks "^3.0.0" svg-tags "^1.0.0" table "^6.8.1" @@ -15687,6 +15630,14 @@ sync-disk-cache@^2.0.0: rimraf "^3.0.0" username-sync "^1.0.2" +synckit@^0.8.6: + version "0.8.6" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.6.tgz#b69b7fbce3917c2673cbdc0d87fb324db4a5b409" + integrity sha512-laHF2savN6sMeHCjLRkheIU4wo3Zg9Ln5YOjOo7sZ5dVQW8yF5pPE5SIw1dsPhq3TRp1jisKRCdPhfs/1WMqDA== + dependencies: + "@pkgr/utils" "^2.4.2" + tslib "^2.6.2" + table@^6.8.1: version "6.8.1" resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" @@ -16045,11 +15996,6 @@ tree-sync@^2.0.0, tree-sync@^2.1.0: quick-temp "^0.1.5" walk-sync "^0.3.3" -trim-newlines@^4.0.2: - version "4.1.1" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-4.1.1.tgz#28c88deb50ed10c7ba6dc2474421904a00139125" - integrity sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ== - trim-repeated@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" @@ -16077,6 +16023,11 @@ tslib@^2.4.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.1.tgz#fd8c9a0ff42590b25703c0acb3de3d3f4ede0410" integrity sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig== +tslib@^2.6.0, tslib@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + tunnel-agent@~0.4.0: version "0.4.3" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" @@ -16121,7 +16072,7 @@ type-fest@^0.21.3: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== -type-fest@^1.0.1, type-fest@^1.2.1, type-fest@^1.2.2: +type-fest@^1.0.1: version "1.4.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== @@ -16895,7 +16846,7 @@ yargs-parser@21.1.1, yargs-parser@^21.1.1: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== -yargs-parser@^20.2.2, yargs-parser@^20.2.9: +yargs-parser@^20.2.2: version "20.2.9" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==