From e8ced075c70295177abe037fed63be98d8b08da5 Mon Sep 17 00:00:00 2001 From: Ido Rosenthal Date: Sun, 27 Mar 2022 15:17:34 +0300 Subject: [PATCH 01/33] chore: update min node version to 14.14.0 - package.json min node version 14.14.0 - update pacakge.json `@types/node: 14` - github test workflow remove 12 and add 18 - replaced deprecated node fs `rmdirSync` with `rmSync` --- .github/workflows/tests.yml | 2 +- package-lock.json | 31 ++++++++----------- package.json | 4 +-- packages/build-tools/package.json | 2 +- packages/cli/package.json | 2 +- .../cli/test/watch-single-project.spec.ts | 6 ++-- packages/code-formatter/package.json | 2 +- packages/core-test-kit/package.json | 2 +- packages/core/package.json | 2 +- packages/create-stylable-app/package.json | 2 +- packages/custom-value/package.json | 2 +- packages/dom-test-kit/package.json | 2 +- packages/e2e-test-kit/package.json | 2 +- packages/jest/package.json | 2 +- packages/language-service/package.json | 2 +- packages/module-utils/package.json | 2 +- packages/node/package.json | 2 +- packages/optimizer/package.json | 2 +- packages/rollup-plugin/package.json | 2 +- packages/runtime/package.json | 2 +- packages/schema-extract/package.json | 2 +- packages/uni-driver/package.json | 2 +- packages/webpack-extensions/package.json | 2 +- packages/webpack-plugin/package.json | 2 +- 24 files changed, 39 insertions(+), 44 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 075c01944..5449201ef 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -6,7 +6,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - node-version: [16, 14, 12] + node-version: [18, 16, 14] os: [ubuntu-latest, windows-latest, macOS-latest] steps: - uses: actions/checkout@v2 diff --git a/package-lock.json b/package-lock.json index 51d8e3a1a..00a69fb33 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,7 +35,7 @@ "@types/memory-fs": "^0.3.3", "@types/mime": "^2.0.3", "@types/mocha": "^9.1.0", - "@types/node": "12", + "@types/node": "14", "@types/postcss-safe-parser": "^5.0.1", "@types/react": "^17.0.42", "@types/react-dom": "^17.0.14", @@ -79,7 +79,7 @@ "yargs": "^17.3.1" }, "engines": { - "node": ">=12" + "node": ">=14.14.0" } }, "node_modules/@eslint/eslintrc": { @@ -612,9 +612,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "12.20.47", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.47.tgz", - "integrity": "sha512-BzcaRsnFuznzOItW1WpQrDHM7plAa7GIDMZ6b5pnMbkqEtM/6WCOhvZar39oeMQP79gwvFUWjjptE7/KGcNqFg==" + "version": "14.18.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.12.tgz", + "integrity": "sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==" }, "node_modules/@types/parse5": { "version": "6.0.3", @@ -7249,6 +7249,7 @@ "version": "17.3.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==", + "dev": true, "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -7290,6 +7291,7 @@ "version": "21.0.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "dev": true, "engines": { "node": ">=12" } @@ -8361,9 +8363,9 @@ "dev": true }, "@types/node": { - "version": "12.20.47", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.47.tgz", - "integrity": "sha512-BzcaRsnFuznzOItW1WpQrDHM7plAa7GIDMZ6b5pnMbkqEtM/6WCOhvZar39oeMQP79gwvFUWjjptE7/KGcNqFg==" + "version": "14.18.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.12.tgz", + "integrity": "sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==" }, "@types/parse5": { "version": "6.0.3", @@ -9349,15 +9351,6 @@ } } }, - "create-temp-directory": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-temp-directory/-/create-temp-directory-1.1.1.tgz", - "integrity": "sha512-bNtvi7dSehzBHbwB1Irugv4/5NdX5cOpEIiH+O09KjBbn9VXtrlFdNesJsUkpypCanifSRMYzlRQXh8IAeiAGA==", - "dev": true, - "requires": { - "rimraf": "^3.0.0" - } - }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -13261,6 +13254,7 @@ "version": "17.3.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==", + "dev": true, "requires": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -13274,7 +13268,8 @@ "yargs-parser": { "version": "21.0.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", - "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==" + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "dev": true } } }, diff --git a/package.json b/package.json index 1b16a5457..7752f2dd1 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "@types/memory-fs": "^0.3.3", "@types/mime": "^2.0.3", "@types/mocha": "^9.1.0", - "@types/node": "12", + "@types/node": "14", "@types/postcss-safe-parser": "^5.0.1", "@types/react": "^17.0.42", "@types/react-dom": "^17.0.14", @@ -85,7 +85,7 @@ "yargs": "^17.3.1" }, "engines": { - "node": ">=12" + "node": ">=14.14.0" }, "repository": "git@github.com:wix/stylable.git", "author": "Wix.com", diff --git a/packages/build-tools/package.json b/packages/build-tools/package.json index 420957c50..de6b8839e 100644 --- a/packages/build-tools/package.json +++ b/packages/build-tools/package.json @@ -17,7 +17,7 @@ "!*/tsconfig.{json,tsbuildinfo}" ], "engines": { - "node": ">=12" + "node": ">=14.14.0" }, "publishConfig": { "access": "public" diff --git a/packages/cli/package.json b/packages/cli/package.json index 3f117ccd2..c90f42e23 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -33,7 +33,7 @@ "!*/tsconfig.{json,tsbuildinfo}" ], "engines": { - "node": ">=12" + "node": ">=14.14.0" }, "publishConfig": { "access": "public" diff --git a/packages/cli/test/watch-single-project.spec.ts b/packages/cli/test/watch-single-project.spec.ts index a12771c16..f58da5cb7 100644 --- a/packages/cli/test/watch-single-project.spec.ts +++ b/packages/cli/test/watch-single-project.spec.ts @@ -10,7 +10,7 @@ import { ITempDirectory, } from '@stylable/e2e-test-kit'; import { expect } from 'chai'; -import { realpathSync, renameSync, rmdirSync, unlinkSync, promises } from 'fs'; +import { realpathSync, renameSync, rmSync, unlinkSync, promises } from 'fs'; import { join, sep } from 'path'; const { writeFile } = promises; @@ -208,7 +208,7 @@ describe('Stylable Cli Watch - Single project', function () { { msg: buildMessages.START_WATCHING(), action() { - rmdirSync(join(tempDir.path, 'styles'), { recursive: true }); + rmSync(join(tempDir.path, 'styles'), { recursive: true }); }, }, { @@ -237,7 +237,7 @@ describe('Stylable Cli Watch - Single project', function () { { msg: buildMessages.START_WATCHING(), action() { - rmdirSync(join(tempDir.path, 'styles'), { recursive: true }); + rmSync(join(tempDir.path, 'styles'), { recursive: true }); }, }, { diff --git a/packages/code-formatter/package.json b/packages/code-formatter/package.json index 610bfe001..ecb46cae9 100644 --- a/packages/code-formatter/package.json +++ b/packages/code-formatter/package.json @@ -17,7 +17,7 @@ "!*/tsconfig.{json,tsbuildinfo}" ], "engines": { - "node": ">=12" + "node": ">=14.14.0" }, "publishConfig": { "access": "public" diff --git a/packages/core-test-kit/package.json b/packages/core-test-kit/package.json index 9670b6e70..106c6ba5b 100644 --- a/packages/core-test-kit/package.json +++ b/packages/core-test-kit/package.json @@ -20,7 +20,7 @@ "!*/tsconfig.{json,tsbuildinfo}" ], "engines": { - "node": ">=12" + "node": ">=14.14.0" }, "publishConfig": { "access": "public" diff --git a/packages/core/package.json b/packages/core/package.json index 4e28fdd31..7d93f3e2e 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -34,7 +34,7 @@ "!*/tsconfig.{json,tsbuildinfo}" ], "engines": { - "node": ">=12" + "node": ">=14.14.0" }, "publishConfig": { "access": "public" diff --git a/packages/create-stylable-app/package.json b/packages/create-stylable-app/package.json index 4474fca16..06c909f1d 100644 --- a/packages/create-stylable-app/package.json +++ b/packages/create-stylable-app/package.json @@ -27,7 +27,7 @@ "application" ], "engines": { - "node": ">=12" + "node": ">=14.14.0" }, "publishConfig": { "access": "public" diff --git a/packages/custom-value/package.json b/packages/custom-value/package.json index 2d559e810..3f4194054 100644 --- a/packages/custom-value/package.json +++ b/packages/custom-value/package.json @@ -16,7 +16,7 @@ "!*/tsconfig.{json,tsbuildinfo}" ], "engines": { - "node": ">=12" + "node": ">=14.14.0" }, "publishConfig": { "access": "public" diff --git a/packages/dom-test-kit/package.json b/packages/dom-test-kit/package.json index 10a884873..2e5694a9a 100644 --- a/packages/dom-test-kit/package.json +++ b/packages/dom-test-kit/package.json @@ -19,7 +19,7 @@ "!*/tsconfig.{json,tsbuildinfo}" ], "engines": { - "node": ">=12" + "node": ">=14.14.0" }, "publishConfig": { "access": "public" diff --git a/packages/e2e-test-kit/package.json b/packages/e2e-test-kit/package.json index 28e850a8d..0d27237f3 100644 --- a/packages/e2e-test-kit/package.json +++ b/packages/e2e-test-kit/package.json @@ -21,7 +21,7 @@ "!*/tsconfig.{json,tsbuildinfo}" ], "engines": { - "node": ">=12" + "node": ">=14.14.0" }, "publishConfig": { "access": "public" diff --git a/packages/jest/package.json b/packages/jest/package.json index 09176d024..d9e7f4a71 100644 --- a/packages/jest/package.json +++ b/packages/jest/package.json @@ -19,7 +19,7 @@ "!*/tsconfig.{json,tsbuildinfo}" ], "engines": { - "node": ">=12" + "node": ">=14.14.0" }, "publishConfig": { "access": "public" diff --git a/packages/language-service/package.json b/packages/language-service/package.json index d178149a7..840b05972 100644 --- a/packages/language-service/package.json +++ b/packages/language-service/package.json @@ -31,7 +31,7 @@ "!*/tsconfig.{json,tsbuildinfo}" ], "engines": { - "node": ">=12" + "node": ">=14.14.0" }, "publishConfig": { "access": "public" diff --git a/packages/module-utils/package.json b/packages/module-utils/package.json index 26995221c..c85aeb0e0 100644 --- a/packages/module-utils/package.json +++ b/packages/module-utils/package.json @@ -18,7 +18,7 @@ "!*/tsconfig.{json,tsbuildinfo}" ], "engines": { - "node": ">=12" + "node": ">=14.14.0" }, "publishConfig": { "access": "public" diff --git a/packages/node/package.json b/packages/node/package.json index d91a7127a..56df0777f 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -19,7 +19,7 @@ "!*/tsconfig.{json,tsbuildinfo}" ], "engines": { - "node": ">=12" + "node": ">=14.14.0" }, "publishConfig": { "access": "public" diff --git a/packages/optimizer/package.json b/packages/optimizer/package.json index 8b5cf2429..e6765c5ac 100644 --- a/packages/optimizer/package.json +++ b/packages/optimizer/package.json @@ -20,7 +20,7 @@ "!*/tsconfig.{json,tsbuildinfo}" ], "engines": { - "node": ">=12" + "node": ">=14.14.0" }, "publishConfig": { "access": "public" diff --git a/packages/rollup-plugin/package.json b/packages/rollup-plugin/package.json index 5132038df..d657d1da5 100644 --- a/packages/rollup-plugin/package.json +++ b/packages/rollup-plugin/package.json @@ -26,7 +26,7 @@ "!*/tsconfig.{json,tsbuildinfo}" ], "engines": { - "node": ">=12" + "node": ">=14.14.0" }, "publishConfig": { "access": "public" diff --git a/packages/runtime/package.json b/packages/runtime/package.json index 2e3fdba86..56cfded3a 100644 --- a/packages/runtime/package.json +++ b/packages/runtime/package.json @@ -17,7 +17,7 @@ "!*/tsconfig.{json,tsbuildinfo}" ], "engines": { - "node": ">=12" + "node": ">=14.14.0" }, "publishConfig": { "access": "public" diff --git a/packages/schema-extract/package.json b/packages/schema-extract/package.json index aa2cde4d9..d238decc9 100644 --- a/packages/schema-extract/package.json +++ b/packages/schema-extract/package.json @@ -17,7 +17,7 @@ "!*/tsconfig.{json,tsbuildinfo}" ], "engines": { - "node": ">=12" + "node": ">=14.14.0" }, "publishConfig": { "access": "public" diff --git a/packages/uni-driver/package.json b/packages/uni-driver/package.json index b71387bf4..18d64d5d0 100644 --- a/packages/uni-driver/package.json +++ b/packages/uni-driver/package.json @@ -14,7 +14,7 @@ "!*/tsconfig.{json,tsbuildinfo}" ], "engines": { - "node": ">=12" + "node": ">=14.14.0" }, "publishConfig": { "access": "public" diff --git a/packages/webpack-extensions/package.json b/packages/webpack-extensions/package.json index 8a2dfc887..7ab42ff53 100644 --- a/packages/webpack-extensions/package.json +++ b/packages/webpack-extensions/package.json @@ -23,7 +23,7 @@ "!*/tsconfig.{json,tsbuildinfo}" ], "engines": { - "node": ">=12" + "node": ">=14.14.0" }, "publishConfig": { "access": "public" diff --git a/packages/webpack-plugin/package.json b/packages/webpack-plugin/package.json index b556e16e2..930d0a10e 100644 --- a/packages/webpack-plugin/package.json +++ b/packages/webpack-plugin/package.json @@ -27,7 +27,7 @@ "!*/tsconfig.{json,tsbuildinfo}" ], "engines": { - "node": ">=12" + "node": ">=14.14.0" }, "publishConfig": { "access": "public" From 77dd1aac4c073de21fd8408468887ef21bb3d3ca Mon Sep 17 00:00:00 2001 From: Ido Rosenthal Date: Sun, 27 Mar 2022 15:29:25 +0300 Subject: [PATCH 02/33] ci: remove node 18 from CI tests - seems `actions/setup-node@v3` doesn't support 18 yet --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 5449201ef..fdf58978c 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -6,7 +6,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - node-version: [18, 16, 14] + node-version: [16, 14] os: [ubuntu-latest, windows-latest, macOS-latest] steps: - uses: actions/checkout@v2 From 95e82f839c59f5cd5a2abe9262a36721e71e8a3a Mon Sep 17 00:00:00 2001 From: Ido Rosenthal Date: Sun, 27 Mar 2022 16:20:47 +0300 Subject: [PATCH 03/33] chore(core): remove deprecated meta fields - symbols - import and custom-property definitions --- packages/core/src/features/css-class.ts | 5 -- .../core/src/features/css-custom-property.ts | 5 -- packages/core/src/features/css-keyframes.ts | 7 -- packages/core/src/features/css-type.ts | 5 -- packages/core/src/features/st-import.ts | 4 -- packages/core/src/features/st-symbol.ts | 7 -- packages/core/src/features/st-var.ts | 5 -- packages/core/src/stylable-meta.ts | 65 +------------------ packages/core/test/features/css-class.spec.ts | 15 ----- .../test/features/css-custom-property.spec.ts | 9 --- .../core/test/features/css-keyframes.spec.ts | 6 -- packages/core/test/features/css-type.spec.ts | 10 --- packages/core/test/features/st-import.spec.ts | 11 ---- packages/core/test/features/st-symbol.spec.ts | 9 --- packages/core/test/features/st-var.spec.ts | 9 --- 15 files changed, 1 insertion(+), 171 deletions(-) diff --git a/packages/core/src/features/css-class.ts b/packages/core/src/features/css-class.ts index e5a05f400..e5b313b22 100644 --- a/packages/core/src/features/css-class.ts +++ b/packages/core/src/features/css-class.ts @@ -12,7 +12,6 @@ import { convertToSelector, convertToClass, stringifySelector } from '../helpers import type { StylableMeta } from '../stylable-meta'; import { valueMapping } from '../stylable-value-parsers'; import { validateRuleStateDefinition } from '../helpers/custom-state'; -import { ignoreDeprecationWarn } from '../helpers/deprecation'; import type { ImmutableClass, Class, @@ -174,10 +173,6 @@ export function addClass(context: FeatureContext, name: string, rule?: postcss.R node: rule, safeRedeclare: !!alias, }); - // deprecated - ignoreDeprecationWarn(() => { - context.meta.classes[name] = STSymbol.get(context.meta, name, `class`)!; - }); } return STSymbol.get(context.meta, name, `class`)!; } diff --git a/packages/core/src/features/css-custom-property.ts b/packages/core/src/features/css-custom-property.ts index 94447a69d..05cced400 100644 --- a/packages/core/src/features/css-custom-property.ts +++ b/packages/core/src/features/css-custom-property.ts @@ -7,7 +7,6 @@ import { generateScopedCSSVar, atPropertyValidationWarnings, } from '../helpers/css-custom-property'; -import { ignoreDeprecationWarn } from '../helpers/deprecation'; import { validateAllowedNodesUntil, stringifyFunction } from '../helpers/value'; import { globalValue, GLOBAL_FUNC } from '../helpers/global'; import { plugableRecord } from '../helpers/plugable-record'; @@ -223,10 +222,6 @@ function addCSSProperty({ safeRedeclare: !final || !!alias, node, }); - // deprecated - ignoreDeprecationWarn( - () => (context.meta.cssVars[name] = STSymbol.get(context.meta, name, `cssVar`)!) - ); } function analyzeDeclValueVarCalls(context: FeatureContext, decl: postcss.Declaration) { diff --git a/packages/core/src/features/css-keyframes.ts b/packages/core/src/features/css-keyframes.ts index 0e9069ed8..8e807ee38 100644 --- a/packages/core/src/features/css-keyframes.ts +++ b/packages/core/src/features/css-keyframes.ts @@ -4,7 +4,6 @@ import * as STImport from './st-import'; import type { Imported } from './st-import'; import type { StylableMeta } from '../stylable-meta'; import { plugableRecord } from '../helpers/plugable-record'; -import { ignoreDeprecationWarn } from '../helpers/deprecation'; import { isInConditionalGroup } from '../helpers/rule'; import { namespace } from '../helpers/namespace'; import { globalValue, GLOBAL_FUNC } from '../helpers/global'; @@ -107,8 +106,6 @@ export const hooks = createFeature<{ // save keyframes declarations const { statements: keyframesAsts } = plugableRecord.getUnsafe(context.meta.data, dataKey); keyframesAsts.push(atRule); - // deprecated - ignoreDeprecationWarn(() => context.meta.keyframes.push(atRule)); // validate name if (!name) { context.diagnostics.warn(atRule, diagnostics.MISSING_KEYFRAMES_NAME()); @@ -247,10 +244,6 @@ function addKeyframes({ }, safeRedeclare, }); - // deprecated - ignoreDeprecationWarn(() => { - context.meta.mappedKeyframes[name] = STSymbol.get(context.meta, name, `keyframes`)!; - }); } function addKeyframesDeclaration( diff --git a/packages/core/src/features/css-type.ts b/packages/core/src/features/css-type.ts index 2646933c6..198f55693 100644 --- a/packages/core/src/features/css-type.ts +++ b/packages/core/src/features/css-type.ts @@ -7,7 +7,6 @@ import * as CSSClass from './css-class'; import type { StylableMeta } from '../stylable-meta'; import { isCompRoot, stringifySelector } from '../helpers/selector'; import { getOriginDefinition } from '../helpers/resolve'; -import { ignoreDeprecationWarn } from '../helpers/deprecation'; import type { Type, ImmutableType, ImmutableSelectorNode } from '@tokey/css-selector-parser'; import type * as postcss from 'postcss'; @@ -99,10 +98,6 @@ export function addType(context: FeatureContext, name: string, rule?: postcss.Ru node: rule, safeRedeclare: !!alias, }); - // deprecated - ignoreDeprecationWarn(() => { - context.meta.elements[name] = STSymbol.get(context.meta, name, `element`)!; - }); } return STSymbol.get(context.meta, name, `element`)!; } diff --git a/packages/core/src/features/st-import.ts b/packages/core/src/features/st-import.ts index 737debd0c..a9f9a59aa 100644 --- a/packages/core/src/features/st-import.ts +++ b/packages/core/src/features/st-import.ts @@ -3,7 +3,6 @@ import { generalDiagnostics } from './diagnostics'; import * as STSymbol from './st-symbol'; import type { StylableSymbol } from './st-symbol'; import { plugableRecord } from '../helpers/plugable-record'; -import { ignoreDeprecationWarn } from '../helpers/deprecation'; import { parseStImport, parsePseudoImport, parseImportMessages } from '../helpers/import'; import { isCSSVarProp } from '../helpers/css-custom-property'; import type { StylableMeta } from '../stylable-meta'; @@ -90,9 +89,6 @@ export const hooks = createFeature<{ ? parseStImport(node, dirContext, context.diagnostics) : parsePseudoImport(node, dirContext, context.diagnostics); imports.push(parsedImport); - ignoreDeprecationWarn(() => { - context.meta.imports.push(parsedImport); - }); addImportSymbols(parsedImport, context, dirContext); } }, diff --git a/packages/core/src/features/st-symbol.ts b/packages/core/src/features/st-symbol.ts index 365bfbd3a..ed8ffe26f 100644 --- a/packages/core/src/features/st-symbol.ts +++ b/packages/core/src/features/st-symbol.ts @@ -6,7 +6,6 @@ import type { ElementSymbol } from './css-type'; import type { CSSVarSymbol } from './css-custom-property'; import type { KeyframesSymbol } from './css-keyframes'; import { plugableRecord } from '../helpers/plugable-record'; -import { ignoreDeprecationWarn } from '../helpers/deprecation'; import type { StylableMeta } from '../stylable-meta'; import type * as postcss from 'postcss'; @@ -152,12 +151,6 @@ export function addSymbol({ byNS[nsName].push({ name, symbol, ast: node, safeRedeclare }); byNSFlat[nsName][name] = symbol; typeTable[name] = symbol; - // deprecated - if (nsName === `main`) { - ignoreDeprecationWarn(() => { - context.meta.mappedSymbols[name] = symbol; - }); - } } export function reportRedeclare(context: FeatureContext) { diff --git a/packages/core/src/features/st-var.ts b/packages/core/src/features/st-var.ts index 8fd073c85..4dc3fefce 100644 --- a/packages/core/src/features/st-var.ts +++ b/packages/core/src/features/st-var.ts @@ -9,7 +9,6 @@ import { isChildOfAtRule } from '../helpers/rule'; import { walkSelector } from '../helpers/selector'; import { stringifyFunction, getStringValue, strategies } from '../helpers/value'; import { stripQuotation } from '../helpers/string'; -import { ignoreDeprecationWarn } from '../helpers/deprecation'; import type { ImmutablePseudoClass, PseudoClass } from '@tokey/css-selector-parser'; import type * as postcss from 'postcss'; import { processDeclarationFunctions } from '../process-declaration-functions'; @@ -203,10 +202,6 @@ function collectVarSymbols(context: FeatureContext, rule: postcss.Rule) { }, node: decl, }); - // deprecated - ignoreDeprecationWarn(() => { - context.meta.vars.push(STSymbol.get(context.meta, name, `var`)!); - }); }); } diff --git a/packages/core/src/stylable-meta.ts b/packages/core/src/stylable-meta.ts index 67b51c7eb..344c0bfd3 100644 --- a/packages/core/src/stylable-meta.ts +++ b/packages/core/src/stylable-meta.ts @@ -1,15 +1,5 @@ import type * as postcss from 'postcss'; -import type { - CSSVarSymbol, - ClassSymbol, - ElementSymbol, - Imported, - KeyframesSymbol, - RefedMixin, - StylableSymbol, - VarSymbol, - FeatureContext, -} from './features'; +import type { RefedMixin, FeatureContext } from './features'; import type { Diagnostics } from './diagnostics'; import type { SelectorList } from '@tokey/css-selector-parser'; import type { PlugableRecord } from './helpers/plugable-record'; @@ -46,22 +36,6 @@ export class StylableMeta { public root: 'root' = RESERVED_ROOT_NAME; public source: string = getSourcePath(this.ast, this.diagnostics); public namespace = ''; - /** @deprecated use meta.getImportStatements() */ - public imports: Imported[] = []; - /** @deprecated use meta.getAllStVars() or meta.getStVar(name) */ - public vars: VarSymbol[] = []; - /** @deprecated */ - public cssVars: Record = {}; - /** @deprecated */ - public keyframes: postcss.AtRule[] = []; - /** @deprecated use meta.getAllClasses() or meta.getClass(name) */ - public classes: Record = {}; - /** @deprecated use meta.getAllTypeElements() or meta.getTypeElement(name) */ - public elements: Record = {}; - /** @deprecated use meta.getAllSymbols() or meta.getSymbol(name) */ - public mappedSymbols: Record = {}; - /** @deprecated */ - public mappedKeyframes: Record = {}; public customSelectors: Record = {}; public urls: string[] = []; public transformDiagnostics: Diagnostics | null = null; @@ -112,40 +86,3 @@ export class StylableMeta { return STSymbol.getAllByType(this, `var`); } } -setFieldForDeprecation(StylableMeta.prototype, `elements`, { - objectType: `stylableMeta`, - valueOnThis: true, - pleaseUse: `meta.getAllTypeElements() or meta.getTypeElement(name)`, -}); -setFieldForDeprecation(StylableMeta.prototype, `classes`, { - objectType: `stylableMeta`, - valueOnThis: true, - pleaseUse: `meta.getAllClasses() or meta.getClass(name)`, -}); -setFieldForDeprecation(StylableMeta.prototype, `mappedSymbols`, { - objectType: `stylableMeta`, - valueOnThis: true, - pleaseUse: `meta.getAllSymbols() or meta.getSymbol(name)`, -}); -setFieldForDeprecation(StylableMeta.prototype, `imports`, { - objectType: `stylableMeta`, - valueOnThis: true, - pleaseUse: `meta.getImportStatements()`, -}); -setFieldForDeprecation(StylableMeta.prototype, `keyframes`, { - objectType: `stylableMeta`, - valueOnThis: true, -}); -setFieldForDeprecation(StylableMeta.prototype, `mappedKeyframes`, { - objectType: `stylableMeta`, - valueOnThis: true, -}); -setFieldForDeprecation(StylableMeta.prototype, `cssVars`, { - objectType: `stylableMeta`, - valueOnThis: true, -}); -setFieldForDeprecation(StylableMeta.prototype, `vars`, { - objectType: `stylableMeta`, - valueOnThis: true, - pleaseUse: `meta.getAllStVars() or meta.getStVar(name)`, -}); diff --git a/packages/core/test/features/css-class.spec.ts b/packages/core/test/features/css-class.spec.ts index 6782e0183..ce3136e0a 100644 --- a/packages/core/test/features/css-class.spec.ts +++ b/packages/core/test/features/css-class.spec.ts @@ -1,5 +1,4 @@ import { STImport, CSSClass, STSymbol } from '@stylable/core/dist/features'; -import { ignoreDeprecationWarn } from '@stylable/core/dist/helpers/deprecation'; import { testStylableCore, shouldReportNoDiagnostics } from '@stylable/core-test-kit'; import { expect } from 'chai'; @@ -116,20 +115,6 @@ describe(`features/css-class`, () => { expect(exports.classes.e, `e JS export`).to.eql(`entry__e`); expect(exports.classes.f, `f JS export`).to.eql(`entry__f`); expect(exports.classes.g, `g JS export`).to.eql(`entry__g`); - - // deprecation - ignoreDeprecationWarn(() => { - expect(meta.classes, `deprecated 'meta.classes'`).to.eql({ - root: CSSClass.get(meta, `root`), - a: CSSClass.get(meta, `a`), - b: CSSClass.get(meta, `b`), - c: CSSClass.get(meta, `c`), - d: CSSClass.get(meta, `d`), - e: CSSClass.get(meta, `e`), - f: CSSClass.get(meta, `f`), - g: CSSClass.get(meta, `g`), - }); - }); }); it(`should override with -st-global value`, () => { const { sheets } = testStylableCore(` diff --git a/packages/core/test/features/css-custom-property.spec.ts b/packages/core/test/features/css-custom-property.spec.ts index 5b73752d1..df27b9a31 100644 --- a/packages/core/test/features/css-custom-property.spec.ts +++ b/packages/core/test/features/css-custom-property.spec.ts @@ -1,5 +1,4 @@ import { STImport, CSSCustomProperty, STSymbol } from '@stylable/core/dist/features'; -import { ignoreDeprecationWarn } from '@stylable/core/dist/helpers/deprecation'; import { generateScopedCSSVar } from '@stylable/core/dist/helpers/css-custom-property'; import { testStylableCore, shouldReportNoDiagnostics } from '@stylable/core-test-kit'; import { expect } from 'chai'; @@ -37,14 +36,6 @@ describe(`features/css-custom-property`, () => { // JS exports expect(exports.vars.propA, `propA JS export`).to.eql(`--entry-propA`); expect(exports.vars.propB, `propB JS export`).to.eql(`--entry-propB`); - - // deprecation - ignoreDeprecationWarn(() => { - expect(meta.cssVars, `deprecated 'meta.cssVars'`).to.eql({ - '--propA': CSSCustomProperty.get(meta, `--propA`), - '--propB': CSSCustomProperty.get(meta, `--propB`), - }); - }); }); it(`should process css declaration value var()`, () => { const { sheets } = testStylableCore(` diff --git a/packages/core/test/features/css-keyframes.spec.ts b/packages/core/test/features/css-keyframes.spec.ts index b3311b444..4e2f98ae7 100644 --- a/packages/core/test/features/css-keyframes.spec.ts +++ b/packages/core/test/features/css-keyframes.spec.ts @@ -1,5 +1,4 @@ import { STSymbol, CSSKeyframes } from '@stylable/core/dist/features'; -import { ignoreDeprecationWarn } from '@stylable/core/dist/helpers/deprecation'; import { testStylableCore, shouldReportNoDiagnostics } from '@stylable/core-test-kit'; import chai, { expect } from 'chai'; import chaiSubset from 'chai-subset'; @@ -54,11 +53,6 @@ describe(`features/css-keyframes`, () => { CSSKeyframes.getKeyframesStatements(meta), `CSSKeyframes.getKeyframesStatements(meta)` ).to.containSubset([meta.ast.nodes[1], meta.ast.nodes[3]]); - - // deprecation - ignoreDeprecationWarn(() => { - expect(meta.keyframes).to.eql(CSSKeyframes.getKeyframesStatements(meta)); - }); }); it(`should namespace "animation" and "animation-name" declarations`, () => { const { sheets } = testStylableCore(` diff --git a/packages/core/test/features/css-type.spec.ts b/packages/core/test/features/css-type.spec.ts index 2f75f3175..dfd45c35a 100644 --- a/packages/core/test/features/css-type.spec.ts +++ b/packages/core/test/features/css-type.spec.ts @@ -1,5 +1,4 @@ import { STImport, CSSType, STSymbol } from '@stylable/core/dist/features'; -import { ignoreDeprecationWarn } from '@stylable/core/dist/helpers/deprecation'; import { testStylableCore, shouldReportNoDiagnostics } from '@stylable/core-test-kit'; import { expect } from 'chai'; @@ -35,15 +34,6 @@ describe(`features/css-type`, () => { CSSType.get(meta, `Btn`) ); expect(meta.getAllTypeElements(), `meta.getAllTypeElements`).to.eql(CSSType.getAll(meta)); - - // deprecation - expect( - ignoreDeprecationWarn(() => meta.elements), - `deprecated 'meta.elements'` - ).to.eql({ - Btn: CSSType.get(meta, `Btn`), - Gallery: CSSType.get(meta, `Gallery`), - }); }); it(`should report invalid cases`, () => { testStylableCore(` diff --git a/packages/core/test/features/st-import.spec.ts b/packages/core/test/features/st-import.spec.ts index 18f3509a5..b919de8a7 100644 --- a/packages/core/test/features/st-import.spec.ts +++ b/packages/core/test/features/st-import.spec.ts @@ -1,5 +1,4 @@ import { STImport, STSymbol } from '@stylable/core/dist/features'; -import { ignoreDeprecationWarn } from '@stylable/core/dist/helpers/deprecation'; import { testStylableCore, shouldReportNoDiagnostics } from '@stylable/core-test-kit'; import chai, { expect } from 'chai'; import chaiSubset from 'chai-subset'; @@ -59,11 +58,6 @@ describe(`features/st-import`, () => { expect(meta.getImportStatements(), `meta.getImportStatements()`).to.eql( STImport.getImportStatements(meta) ); - // deprecation - expect( - ignoreDeprecationWarn(() => meta.imports), - `deprecated 'meta.imports'` - ).to.eql(meta.getImportStatements()); }); it(`should process imported symbols`, () => { const { sheets } = testStylableCore({ @@ -295,11 +289,6 @@ describe(`features/st-import`, () => { expect(meta.getImportStatements(), `meta.getImportStatements()`).to.eql( STImport.getImportStatements(meta) ); - // deprecation - expect( - ignoreDeprecationWarn(() => meta.imports), - `deprecated 'meta.imports'` - ).to.eql(meta.getImportStatements()); }); it(`should process imported symbols`, () => { const { sheets } = testStylableCore({ diff --git a/packages/core/test/features/st-symbol.spec.ts b/packages/core/test/features/st-symbol.spec.ts index f500e8090..1ffa50ad4 100644 --- a/packages/core/test/features/st-symbol.spec.ts +++ b/packages/core/test/features/st-symbol.spec.ts @@ -8,7 +8,6 @@ import { ImportSymbol, KeyframesSymbol, } from '@stylable/core/dist/features'; -import { ignoreDeprecationWarn } from '@stylable/core/dist/helpers/deprecation'; import { Diagnostics } from '@stylable/core/dist/diagnostics'; import { testStylableCore } from '@stylable/core-test-kit'; import * as postcss from 'postcss'; @@ -29,14 +28,6 @@ describe(`features/st-symbol`, () => { expect(meta.getSymbol(`a`), `meta.getSymbol`).to.equal(STSymbol.get(meta, `a`)); expectType>(true); expectType>(false); - // deprecation - expect( - ignoreDeprecationWarn(() => meta.mappedSymbols), - `deprecated 'meta.mappedSymbols'` - ).to.eql({ - root: STSymbol.get(meta, `root`), - a: STSymbol.get(meta, `a`), - }); }); it(`should keep track of symbols by type`, () => { const { sheets } = testStylableCore(``); diff --git a/packages/core/test/features/st-var.spec.ts b/packages/core/test/features/st-var.spec.ts index 99df56364..08815fba4 100644 --- a/packages/core/test/features/st-var.spec.ts +++ b/packages/core/test/features/st-var.spec.ts @@ -2,7 +2,6 @@ import chaiSubset from 'chai-subset'; import { STSymbol, STVar } from '@stylable/core/dist/features'; import { functionWarnings } from '@stylable/core/dist/functions'; import { stTypes, box } from '@stylable/core/dist/custom-values'; -import { ignoreDeprecationWarn } from '@stylable/core/dist/helpers/deprecation'; import { testStylableCore, shouldReportNoDiagnostics } from '@stylable/core-test-kit'; import chai, { expect } from 'chai'; import postcssValueParser from 'postcss-value-parser'; @@ -44,14 +43,6 @@ describe(`features/st-var`, () => { // JS exports expect(exports.stVars.varA, `varA JS export`).to.eql(`a-val`); expect(exports.stVars.varB, `varB JS export`).to.eql(`b-val`); - - // deprecation - ignoreDeprecationWarn(() => { - expect(meta.vars, `deprecated 'meta.vars'`).to.eql([ - STVar.get(meta, `varA`), - STVar.get(meta, `varB`), - ]); - }); }); it(`should process multiple :vars definitions`, () => { const { sheets } = testStylableCore(` From 00724963af3efea7d201eced09f5a41b7774714f Mon Sep 17 00:00:00 2001 From: Ido Rosenthal Date: Sun, 27 Mar 2022 17:58:55 +0300 Subject: [PATCH 04/33] refactor(core)!: change Stylable to accept named config - remove static `Stylable.create()` - refactor new Stylable to accept StylableConfig instead of argument list - remove StylableConfig deprecated delimiter and diagnostics --- packages/cli/src/build-stylable.ts | 2 +- packages/cli/test/build.spec.ts | 46 ++++++++-- packages/cli/test/generate-index.spec.ts | 48 ++++++++-- .../core-test-kit/src/generate-test-util.ts | 2 +- .../core-test-kit/src/test-stylable-core.ts | 2 +- packages/core/src/stylable.ts | 89 +++++++++---------- packages/e2e-test-kit/src/dts-kit.ts | 2 +- .../src/stylable-es-lint.ts | 2 +- .../src/cached-stylable-factory.ts | 2 +- .../test/lib/diagnostics.spec.ts | 2 +- .../test/test-kit/diagnostics-setup.ts | 2 +- .../test/test-kit/stylable-fixtures-lsp.ts | 2 +- .../test/test-kit/stylable-in-memory-lsp.ts | 2 +- packages/module-utils/src/module-factory.ts | 2 +- packages/rollup-plugin/src/index.ts | 2 +- .../src/stylable-manifest-plugin.ts | 2 +- .../src/stylable-metadata-loader.ts | 2 +- packages/webpack-plugin/src/plugin.ts | 2 +- 18 files changed, 132 insertions(+), 81 deletions(-) diff --git a/packages/cli/src/build-stylable.ts b/packages/cli/src/build-stylable.ts index b358d014c..26a85b8cb 100644 --- a/packages/cli/src/build-stylable.ts +++ b/packages/cli/src/build-stylable.ts @@ -68,7 +68,7 @@ export async function buildStylable( log('[Project]', projectRoot, buildOptions); - const stylable = Stylable.create({ + const stylable = new Stylable({ fileSystem, requireModule, projectRoot, diff --git a/packages/cli/test/build.spec.ts b/packages/cli/test/build.spec.ts index 32e4b8fe3..97a85dddb 100644 --- a/packages/cli/test/build.spec.ts +++ b/packages/cli/test/build.spec.ts @@ -29,7 +29,11 @@ describe('build stand alone', () => { `, }); - const stylable = new Stylable('/', fs, () => ({})); + const stylable = new Stylable({ + projectRoot: '/', + fileSystem: fs, + requireModule: () => ({}), + }); await build( { @@ -79,7 +83,7 @@ describe('build stand alone', () => { `, }); - const stylable = Stylable.create({ + const stylable = new Stylable({ projectRoot: '/', fileSystem: fs, resolveNamespace(n, s) { @@ -159,7 +163,11 @@ describe('build stand alone', () => { `, }); - const stylable = new Stylable('/', fs, () => ({})); + const stylable = new Stylable({ + projectRoot: '/', + fileSystem: fs, + requireModule: () => ({}), + }); const diagnosticsManager = new DiagnosticsManager(); await build( @@ -203,7 +211,11 @@ describe('build stand alone', () => { `, }); - const stylable = new Stylable('/', fs, () => ({})); + const stylable = new Stylable({ + projectRoot: '/', + fileSystem: fs, + requireModule: () => ({}), + }); await build( { @@ -238,7 +250,7 @@ describe('build stand alone', () => { `, }); - const stylable = Stylable.create({ + const stylable = new Stylable({ projectRoot: '/', fileSystem: fs, resolveNamespace() { @@ -278,7 +290,11 @@ describe('build stand alone', () => { `, }); - const stylable = new Stylable('/', fs, () => ({})); + const stylable = new Stylable({ + projectRoot: '/', + fileSystem: fs, + requireModule: () => ({}), + }); await build( { @@ -311,7 +327,11 @@ describe('build stand alone', () => { .part {}`, }); - const stylable = new Stylable('/', fs, () => ({})); + const stylable = new Stylable({ + projectRoot: '/', + fileSystem: fs, + requireModule: () => ({}), + }); await build( { @@ -349,7 +369,11 @@ describe('build stand alone', () => { .enum { -st-states: z(enum(on, off, default)); }`, }); - const stylable = new Stylable('/', fs, () => ({})); + const stylable = new Stylable({ + projectRoot: '/', + fileSystem: fs, + requireModule: () => ({}), + }); await build( { @@ -401,7 +425,11 @@ describe('build stand alone', () => { .enum { -st-states: z(enum(on, off, default)); }`, }); - const stylable = new Stylable('/', fs, () => ({})); + const stylable = new Stylable({ + projectRoot: '/', + fileSystem: fs, + requireModule: () => ({}), + }); await build( { diff --git a/packages/cli/test/generate-index.spec.ts b/packages/cli/test/generate-index.spec.ts index 068068fd3..9a8b16278 100644 --- a/packages/cli/test/generate-index.spec.ts +++ b/packages/cli/test/generate-index.spec.ts @@ -19,7 +19,11 @@ describe('build index', () => { `, }); - const stylable = new Stylable('/', fs, () => ({})); + const stylable = new Stylable({ + projectRoot: '/', + fileSystem: fs, + requireModule: () => ({}), + }); await build( { @@ -57,7 +61,11 @@ describe('build index', () => { `, }); - const stylable = new Stylable('/', fs, () => ({})); + const stylable = new Stylable({ + projectRoot: '/', + fileSystem: fs, + requireModule: () => ({}), + }); await build( { @@ -95,7 +103,11 @@ describe('build index', () => { `, }); - const stylable = new Stylable('/', fs, () => ({})); + const stylable = new Stylable({ + projectRoot: '/', + fileSystem: fs, + requireModule: () => ({}), + }); await build( { @@ -137,7 +149,11 @@ describe('build index', () => { }, }); - const stylable = new Stylable('/', fs, () => ({})); + const stylable = new Stylable({ + projectRoot: '/', + fileSystem: fs, + requireModule: () => ({}), + }); await build( { @@ -178,7 +194,11 @@ describe('build index', () => { `, }); - const stylable = new Stylable('/', fs, () => ({})); + const stylable = new Stylable({ + projectRoot: '/', + fileSystem: fs, + requireModule: () => ({}), + }); await build( { @@ -219,7 +239,11 @@ describe('build index', () => { `, }); - const stylable = new Stylable('/', fs, () => ({})); + const stylable = new Stylable({ + projectRoot: '/', + fileSystem: fs, + requireModule: () => ({}), + }); await build( { @@ -259,7 +283,11 @@ describe('build index', () => { `, }); - const stylable = new Stylable('/', fs, () => ({})); + const stylable = new Stylable({ + projectRoot: '/', + fileSystem: fs, + requireModule: () => ({}), + }); await build( { outDir: './some-dir/other-dir/', @@ -291,7 +319,11 @@ describe('build index', () => { `, }); - const stylable = new Stylable('/', fs, () => ({})); + const stylable = new Stylable({ + projectRoot: '/', + fileSystem: fs, + requireModule: () => ({}), + }); const diagnosticsManager = new DiagnosticsManager(); await build( diff --git a/packages/core-test-kit/src/generate-test-util.ts b/packages/core-test-kit/src/generate-test-util.ts index 303a9e027..1fb0925c9 100644 --- a/packages/core-test-kit/src/generate-test-util.ts +++ b/packages/core-test-kit/src/generate-test-util.ts @@ -133,7 +133,7 @@ export function generateStylableEnvironment( ) { const fs = createMemoryFs(content); - const stylable = Stylable.create({ + const stylable = new Stylable({ fileSystem: fs, projectRoot: '/', resolveNamespace: (ns) => ns, diff --git a/packages/core-test-kit/src/test-stylable-core.ts b/packages/core-test-kit/src/test-stylable-core.ts index 046fbb75a..d7b2cd9f5 100644 --- a/packages/core-test-kit/src/test-stylable-core.ts +++ b/packages/core-test-kit/src/test-stylable-core.ts @@ -33,7 +33,7 @@ export function testStylableCore( const fs = options.stylableConfig?.filesystem || createMemoryFs(typeof input === `string` ? { '/entry.st.css': input } : input); - const stylable = Stylable.create({ + const stylable = new Stylable({ fileSystem: fs, projectRoot: '/', resolveNamespace: (ns) => ns, diff --git a/packages/core/src/stylable.ts b/packages/core/src/stylable.ts index 5a630ab43..acbbc85e2 100644 --- a/packages/core/src/stylable.ts +++ b/packages/core/src/stylable.ts @@ -20,11 +20,7 @@ export interface StylableConfig { projectRoot: string; fileSystem: MinimalFS; requireModule?: (path: string) => any; - /** @deprecated */ - delimiter?: string; onProcess?: (meta: StylableMeta, path: string) => StylableMeta; - /** @deprecated */ - diagnostics?: Diagnostics; hooks?: TransformHooks; resolveOptions?: { alias?: any; @@ -48,56 +44,51 @@ interface InitCacheParams { export type CreateProcessorOptions = Pick; export class Stylable { - public static create(config: StylableConfig) { - return new this( - config.projectRoot, - config.fileSystem, - (id) => { - if (config.requireModule) { - return config.requireModule(id); - } - throw new Error('Javascript files are not supported without requireModule options'); - }, - config.delimiter, - config.onProcess, - config.diagnostics, - config.hooks, - config.resolveOptions, - config.optimizer, - config.mode, - config.resolveNamespace, - config.resolveModule, - config.cssParser, - config.resolverCache, - config.fileProcessorCache - ); - } public fileProcessor: FileProcessor; public resolver: StylableResolver; public stVar = new STVar.StylablePublicApi(this); - constructor( - public projectRoot: string, - protected fileSystem: MinimalFS, - protected requireModule: (path: string) => any, - public delimiter: string = '__', - protected onProcess?: (meta: StylableMeta, path: string) => StylableMeta, - protected diagnostics = new Diagnostics(), - protected hooks: TransformHooks = {}, - protected resolveOptions: any = {}, - public optimizer?: IStylableOptimizer, - protected mode: 'production' | 'development' = 'production', - public resolveNamespace?: typeof processNamespace, - public resolvePath: ModuleResolver = createDefaultResolver(fileSystem, resolveOptions), - protected cssParser: CssParser = cssParse, - protected resolverCache?: StylableResolverCache, - // This cache is fragile and should be fresh if onProcess/resolveNamespace/cssParser is different - protected fileProcessorCache?: Record> - ) { + // + public projectRoot: string; + protected fileSystem: MinimalFS; + protected requireModule: (path: string) => any; + public delimiter = '__'; // ToDo: remove + protected onProcess?: (meta: StylableMeta, path: string) => StylableMeta; + protected diagnostics = new Diagnostics(); + protected hooks: TransformHooks; + protected resolveOptions: any; + public optimizer?: IStylableOptimizer; + protected mode: 'production' | 'development'; + public resolveNamespace?: typeof processNamespace; + public resolvePath: ModuleResolver; + protected cssParser: CssParser; + protected resolverCache?: StylableResolverCache; + // This cache is fragile and should be fresh if onProcess/resolveNamespace/cssParser is different + protected fileProcessorCache?: Record>; + constructor(config: StylableConfig) { + this.projectRoot = config.projectRoot; + this.fileSystem = config.fileSystem; + this.requireModule = + config.requireModule || + (() => { + throw new Error('Javascript files are not supported without requireModule options'); + }); + this.onProcess = config.onProcess; + this.hooks = config.hooks || {}; + this.resolveOptions = config.resolveOptions || {}; + this.optimizer = config.optimizer; + this.mode = config.mode || `production`; + this.resolveNamespace = config.resolveNamespace; + this.resolvePath = + config.resolveModule || createDefaultResolver(this.fileSystem, this.resolveOptions); + this.cssParser = config.cssParser || cssParse; + this.resolverCache = config.resolverCache; + this.fileProcessorCache = config.fileProcessorCache; + this.fileProcessor = createStylableFileProcessor({ - fileSystem, - onProcess, + fileSystem: this.fileSystem, + onProcess: this.onProcess, resolveNamespace: this.resolveNamespace, - cssParser, + cssParser: this.cssParser, cache: this.fileProcessorCache, }); diff --git a/packages/e2e-test-kit/src/dts-kit.ts b/packages/e2e-test-kit/src/dts-kit.ts index 2fdc7788c..7bc1f3fa0 100644 --- a/packages/e2e-test-kit/src/dts-kit.ts +++ b/packages/e2e-test-kit/src/dts-kit.ts @@ -21,7 +21,7 @@ export class DTSKit { }; this.tmp = createTempDirectorySync('dts-gen'); - this.stylable = Stylable.create({ + this.stylable = new Stylable({ projectRoot: this.tmp.path, fileSystem: fs, resolveNamespace(ns) { diff --git a/packages/eslint-plugin-stylable/src/stylable-es-lint.ts b/packages/eslint-plugin-stylable/src/stylable-es-lint.ts index 87d482e0f..c361fd38e 100644 --- a/packages/eslint-plugin-stylable/src/stylable-es-lint.ts +++ b/packages/eslint-plugin-stylable/src/stylable-es-lint.ts @@ -29,7 +29,7 @@ export default createRule({ const [{ exposeDiagnosticsReports, resolveOptions }] = options as Options; const moduleResolver = createDefaultResolver(fs, resolveOptions); - const stylable = Stylable.create({ + const stylable = new Stylable({ fileSystem: fs, projectRoot: process.cwd(), resolveModule: moduleResolver, diff --git a/packages/experimental-loader/src/cached-stylable-factory.ts b/packages/experimental-loader/src/cached-stylable-factory.ts index 04de102e4..e29ef9442 100644 --- a/packages/experimental-loader/src/cached-stylable-factory.ts +++ b/packages/experimental-loader/src/cached-stylable-factory.ts @@ -20,7 +20,7 @@ export function getStylable(compiler: Compiler, initialConfig: StylableConfig): return require(id); }; - stylable = Stylable.create({ ...initialConfig, requireModule, resolverCache: new Map() }); + stylable = new Stylable({ ...initialConfig, requireModule, resolverCache: new Map() }); compiler.hooks.done.tap('StylableLoader stylable.initCache', () => { stylable!.initCache(); for (const id of requireModuleCache) { diff --git a/packages/language-service/test/lib/diagnostics.spec.ts b/packages/language-service/test/lib/diagnostics.spec.ts index 5e7304c96..b610cf43e 100644 --- a/packages/language-service/test/lib/diagnostics.spec.ts +++ b/packages/language-service/test/lib/diagnostics.spec.ts @@ -36,7 +36,7 @@ describe('diagnostics', () => { const stylableLSP = new StylableLanguageService({ fs, - stylable: Stylable.create({ + stylable: new Stylable({ fileSystem: fs, requireModule: require, projectRoot: '/', diff --git a/packages/language-service/test/test-kit/diagnostics-setup.ts b/packages/language-service/test/test-kit/diagnostics-setup.ts index 9173cc9b7..2a731b13f 100644 --- a/packages/language-service/test/test-kit/diagnostics-setup.ts +++ b/packages/language-service/test/test-kit/diagnostics-setup.ts @@ -7,7 +7,7 @@ export function createDiagnostics(files: { [filePath: string]: string }, filePat const stylableLSP = new StylableLanguageService({ fs, - stylable: Stylable.create({ + stylable: new Stylable({ fileSystem: fs, requireModule: require, projectRoot: '/', diff --git a/packages/language-service/test/test-kit/stylable-fixtures-lsp.ts b/packages/language-service/test/test-kit/stylable-fixtures-lsp.ts index 6314a3179..7f592fa6b 100644 --- a/packages/language-service/test/test-kit/stylable-fixtures-lsp.ts +++ b/packages/language-service/test/test-kit/stylable-fixtures-lsp.ts @@ -16,7 +16,7 @@ function requireModule(request: string) { export const stylableLSP = new StylableLanguageService({ fs, - stylable: Stylable.create({ + stylable: new Stylable({ fileSystem: fs, requireModule, projectRoot: CASES_PATH, diff --git a/packages/language-service/test/test-kit/stylable-in-memory-lsp.ts b/packages/language-service/test/test-kit/stylable-in-memory-lsp.ts index fa2fbdf48..2f9337aa5 100644 --- a/packages/language-service/test/test-kit/stylable-in-memory-lsp.ts +++ b/packages/language-service/test/test-kit/stylable-in-memory-lsp.ts @@ -6,7 +6,7 @@ export function getInMemoryLSP() { const fs = createMemoryFs(); const lsp = new StylableLanguageService({ fs, - stylable: Stylable.create({ fileSystem: fs, projectRoot: '/' }), + stylable: new Stylable({ fileSystem: fs, projectRoot: '/' }), }); return { fs, lsp }; diff --git a/packages/module-utils/src/module-factory.ts b/packages/module-utils/src/module-factory.ts index 9a7ba675f..2d2cf8833 100644 --- a/packages/module-utils/src/module-factory.ts +++ b/packages/module-utils/src/module-factory.ts @@ -19,7 +19,7 @@ export function stylableModuleFactory( staticImports = [], }: Partial = {} ) { - const stylable = Stylable.create(stylableOptions); + const stylable = new Stylable(stylableOptions); return function stylableToModule(source: string, path: string) { const res = stylable.transform(source, path); return generateModuleSource( diff --git a/packages/rollup-plugin/src/index.ts b/packages/rollup-plugin/src/index.ts index 18f4297a6..e68f19ba8 100644 --- a/packages/rollup-plugin/src/index.ts +++ b/packages/rollup-plugin/src/index.ts @@ -73,7 +73,7 @@ export function stylableRollupPlugin({ clearRequireCache(); stylable.initCache(); } else { - stylable = Stylable.create({ + stylable = new Stylable({ fileSystem: fs, projectRoot, mode, diff --git a/packages/webpack-extensions/src/stylable-manifest-plugin.ts b/packages/webpack-extensions/src/stylable-manifest-plugin.ts index 79df55c88..648351ef9 100644 --- a/packages/webpack-extensions/src/stylable-manifest-plugin.ts +++ b/packages/webpack-extensions/src/stylable-manifest-plugin.ts @@ -55,7 +55,7 @@ export class StylableManifestPlugin { this.options = Object.assign({}, defaultOptions, options); } public apply(compiler: Compiler) { - const stylable = Stylable.create({ + const stylable = new Stylable({ projectRoot: compiler.context, fileSystem: { readlinkSync: (filePath) => diff --git a/packages/webpack-extensions/src/stylable-metadata-loader.ts b/packages/webpack-extensions/src/stylable-metadata-loader.ts index e372a86d2..113bc252e 100644 --- a/packages/webpack-extensions/src/stylable-metadata-loader.ts +++ b/packages/webpack-extensions/src/stylable-metadata-loader.ts @@ -49,7 +49,7 @@ function createStylable( if (!loader._compiler) { throw new Error('Stylable metadata loader requires a compiler instance'); } - return Stylable.create({ + return new Stylable({ projectRoot: loader.rootContext, fileSystem: loader.fs as unknown as MinimalFS, mode: loader._compiler.options.mode === 'development' ? 'development' : 'production', diff --git a/packages/webpack-plugin/src/plugin.ts b/packages/webpack-plugin/src/plugin.ts index 263cb9eba..abc0e8cb1 100644 --- a/packages/webpack-plugin/src/plugin.ts +++ b/packages/webpack-plugin/src/plugin.ts @@ -264,7 +264,7 @@ export class StylableWebpackPlugin { compiler.options.resolve.aliasFields, }; - this.stylable = Stylable.create( + this.stylable = new Stylable( this.options.stylableConfig( { projectRoot: compiler.context, From 852eb33a13cdf9c8f46ce5fac2e2975551d60539 Mon Sep 17 00:00:00 2001 From: Tzach Bonfil <45866571+tzachbon@users.noreply.github.com> Date: Sun, 24 Apr 2022 11:47:24 +0300 Subject: [PATCH 05/33] feat(cli): remove default `cjs` format (#2441) --- packages/cli/src/build-stylable.ts | 10 +++++++- packages/cli/src/config/resolve-options.ts | 12 ++++++++- packages/cli/test/cli.spec.ts | 30 +++++++++++++++++++--- packages/cli/test/config-options.spec.ts | 18 ++++++++----- 4 files changed, 59 insertions(+), 11 deletions(-) diff --git a/packages/cli/src/build-stylable.ts b/packages/cli/src/build-stylable.ts index 55769b77e..5fbaa9d12 100644 --- a/packages/cli/src/build-stylable.ts +++ b/packages/cli/src/build-stylable.ts @@ -5,10 +5,11 @@ import { projectsConfig } from './config/projects-config'; import { createBuildIdentifier, createDefaultOptions, + hasStylableCSSOutput, NAMESPACE_RESOLVER_MODULE_REQUEST, } from './config/resolve-options'; import { DiagnosticsManager } from './diagnostics-manager'; -import { createDefaultLogger } from './logger'; +import { createDefaultLogger, levels } from './logger'; import type { BuildContext, BuildOptions } from './types'; import { WatchHandler } from './watch-handler'; @@ -81,6 +82,13 @@ export async function buildStylable( log('[Project]', projectRoot, buildOptions); + if (!hasStylableCSSOutput(buildOptions)) { + log( + `No target output declared for "${identifier}", please provide one or more of the following target options: "cjs", "esm", "css", "stcss" or "indexFile"`, + levels.info + ); + } + const stylable = new Stylable({ fileSystem, requireModule, diff --git a/packages/cli/src/config/resolve-options.ts b/packages/cli/src/config/resolve-options.ts index 9371425d3..66b39237e 100644 --- a/packages/cli/src/config/resolve-options.ts +++ b/packages/cli/src/config/resolve-options.ts @@ -201,7 +201,7 @@ export function createDefaultOptions(): BuildOptions { return { outDir: '.', srcDir: '.', - cjs: true, + cjs: false, esm: false, dts: false, injectCSSRequest: false, @@ -262,3 +262,13 @@ export function createBuildIdentifier( ? projectRoot.replace(rootDir, '') : projectRoot; } + +export function hasStylableCSSOutput(options: BuildOptions): boolean { + return ( + options.cjs || + options.esm || + options.outputCSS || + options.outputSources || + Boolean(options.indexFile) + ); +} diff --git a/packages/cli/test/cli.spec.ts b/packages/cli/test/cli.spec.ts index ba882ad4e..5dbcf3751 100644 --- a/packages/cli/test/cli.spec.ts +++ b/packages/cli/test/cli.spec.ts @@ -29,7 +29,7 @@ describe('Stylable Cli', function () { 'style.st.css': `.root{color:red}`, }); - runCliSync(['--rootDir', tempDir.path, '--nsr', testNsrPath]); + runCliSync(['--rootDir', tempDir.path, '--nsr', testNsrPath, '--cjs']); const dirContent = loadDirSync(tempDir.path); expect( @@ -46,7 +46,15 @@ describe('Stylable Cli', function () { 'style.st.css': `.root{color:red}`, }); - runCliSync(['--rootDir', tempDir.path, '--nsr', testNsrPath, '--outDir', './dist']); + runCliSync([ + '--rootDir', + tempDir.path, + '--nsr', + testNsrPath, + '--outDir', + './dist', + '--cjs', + ]); const dirContent = loadDirSync(tempDir.path); expect(Object.keys(dirContent)).to.eql([ @@ -110,7 +118,7 @@ describe('Stylable Cli', function () { }); const nsr = require.resolve('@stylable/node'); - runCliSync(['--rootDir', tempDir.path, '--nsr', nsr]); + runCliSync(['--rootDir', tempDir.path, '--nsr', nsr, '--cjs']); const dirContent = loadDirSync(tempDir.path); @@ -356,6 +364,22 @@ describe('Stylable Cli', function () { expect(stdout, 'stdout').to.match(/unknown var "xxx"/); }); + it('should report when there are no css output formats', () => { + populateDirectorySync(tempDir.path, { + 'package.json': `{"name": "test", "version": "0.0.0"}`, + 'style.st.css': `.root{}`, + }); + + const { stdout, status } = runCliSync(['--rootDir', tempDir.path]); + + expect(status).to.equal(0); + expect(stdout, 'stdout').to.match( + new RegExp( + `No target output declared for "(.*?)", please provide one or more of the following target options: "cjs", "esm", "css", "stcss" or "indexFile"` + ) + ); + }); + it('(diagnosticsMode) should not exit with error when using strict mode with only info diagnostics', () => { populateDirectorySync(tempDir.path, { 'package.json': `{"name": "test", "version": "0.0.0"}`, diff --git a/packages/cli/test/config-options.spec.ts b/packages/cli/test/config-options.spec.ts index af257e5d9..5e7b096eb 100644 --- a/packages/cli/test/config-options.spec.ts +++ b/packages/cli/test/config-options.spec.ts @@ -83,9 +83,12 @@ describe('Stylable CLI config file options', function () { 'package.json': `{"name": "test", "version": "0.0.0"}`, 'style.st.css': `.root{color:red}`, 'stylable.config.js': ` - exports.stcConfig = () => ({ options: { - outDir: './out', - } }) + exports.stcConfig = () => ({ + options: { + cjs: true, + outDir: './out', + } + }) `, }); @@ -109,9 +112,12 @@ describe('Stylable CLI config file options', function () { 'package.json': `{"name": "test", "version": "0.0.0"}`, 'style.st.css': `.root{color:red}`, 'stylable.config.js': ` - exports.stcConfig = () => ({ options: { - outDir: './dist', - } }) + exports.stcConfig = () => ({ + options: { + cjs: true, + outDir: './dist', + } + }) `, }, }); From abd6aa887fd5b9e0d5b9e03f610b75ffd0bd833a Mon Sep 17 00:00:00 2001 From: Tzach Bonfil <45866571+tzachbon@users.noreply.github.com> Date: Sun, 24 Apr 2022 11:47:54 +0300 Subject: [PATCH 06/33] feat(core): expose meta dependencies API (#2440) --- packages/cli/src/build.ts | 11 ++-- packages/core/src/index.ts | 2 +- packages/core/src/stylable.ts | 10 ++++ .../core/src/visit-meta-css-dependencies.ts | 50 +++++++++++++++---- packages/core/test/stylable-utils.spec.ts | 18 +++---- .../src/stylable-transform-loader.ts | 17 ++----- packages/rollup-plugin/src/index.ts | 16 ++---- packages/webpack-plugin/src/loader-utils.ts | 11 ++-- 8 files changed, 74 insertions(+), 61 deletions(-) diff --git a/packages/cli/src/build.ts b/packages/cli/src/build.ts index 8ae70dd63..ca4f66888 100644 --- a/packages/cli/src/build.ts +++ b/packages/cli/src/build.ts @@ -1,5 +1,4 @@ import type { BuildContext, BuildOptions } from './types'; -import { visitMetaCSSDependenciesBFS } from '@stylable/core'; import { IndexGenerator as BaseIndexGenerator } from './base-generator'; import { generateManifest } from './generate-manifest'; import { handleAssets } from './handle-assets'; @@ -242,7 +241,6 @@ export async function build( } function updateWatcherDependencies(affectedFiles: Set) { - const resolver = stylable.createResolver(); for (const filePath of affectedFiles) { try { sourceFiles.add(filePath); @@ -250,12 +248,9 @@ export async function build( () => stylable.process(filePath), errorMessages.STYLABLE_PROCESS(filePath) ); - visitMetaCSSDependenciesBFS( - meta, - ({ source }) => registerInvalidation(source, filePath), - resolver, - (resolvedPath) => registerInvalidation(resolvedPath, filePath) - ); + for (const dependency of stylable.getDependencies(meta)) { + registerInvalidation(dependency.resolvedPath, filePath); + } } catch (error) { setFileErrorDiagnostic(filePath, error); } diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 183909660..e57f44198 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -152,7 +152,7 @@ export { export { noCollisionNamespace, packageNamespaceFactory } from './resolve-namespace-factories'; export { createDefaultResolver } from './module-resolver'; export { DiagnosticsMode, EmitDiagnosticsContext, emitDiagnostics } from './report-diagnostic'; -export { visitMetaCSSDependenciesBFS } from './visit-meta-css-dependencies'; +export { CSSDependency, JSDependency, Dependency } from './visit-meta-css-dependencies'; export { murmurhash3_32_gc } from './murmurhash'; import { booleanStateDelimiter, diff --git a/packages/core/src/stylable.ts b/packages/core/src/stylable.ts index acbbc85e2..ddcebe623 100644 --- a/packages/core/src/stylable.ts +++ b/packages/core/src/stylable.ts @@ -15,6 +15,7 @@ import type { IStylableOptimizer, ModuleResolver } from './types'; import { createDefaultResolver } from './module-resolver'; import { warnOnce } from './helpers/deprecation'; import { STVar } from './features'; +import { Dependency, visitMetaCSSDependencies } from './visit-meta-css-dependencies'; export interface StylableConfig { projectRoot: string; @@ -94,6 +95,15 @@ export class Stylable { this.resolver = this.createResolver(); } + public getDependencies(meta: StylableMeta) { + const dependencies: Dependency[] = []; + + for (const dependency of visitMetaCSSDependencies({ meta, resolver: this.resolver })) { + dependencies.push(dependency); + } + + return dependencies; + } public initCache({ filter }: InitCacheParams = {}) { if (filter && this.resolverCache) { for (const [key, cacheEntity] of this.resolverCache) { diff --git a/packages/core/src/visit-meta-css-dependencies.ts b/packages/core/src/visit-meta-css-dependencies.ts index 62af901a7..902b184fe 100644 --- a/packages/core/src/visit-meta-css-dependencies.ts +++ b/packages/core/src/visit-meta-css-dependencies.ts @@ -2,12 +2,29 @@ import type { StylableMeta } from './stylable-meta'; import type { Imported } from './features'; import type { StylableResolver } from './stylable-resolver'; -export function visitMetaCSSDependenciesBFS( - meta: StylableMeta, - onMetaDependency: (meta: StylableMeta, imported: Imported, depth: number) => void, - resolver: StylableResolver, - onJsDependency?: (resolvedPath: string, imported: Imported) => void -): void { +export interface CSSDependency { + kind: 'css'; + resolvedPath: string; + imported: Imported; + depth: number; + meta: StylableMeta; +} + +export interface JSDependency { + kind: 'js'; + resolvedPath: string; + imported: Imported; +} + +export type Dependency = CSSDependency | JSDependency; + +export function* visitMetaCSSDependencies({ + meta, + resolver, +}: { + meta: StylableMeta; + resolver: StylableResolver; +}) { const visited = new Set([meta.source]); const q = [[...meta.getImportStatements()]]; let depth = -1; @@ -23,14 +40,29 @@ export function visitMetaCSSDependenciesBFS( if (res?._kind === 'css' && !visited.has(res.meta.source)) { visited.add(res.meta.source); - onMetaDependency(res.meta, imported, depth + 1); + const dependency: CSSDependency = { + kind: 'css', + depth: depth + 1, + meta: res.meta, + resolvedPath: res.meta.source, + imported, + }; + + yield dependency; + q[depth + 1].push(...res.meta.getImportStatements()); - } else if (res?._kind === 'js' && onJsDependency) { + } else if (res?._kind === 'js') { const resolvedPath = resolver.resolvePath(imported.context, imported.request); if (!visited.has(resolvedPath)) { visited.add(resolvedPath); - onJsDependency(resolvedPath, imported); + const dependency: JSDependency = { + kind: 'js', + imported, + resolvedPath, + }; + + yield dependency; } } } diff --git a/packages/core/test/stylable-utils.spec.ts b/packages/core/test/stylable-utils.spec.ts index e39e8b277..03e696d12 100644 --- a/packages/core/test/stylable-utils.spec.ts +++ b/packages/core/test/stylable-utils.spec.ts @@ -1,5 +1,5 @@ import { expect } from 'chai'; -import { visitMetaCSSDependenciesBFS } from '@stylable/core'; +import { visitMetaCSSDependencies } from '@stylable/core/dist/visit-meta-css-dependencies'; import { generateInfra } from '@stylable/core-test-kit'; describe('visitMetaCSSDependenciesBFS', () => { @@ -76,16 +76,12 @@ describe('visitMetaCSSDependenciesBFS', () => { const entryMeta = fileProcessor.process('/entry.st.css'); const items: { source: string; depth: number }[] = []; - visitMetaCSSDependenciesBFS( - entryMeta, - ({ source }, _, depth) => { - items.push({ source, depth }); - }, - resolver, - (source) => { - items.push({ source, depth: -1 }); - } - ); + for (const dep of visitMetaCSSDependencies({ meta: entryMeta, resolver })) { + items.push({ + depth: dep.kind === 'css' ? dep.depth : -1, + source: dep.resolvedPath, + }); + } expect(items).to.eql([ { source: '/d1.st.css', depth: 1 }, diff --git a/packages/experimental-loader/src/stylable-transform-loader.ts b/packages/experimental-loader/src/stylable-transform-loader.ts index 2267542b9..8c32b5186 100644 --- a/packages/experimental-loader/src/stylable-transform-loader.ts +++ b/packages/experimental-loader/src/stylable-transform-loader.ts @@ -1,11 +1,5 @@ import postcss from 'postcss'; -import { - processNamespace, - emitDiagnostics, - visitMetaCSSDependenciesBFS, - DiagnosticsMode, - MinimalFS, -} from '@stylable/core'; +import { processNamespace, emitDiagnostics, DiagnosticsMode, MinimalFS } from '@stylable/core'; import { StylableOptimizer } from '@stylable/optimizer'; import { Warning, CssSyntaxError } from './warning'; import { getStylable } from './cached-stylable-factory'; @@ -80,12 +74,9 @@ const stylableLoader: LoaderDefinition = function (content) { emitDiagnostics(this, meta, diagnosticsMode); - visitMetaCSSDependenciesBFS( - meta, - ({ source }) => this.addDependency(source), - stylable.resolver, - (resolvedPath) => this.addDependency(resolvedPath) - ); + for (const dependency of stylable.getDependencies(meta)) { + this.addDependency(dependency.resolvedPath); + } addBuildInfo(this, meta.namespace); diff --git a/packages/rollup-plugin/src/index.ts b/packages/rollup-plugin/src/index.ts index 74329daec..96711c2b3 100644 --- a/packages/rollup-plugin/src/index.ts +++ b/packages/rollup-plugin/src/index.ts @@ -1,12 +1,7 @@ import type { Plugin } from 'rollup'; import fs from 'fs'; import { join, parse } from 'path'; -import { - Stylable, - visitMetaCSSDependenciesBFS, - emitDiagnostics, - DiagnosticsMode, -} from '@stylable/core'; +import { Stylable, emitDiagnostics, DiagnosticsMode } from '@stylable/core'; import { sortModulesByDepth, calcDepth, @@ -169,12 +164,9 @@ export function stylableRollupPlugin({ } extracted.set(id, { css }); - visitMetaCSSDependenciesBFS( - meta, - (dep) => this.addWatchFile(dep.source), - stylable.createResolver(), - (resolvedPath) => this.addWatchFile(resolvedPath) - ); + for (const dependency of stylable.getDependencies(meta)) { + this.addWatchFile(dependency.resolvedPath); + } /** * In case this Stylable module has sources the diagnostics will be emitted in `watchChange` hook. diff --git a/packages/webpack-plugin/src/loader-utils.ts b/packages/webpack-plugin/src/loader-utils.ts index 3d7bdc453..2ea1a0455 100644 --- a/packages/webpack-plugin/src/loader-utils.ts +++ b/packages/webpack-plugin/src/loader-utils.ts @@ -1,4 +1,4 @@ -import { Stylable, StylableMeta, visitMetaCSSDependenciesBFS } from '@stylable/core'; +import type { Stylable, StylableMeta } from '@stylable/core'; import { processUrlDependencies, hasImportedSideEffects } from '@stylable/build-tools'; export function getReplacementToken(token: string) { @@ -32,12 +32,9 @@ export function getImports( /** * Collect all deep dependencies since they can affect the output */ - visitMetaCSSDependenciesBFS( - meta, - ({ source }) => buildDependencies.push(source), - stylable.resolver, - (resolvedPath) => buildDependencies.push(resolvedPath) - ); + for (const dependency of stylable.getDependencies(meta)) { + buildDependencies.push(dependency.resolvedPath); + } /** * @remove From a3df008f2b08cca7807c93df249f304df0a31644 Mon Sep 17 00:00:00 2001 From: Ido Rosenthal Date: Thu, 28 Apr 2022 10:38:36 +0300 Subject: [PATCH 07/33] Merge branch 'master' of github.com:wix/stylable into ido/stylable-v5 --- lerna.json | 2 +- package-lock.json | 1169 +++++----- package.json | 38 +- packages/build-tools/package.json | 4 +- packages/cli/package.json | 14 +- packages/cli/src/base-generator.ts | 2 +- packages/cli/src/build.ts | 2 +- ...t-global-custom-property-to-at-property.ts | 4 +- packages/code-formatter/package.json | 6 +- packages/code-formatter/src/formatter.ts | 2 +- packages/core-test-kit/README.md | 2 +- packages/core-test-kit/package.json | 4 +- packages/core-test-kit/src/diagnostics.ts | 10 +- .../core-test-kit/src/generate-test-util.ts | 14 +- .../core-test-kit/src/test-stylable-core.ts | 7 +- .../test/test-stylable-core.spec.ts | 2 +- packages/core/package.json | 4 +- packages/core/src/cached-process-file.ts | 6 +- .../deprecated/deprecated-stylable-utils.ts | 5 +- packages/core/src/deprecated/leftovers.ts | 8 + .../src/{ => deprecated}/memory-minimal-fs.ts | 2 +- .../src/deprecated/postcss-ast-extension.ts | 1 + packages/core/src/deprecated/value-mapping.ts | 45 + packages/core/src/features/css-class.ts | 11 +- .../core/src/features/css-custom-property.ts | 12 +- packages/core/src/features/feature.ts | 10 +- packages/core/src/features/index.ts | 7 +- packages/core/src/features/st-global.ts | 38 +- packages/core/src/features/st-import.ts | 18 +- packages/core/src/features/st-mixin.ts | 423 ++++ packages/core/src/features/st-var.ts | 6 +- packages/core/src/features/types.ts | 11 +- packages/core/src/functions.ts | 16 +- .../core/src/helpers/css-custom-property.ts | 2 +- packages/core/src/helpers/custom-state.ts | 5 +- packages/core/src/helpers/import.ts | 17 +- packages/core/src/helpers/mixin.ts | 63 + packages/core/src/helpers/resolve.ts | 3 +- packages/core/src/helpers/rule.ts | 19 +- packages/core/src/helpers/selector.ts | 26 +- packages/core/src/helpers/value.ts | 5 +- packages/core/src/index-deprecated.ts | 365 +++ packages/core/src/index-internal.ts | 4 + packages/core/src/index.ts | 376 +--- packages/core/src/pseudo-states.ts | 5 +- packages/core/src/stylable-meta.ts | 12 +- packages/core/src/stylable-mixins.ts | 443 ---- packages/core/src/stylable-processor.ts | 117 +- packages/core/src/stylable-resolver.ts | 13 +- packages/core/src/stylable-transformer.ts | 81 +- packages/core/src/stylable-utils.ts | 40 +- packages/core/src/stylable-value-parsers.ts | 121 +- packages/core/src/stylable.ts | 89 +- packages/core/test/arguement-parser.spec.ts | 4 +- packages/core/test/diagnostics.spec.ts | 270 +-- .../core/test/extend-function-parser.spec.ts | 4 +- packages/core/test/features/css-class.spec.ts | 266 +++ .../core/test/features/css-keyframes.spec.ts | 140 +- packages/core/test/features/css-type.spec.ts | 57 + packages/core/test/features/st-mixin.spec.ts | 1955 +++++++++++++++++ packages/core/test/features/st-var.spec.ts | 16 +- packages/core/test/functions.spec.ts | 15 - packages/core/test/helpers/import.spec.ts | 58 +- packages/core/test/helpers/mixin.spec.ts | 118 + packages/core/test/helpers/rule.spec.ts | 11 +- packages/core/test/helpers/selector.spec.ts | 43 +- packages/core/test/mixins/css-mixins.spec.ts | 1590 -------------- packages/core/test/mixins/js-mixins.spec.ts | 794 ------- .../test/mixins/partial-css-mixins.spec.ts | 309 --- packages/core/test/pseudo-states.spec.ts | 36 +- packages/core/test/stylable-processor.spec.ts | 95 +- packages/core/test/stylable-resolver.spec.ts | 522 ++--- .../test/stylable-transformer/global.spec.ts | 85 +- .../stylable-transformer/post-process.spec.ts | 30 +- .../transformer.unit.spec.ts | 56 +- packages/core/test/stylable-utils.spec.ts | 116 +- .../core/test/stylable-value-parsers.spec.ts | 103 - packages/core/test/stylable.spec.ts | 168 +- packages/create-stylable-app/package.json | 4 +- .../template/ts-react-rollup/src/app.tsx | 2 +- .../template/ts-react-rollup/src/header.tsx | 2 +- .../template/ts-react-rollup/tsconfig.json | 2 +- .../ts-react-webpack-lean/src/app.tsx | 2 +- .../ts-react-webpack-lean/tsconfig.json | 2 +- .../template/ts-react-webpack/src/app.tsx | 2 +- .../template/ts-react-webpack/src/header.tsx | 2 +- .../template/ts-react-webpack/tsconfig.json | 2 +- packages/custom-value/package.json | 4 +- packages/dom-test-kit/package.json | 6 +- packages/e2e-test-kit/package.json | 6 +- packages/e2e-test-kit/src/dts-kit.ts | 2 +- packages/eslint-plugin-stylable/package.json | 6 +- .../src/stylable-es-lint.ts | 11 +- packages/experimental-loader/package.json | 8 +- packages/jest/package.json | 10 +- packages/language-service/package.json | 6 +- .../src/lib/completion-providers.ts | 49 +- .../src/lib/completion-types.ts | 49 +- .../src/lib/feature/color-provider.ts | 15 +- packages/language-service/src/lib/provider.ts | 120 +- packages/language-service/src/lib/service.ts | 3 +- .../test/lib/diagnostics.spec.ts | 3 +- .../test/test-kit/diagnostics-setup.ts | 3 +- .../test/test-kit/stylable-fixtures-lsp.ts | 3 +- packages/module-utils/package.json | 4 +- .../src/generate-dts-sourcemaps.ts | 15 +- packages/module-utils/src/generate-dts.ts | 9 +- packages/node/package.json | 6 +- packages/optimizer/package.json | 4 +- packages/rollup-plugin/package.json | 12 +- packages/runtime/package.json | 2 +- packages/schema-extract/package.json | 4 +- packages/schema-extract/src/main.ts | 5 +- packages/uni-driver/package.json | 2 +- packages/webpack-extensions/package.json | 8 +- .../src/create-metadata-stylesheet.ts | 4 +- packages/webpack-plugin/package.json | 14 +- 117 files changed, 5273 insertions(+), 5712 deletions(-) create mode 100644 packages/core/src/deprecated/leftovers.ts rename packages/core/src/{ => deprecated}/memory-minimal-fs.ts (98%) create mode 100644 packages/core/src/deprecated/value-mapping.ts create mode 100644 packages/core/src/features/st-mixin.ts create mode 100644 packages/core/src/helpers/mixin.ts create mode 100644 packages/core/src/index-deprecated.ts create mode 100644 packages/core/src/index-internal.ts delete mode 100644 packages/core/src/stylable-mixins.ts create mode 100644 packages/core/test/features/st-mixin.spec.ts create mode 100644 packages/core/test/helpers/mixin.spec.ts delete mode 100644 packages/core/test/mixins/css-mixins.spec.ts delete mode 100644 packages/core/test/mixins/js-mixins.spec.ts delete mode 100644 packages/core/test/mixins/partial-css-mixins.spec.ts delete mode 100644 packages/core/test/stylable-value-parsers.spec.ts diff --git a/lerna.json b/lerna.json index 8420c193d..ab560f392 100644 --- a/lerna.json +++ b/lerna.json @@ -1,4 +1,4 @@ { - "version": "4.12.0", + "version": "4.13.0", "useWorkspaces": true } diff --git a/package-lock.json b/package-lock.json index d0ebbf8ac..88b274dbf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,9 +13,9 @@ "@file-services/memory": "^6.0.0", "@file-services/node": "^6.0.0", "@rollup/plugin-html": "^0.2.4", - "@rollup/plugin-node-resolve": "^13.1.3", + "@rollup/plugin-node-resolve": "^13.2.1", "@types/balanced-match": "^1.0.2", - "@types/chai": "^4.3.0", + "@types/chai": "^4.3.1", "@types/chai-subset": "^1.3.3", "@types/css-selector-tokenizer": "^0.7.1", "@types/cssesc": "^3.0.0", @@ -27,28 +27,28 @@ "@types/js-beautify": "^1.13.3", "@types/jsdom": "^16.2.14", "@types/json-schema": "^7.0.11", - "@types/lodash.camelcase": "^4.3.6", - "@types/lodash.clonedeep": "^4.5.6", - "@types/lodash.clonedeepwith": "^4.5.6", - "@types/lodash.findlast": "^4.6.6", - "@types/lodash.upperfirst": "^4.3.6", + "@types/lodash.camelcase": "^4.3.7", + "@types/lodash.clonedeep": "^4.5.7", + "@types/lodash.clonedeepwith": "^4.5.7", + "@types/lodash.findlast": "^4.6.7", + "@types/lodash.upperfirst": "^4.3.7", "@types/memory-fs": "^0.3.3", "@types/mime": "^2.0.3", "@types/mocha": "^9.1.0", "@types/node": "14", "@types/postcss-safe-parser": "^5.0.1", - "@types/react": "^17.0.43", - "@types/react-dom": "^17.0.14", + "@types/react": "^18.0.6", + "@types/react-dom": "^18.0.2", "@types/rimraf": "^3.0.2", "@types/validate-npm-package-name": "^3.0.3", "@types/yargs": "^17.0.10", - "@typescript-eslint/eslint-plugin": "^5.17.0", - "@typescript-eslint/parser": "^5.17.0", - "autoprefixer": "^10.4.4", + "@typescript-eslint/eslint-plugin": "^5.20.0", + "@typescript-eslint/parser": "^5.20.0", + "autoprefixer": "^10.4.5", "chai": "^4.3.6", "chai-subset": "^1.6.0", "create-listening-server": "^1.0.0", - "eslint": "^8.12.0", + "eslint": "^8.14.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-react": "^7.29.4", "eslint-plugin-react-hooks": "^4.4.0", @@ -61,31 +61,31 @@ "mocha-play": "^3.1.0", "node-eval": "^2.0.0", "npm-run-all": "^4.1.5", - "playwright-chromium": "^1.20.2", + "playwright-chromium": "^1.21.1", "postcss": "^8.4.12", "promise-assist": "^1.3.0", "raw-loader": "^4.0.2", "react": "^18.0.0", "react-dom": "^18.0.0", "rimraf": "^3.0.2", - "rollup": "^2.70.1", + "rollup": "^2.70.2", "source-map": "^0.7.3", "source-map-loader": "^3.0.1", "style-loader": "^3.3.1", "ts-expect": "^1.3.0", "typescript": "~4.6.3", "url-loader": "^4.1.1", - "webpack": "^5.71.0", - "yargs": "^17.4.0" + "webpack": "^5.72.0", + "yargs": "^17.4.1" }, "engines": { "node": ">=14.14.0" } }, "node_modules/@eslint/eslintrc": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz", - "integrity": "sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz", + "integrity": "sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -218,9 +218,9 @@ } }, "node_modules/@rollup/plugin-node-resolve": { - "version": "13.1.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.3.tgz", - "integrity": "sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ==", + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.2.1.tgz", + "integrity": "sha512-btX7kzGvp1JwShQI9V6IM841YKNPYjKCvUbNrQ2EcVYbULtUd/GH6wZ/qdqH13j9pOHBER+EZXNN2L8RSJhVRA==", "dev": true, "dependencies": { "@rollup/pluginutils": "^3.1.0", @@ -381,9 +381,9 @@ } }, "node_modules/@types/chai": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.0.tgz", - "integrity": "sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.1.tgz", + "integrity": "sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==", "dev": true }, "node_modules/@types/chai-subset": { @@ -534,51 +534,51 @@ "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" }, "node_modules/@types/lodash": { - "version": "4.14.181", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.181.tgz", - "integrity": "sha512-n3tyKthHJbkiWhDZs3DkhkCzt2MexYHXlX0td5iMplyfwketaOeKboEVBqzceH7juqvEg3q5oUoBFxSLu7zFag==", + "version": "4.14.182", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.182.tgz", + "integrity": "sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==", "dev": true }, "node_modules/@types/lodash.camelcase": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/@types/lodash.camelcase/-/lodash.camelcase-4.3.6.tgz", - "integrity": "sha512-hd/TEuPd76Jtf1xEq85CHbCqR+iqvs5IOKyrYbiaOg69BRQgPN9XkvLj8Jl8rBp/dfJ2wQ1AVcP8mZmybq7kIg==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/@types/lodash.camelcase/-/lodash.camelcase-4.3.7.tgz", + "integrity": "sha512-Nfi6jpo9vuEOSIJP+mpbTezKyEt75DQlbwjiDvs/JctWkbnHDoyQo5lWqdvgNiJmVUjcmkfvlrvSEgJYvurOKg==", "dev": true, "dependencies": { "@types/lodash": "*" } }, "node_modules/@types/lodash.clonedeep": { - "version": "4.5.6", - "resolved": "https://registry.npmjs.org/@types/lodash.clonedeep/-/lodash.clonedeep-4.5.6.tgz", - "integrity": "sha512-cE1jYr2dEg1wBImvXlNtp0xDoS79rfEdGozQVgliDZj1uERH4k+rmEMTudP9b4VQ8O6nRb5gPqft0QzEQGMQgA==", + "version": "4.5.7", + "resolved": "https://registry.npmjs.org/@types/lodash.clonedeep/-/lodash.clonedeep-4.5.7.tgz", + "integrity": "sha512-ccNqkPptFIXrpVqUECi60/DFxjNKsfoQxSQsgcBJCX/fuX1wgyQieojkcWH/KpE3xzLoWN/2k+ZeGqIN3paSvw==", "dev": true, "dependencies": { "@types/lodash": "*" } }, "node_modules/@types/lodash.clonedeepwith": { - "version": "4.5.6", - "resolved": "https://registry.npmjs.org/@types/lodash.clonedeepwith/-/lodash.clonedeepwith-4.5.6.tgz", - "integrity": "sha512-lroYwAgCFPkHyxi9548a+uQMelP60AaA74CBqfn9Li27+ukUZritx+JVYJ0W54PKBaBauXzTRHEvGzYrPsPZtQ==", + "version": "4.5.7", + "resolved": "https://registry.npmjs.org/@types/lodash.clonedeepwith/-/lodash.clonedeepwith-4.5.7.tgz", + "integrity": "sha512-QPCMby+Glpme6mv/ds4YUSP06bD0FdRVzYF9NjfAP/cKFyjj3BV8bDodx1Npqf/M979WNds1r6K1I7cFwBTmWA==", "dev": true, "dependencies": { "@types/lodash": "*" } }, "node_modules/@types/lodash.findlast": { - "version": "4.6.6", - "resolved": "https://registry.npmjs.org/@types/lodash.findlast/-/lodash.findlast-4.6.6.tgz", - "integrity": "sha512-HsEybos8Y6zVK+Okj821O4WTmUtgVzPeZOYNgDCt+vqF8NopjdXXhk8ksLiR8vZUzmU7CBoKeBmxqybLmpPXDw==", + "version": "4.6.7", + "resolved": "https://registry.npmjs.org/@types/lodash.findlast/-/lodash.findlast-4.6.7.tgz", + "integrity": "sha512-QP9cSvp2creZZlRHdfz/S1v70ctGShDiK/NdJGQZwhD+IOWmjBO8ldIVEi8La6GTgfyC2ZtIMX3USOvBFYorNg==", "dev": true, "dependencies": { "@types/lodash": "*" } }, "node_modules/@types/lodash.upperfirst": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/@types/lodash.upperfirst/-/lodash.upperfirst-4.3.6.tgz", - "integrity": "sha512-op4ctKkT1eD/Nt8MCPlN7O2IQrYWIcH1rOPHM86SKzbliLG50eVXM6+qzkdxtBV7DZb3W/1Up2+k43WK9F0Bgg==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/@types/lodash.upperfirst/-/lodash.upperfirst-4.3.7.tgz", + "integrity": "sha512-CrBjoB4lO6h7tXNMBUl1eh/w0KdMosiEOXOoD5DMECsA/kDWo/WQfOt1KyGKVvgwK3I6cKAY6z8LymKiMazLFg==", "dev": true, "dependencies": { "@types/lodash": "*" @@ -606,9 +606,9 @@ "dev": true }, "node_modules/@types/mocha": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.0.tgz", - "integrity": "sha512-QCWHkbMv4Y5U9oW10Uxbr45qMMSzl4OzijsozynUAgx3kEHUdXB00udx2dWDQ7f2TU2a2uuiFaRZjCe3unPpeg==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz", + "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==", "dev": true }, "node_modules/@types/node": { @@ -632,9 +632,9 @@ } }, "node_modules/@types/prop-types": { - "version": "15.7.4", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", - "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==", + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", "dev": true }, "node_modules/@types/qs": { @@ -650,9 +650,9 @@ "dev": true }, "node_modules/@types/react": { - "version": "17.0.43", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.43.tgz", - "integrity": "sha512-8Q+LNpdxf057brvPu1lMtC5Vn7J119xrP1aq4qiaefNioQUYANF/CYeK4NsKorSZyUGJ66g0IM+4bbjwx45o2A==", + "version": "18.0.6", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.6.tgz", + "integrity": "sha512-bPqwzJRzKtfI0mVYr5R+1o9BOE8UEXefwc1LwcBtfnaAn6OoqMhLa/91VA8aeWfDPJt1kHvYKI8RHcQybZLHHA==", "dev": true, "dependencies": { "@types/prop-types": "*", @@ -661,9 +661,9 @@ } }, "node_modules/@types/react-dom": { - "version": "17.0.14", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.14.tgz", - "integrity": "sha512-H03xwEP1oXmSfl3iobtmQ/2dHF5aBHr8aUMwyGZya6OW45G+xtdzmq6HkncefiBt5JU8DVyaWl/nWZbjZCnzAQ==", + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.2.tgz", + "integrity": "sha512-UxeS+Wtj5bvLRREz9tIgsK4ntCuLDo0EcAcACgw3E+9wE8ePDr9uQpq53MfcyxyIS55xJ+0B6mDS8c4qkkHLBg==", "dev": true, "dependencies": { "@types/react": "*" @@ -711,9 +711,9 @@ "dev": true }, "node_modules/@types/tough-cookie": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.1.tgz", - "integrity": "sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", + "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", "dev": true }, "node_modules/@types/validate-npm-package-name": { @@ -738,23 +738,23 @@ "dev": true }, "node_modules/@types/yauzl": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", - "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", "optional": true, "dependencies": { "@types/node": "*" } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.17.0.tgz", - "integrity": "sha512-qVstvQilEd89HJk3qcbKt/zZrfBZ+9h2ynpAGlWjWiizA7m/MtLT9RoX6gjtpE500vfIg8jogAkDzdCxbsFASQ==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.20.0.tgz", + "integrity": "sha512-fapGzoxilCn3sBtC6NtXZX6+P/Hef7VDbyfGqTTpzYydwhlkevB+0vE0EnmHPVTVSy68GUncyJ/2PcrFBeCo5Q==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.17.0", - "@typescript-eslint/type-utils": "5.17.0", - "@typescript-eslint/utils": "5.17.0", + "@typescript-eslint/scope-manager": "5.20.0", + "@typescript-eslint/type-utils": "5.20.0", + "@typescript-eslint/utils": "5.20.0", "debug": "^4.3.2", "functional-red-black-tree": "^1.0.1", "ignore": "^5.1.8", @@ -780,11 +780,11 @@ } }, "node_modules/@typescript-eslint/experimental-utils": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.17.0.tgz", - "integrity": "sha512-U4sM5z0/ymSYqQT6I7lz8l0ZZ9zrya5VIwrwAP5WOJVabVtVsIpTMxPQe+D3qLyePT+VlETUTO2nA1+PufPx9Q==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.20.0.tgz", + "integrity": "sha512-w5qtx2Wr9x13Dp/3ic9iGOGmVXK5gMwyc8rwVgZU46K9WTjPZSyPvdER9Ycy+B5lNHvoz+z2muWhUvlTpQeu+g==", "dependencies": { - "@typescript-eslint/utils": "5.17.0" + "@typescript-eslint/utils": "5.20.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -798,14 +798,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.17.0.tgz", - "integrity": "sha512-aRzW9Jg5Rlj2t2/crzhA2f23SIYFlF9mchGudyP0uiD6SenIxzKoLjwzHbafgHn39dNV/TV7xwQkLfFTZlJ4ig==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.20.0.tgz", + "integrity": "sha512-UWKibrCZQCYvobmu3/N8TWbEeo/EPQbS41Ux1F9XqPzGuV7pfg6n50ZrFo6hryynD8qOTTfLHtHjjdQtxJ0h/w==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.17.0", - "@typescript-eslint/types": "5.17.0", - "@typescript-eslint/typescript-estree": "5.17.0", + "@typescript-eslint/scope-manager": "5.20.0", + "@typescript-eslint/types": "5.20.0", + "@typescript-eslint/typescript-estree": "5.20.0", "debug": "^4.3.2" }, "engines": { @@ -825,12 +825,12 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.17.0.tgz", - "integrity": "sha512-062iCYQF/doQ9T2WWfJohQKKN1zmmXVfAcS3xaiialiw8ZUGy05Em6QVNYJGO34/sU1a7a+90U3dUNfqUDHr3w==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.20.0.tgz", + "integrity": "sha512-h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg==", "dependencies": { - "@typescript-eslint/types": "5.17.0", - "@typescript-eslint/visitor-keys": "5.17.0" + "@typescript-eslint/types": "5.20.0", + "@typescript-eslint/visitor-keys": "5.20.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -841,12 +841,12 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.17.0.tgz", - "integrity": "sha512-3hU0RynUIlEuqMJA7dragb0/75gZmwNwFf/QJokWzPehTZousP/MNifVSgjxNcDCkM5HI2K22TjQWUmmHUINSg==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.20.0.tgz", + "integrity": "sha512-WxNrCwYB3N/m8ceyoGCgbLmuZwupvzN0rE8NBuwnl7APgjv24ZJIjkNzoFBXPRCGzLNkoU/WfanW0exvp/+3Iw==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "5.17.0", + "@typescript-eslint/utils": "5.20.0", "debug": "^4.3.2", "tsutils": "^3.21.0" }, @@ -867,9 +867,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.17.0.tgz", - "integrity": "sha512-AgQ4rWzmCxOZLioFEjlzOI3Ch8giDWx8aUDxyNw9iOeCvD3GEYAB7dxWGQy4T/rPVe8iPmu73jPHuaSqcjKvxw==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.20.0.tgz", + "integrity": "sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg==", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -879,12 +879,12 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.17.0.tgz", - "integrity": "sha512-X1gtjEcmM7Je+qJRhq7ZAAaNXYhTgqMkR10euC4Si6PIjb+kwEQHSxGazXUQXFyqfEXdkGf6JijUu5R0uceQzg==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.20.0.tgz", + "integrity": "sha512-36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w==", "dependencies": { - "@typescript-eslint/types": "5.17.0", - "@typescript-eslint/visitor-keys": "5.17.0", + "@typescript-eslint/types": "5.20.0", + "@typescript-eslint/visitor-keys": "5.20.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -905,14 +905,14 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.17.0.tgz", - "integrity": "sha512-DVvndq1QoxQH+hFv+MUQHrrWZ7gQ5KcJzyjhzcqB1Y2Xes1UQQkTRPUfRpqhS8mhTWsSb2+iyvDW1Lef5DD7vA==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.20.0.tgz", + "integrity": "sha512-lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w==", "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.17.0", - "@typescript-eslint/types": "5.17.0", - "@typescript-eslint/typescript-estree": "5.17.0", + "@typescript-eslint/scope-manager": "5.20.0", + "@typescript-eslint/types": "5.20.0", + "@typescript-eslint/typescript-estree": "5.20.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -928,11 +928,11 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.17.0.tgz", - "integrity": "sha512-6K/zlc4OfCagUu7Am/BD5k8PSWQOgh34Nrv9Rxe2tBzlJ7uOeJ/h7ugCGDCeEZHT6k2CJBhbk9IsbkPI0uvUkA==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.20.0.tgz", + "integrity": "sha512-1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg==", "dependencies": { - "@typescript-eslint/types": "5.17.0", + "@typescript-eslint/types": "5.20.0", "eslint-visitor-keys": "^3.0.0" }, "engines": { @@ -1125,9 +1125,9 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, "node_modules/abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", "dev": true }, "node_modules/abbrev": { @@ -1360,14 +1360,15 @@ } }, "node_modules/array.prototype.flatmap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz", - "integrity": "sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz", + "integrity": "sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.19.0" + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -1391,9 +1392,9 @@ "dev": true }, "node_modules/autoprefixer": { - "version": "10.4.4", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.4.tgz", - "integrity": "sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.5.tgz", + "integrity": "sha512-Fvd8yCoA7lNX/OUllvS+aS1I7WRBclGXsepbvT8ZaPgrH24rgXpZzF0/6Hh3ZEkwg+0AES/Osd196VZmYoEFtw==", "dev": true, "funding": [ { @@ -1407,7 +1408,7 @@ ], "dependencies": { "browserslist": "^4.20.2", - "caniuse-lite": "^1.0.30001317", + "caniuse-lite": "^1.0.30001332", "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -1518,9 +1519,9 @@ "dev": true }, "node_modules/browserslist": { - "version": "4.20.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", - "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", + "version": "4.20.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", + "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", "funding": [ { "type": "opencollective", @@ -1532,10 +1533,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001317", - "electron-to-chromium": "^1.4.84", + "caniuse-lite": "^1.0.30001332", + "electron-to-chromium": "^1.4.118", "escalade": "^3.1.1", - "node-releases": "^2.0.2", + "node-releases": "^2.0.3", "picocolors": "^1.0.0" }, "bin": { @@ -1571,9 +1572,9 @@ } }, "node_modules/builtins": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.0.tgz", - "integrity": "sha512-aizhtbxgT1Udg0Fj6GssXshAVK+nxbtCV+1OtTrMNy67jffDFBY6CUBAkhO4owbleAx6fdbnWdpsmmcXydbzNw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", "dependencies": { "semver": "^7.0.0" } @@ -1646,9 +1647,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001324", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001324.tgz", - "integrity": "sha512-/eYp1J6zYh1alySQB4uzYFkLmxxI8tk0kxldbNHXp8+v+rdMKdUBNjRLz7T7fz6Iox+1lIdYpc7rq6ZcXfTukg==", + "version": "1.0.30001332", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz", + "integrity": "sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==", "funding": [ { "type": "opencollective", @@ -2038,14 +2039,27 @@ "dev": true }, "node_modules/data-urls": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.1.tgz", - "integrity": "sha512-Ds554NeT5Gennfoo9KN50Vh6tpgtvYEwraYjejXnyTpu1C7oXKxdFk75REooENHE8ndTVOJuv+BEs4/J/xcozw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", "dev": true, "dependencies": { - "abab": "^2.0.3", + "abab": "^2.0.6", "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^10.0.0" + "whatwg-url": "^11.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/data-urls/node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dev": true, + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" }, "engines": { "node": ">=12" @@ -2119,15 +2133,19 @@ } }, "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "dev": true, "dependencies": { - "object-keys": "^1.0.12" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/deindent": { @@ -2206,9 +2224,9 @@ } }, "node_modules/dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", "dev": true, "dependencies": { "domelementtype": "^2.0.1", @@ -2220,9 +2238,9 @@ } }, "node_modules/domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "dev": true, "funding": [ { @@ -2329,9 +2347,9 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "node_modules/electron-to-chromium": { - "version": "1.4.103", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.103.tgz", - "integrity": "sha512-c/uKWR1Z/W30Wy/sx3dkZoj4BijbXX85QKWu9jJfjho3LBAXNEGAEW3oWiGb+dotA6C6BzCTxL2/aLes7jlUeg==" + "version": "1.4.118", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.118.tgz", + "integrity": "sha512-maZIKjnYDvF7Fs35nvVcyr44UcKNwybr93Oba2n3HkKDFAtk0svERkLN/HyczJDS3Fo4wU9th9fUQd09ZLtj1w==" }, "node_modules/emoji-regex": { "version": "8.0.0", @@ -2364,9 +2382,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz", - "integrity": "sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", + "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -2394,9 +2412,9 @@ } }, "node_modules/es-abstract": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.2.tgz", - "integrity": "sha512-gfSBJoZdlL2xRiOCy0g8gLMryhoe1TlimjzU99L/31Z8QEGIhVQI+EWwt5lT+AuU9SnorVupXFqqOGqGfsyO6w==", + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz", + "integrity": "sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", @@ -2410,7 +2428,7 @@ "is-callable": "^1.2.4", "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.1", + "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", "is-weakref": "^1.0.2", "object-inspect": "^1.12.0", @@ -2432,6 +2450,15 @@ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } + }, "node_modules/es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", @@ -2557,11 +2584,11 @@ } }, "node_modules/eslint": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.12.0.tgz", - "integrity": "sha512-it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz", + "integrity": "sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==", "dependencies": { - "@eslint/eslintrc": "^1.2.1", + "@eslint/eslintrc": "^1.2.2", "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -3184,6 +3211,15 @@ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -3313,9 +3349,9 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" }, "node_modules/growl": { "version": "1.10.5", @@ -3339,9 +3375,9 @@ } }, "node_modules/has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3355,6 +3391,18 @@ "node": ">=8" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -3502,9 +3550,10 @@ } }, "node_modules/https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, "dependencies": { "agent-base": "6", "debug": "4" @@ -3671,9 +3720,9 @@ } }, "node_modules/is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -3919,11 +3968,11 @@ "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==" }, "node_modules/js-beautify": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.2.tgz", - "integrity": "sha512-H85kX95a53os+q1OCqtYe8AXAmgy3BvtysA/V83S3fdhznm6WlUpGi14DqSPbKFsL3dXZFXYl7YQwW9U1+76ng==", + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.3.tgz", + "integrity": "sha512-f1ra8PHtOEu/70EBnmiUlV8nJePS58y9qKjl4JHfYWlFH6bo7ogZBz//FAZp7jDuXtYnGYKymZPlrg2I/9Zo4g==", "dependencies": { - "config-chain": "^1.1.12", + "config-chain": "^1.1.13", "editorconfig": "^0.15.3", "glob": "^7.1.3", "nopt": "^5.0.0" @@ -4068,9 +4117,9 @@ } }, "node_modules/loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "engines": { "node": ">=6.11.5" } @@ -4446,9 +4495,9 @@ } }, "node_modules/mocha-play/node_modules/commander": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.1.0.tgz", - "integrity": "sha512-i0/MaqBtdbnJ4XQs4Pmyb+oFQl+q0lsAmokVUH92SlSw4fkeAcG3bVon+Qt7hmtF+u3Het6o4VgrcY3qAoEB6w==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", + "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==", "dev": true, "engines": { "node": "^12.20.0 || >=14" @@ -4672,9 +4721,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", - "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.3.tgz", + "integrity": "sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==" }, "node_modules/nopt": { "version": "5.0.0", @@ -5261,13 +5310,13 @@ } }, "node_modules/playwright-chromium": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/playwright-chromium/-/playwright-chromium-1.20.2.tgz", - "integrity": "sha512-KsiPLRC1v56qLWqjzeEoDZNVW/eFrP5ad0PFQAa74u5EwnnId89LgOHEZFy487tt3xJdv3Ayyfdn8zwsUpS3Qg==", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright-chromium/-/playwright-chromium-1.21.1.tgz", + "integrity": "sha512-bbqFFpcTs+3amiofja/KvTmZ+FZnMNEOuGkRyJk2p6DV9EbgRYVrlzzgLtMnX2DwaX3ZZ23MukGuQ+bVKOdsnw==", "dev": true, "hasInstallScript": true, "dependencies": { - "playwright-core": "1.20.2" + "playwright-core": "1.21.1" }, "bin": { "playwright": "cli.js" @@ -5277,9 +5326,9 @@ } }, "node_modules/playwright-core": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.20.2.tgz", - "integrity": "sha512-iV6+HftSPalynkq0CYJala1vaTOq7+gU9BRfKCdM9bAxNq/lFLrwbluug2Wt5OoUwbMABcnTThIEm3/qUhCdJQ==", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.21.1.tgz", + "integrity": "sha512-SbK5dEsai9ZUKlxcinqegorBq4GnftXd4/GfW+pLsdQIQWrLCM/JNh6YQ2Rf2enVykXCejtoXW8L5vJXBBVSJQ==", "dependencies": { "colors": "1.4.0", "commander": "8.3.0", @@ -5323,6 +5372,18 @@ } } }, + "node_modules/playwright-core/node_modules/https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/playwright-core/node_modules/ws": { "version": "8.4.2", "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", @@ -5753,13 +5814,14 @@ } }, "node_modules/regexp.prototype.flags": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz", - "integrity": "sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" }, "engines": { "node": ">= 0.4" @@ -5875,9 +5937,9 @@ } }, "node_modules/rollup": { - "version": "2.70.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.1.tgz", - "integrity": "sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA==", + "version": "2.70.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.2.tgz", + "integrity": "sha512-EitogNZnfku65I1DD5Mxe8JYRUCy0hkK5X84IlDtUs+O6JRMpRciXTzyCUuX11b5L5pvjH+OmFXiQ3XjabcXgg==", "bin": { "rollup": "dist/bin/rollup" }, @@ -5973,9 +6035,9 @@ } }, "node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -6561,9 +6623,9 @@ "dev": true }, "node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", "dev": true }, "node_modules/tsutils": { @@ -6640,14 +6702,14 @@ } }, "node_modules/unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", "which-boxed-primitive": "^1.0.2" }, "funding": { @@ -6882,9 +6944,9 @@ } }, "node_modules/webpack": { - "version": "5.71.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.71.0.tgz", - "integrity": "sha512-g4dFT7CFG8LY0iU5G8nBL6VlkT21Z7dcYDpJAEJV5Q1WLb9UwnFbrem1k7K52ILqEmomN7pnzWFxxE6SlDY56A==", + "version": "5.72.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz", + "integrity": "sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==", "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^0.0.51", @@ -7177,9 +7239,9 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yargs": { - "version": "17.4.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.0.tgz", - "integrity": "sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA==", + "version": "17.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz", + "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -7257,10 +7319,10 @@ }, "packages/build-tools": { "name": "@stylable/build-tools", - "version": "4.12.0", + "version": "4.13.0", "license": "MIT", "dependencies": { - "@stylable/core": "^4.12.0", + "@stylable/core": "^4.13.0", "find-config": "^1.0.0" }, "engines": { @@ -7269,21 +7331,21 @@ }, "packages/cli": { "name": "@stylable/cli", - "version": "4.12.0", + "version": "4.13.0", "license": "MIT", "dependencies": { "@file-services/node": "^6.0.0", "@file-services/types": "^6.0.0", - "@stylable/build-tools": "^4.12.0", - "@stylable/code-formatter": "^4.12.0", - "@stylable/core": "^4.12.0", - "@stylable/node": "^4.12.0", - "@stylable/optimizer": "^4.12.0", + "@stylable/build-tools": "^4.13.0", + "@stylable/code-formatter": "^4.13.0", + "@stylable/core": "^4.13.0", + "@stylable/node": "^4.13.0", + "@stylable/optimizer": "^4.13.0", "@wixc3/resolve-directory-context": "^2.0.0", "decache": "^4.6.1", "lodash.camelcase": "^4.3.0", "lodash.upperfirst": "^4.3.1", - "yargs": "^17.4.0" + "yargs": "^17.4.1" }, "bin": { "stc": "bin/stc.js", @@ -7296,11 +7358,11 @@ }, "packages/code-formatter": { "name": "@stylable/code-formatter", - "version": "4.12.0", + "version": "4.13.0", "license": "MIT", "dependencies": { - "@stylable/core": "^4.12.0", - "js-beautify": "^1.14.2" + "@stylable/core": "^4.13.0", + "js-beautify": "^1.14.3" }, "engines": { "node": ">=12" @@ -7308,7 +7370,7 @@ }, "packages/core": { "name": "@stylable/core", - "version": "4.12.0", + "version": "4.13.0", "license": "MIT", "dependencies": { "@tokey/css-selector-parser": "^0.6.0", @@ -7317,7 +7379,7 @@ "css-selector-tokenizer": "^0.8.0", "cssesc": "^3.0.0", "deindent": "^0.1.0", - "enhanced-resolve": "^5.9.2", + "enhanced-resolve": "^5.9.3", "is-vendor-prefixed": "^4.0.0", "lodash.clonedeep": "^4.5.0", "lodash.clonedeepwith": "^4.5.0", @@ -7333,11 +7395,11 @@ }, "packages/core-test-kit": { "name": "@stylable/core-test-kit", - "version": "4.12.0", + "version": "4.13.0", "license": "MIT", "dependencies": { "@file-services/memory": "^6.0.0", - "@stylable/core": "^4.12.0", + "@stylable/core": "^4.13.0", "chai": "^4.3.6", "flat": "^5.0.2", "postcss": "^8.4.12" @@ -7352,11 +7414,11 @@ "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==" }, "packages/create-stylable-app": { - "version": "4.12.0", + "version": "4.13.0", "license": "MIT", "dependencies": { "validate-npm-package-name": "^4.0.0", - "yargs": "^17.4.0" + "yargs": "^17.4.1" }, "bin": { "create-stylable-app": "bin/create-stylable-app.js" @@ -7367,10 +7429,10 @@ }, "packages/custom-value": { "name": "@stylable/custom-value", - "version": "4.12.0", + "version": "4.13.0", "license": "MIT", "dependencies": { - "@stylable/core": "^4.12.0" + "@stylable/core": "^4.13.0" }, "engines": { "node": ">=12" @@ -7378,11 +7440,11 @@ }, "packages/dom-test-kit": { "name": "@stylable/dom-test-kit", - "version": "4.12.0", + "version": "4.13.0", "license": "MIT", "dependencies": { - "@stylable/core": "^4.12.0", - "@stylable/runtime": "^4.12.0", + "@stylable/core": "^4.13.0", + "@stylable/runtime": "^4.13.0", "@tokey/css-selector-parser": "^0.6.0" }, "engines": { @@ -7391,13 +7453,13 @@ }, "packages/e2e-test-kit": { "name": "@stylable/e2e-test-kit", - "version": "4.12.0", + "version": "4.13.0", "license": "MIT", "dependencies": { - "@stylable/runtime": "^4.12.0", + "@stylable/runtime": "^4.13.0", "express": "^4.17.3", "node-eval": "^2.0.0", - "playwright-core": "^1.20.2", + "playwright-core": "^1.21.1", "rimraf": "^3.0.2" }, "engines": { @@ -7408,21 +7470,21 @@ } }, "packages/eslint-plugin-stylable": { - "version": "4.12.0", + "version": "4.13.0", "license": "MIT", "dependencies": { - "@stylable/core": "^4.12.0", - "@typescript-eslint/experimental-utils": "^5.17.0" + "@stylable/core": "^4.13.0", + "@typescript-eslint/experimental-utils": "^5.20.0" } }, "packages/experimental-loader": { "name": "@stylable/experimental-loader", - "version": "4.12.0", + "version": "4.13.0", "license": "MIT", "dependencies": { - "@stylable/core": "^4.12.0", - "@stylable/optimizer": "^4.12.0", - "@stylable/runtime": "^4.12.0", + "@stylable/core": "^4.13.0", + "@stylable/optimizer": "^4.13.0", + "@stylable/runtime": "^4.13.0", "css-loader": "^6.7.1", "decache": "^4.6.1", "loader-utils": "^3.2.0" @@ -7438,13 +7500,13 @@ }, "packages/jest": { "name": "@stylable/jest", - "version": "4.12.0", + "version": "4.13.0", "license": "MIT", "dependencies": { - "@stylable/core": "^4.12.0", - "@stylable/module-utils": "^4.12.0", - "@stylable/node": "^4.12.0", - "@stylable/runtime": "^4.12.0" + "@stylable/core": "^4.13.0", + "@stylable/module-utils": "^4.13.0", + "@stylable/node": "^4.13.0", + "@stylable/runtime": "^4.13.0" }, "engines": { "node": ">=12" @@ -7452,13 +7514,13 @@ }, "packages/language-service": { "name": "@stylable/language-service", - "version": "4.12.0", + "version": "4.13.0", "license": "MIT", "dependencies": { "@file-services/types": "^6.0.0", "@file-services/typescript": "^6.0.0", - "@stylable/code-formatter": "^4.12.0", - "@stylable/core": "^4.12.0", + "@stylable/code-formatter": "^4.13.0", + "@stylable/core": "^4.13.0", "css-selector-tokenizer": "^0.8.0", "postcss": "^8.4.12", "postcss-value-parser": "^4.2.0", @@ -7476,10 +7538,10 @@ }, "packages/module-utils": { "name": "@stylable/module-utils", - "version": "4.12.0", + "version": "4.13.0", "license": "MIT", "dependencies": { - "@stylable/core": "^4.12.0", + "@stylable/core": "^4.13.0", "@tokey/core": "^1.3.0", "vlq": "^2.0.4" }, @@ -7489,11 +7551,11 @@ }, "packages/node": { "name": "@stylable/node", - "version": "4.12.0", + "version": "4.13.0", "license": "MIT", "dependencies": { - "@stylable/core": "^4.12.0", - "@stylable/module-utils": "^4.12.0", + "@stylable/core": "^4.13.0", + "@stylable/module-utils": "^4.13.0", "find-config": "^1.0.0" }, "engines": { @@ -7502,10 +7564,10 @@ }, "packages/optimizer": { "name": "@stylable/optimizer", - "version": "4.12.0", + "version": "4.13.0", "license": "MIT", "dependencies": { - "@stylable/core": "^4.12.0", + "@stylable/core": "^4.13.0", "@tokey/css-selector-parser": "^0.6.0", "csso": "^5.0.3", "postcss": "^8.4.12" @@ -7516,14 +7578,14 @@ }, "packages/rollup-plugin": { "name": "@stylable/rollup-plugin", - "version": "4.12.0", + "version": "4.13.0", "license": "MIT", "dependencies": { - "@stylable/build-tools": "^4.12.0", - "@stylable/cli": "^4.12.0", - "@stylable/node": "^4.12.0", - "@stylable/optimizer": "^4.12.0", - "@stylable/runtime": "^4.12.0", + "@stylable/build-tools": "^4.13.0", + "@stylable/cli": "^4.13.0", + "@stylable/node": "^4.13.0", + "@stylable/optimizer": "^4.13.0", + "@stylable/runtime": "^4.13.0", "decache": "^4.6.1", "mime": "^3.0.0" }, @@ -7537,7 +7599,7 @@ }, "packages/runtime": { "name": "@stylable/runtime", - "version": "4.12.0", + "version": "4.13.0", "license": "MIT", "engines": { "node": ">=12" @@ -7545,10 +7607,10 @@ }, "packages/schema-extract": { "name": "@stylable/schema-extract", - "version": "4.12.0", + "version": "4.13.0", "license": "MIT", "dependencies": { - "@stylable/core": "^4.12.0", + "@stylable/core": "^4.13.0", "jest-docblock": "^27.5.1" }, "engines": { @@ -7557,7 +7619,7 @@ }, "packages/uni-driver": { "name": "@stylable/uni-driver", - "version": "4.12.0", + "version": "4.13.0", "license": "MIT", "engines": { "node": ">=12" @@ -7565,12 +7627,12 @@ }, "packages/webpack-extensions": { "name": "@stylable/webpack-extensions", - "version": "4.12.0", + "version": "4.13.0", "license": "MIT", "dependencies": { - "@stylable/core": "^4.12.0", - "@stylable/node": "^4.12.0", - "@stylable/webpack-plugin": "^4.12.0", + "@stylable/core": "^4.13.0", + "@stylable/node": "^4.13.0", + "@stylable/webpack-plugin": "^4.13.0", "@tokey/css-selector-parser": "^0.6.0", "lodash.clonedeep": "^4.5.0" }, @@ -7583,15 +7645,15 @@ }, "packages/webpack-plugin": { "name": "@stylable/webpack-plugin", - "version": "4.12.0", + "version": "4.13.0", "license": "MIT", "dependencies": { - "@stylable/build-tools": "^4.12.0", - "@stylable/cli": "^4.12.0", - "@stylable/module-utils": "^4.12.0", - "@stylable/node": "^4.12.0", - "@stylable/optimizer": "^4.12.0", - "@stylable/runtime": "^4.12.0", + "@stylable/build-tools": "^4.13.0", + "@stylable/cli": "^4.13.0", + "@stylable/module-utils": "^4.13.0", + "@stylable/node": "^4.13.0", + "@stylable/optimizer": "^4.13.0", + "@stylable/runtime": "^4.13.0", "decache": "^4.6.1", "find-config": "^1.0.0", "lodash.clonedeep": "^4.5.0", @@ -7608,9 +7670,9 @@ }, "dependencies": { "@eslint/eslintrc": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz", - "integrity": "sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz", + "integrity": "sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==", "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -7717,9 +7779,9 @@ "requires": {} }, "@rollup/plugin-node-resolve": { - "version": "13.1.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.3.tgz", - "integrity": "sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ==", + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.2.1.tgz", + "integrity": "sha512-btX7kzGvp1JwShQI9V6IM841YKNPYjKCvUbNrQ2EcVYbULtUd/GH6wZ/qdqH13j9pOHBER+EZXNN2L8RSJhVRA==", "dev": true, "requires": { "@rollup/pluginutils": "^3.1.0", @@ -7744,7 +7806,7 @@ "@stylable/build-tools": { "version": "file:packages/build-tools", "requires": { - "@stylable/core": "^4.12.0", + "@stylable/core": "^4.13.0", "find-config": "^1.0.0" } }, @@ -7753,23 +7815,23 @@ "requires": { "@file-services/node": "^6.0.0", "@file-services/types": "^6.0.0", - "@stylable/build-tools": "^4.12.0", - "@stylable/code-formatter": "^4.12.0", - "@stylable/core": "^4.12.0", - "@stylable/node": "^4.12.0", - "@stylable/optimizer": "^4.12.0", + "@stylable/build-tools": "^4.13.0", + "@stylable/code-formatter": "^4.13.0", + "@stylable/core": "^4.13.0", + "@stylable/node": "^4.13.0", + "@stylable/optimizer": "^4.13.0", "@wixc3/resolve-directory-context": "^2.0.0", "decache": "^4.6.1", "lodash.camelcase": "^4.3.0", "lodash.upperfirst": "^4.3.1", - "yargs": "^17.4.0" + "yargs": "^17.4.1" } }, "@stylable/code-formatter": { "version": "file:packages/code-formatter", "requires": { - "@stylable/core": "^4.12.0", - "js-beautify": "^1.14.2" + "@stylable/core": "^4.13.0", + "js-beautify": "^1.14.3" } }, "@stylable/core": { @@ -7781,7 +7843,7 @@ "css-selector-tokenizer": "^0.8.0", "cssesc": "^3.0.0", "deindent": "^0.1.0", - "enhanced-resolve": "^5.9.2", + "enhanced-resolve": "^5.9.3", "is-vendor-prefixed": "^4.0.0", "lodash.clonedeep": "^4.5.0", "lodash.clonedeepwith": "^4.5.0", @@ -7803,7 +7865,7 @@ "version": "file:packages/core-test-kit", "requires": { "@file-services/memory": "^6.0.0", - "@stylable/core": "^4.12.0", + "@stylable/core": "^4.13.0", "chai": "^4.3.6", "flat": "^5.0.2", "postcss": "^8.4.12" @@ -7812,33 +7874,33 @@ "@stylable/custom-value": { "version": "file:packages/custom-value", "requires": { - "@stylable/core": "^4.12.0" + "@stylable/core": "^4.13.0" } }, "@stylable/dom-test-kit": { "version": "file:packages/dom-test-kit", "requires": { - "@stylable/core": "^4.12.0", - "@stylable/runtime": "^4.12.0", + "@stylable/core": "^4.13.0", + "@stylable/runtime": "^4.13.0", "@tokey/css-selector-parser": "^0.6.0" } }, "@stylable/e2e-test-kit": { "version": "file:packages/e2e-test-kit", "requires": { - "@stylable/runtime": "^4.12.0", + "@stylable/runtime": "^4.13.0", "express": "^4.17.3", "node-eval": "^2.0.0", - "playwright-core": "^1.20.2", + "playwright-core": "^1.21.1", "rimraf": "^3.0.2" } }, "@stylable/experimental-loader": { "version": "file:packages/experimental-loader", "requires": { - "@stylable/core": "^4.12.0", - "@stylable/optimizer": "^4.12.0", - "@stylable/runtime": "^4.12.0", + "@stylable/core": "^4.13.0", + "@stylable/optimizer": "^4.13.0", + "@stylable/runtime": "^4.13.0", "css-loader": "^6.7.1", "decache": "^4.6.1", "loader-utils": "^3.2.0" @@ -7854,10 +7916,10 @@ "@stylable/jest": { "version": "file:packages/jest", "requires": { - "@stylable/core": "^4.12.0", - "@stylable/module-utils": "^4.12.0", - "@stylable/node": "^4.12.0", - "@stylable/runtime": "^4.12.0" + "@stylable/core": "^4.13.0", + "@stylable/module-utils": "^4.13.0", + "@stylable/node": "^4.13.0", + "@stylable/runtime": "^4.13.0" } }, "@stylable/language-service": { @@ -7865,8 +7927,8 @@ "requires": { "@file-services/types": "^6.0.0", "@file-services/typescript": "^6.0.0", - "@stylable/code-formatter": "^4.12.0", - "@stylable/core": "^4.12.0", + "@stylable/code-formatter": "^4.13.0", + "@stylable/core": "^4.13.0", "css-selector-tokenizer": "^0.8.0", "postcss": "^8.4.12", "postcss-value-parser": "^4.2.0", @@ -7879,7 +7941,7 @@ "@stylable/module-utils": { "version": "file:packages/module-utils", "requires": { - "@stylable/core": "^4.12.0", + "@stylable/core": "^4.13.0", "@tokey/core": "^1.3.0", "vlq": "^2.0.4" } @@ -7887,15 +7949,15 @@ "@stylable/node": { "version": "file:packages/node", "requires": { - "@stylable/core": "^4.12.0", - "@stylable/module-utils": "^4.12.0", + "@stylable/core": "^4.13.0", + "@stylable/module-utils": "^4.13.0", "find-config": "^1.0.0" } }, "@stylable/optimizer": { "version": "file:packages/optimizer", "requires": { - "@stylable/core": "^4.12.0", + "@stylable/core": "^4.13.0", "@tokey/css-selector-parser": "^0.6.0", "csso": "^5.0.3", "postcss": "^8.4.12" @@ -7904,11 +7966,11 @@ "@stylable/rollup-plugin": { "version": "file:packages/rollup-plugin", "requires": { - "@stylable/build-tools": "^4.12.0", - "@stylable/cli": "^4.12.0", - "@stylable/node": "^4.12.0", - "@stylable/optimizer": "^4.12.0", - "@stylable/runtime": "^4.12.0", + "@stylable/build-tools": "^4.13.0", + "@stylable/cli": "^4.13.0", + "@stylable/node": "^4.13.0", + "@stylable/optimizer": "^4.13.0", + "@stylable/runtime": "^4.13.0", "decache": "^4.6.1", "mime": "^3.0.0" } @@ -7919,7 +7981,7 @@ "@stylable/schema-extract": { "version": "file:packages/schema-extract", "requires": { - "@stylable/core": "^4.12.0", + "@stylable/core": "^4.13.0", "jest-docblock": "^27.5.1" } }, @@ -7929,9 +7991,9 @@ "@stylable/webpack-extensions": { "version": "file:packages/webpack-extensions", "requires": { - "@stylable/core": "^4.12.0", - "@stylable/node": "^4.12.0", - "@stylable/webpack-plugin": "^4.12.0", + "@stylable/core": "^4.13.0", + "@stylable/node": "^4.13.0", + "@stylable/webpack-plugin": "^4.13.0", "@tokey/css-selector-parser": "^0.6.0", "lodash.clonedeep": "^4.5.0" } @@ -7939,12 +8001,12 @@ "@stylable/webpack-plugin": { "version": "file:packages/webpack-plugin", "requires": { - "@stylable/build-tools": "^4.12.0", - "@stylable/cli": "^4.12.0", - "@stylable/module-utils": "^4.12.0", - "@stylable/node": "^4.12.0", - "@stylable/optimizer": "^4.12.0", - "@stylable/runtime": "^4.12.0", + "@stylable/build-tools": "^4.13.0", + "@stylable/cli": "^4.13.0", + "@stylable/module-utils": "^4.13.0", + "@stylable/node": "^4.13.0", + "@stylable/optimizer": "^4.13.0", + "@stylable/runtime": "^4.13.0", "decache": "^4.6.1", "find-config": "^1.0.0", "lodash.clonedeep": "^4.5.0", @@ -7995,9 +8057,9 @@ } }, "@types/chai": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.0.tgz", - "integrity": "sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.1.tgz", + "integrity": "sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==", "dev": true }, "@types/chai-subset": { @@ -8148,51 +8210,51 @@ "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" }, "@types/lodash": { - "version": "4.14.181", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.181.tgz", - "integrity": "sha512-n3tyKthHJbkiWhDZs3DkhkCzt2MexYHXlX0td5iMplyfwketaOeKboEVBqzceH7juqvEg3q5oUoBFxSLu7zFag==", + "version": "4.14.182", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.182.tgz", + "integrity": "sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==", "dev": true }, "@types/lodash.camelcase": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/@types/lodash.camelcase/-/lodash.camelcase-4.3.6.tgz", - "integrity": "sha512-hd/TEuPd76Jtf1xEq85CHbCqR+iqvs5IOKyrYbiaOg69BRQgPN9XkvLj8Jl8rBp/dfJ2wQ1AVcP8mZmybq7kIg==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/@types/lodash.camelcase/-/lodash.camelcase-4.3.7.tgz", + "integrity": "sha512-Nfi6jpo9vuEOSIJP+mpbTezKyEt75DQlbwjiDvs/JctWkbnHDoyQo5lWqdvgNiJmVUjcmkfvlrvSEgJYvurOKg==", "dev": true, "requires": { "@types/lodash": "*" } }, "@types/lodash.clonedeep": { - "version": "4.5.6", - "resolved": "https://registry.npmjs.org/@types/lodash.clonedeep/-/lodash.clonedeep-4.5.6.tgz", - "integrity": "sha512-cE1jYr2dEg1wBImvXlNtp0xDoS79rfEdGozQVgliDZj1uERH4k+rmEMTudP9b4VQ8O6nRb5gPqft0QzEQGMQgA==", + "version": "4.5.7", + "resolved": "https://registry.npmjs.org/@types/lodash.clonedeep/-/lodash.clonedeep-4.5.7.tgz", + "integrity": "sha512-ccNqkPptFIXrpVqUECi60/DFxjNKsfoQxSQsgcBJCX/fuX1wgyQieojkcWH/KpE3xzLoWN/2k+ZeGqIN3paSvw==", "dev": true, "requires": { "@types/lodash": "*" } }, "@types/lodash.clonedeepwith": { - "version": "4.5.6", - "resolved": "https://registry.npmjs.org/@types/lodash.clonedeepwith/-/lodash.clonedeepwith-4.5.6.tgz", - "integrity": "sha512-lroYwAgCFPkHyxi9548a+uQMelP60AaA74CBqfn9Li27+ukUZritx+JVYJ0W54PKBaBauXzTRHEvGzYrPsPZtQ==", + "version": "4.5.7", + "resolved": "https://registry.npmjs.org/@types/lodash.clonedeepwith/-/lodash.clonedeepwith-4.5.7.tgz", + "integrity": "sha512-QPCMby+Glpme6mv/ds4YUSP06bD0FdRVzYF9NjfAP/cKFyjj3BV8bDodx1Npqf/M979WNds1r6K1I7cFwBTmWA==", "dev": true, "requires": { "@types/lodash": "*" } }, "@types/lodash.findlast": { - "version": "4.6.6", - "resolved": "https://registry.npmjs.org/@types/lodash.findlast/-/lodash.findlast-4.6.6.tgz", - "integrity": "sha512-HsEybos8Y6zVK+Okj821O4WTmUtgVzPeZOYNgDCt+vqF8NopjdXXhk8ksLiR8vZUzmU7CBoKeBmxqybLmpPXDw==", + "version": "4.6.7", + "resolved": "https://registry.npmjs.org/@types/lodash.findlast/-/lodash.findlast-4.6.7.tgz", + "integrity": "sha512-QP9cSvp2creZZlRHdfz/S1v70ctGShDiK/NdJGQZwhD+IOWmjBO8ldIVEi8La6GTgfyC2ZtIMX3USOvBFYorNg==", "dev": true, "requires": { "@types/lodash": "*" } }, "@types/lodash.upperfirst": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/@types/lodash.upperfirst/-/lodash.upperfirst-4.3.6.tgz", - "integrity": "sha512-op4ctKkT1eD/Nt8MCPlN7O2IQrYWIcH1rOPHM86SKzbliLG50eVXM6+qzkdxtBV7DZb3W/1Up2+k43WK9F0Bgg==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/@types/lodash.upperfirst/-/lodash.upperfirst-4.3.7.tgz", + "integrity": "sha512-CrBjoB4lO6h7tXNMBUl1eh/w0KdMosiEOXOoD5DMECsA/kDWo/WQfOt1KyGKVvgwK3I6cKAY6z8LymKiMazLFg==", "dev": true, "requires": { "@types/lodash": "*" @@ -8220,9 +8282,9 @@ "dev": true }, "@types/mocha": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.0.tgz", - "integrity": "sha512-QCWHkbMv4Y5U9oW10Uxbr45qMMSzl4OzijsozynUAgx3kEHUdXB00udx2dWDQ7f2TU2a2uuiFaRZjCe3unPpeg==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz", + "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==", "dev": true }, "@types/node": { @@ -8246,9 +8308,9 @@ } }, "@types/prop-types": { - "version": "15.7.4", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", - "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==", + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", "dev": true }, "@types/qs": { @@ -8264,9 +8326,9 @@ "dev": true }, "@types/react": { - "version": "17.0.43", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.43.tgz", - "integrity": "sha512-8Q+LNpdxf057brvPu1lMtC5Vn7J119xrP1aq4qiaefNioQUYANF/CYeK4NsKorSZyUGJ66g0IM+4bbjwx45o2A==", + "version": "18.0.6", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.6.tgz", + "integrity": "sha512-bPqwzJRzKtfI0mVYr5R+1o9BOE8UEXefwc1LwcBtfnaAn6OoqMhLa/91VA8aeWfDPJt1kHvYKI8RHcQybZLHHA==", "dev": true, "requires": { "@types/prop-types": "*", @@ -8275,9 +8337,9 @@ } }, "@types/react-dom": { - "version": "17.0.14", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.14.tgz", - "integrity": "sha512-H03xwEP1oXmSfl3iobtmQ/2dHF5aBHr8aUMwyGZya6OW45G+xtdzmq6HkncefiBt5JU8DVyaWl/nWZbjZCnzAQ==", + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.2.tgz", + "integrity": "sha512-UxeS+Wtj5bvLRREz9tIgsK4ntCuLDo0EcAcACgw3E+9wE8ePDr9uQpq53MfcyxyIS55xJ+0B6mDS8c4qkkHLBg==", "dev": true, "requires": { "@types/react": "*" @@ -8327,9 +8389,9 @@ } }, "@types/tough-cookie": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.1.tgz", - "integrity": "sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", + "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", "dev": true }, "@types/validate-npm-package-name": { @@ -8354,23 +8416,23 @@ "dev": true }, "@types/yauzl": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", - "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", "optional": true, "requires": { "@types/node": "*" } }, "@typescript-eslint/eslint-plugin": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.17.0.tgz", - "integrity": "sha512-qVstvQilEd89HJk3qcbKt/zZrfBZ+9h2ynpAGlWjWiizA7m/MtLT9RoX6gjtpE500vfIg8jogAkDzdCxbsFASQ==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.20.0.tgz", + "integrity": "sha512-fapGzoxilCn3sBtC6NtXZX6+P/Hef7VDbyfGqTTpzYydwhlkevB+0vE0EnmHPVTVSy68GUncyJ/2PcrFBeCo5Q==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.17.0", - "@typescript-eslint/type-utils": "5.17.0", - "@typescript-eslint/utils": "5.17.0", + "@typescript-eslint/scope-manager": "5.20.0", + "@typescript-eslint/type-utils": "5.20.0", + "@typescript-eslint/utils": "5.20.0", "debug": "^4.3.2", "functional-red-black-tree": "^1.0.1", "ignore": "^5.1.8", @@ -8380,57 +8442,57 @@ } }, "@typescript-eslint/experimental-utils": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.17.0.tgz", - "integrity": "sha512-U4sM5z0/ymSYqQT6I7lz8l0ZZ9zrya5VIwrwAP5WOJVabVtVsIpTMxPQe+D3qLyePT+VlETUTO2nA1+PufPx9Q==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.20.0.tgz", + "integrity": "sha512-w5qtx2Wr9x13Dp/3ic9iGOGmVXK5gMwyc8rwVgZU46K9WTjPZSyPvdER9Ycy+B5lNHvoz+z2muWhUvlTpQeu+g==", "requires": { - "@typescript-eslint/utils": "5.17.0" + "@typescript-eslint/utils": "5.20.0" } }, "@typescript-eslint/parser": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.17.0.tgz", - "integrity": "sha512-aRzW9Jg5Rlj2t2/crzhA2f23SIYFlF9mchGudyP0uiD6SenIxzKoLjwzHbafgHn39dNV/TV7xwQkLfFTZlJ4ig==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.20.0.tgz", + "integrity": "sha512-UWKibrCZQCYvobmu3/N8TWbEeo/EPQbS41Ux1F9XqPzGuV7pfg6n50ZrFo6hryynD8qOTTfLHtHjjdQtxJ0h/w==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.17.0", - "@typescript-eslint/types": "5.17.0", - "@typescript-eslint/typescript-estree": "5.17.0", + "@typescript-eslint/scope-manager": "5.20.0", + "@typescript-eslint/types": "5.20.0", + "@typescript-eslint/typescript-estree": "5.20.0", "debug": "^4.3.2" } }, "@typescript-eslint/scope-manager": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.17.0.tgz", - "integrity": "sha512-062iCYQF/doQ9T2WWfJohQKKN1zmmXVfAcS3xaiialiw8ZUGy05Em6QVNYJGO34/sU1a7a+90U3dUNfqUDHr3w==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.20.0.tgz", + "integrity": "sha512-h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg==", "requires": { - "@typescript-eslint/types": "5.17.0", - "@typescript-eslint/visitor-keys": "5.17.0" + "@typescript-eslint/types": "5.20.0", + "@typescript-eslint/visitor-keys": "5.20.0" } }, "@typescript-eslint/type-utils": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.17.0.tgz", - "integrity": "sha512-3hU0RynUIlEuqMJA7dragb0/75gZmwNwFf/QJokWzPehTZousP/MNifVSgjxNcDCkM5HI2K22TjQWUmmHUINSg==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.20.0.tgz", + "integrity": "sha512-WxNrCwYB3N/m8ceyoGCgbLmuZwupvzN0rE8NBuwnl7APgjv24ZJIjkNzoFBXPRCGzLNkoU/WfanW0exvp/+3Iw==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.17.0", + "@typescript-eslint/utils": "5.20.0", "debug": "^4.3.2", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.17.0.tgz", - "integrity": "sha512-AgQ4rWzmCxOZLioFEjlzOI3Ch8giDWx8aUDxyNw9iOeCvD3GEYAB7dxWGQy4T/rPVe8iPmu73jPHuaSqcjKvxw==" + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.20.0.tgz", + "integrity": "sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg==" }, "@typescript-eslint/typescript-estree": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.17.0.tgz", - "integrity": "sha512-X1gtjEcmM7Je+qJRhq7ZAAaNXYhTgqMkR10euC4Si6PIjb+kwEQHSxGazXUQXFyqfEXdkGf6JijUu5R0uceQzg==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.20.0.tgz", + "integrity": "sha512-36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w==", "requires": { - "@typescript-eslint/types": "5.17.0", - "@typescript-eslint/visitor-keys": "5.17.0", + "@typescript-eslint/types": "5.20.0", + "@typescript-eslint/visitor-keys": "5.20.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -8439,24 +8501,24 @@ } }, "@typescript-eslint/utils": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.17.0.tgz", - "integrity": "sha512-DVvndq1QoxQH+hFv+MUQHrrWZ7gQ5KcJzyjhzcqB1Y2Xes1UQQkTRPUfRpqhS8mhTWsSb2+iyvDW1Lef5DD7vA==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.20.0.tgz", + "integrity": "sha512-lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w==", "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.17.0", - "@typescript-eslint/types": "5.17.0", - "@typescript-eslint/typescript-estree": "5.17.0", + "@typescript-eslint/scope-manager": "5.20.0", + "@typescript-eslint/types": "5.20.0", + "@typescript-eslint/typescript-estree": "5.20.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.17.0.tgz", - "integrity": "sha512-6K/zlc4OfCagUu7Am/BD5k8PSWQOgh34Nrv9Rxe2tBzlJ7uOeJ/h7ugCGDCeEZHT6k2CJBhbk9IsbkPI0uvUkA==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.20.0.tgz", + "integrity": "sha512-1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg==", "requires": { - "@typescript-eslint/types": "5.17.0", + "@typescript-eslint/types": "5.20.0", "eslint-visitor-keys": "^3.0.0" } }, @@ -8632,9 +8694,9 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, "abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", "dev": true }, "abbrev": { @@ -8804,14 +8866,15 @@ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" }, "array.prototype.flatmap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz", - "integrity": "sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz", + "integrity": "sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==", "dev": true, "requires": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.19.0" + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" } }, "assertion-error": { @@ -8826,13 +8889,13 @@ "dev": true }, "autoprefixer": { - "version": "10.4.4", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.4.tgz", - "integrity": "sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.5.tgz", + "integrity": "sha512-Fvd8yCoA7lNX/OUllvS+aS1I7WRBclGXsepbvT8ZaPgrH24rgXpZzF0/6Hh3ZEkwg+0AES/Osd196VZmYoEFtw==", "dev": true, "requires": { "browserslist": "^4.20.2", - "caniuse-lite": "^1.0.30001317", + "caniuse-lite": "^1.0.30001332", "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -8924,14 +8987,14 @@ "dev": true }, "browserslist": { - "version": "4.20.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", - "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", + "version": "4.20.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", + "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", "requires": { - "caniuse-lite": "^1.0.30001317", - "electron-to-chromium": "^1.4.84", + "caniuse-lite": "^1.0.30001332", + "electron-to-chromium": "^1.4.118", "escalade": "^3.1.1", - "node-releases": "^2.0.2", + "node-releases": "^2.0.3", "picocolors": "^1.0.0" } }, @@ -8952,9 +9015,9 @@ "dev": true }, "builtins": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.0.tgz", - "integrity": "sha512-aizhtbxgT1Udg0Fj6GssXshAVK+nxbtCV+1OtTrMNy67jffDFBY6CUBAkhO4owbleAx6fdbnWdpsmmcXydbzNw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", "requires": { "semver": "^7.0.0" } @@ -9006,9 +9069,9 @@ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" }, "caniuse-lite": { - "version": "1.0.30001324", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001324.tgz", - "integrity": "sha512-/eYp1J6zYh1alySQB4uzYFkLmxxI8tk0kxldbNHXp8+v+rdMKdUBNjRLz7T7fz6Iox+1lIdYpc7rq6ZcXfTukg==" + "version": "1.0.30001332", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz", + "integrity": "sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==" }, "chai": { "version": "4.3.6", @@ -9188,7 +9251,7 @@ "version": "file:packages/create-stylable-app", "requires": { "validate-npm-package-name": "^4.0.0", - "yargs": "^17.4.0" + "yargs": "^17.4.1" } }, "cross-spawn": { @@ -9296,14 +9359,26 @@ "dev": true }, "data-urls": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.1.tgz", - "integrity": "sha512-Ds554NeT5Gennfoo9KN50Vh6tpgtvYEwraYjejXnyTpu1C7oXKxdFk75REooENHE8ndTVOJuv+BEs4/J/xcozw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", "dev": true, "requires": { - "abab": "^2.0.3", + "abab": "^2.0.6", "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^10.0.0" + "whatwg-url": "^11.0.0" + }, + "dependencies": { + "whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dev": true, + "requires": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + } + } } }, "debug": { @@ -9354,12 +9429,13 @@ "dev": true }, "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "dev": true, "requires": { - "object-keys": "^1.0.12" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" } }, "deindent": { @@ -9420,9 +9496,9 @@ } }, "dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", "dev": true, "requires": { "domelementtype": "^2.0.1", @@ -9431,9 +9507,9 @@ } }, "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "dev": true }, "domexception": { @@ -9518,9 +9594,9 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "electron-to-chromium": { - "version": "1.4.103", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.103.tgz", - "integrity": "sha512-c/uKWR1Z/W30Wy/sx3dkZoj4BijbXX85QKWu9jJfjho3LBAXNEGAEW3oWiGb+dotA6C6BzCTxL2/aLes7jlUeg==" + "version": "1.4.118", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.118.tgz", + "integrity": "sha512-maZIKjnYDvF7Fs35nvVcyr44UcKNwybr93Oba2n3HkKDFAtk0svERkLN/HyczJDS3Fo4wU9th9fUQd09ZLtj1w==" }, "emoji-regex": { "version": "8.0.0", @@ -9547,9 +9623,9 @@ } }, "enhanced-resolve": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz", - "integrity": "sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", + "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==", "requires": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -9571,9 +9647,9 @@ } }, "es-abstract": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.2.tgz", - "integrity": "sha512-gfSBJoZdlL2xRiOCy0g8gLMryhoe1TlimjzU99L/31Z8QEGIhVQI+EWwt5lT+AuU9SnorVupXFqqOGqGfsyO6w==", + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz", + "integrity": "sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -9587,7 +9663,7 @@ "is-callable": "^1.2.4", "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.1", + "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", "is-weakref": "^1.0.2", "object-inspect": "^1.12.0", @@ -9603,6 +9679,15 @@ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" }, + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, "es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", @@ -9691,11 +9776,11 @@ } }, "eslint": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.12.0.tgz", - "integrity": "sha512-it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz", + "integrity": "sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==", "requires": { - "@eslint/eslintrc": "^1.2.1", + "@eslint/eslintrc": "^1.2.2", "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -9809,8 +9894,8 @@ "eslint-plugin-stylable": { "version": "file:packages/eslint-plugin-stylable", "requires": { - "@stylable/core": "^4.12.0", - "@typescript-eslint/experimental-utils": "^5.17.0" + "@stylable/core": "^4.13.0", + "@typescript-eslint/experimental-utils": "^5.20.0" } }, "eslint-scope": { @@ -10175,6 +10260,12 @@ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -10262,9 +10353,9 @@ } }, "graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" }, "growl": { "version": "1.10.5", @@ -10282,9 +10373,9 @@ } }, "has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true }, "has-flag": { @@ -10292,6 +10383,15 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, "has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -10392,9 +10492,10 @@ } }, "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, "requires": { "agent-base": "6", "debug": "4" @@ -10514,9 +10615,9 @@ "dev": true }, "is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", "dev": true, "requires": { "has": "^1.0.3" @@ -10686,11 +10787,11 @@ "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==" }, "js-beautify": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.2.tgz", - "integrity": "sha512-H85kX95a53os+q1OCqtYe8AXAmgy3BvtysA/V83S3fdhznm6WlUpGi14DqSPbKFsL3dXZFXYl7YQwW9U1+76ng==", + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.3.tgz", + "integrity": "sha512-f1ra8PHtOEu/70EBnmiUlV8nJePS58y9qKjl4JHfYWlFH6bo7ogZBz//FAZp7jDuXtYnGYKymZPlrg2I/9Zo4g==", "requires": { - "config-chain": "^1.1.12", + "config-chain": "^1.1.13", "editorconfig": "^0.15.3", "glob": "^7.1.3", "nopt": "^5.0.0" @@ -10798,9 +10899,9 @@ } }, "loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==" + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" }, "loader-utils": { "version": "2.0.2", @@ -11134,9 +11235,9 @@ }, "dependencies": { "commander": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.1.0.tgz", - "integrity": "sha512-i0/MaqBtdbnJ4XQs4Pmyb+oFQl+q0lsAmokVUH92SlSw4fkeAcG3bVon+Qt7hmtF+u3Het6o4VgrcY3qAoEB6w==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", + "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==", "dev": true }, "find-up": { @@ -11240,9 +11341,9 @@ } }, "node-releases": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", - "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.3.tgz", + "integrity": "sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==" }, "nopt": { "version": "5.0.0", @@ -11677,18 +11778,18 @@ } }, "playwright-chromium": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/playwright-chromium/-/playwright-chromium-1.20.2.tgz", - "integrity": "sha512-KsiPLRC1v56qLWqjzeEoDZNVW/eFrP5ad0PFQAa74u5EwnnId89LgOHEZFy487tt3xJdv3Ayyfdn8zwsUpS3Qg==", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright-chromium/-/playwright-chromium-1.21.1.tgz", + "integrity": "sha512-bbqFFpcTs+3amiofja/KvTmZ+FZnMNEOuGkRyJk2p6DV9EbgRYVrlzzgLtMnX2DwaX3ZZ23MukGuQ+bVKOdsnw==", "dev": true, "requires": { - "playwright-core": "1.20.2" + "playwright-core": "1.21.1" } }, "playwright-core": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.20.2.tgz", - "integrity": "sha512-iV6+HftSPalynkq0CYJala1vaTOq7+gU9BRfKCdM9bAxNq/lFLrwbluug2Wt5OoUwbMABcnTThIEm3/qUhCdJQ==", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.21.1.tgz", + "integrity": "sha512-SbK5dEsai9ZUKlxcinqegorBq4GnftXd4/GfW+pLsdQIQWrLCM/JNh6YQ2Rf2enVykXCejtoXW8L5vJXBBVSJQ==", "requires": { "colors": "1.4.0", "commander": "8.3.0", @@ -11718,6 +11819,15 @@ "ms": "2.1.2" } }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, "ws": { "version": "8.4.2", "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", @@ -12001,13 +12111,14 @@ } }, "regexp.prototype.flags": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz", - "integrity": "sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" } }, "regexpp": { @@ -12080,9 +12191,9 @@ } }, "rollup": { - "version": "2.70.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.1.tgz", - "integrity": "sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA==", + "version": "2.70.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.2.tgz", + "integrity": "sha512-EitogNZnfku65I1DD5Mxe8JYRUCy0hkK5X84IlDtUs+O6JRMpRciXTzyCUuX11b5L5pvjH+OmFXiQ3XjabcXgg==", "requires": { "fsevents": "~2.3.2" } @@ -12134,9 +12245,9 @@ } }, "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "requires": { "lru-cache": "^6.0.0" } @@ -12571,9 +12682,9 @@ "dev": true }, "tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", "dev": true }, "tsutils": { @@ -12624,14 +12735,14 @@ "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==" }, "unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, "requires": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", "which-boxed-primitive": "^1.0.2" } }, @@ -12814,9 +12925,9 @@ "dev": true }, "webpack": { - "version": "5.71.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.71.0.tgz", - "integrity": "sha512-g4dFT7CFG8LY0iU5G8nBL6VlkT21Z7dcYDpJAEJV5Q1WLb9UwnFbrem1k7K52ILqEmomN7pnzWFxxE6SlDY56A==", + "version": "5.72.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz", + "integrity": "sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==", "requires": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^0.0.51", @@ -13023,9 +13134,9 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yargs": { - "version": "17.4.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.0.tgz", - "integrity": "sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA==", + "version": "17.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz", + "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==", "requires": { "cliui": "^7.0.2", "escalade": "^3.1.1", diff --git a/package.json b/package.json index 54679b92d..7d9e7587a 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "watch": "npm run build -- -w", "lint": "eslint .", "pretest": "npm run build", - "test": "node scripts/test-runner.js --parallel", + "test": "node --enable-source-maps scripts/test-runner.js --parallel", "test:integrations": "npm run test -- --i", "test:core-packages": "npm run test -- --cp", "prettify": "npx prettier . --write" @@ -19,9 +19,9 @@ "@file-services/memory": "^6.0.0", "@file-services/node": "^6.0.0", "@rollup/plugin-html": "^0.2.4", - "@rollup/plugin-node-resolve": "^13.1.3", + "@rollup/plugin-node-resolve": "^13.2.1", "@types/balanced-match": "^1.0.2", - "@types/chai": "^4.3.0", + "@types/chai": "^4.3.1", "@types/chai-subset": "^1.3.3", "@types/css-selector-tokenizer": "^0.7.1", "@types/cssesc": "^3.0.0", @@ -33,28 +33,28 @@ "@types/js-beautify": "^1.13.3", "@types/jsdom": "^16.2.14", "@types/json-schema": "^7.0.11", - "@types/lodash.camelcase": "^4.3.6", - "@types/lodash.clonedeep": "^4.5.6", - "@types/lodash.clonedeepwith": "^4.5.6", - "@types/lodash.findlast": "^4.6.6", - "@types/lodash.upperfirst": "^4.3.6", + "@types/lodash.camelcase": "^4.3.7", + "@types/lodash.clonedeep": "^4.5.7", + "@types/lodash.clonedeepwith": "^4.5.7", + "@types/lodash.findlast": "^4.6.7", + "@types/lodash.upperfirst": "^4.3.7", "@types/memory-fs": "^0.3.3", "@types/mime": "^2.0.3", - "@types/mocha": "^9.1.0", + "@types/mocha": "^9.1.1", "@types/node": "14", "@types/postcss-safe-parser": "^5.0.1", - "@types/react": "^17.0.43", - "@types/react-dom": "^17.0.14", + "@types/react": "^18.0.6", + "@types/react-dom": "^18.0.2", "@types/rimraf": "^3.0.2", "@types/validate-npm-package-name": "^3.0.3", "@types/yargs": "^17.0.10", - "@typescript-eslint/eslint-plugin": "^5.17.0", - "@typescript-eslint/parser": "^5.17.0", - "autoprefixer": "^10.4.4", + "@typescript-eslint/eslint-plugin": "^5.20.0", + "@typescript-eslint/parser": "^5.20.0", + "autoprefixer": "^10.4.5", "chai": "^4.3.6", "chai-subset": "^1.6.0", "create-listening-server": "^1.0.0", - "eslint": "^8.12.0", + "eslint": "^8.14.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-react": "^7.29.4", "eslint-plugin-react-hooks": "^4.4.0", @@ -67,22 +67,22 @@ "mocha-play": "^3.1.0", "node-eval": "^2.0.0", "npm-run-all": "^4.1.5", - "playwright-chromium": "^1.20.2", + "playwright-chromium": "^1.21.1", "postcss": "^8.4.12", "promise-assist": "^1.3.0", "raw-loader": "^4.0.2", "react": "^18.0.0", "react-dom": "^18.0.0", "rimraf": "^3.0.2", - "rollup": "^2.70.1", + "rollup": "^2.70.2", "source-map": "^0.7.3", "source-map-loader": "^3.0.1", "style-loader": "^3.3.1", "ts-expect": "^1.3.0", "typescript": "~4.6.3", "url-loader": "^4.1.1", - "webpack": "^5.71.0", - "yargs": "^17.4.0" + "webpack": "^5.72.0", + "yargs": "^17.4.1" }, "engines": { "node": ">=14.14.0" diff --git a/packages/build-tools/package.json b/packages/build-tools/package.json index 05d2f01d9..6ab011b8e 100644 --- a/packages/build-tools/package.json +++ b/packages/build-tools/package.json @@ -1,13 +1,13 @@ { "name": "@stylable/build-tools", - "version": "4.12.0", + "version": "4.13.0", "description": "Collection of helper functions for Stylable based tooling.", "main": "dist/index.js", "scripts": { "test": "mocha \"./dist/test/**/*.spec.js\" --timeout 20000" }, "dependencies": { - "@stylable/core": "^4.12.0", + "@stylable/core": "^4.13.0", "find-config": "^1.0.0" }, "files": [ diff --git a/packages/cli/package.json b/packages/cli/package.json index 2638ccadd..c15395d9f 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@stylable/cli", - "version": "4.12.0", + "version": "4.13.0", "description": "A low-level utility used for working with Stylable projects", "main": "dist/index.js", "bin": { @@ -14,16 +14,16 @@ "dependencies": { "@file-services/node": "^6.0.0", "@file-services/types": "^6.0.0", - "@stylable/build-tools": "^4.12.0", - "@stylable/code-formatter": "^4.12.0", - "@stylable/core": "^4.12.0", - "@stylable/node": "^4.12.0", - "@stylable/optimizer": "^4.12.0", + "@stylable/build-tools": "^4.13.0", + "@stylable/code-formatter": "^4.13.0", + "@stylable/core": "^4.13.0", + "@stylable/node": "^4.13.0", + "@stylable/optimizer": "^4.13.0", "@wixc3/resolve-directory-context": "^2.0.0", "decache": "^4.6.1", "lodash.camelcase": "^4.3.0", "lodash.upperfirst": "^4.3.1", - "yargs": "^17.4.0" + "yargs": "^17.4.1" }, "files": [ "bin", diff --git a/packages/cli/src/base-generator.ts b/packages/cli/src/base-generator.ts index cde871ec0..a1b95b4ce 100644 --- a/packages/cli/src/base-generator.ts +++ b/packages/cli/src/base-generator.ts @@ -98,7 +98,7 @@ export class IndexGenerator { } export function reExportsAllSymbols(filePath: string, generator: IndexGenerator): ReExports { - const meta = generator.stylable.process(filePath); + const meta = generator.stylable.analyze(filePath); const rootExport = generator.filename2varname(filePath); const classes = Object.keys(meta.getAllClasses()) .filter((name) => name !== meta.root) diff --git a/packages/cli/src/build.ts b/packages/cli/src/build.ts index ca4f66888..4890ef557 100644 --- a/packages/cli/src/build.ts +++ b/packages/cli/src/build.ts @@ -245,7 +245,7 @@ export async function build( try { sourceFiles.add(filePath); const meta = tryRun( - () => stylable.process(filePath), + () => stylable.analyze(filePath), errorMessages.STYLABLE_PROCESS(filePath) ); for (const dependency of stylable.getDependencies(meta)) { diff --git a/packages/cli/src/code-mods/st-global-custom-property-to-at-property.ts b/packages/cli/src/code-mods/st-global-custom-property-to-at-property.ts index 0b5487615..adc17a903 100644 --- a/packages/cli/src/code-mods/st-global-custom-property-to-at-property.ts +++ b/packages/cli/src/code-mods/st-global-custom-property-to-at-property.ts @@ -1,4 +1,4 @@ -import { CSSVarSymbol, Diagnostics, isCSSVarProp } from '@stylable/core'; +import { CSSVarSymbol, Diagnostics, validateCustomPropertyName } from '@stylable/core'; import { CSSCustomProperty } from '@stylable/core/dist/features'; import type { AtRule } from 'postcss'; import type { CodeMod } from './types'; @@ -49,7 +49,7 @@ function parseStGlobalCustomProperty(atRule: AtRule, diagnostics: Diagnostics): for (const entry of cssVarsByComma) { const cssVar = entry.trim(); - if (isCSSVarProp(cssVar)) { + if (validateCustomPropertyName(cssVar)) { cssVars.push({ _kind: 'cssVar', name: cssVar, diff --git a/packages/code-formatter/package.json b/packages/code-formatter/package.json index 06d1f7489..d30cf3913 100644 --- a/packages/code-formatter/package.json +++ b/packages/code-formatter/package.json @@ -1,14 +1,14 @@ { "name": "@stylable/code-formatter", - "version": "4.12.0", + "version": "4.13.0", "description": "A code formatting utility for Stylable stylesheets", "main": "dist/index.js", "scripts": { "test": "mocha \"./dist/test/**/*.spec.js\"" }, "dependencies": { - "@stylable/core": "^4.12.0", - "js-beautify": "^1.14.2" + "@stylable/core": "^4.13.0", + "js-beautify": "^1.14.3" }, "files": [ "dist", diff --git a/packages/code-formatter/src/formatter.ts b/packages/code-formatter/src/formatter.ts index 2cbf249b8..c5c9dc963 100644 --- a/packages/code-formatter/src/formatter.ts +++ b/packages/code-formatter/src/formatter.ts @@ -1,4 +1,4 @@ -import { safeParse } from '@stylable/core'; +import { safeParse } from '@stylable/core/dist/index-internal'; import { css, CSSBeautifyOptions } from 'js-beautify'; import type { Root } from 'postcss'; diff --git a/packages/core-test-kit/README.md b/packages/core-test-kit/README.md index a46aa11b8..bef6cfb30 100644 --- a/packages/core-test-kit/README.md +++ b/packages/core-test-kit/README.md @@ -68,7 +68,7 @@ fs.writeFileSync( ` ); // transform new file -const { meta, exports } = stylable.transform(stylable.process(`/new.st.css`)); +const { meta, exports } = stylable.transform(stylable.analyze(`/new.st.css`)); ``` ## Inline expectations syntax diff --git a/packages/core-test-kit/package.json b/packages/core-test-kit/package.json index 15f2111cc..53d16fde9 100644 --- a/packages/core-test-kit/package.json +++ b/packages/core-test-kit/package.json @@ -1,6 +1,6 @@ { "name": "@stylable/core-test-kit", - "version": "4.12.0", + "version": "4.13.0", "description": "Stylable core test-kit", "main": "dist/index.js", "scripts": { @@ -8,7 +8,7 @@ }, "dependencies": { "@file-services/memory": "^6.0.0", - "@stylable/core": "^4.12.0", + "@stylable/core": "^4.13.0", "chai": "^4.3.6", "flat": "^5.0.2", "postcss": "^8.4.12" diff --git a/packages/core-test-kit/src/diagnostics.ts b/packages/core-test-kit/src/diagnostics.ts index 8cf7d95c6..78591f3e1 100644 --- a/packages/core-test-kit/src/diagnostics.ts +++ b/packages/core-test-kit/src/diagnostics.ts @@ -1,14 +1,8 @@ import { expect } from 'chai'; import deindent from 'deindent'; import type { Position } from 'postcss'; -import { - Diagnostics, - DiagnosticType, - process, - safeParse, - StylableMeta, - StylableResults, -} from '@stylable/core'; +import { Diagnostics, DiagnosticType, StylableMeta, StylableResults } from '@stylable/core'; +import { safeParse, process } from '@stylable/core/dist/index-internal'; import { Config, generateStylableResult } from './generate-test-util'; export interface Diagnostic { diff --git a/packages/core-test-kit/src/generate-test-util.ts b/packages/core-test-kit/src/generate-test-util.ts index 1fb0925c9..296aef95a 100644 --- a/packages/core-test-kit/src/generate-test-util.ts +++ b/packages/core-test-kit/src/generate-test-util.ts @@ -1,19 +1,18 @@ import { - createMinimalFS, Diagnostics, FileProcessor, postProcessor, - process, processNamespace, replaceValueHook, StylableMeta, StylableResolver, - StylableTransformer, createStylableFileProcessor, createDefaultResolver, Stylable, StylableConfig, } from '@stylable/core'; +import { createJavascriptRequireModule } from './test-stylable-core'; +import { process, StylableTransformer } from '@stylable/core/dist/index-internal'; import { isAbsolute } from 'path'; import * as postcss from 'postcss'; import { createMemoryFs } from '@file-services/memory'; @@ -34,6 +33,7 @@ export interface Config { entry?: string; files: Record; usedFiles?: string[]; + /**@deprecated defaults to false*/ trimWS?: boolean; optimize?: boolean; resolve?: any; @@ -42,8 +42,14 @@ export interface Config { export type RequireType = (path: string) => any; +/**@deprecated use testStylableCore */ export function generateInfra(config: InfraConfig, diagnostics: Diagnostics = new Diagnostics()) { - const { fs, requireModule } = createMinimalFS(config); + const files: Record = {}; + for (const [path, { content }] of Object.entries(config.files)) { + files[path] = content; + } + const fs = createMemoryFs(files); + const requireModule = createJavascriptRequireModule(fs); const fileProcessor = createStylableFileProcessor({ fileSystem: fs, onProcess: (meta, filePath) => { diff --git a/packages/core-test-kit/src/test-stylable-core.ts b/packages/core-test-kit/src/test-stylable-core.ts index d7b2cd9f5..01b8133cb 100644 --- a/packages/core-test-kit/src/test-stylable-core.ts +++ b/packages/core-test-kit/src/test-stylable-core.ts @@ -51,14 +51,14 @@ export function testStylableCore( if (!isAbsolute(path || '')) { throw new Error(testStylableCore.errors.absoluteEntry(path)); } - const meta = stylable.process(path); + const meta = stylable.analyze(path); const { exports } = stylable.transform(meta); sheets[path] = { meta, exports }; } // inline test - build all and test for (const path of allSheets) { - const meta = stylable.process(path); + const meta = stylable.analyze(path); if (!meta.outputAst) { // ToDo: test stylable.transform(meta); @@ -73,8 +73,7 @@ testStylableCore.errors = { absoluteEntry: (entry: string) => `entry must be absolute path got: ${entry}`, }; -// copied from memory-minimal -function createJavascriptRequireModule(fs: IFileSystem) { +export function createJavascriptRequireModule(fs: IFileSystem) { const requireModule = (id: string): any => { if (id === '@stylable/core') { return require(id); diff --git a/packages/core-test-kit/test/test-stylable-core.spec.ts b/packages/core-test-kit/test/test-stylable-core.spec.ts index fae60dbd5..8157f0ecc 100644 --- a/packages/core-test-kit/test/test-stylable-core.spec.ts +++ b/packages/core-test-kit/test/test-stylable-core.spec.ts @@ -40,7 +40,7 @@ describe(`testStylableCore()`, () => { .part {} ` ); - const newMeta = stylable.process(`/new.st.css`); + const newMeta = stylable.analyze(`/new.st.css`); stylable.transform(newMeta); expect(newMeta.outputAst?.toString().trim()).to.equal(`.entry__part {}`); diff --git a/packages/core/package.json b/packages/core/package.json index de0d0c59b..71f3518ed 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@stylable/core", - "version": "4.12.0", + "version": "4.13.0", "description": "CSS for Components", "main": "dist/index.js", "scripts": { @@ -17,7 +17,7 @@ "css-selector-tokenizer": "^0.8.0", "cssesc": "^3.0.0", "deindent": "^0.1.0", - "enhanced-resolve": "^5.9.2", + "enhanced-resolve": "^5.9.3", "is-vendor-prefixed": "^4.0.0", "lodash.clonedeep": "^4.5.0", "lodash.clonedeepwith": "^4.5.0", diff --git a/packages/core/src/cached-process-file.ts b/packages/core/src/cached-process-file.ts index d2f1776d6..5fae01b31 100644 --- a/packages/core/src/cached-process-file.ts +++ b/packages/core/src/cached-process-file.ts @@ -12,7 +12,7 @@ export interface MinimalFS { } export interface FileProcessor { - process: (fullpath: string, ignoreCache?: boolean) => T; + process: (fullpath: string, invalidateCache?: boolean) => T; add: (fullpath: string, value: T) => void; processContent: (content: string, fullpath: string) => T; cache: Record>; @@ -25,11 +25,11 @@ export function cachedProcessFile( postProcessors: Array<(value: T, path: string) => T> = [], cache: { [key: string]: CacheItem } = {} ): FileProcessor { - function process(fullpath: string, ignoreCache = false) { + function process(fullpath: string, invalidateCache = false) { const stat = fs.statSync(fullpath); const cached = cache[fullpath]; if ( - ignoreCache || + invalidateCache || !cached || (cached && cached.stat.mtime.valueOf() !== stat.mtime.valueOf()) ) { diff --git a/packages/core/src/deprecated/deprecated-stylable-utils.ts b/packages/core/src/deprecated/deprecated-stylable-utils.ts index 902018bd2..b8a4702b3 100644 --- a/packages/core/src/deprecated/deprecated-stylable-utils.ts +++ b/packages/core/src/deprecated/deprecated-stylable-utils.ts @@ -9,7 +9,6 @@ import { import type { SRule } from './postcss-ast-extension'; import { STSymbol, Imported } from '../features'; import type { StylableMeta } from '../stylable-meta'; -import { valueMapping } from '../stylable-value-parsers'; import cloneDeep from 'lodash.clonedeep'; import * as postcss from 'postcss'; @@ -189,7 +188,7 @@ export function removeUnusedRules( } const symbol = STSymbol.get(meta, node.name); if (symbol && (symbol._kind === 'class' || symbol._kind === 'element')) { - let extend = symbol[valueMapping.extends] || symbol.alias; + let extend = symbol[`-st-extends`] || symbol.alias; extend = extend && extend._kind !== 'import' ? extend.alias || extend : extend; if ( @@ -213,7 +212,7 @@ export function removeUnusedRules( export function findRule( root: postcss.Root, selector: string, - test: any = (statement: any) => statement.prop === valueMapping.extends + test: any = (statement: any) => statement.prop === `-st-extends` ): null | postcss.Declaration { let found: any = null; root.walkRules(selector, (rule) => { diff --git a/packages/core/src/deprecated/leftovers.ts b/packages/core/src/deprecated/leftovers.ts new file mode 100644 index 000000000..b7d94e572 --- /dev/null +++ b/packages/core/src/deprecated/leftovers.ts @@ -0,0 +1,8 @@ +import type { MappedStates } from '../features'; + +/**@deprecated */ +export interface TypedClass { + '-st-root'?: boolean; + '-st-states'?: string[] | MappedStates; + '-st-extends'?: string; +} diff --git a/packages/core/src/memory-minimal-fs.ts b/packages/core/src/deprecated/memory-minimal-fs.ts similarity index 98% rename from packages/core/src/memory-minimal-fs.ts rename to packages/core/src/deprecated/memory-minimal-fs.ts index 3e174c8bb..838b65ba9 100644 --- a/packages/core/src/memory-minimal-fs.ts +++ b/packages/core/src/deprecated/memory-minimal-fs.ts @@ -1,6 +1,6 @@ import { dirname } from 'path'; import deindent from 'deindent'; -import type { MinimalFS } from './cached-process-file'; +import type { MinimalFS } from '../cached-process-file'; export interface File { content: string; diff --git a/packages/core/src/deprecated/postcss-ast-extension.ts b/packages/core/src/deprecated/postcss-ast-extension.ts index 3c8645a8e..e6df6ccf0 100644 --- a/packages/core/src/deprecated/postcss-ast-extension.ts +++ b/packages/core/src/deprecated/postcss-ast-extension.ts @@ -43,6 +43,7 @@ export interface SRule extends Rule { selectorAst: SelectorAstNode; isSimpleSelector: boolean; selectorType: 'class' | 'element' | 'complex'; + /**@deprecated*/ mixins?: RefedMixin[]; stScopeSelector?: string; } diff --git a/packages/core/src/deprecated/value-mapping.ts b/packages/core/src/deprecated/value-mapping.ts new file mode 100644 index 000000000..0831d7b68 --- /dev/null +++ b/packages/core/src/deprecated/value-mapping.ts @@ -0,0 +1,45 @@ +/**@deprecated use string instead*/ +export const rootValueMapping = { + vars: ':vars' as const, + import: ':import' as const, + stScope: 'st-scope' as const, + namespace: 'namespace' as const, +}; +/**@deprecated use string instead*/ +export const valueMapping = { + from: '-st-from' as const, + named: '-st-named' as const, + default: '-st-default' as const, + root: '-st-root' as const, + states: '-st-states' as const, + extends: '-st-extends' as const, + mixin: '-st-mixin' as const, // ToDo: change to STMixin.MixinType.ALL, + partialMixin: '-st-partial-mixin' as const, // ToDo: change to STMixin.MixinType.PARTIAL, + global: '-st-global' as const, +}; + +/**@deprecated */ +export type stKeys = keyof typeof valueMapping; + +/**@deprecated */ +export const stValues: string[] = Object.keys(valueMapping).map( + (key) => valueMapping[key as stKeys] +); + +/**@deprecated */ +export const stValuesMap: Record = Object.keys(valueMapping).reduce((acc, key) => { + acc[valueMapping[key as stKeys]] = true; + return acc; +}, {} as Record); + +/**@deprecated */ +export const STYLABLE_NAMED_MATCHER = new RegExp(`^${valueMapping.named}-(.+)`); + +/**@deprecated */ +export const mixinDeclRegExp = new RegExp(`(${valueMapping.mixin})|(${valueMapping.partialMixin})`); + +/**@deprecated */ +export const animationPropRegExp = /animation$|animation-name$/; + +/**@deprecated */ +export const STYLABLE_VALUE_MATCHER = /^-st-/; diff --git a/packages/core/src/features/css-class.ts b/packages/core/src/features/css-class.ts index e5b313b22..c2925a1fc 100644 --- a/packages/core/src/features/css-class.ts +++ b/packages/core/src/features/css-class.ts @@ -10,7 +10,6 @@ import { namespace } from '../helpers/namespace'; import { namespaceEscape, unescapeCSS } from '../helpers/escape'; import { convertToSelector, convertToClass, stringifySelector } from '../helpers/selector'; import type { StylableMeta } from '../stylable-meta'; -import { valueMapping } from '../stylable-value-parsers'; import { validateRuleStateDefinition } from '../helpers/custom-state'; import type { ImmutableClass, @@ -81,7 +80,7 @@ export const hooks = createFeature<{ let first = true; // collect list of css classes for exports for (const { meta, symbol } of resolved) { - if (!first && symbol[valueMapping.root]) { + if (!first && symbol[`-st-root`]) { // extended stylesheet root: stop collection as root is expected to // be placed by inner component, for example in