From c6d022ce93c4d96c1b6e1f4977a18a5753b74847 Mon Sep 17 00:00:00 2001 From: Ido Rosenthal Date: Wed, 3 Aug 2022 12:21:12 +0300 Subject: [PATCH 1/6] feat(core): transition from native `@namespace` (conflict) (#2624) --- packages/cli/README.md | 4 +- packages/cli/src/code-mods/load-codemods.ts | 2 + .../code-mods/namespace-to-st-namespace.ts | 29 ++ .../namespace-to-st-namespace.spec.ts | 58 +++ .../test/fixtures/named-exports-generator.ts | 2 +- packages/cli/test/generate-index.spec.ts | 4 +- packages/core/src/features/index.ts | 2 + packages/core/src/features/st-namespace.ts | 201 +++++++++++ packages/core/src/stylable-meta.ts | 2 + packages/core/src/stylable-processor.ts | 85 +---- packages/core/src/stylable-transformer.ts | 8 +- packages/core/test/diagnostic-codes.spec.ts | 2 + .../core/test/features/st-namespace.spec.ts | 336 +++++++++++++++++- packages/core/test/stylable-processor.spec.ts | 60 ---- packages/core/test/stylable-resolver.spec.ts | 6 +- .../src/lib/completion-providers.ts | 2 +- .../src/lib/completion-types.ts | 4 +- .../language-service/src/lib/css-service.ts | 1 + .../imports/top-level-import-exists.st.css | 2 +- .../completions/namespace-directive.spec.ts | 27 +- .../test/test-kit/completions-asserters.ts | 4 +- .../3rd-party-standalone/src/index.st.css | 2 +- .../4th-party-project/src/index.st.css | 2 +- .../src/index.st.css | 2 +- .../src/same-index.st.css | 2 +- .../duplicate-namespace/src/index.st.css | 2 +- .../duplicate-namespace/src/same-index.st.css | 2 +- 27 files changed, 690 insertions(+), 163 deletions(-) create mode 100644 packages/cli/src/code-mods/namespace-to-st-namespace.ts create mode 100644 packages/cli/test/codemods/namespace-to-st-namespace.spec.ts create mode 100644 packages/core/src/features/st-namespace.ts diff --git a/packages/cli/README.md b/packages/cli/README.md index e6fa3a646..ef0593dae 100644 --- a/packages/cli/README.md +++ b/packages/cli/README.md @@ -154,7 +154,7 @@ export class Generator extends Base { } protected generateIndexSource(indexFileTargetPath: string) { const source = super.generateIndexSource(indexFileTargetPath); - return '@namespace "INDEX";\n' + source; + return '@st-namespace "INDEX";\n' + source; } } ``` @@ -338,6 +338,8 @@ npx -p @stylable/cli stc-codemod --help - `st-global-custom-property-to-at-property` - Convert deprecated `@st-global-custom-property *;` to `@property st-global(*);` syntax. +- `namespace-to-st-namespace` - Converts `@namespace` that would have been used as Stylable namespace configuration to `@st-namespace`. + ### Provide an external codemod Codemods are transformation operations for code based on AST. diff --git a/packages/cli/src/code-mods/load-codemods.ts b/packages/cli/src/code-mods/load-codemods.ts index 97fbde0df..b62803e16 100644 --- a/packages/cli/src/code-mods/load-codemods.ts +++ b/packages/cli/src/code-mods/load-codemods.ts @@ -4,10 +4,12 @@ import type { Log } from '../logger'; // Builtin codemods import { stImportToAtImport } from './st-import-to-at-import'; import { stGlobalCustomPropertyToAtProperty } from './st-global-custom-property-to-at-property'; +import { namespaceToStNamespace } from './namespace-to-st-namespace'; export const registeredMods: Map = new Map([ ['st-import-to-at-import', stImportToAtImport], ['st-global-custom-property-to-at-property', stGlobalCustomPropertyToAtProperty], + ['namespace-to-st-namespace', namespaceToStNamespace], ]); export function loadBuiltInCodemods( diff --git a/packages/cli/src/code-mods/namespace-to-st-namespace.ts b/packages/cli/src/code-mods/namespace-to-st-namespace.ts new file mode 100644 index 000000000..cda85ffcc --- /dev/null +++ b/packages/cli/src/code-mods/namespace-to-st-namespace.ts @@ -0,0 +1,29 @@ +import { parseNamespace } from '@stylable/core/dist/features/st-namespace'; +import type * as postcss from 'postcss'; +import type { CodeMod } from './types'; + +export const namespaceToStNamespace: CodeMod = ({ ast }) => { + let changed = false; + let foundStNamespace = false; + const nodesToMod: postcss.AtRule[] = []; + ast.walkAtRules((atRule) => { + if (atRule.name === 'namespace') { + const namespace = parseNamespace(atRule); + if (namespace) { + nodesToMod.push(atRule); + } + } else if (atRule.name === 'st-namespace') { + foundStNamespace = true; + } + }); + if (!foundStNamespace) { + for (const atRule of nodesToMod) { + atRule.name = 'st-namespace'; + changed = true; + } + } + + return { + changed, + }; +}; diff --git a/packages/cli/test/codemods/namespace-to-st-namespace.spec.ts b/packages/cli/test/codemods/namespace-to-st-namespace.spec.ts new file mode 100644 index 000000000..cf0058454 --- /dev/null +++ b/packages/cli/test/codemods/namespace-to-st-namespace.spec.ts @@ -0,0 +1,58 @@ +import { expect } from 'chai'; +import { + populateDirectorySync, + loadDirSync, + runCliCodeMod, + createTempDirectory, + ITempDirectory, +} from '@stylable/e2e-test-kit'; + +describe('CLI Codemods namespace-to-st-namespace', () => { + let tempDir: ITempDirectory; + + beforeEach(async () => { + tempDir = await createTempDirectory(); + }); + afterEach(async () => { + await tempDir.remove(); + }); + + it('should replace @namespace with @st-namespace', () => { + populateDirectorySync(tempDir.path, { + 'package.json': `{"name": "test", "version": "0.0.0"}`, + 'style.st.css': `@namespace "button";`, + }); + + runCliCodeMod(['--rootDir', tempDir.path, '--mods', 'namespace-to-st-namespace']); + + const dirContent = loadDirSync(tempDir.path); + + expect(dirContent['style.st.css']).equal('@st-namespace "button";'); + }); + it('should not replace @namespace when @st-namespace already exist', () => { + populateDirectorySync(tempDir.path, { + 'package.json': `{"name": "test", "version": "0.0.0"}`, + 'style.st.css': `@namespace "button"; @st-namespace "comp";`, + }); + + runCliCodeMod(['--rootDir', tempDir.path, '--mods', 'namespace-to-st-namespace']); + + const dirContent = loadDirSync(tempDir.path); + + expect(dirContent['style.st.css']).equal('@namespace "button"; @st-namespace "comp";'); + }); + it('should not replace @namespace that would not be used as @st-namespace', () => { + populateDirectorySync(tempDir.path, { + 'package.json': `{"name": "test", "version": "0.0.0"}`, + 'style.st.css': `@namespace "http://button"; @namespace prefix "btn";`, + }); + + runCliCodeMod(['--rootDir', tempDir.path, '--mods', 'namespace-to-st-namespace']); + + const dirContent = loadDirSync(tempDir.path); + + expect(dirContent['style.st.css']).equal( + '@namespace "http://button"; @namespace prefix "btn";' + ); + }); +}); diff --git a/packages/cli/test/fixtures/named-exports-generator.ts b/packages/cli/test/fixtures/named-exports-generator.ts index d88b1cd6b..7f4f20794 100644 --- a/packages/cli/test/fixtures/named-exports-generator.ts +++ b/packages/cli/test/fixtures/named-exports-generator.ts @@ -6,6 +6,6 @@ export class Generator extends IndexGenerator { } protected generateIndexSource() { const source = super.generateIndexSource(); - return '@namespace "INDEX";\n' + source; + return '@st-namespace "INDEX";\n' + source; } } diff --git a/packages/cli/test/generate-index.spec.ts b/packages/cli/test/generate-index.spec.ts index 0ba9dc892..89674d24a 100644 --- a/packages/cli/test/generate-index.spec.ts +++ b/packages/cli/test/generate-index.spec.ts @@ -311,7 +311,7 @@ describe('build index', () => { ':import {-st-from: "./comp-A.st.css";-st-default:Style0;}\n.root Style0{}' ); }); - it('should create index file using a custom generator with named exports generation and @namespace', async () => { + it('should create index file using a custom generator with named exports generation and @st-namespace', async () => { const fs = createMemoryFs({ '/comp-A.st.css': ` :vars { @@ -353,7 +353,7 @@ describe('build index', () => { expect(res.trim()).to.equal( [ - '@namespace "INDEX";', + '@st-namespace "INDEX";', ':import {-st-from: "./comp-A.st.css";-st-default:CompA;-st-named: a as CompA__a, color1 as CompA__color1, --color2 as --CompA__color2, keyframes(X as CompA__X);}', '.root CompA{}', '.root .CompA__a{}', diff --git a/packages/core/src/features/index.ts b/packages/core/src/features/index.ts index 6628ff40a..7ba406914 100644 --- a/packages/core/src/features/index.ts +++ b/packages/core/src/features/index.ts @@ -6,6 +6,8 @@ export type { StylableSymbol } from './st-symbol'; export * as STImport from './st-import'; export type { ImportSymbol, Imported } from './st-import'; +export * as STNamespace from './st-namespace'; + export * as STGlobal from './st-global'; export * as STScope from './st-scope'; diff --git a/packages/core/src/features/st-namespace.ts b/packages/core/src/features/st-namespace.ts new file mode 100644 index 000000000..6703e7a60 --- /dev/null +++ b/packages/core/src/features/st-namespace.ts @@ -0,0 +1,201 @@ +import path from 'path'; +import { createFeature, FeatureContext } from './feature'; +import { plugableRecord } from '../helpers/plugable-record'; +import { filename2varname } from '../helpers/string'; +import { stripQuotation } from '../helpers/string'; +import valueParser from 'postcss-value-parser'; +import { murmurhash3_32_gc } from '../murmurhash'; +import { createDiagnosticReporter, Diagnostics } from '../diagnostics'; +import type { AtRule } from 'postcss'; + +export const diagnostics = { + INVALID_NAMESPACE_DEF: createDiagnosticReporter( + '11007', + 'error', + () => 'invalid @st-namespace' + ), + EMPTY_NAMESPACE_DEF: createDiagnosticReporter( + '11008', + 'error', + () => '@st-namespace must contain at least one character or digit' + ), + EXTRA_DEFINITION: createDiagnosticReporter( + '11012', + 'error', + () => '@st-namespace must contain a single string definition' + ), + INVALID_NAMESPACE_VALUE: createDiagnosticReporter( + '11013', + 'error', + () => '@st-namespace must contain only letters, numbers or dashes' + ), + INVALID_NAMESPACE_REFERENCE: createDiagnosticReporter( + '11010', + 'error', + () => 'st-namespace-reference dose not have any value' + ), +}; + +const dataKey = plugableRecord.key<{ + namespaces: string[]; + usedNativeNamespace: string[]; + foundStNamespace: boolean; +}>('namespace'); + +// HOOKS + +export const hooks = createFeature({ + metaInit({ meta }) { + plugableRecord.set(meta.data, dataKey, { + namespaces: [], + usedNativeNamespace: [], + foundStNamespace: false, + }); + }, + analyzeAtRule({ context, atRule }) { + const isSTNamespace = atRule.name === 'st-namespace'; + const isNamespace = atRule.name === 'namespace'; + if (!isSTNamespace && !isNamespace) { + return; + } + const data = plugableRecord.getUnsafe(context.meta.data, dataKey); + if (data.foundStNamespace && isNamespace) { + // ignore @namespace once @st-namespace was found + return; + } + const diag = isSTNamespace ? context.diagnostics : undefined; + const match = parseNamespace(atRule, diag); + if (match) { + data.namespaces.push(match); + if (isNamespace) { + data.usedNativeNamespace.push(atRule.params); + } else { + // clear @namespace matches once @st-namespace if found + data.usedNativeNamespace.length = 0; + // mark to prevent any further @namespace collection + data.foundStNamespace = true; + } + } + }, + prepareAST({ context, node, toRemove }) { + // remove @st-namespace or @namespace that was used as @st-namespace + const { usedNativeNamespace } = plugableRecord.getUnsafe(context.meta.data, dataKey); + if ( + node.type === 'atrule' && + (node.name === 'st-namespace' || + (node.name === 'namespace' && usedNativeNamespace.includes(node.params))) + ) { + toRemove.push(node); + } + }, +}); + +// API + +export function parseNamespace(node: AtRule, diag?: Diagnostics): string | undefined { + const { nodes } = valueParser(node.params); + if (!nodes.length) { + // empty params (not even empty quotes) + diag?.report(diagnostics.EMPTY_NAMESPACE_DEF(), { node }); + return; + } + let isInvalid = false; + let namespace: string | undefined = undefined; + for (const valueNode of nodes) { + switch (valueNode.type) { + case 'string': { + if (namespace === undefined) { + // first namespace + if (!isInvalid) { + namespace = stripQuotation(valueNode.value); + } + } else { + // extra definition - mark as invalid and clear namespace + diag?.report(diagnostics.EXTRA_DEFINITION(), { + node, + word: valueParser.stringify(valueNode), + }); + isInvalid = true; + namespace = undefined; + } + break; + } + case 'comment': + case 'space': + // do nothing + break; + default: { + // invalid definition - mark as invalid and clear namespace + diag?.report(diagnostics.EXTRA_DEFINITION(), { + node, + word: valueParser.stringify(valueNode), + }); + isInvalid = true; + namespace = undefined; + } + } + } + if (namespace === undefined) { + // no namespace found + diag?.report(diagnostics.INVALID_NAMESPACE_DEF(), { + node, + }); + return; + } + if (namespace !== undefined && namespace.trim() === '') { + // empty namespace found + diag?.report(diagnostics.EMPTY_NAMESPACE_DEF(), { + node, + }); + return; + } + // ident like - without escapes + // eslint-disable-next-line no-control-regex + if (!namespace.match(/^([a-zA-Z-_]|[^\x00-\x7F]+)([a-zA-Z-_0-9]|[^\x00-\x7F])*$/)) { + // empty namespace found + diag?.report(diagnostics.INVALID_NAMESPACE_VALUE(), { + node, + word: namespace, + }); + return; + } + return namespace; +} + +export function defaultProcessNamespace(namespace: string, origin: string, _source?: string) { + return namespace + murmurhash3_32_gc(origin); // .toString(36); +} + +export function setMetaNamespace( + context: FeatureContext, + resolveNamespace: typeof defaultProcessNamespace +): void { + const meta = context.meta; + // resolve namespace + const { namespaces } = plugableRecord.getUnsafe(meta.data, dataKey); + const namespace = + namespaces[namespaces.length - 1] || filename2varname(path.basename(meta.source)) || 's'; + // resolve path origin + let pathToSource: string | undefined; + let length = meta.sourceAst.nodes.length; + while (length--) { + const node = meta.sourceAst.nodes[length]; + if (node.type === 'comment' && node.text.includes('st-namespace-reference')) { + const i = node.text.indexOf('='); + if (i === -1) { + context.diagnostics.report(diagnostics.INVALID_NAMESPACE_REFERENCE(), { + node, + }); + } else { + pathToSource = stripQuotation(node.text.slice(i + 1)); + } + break; + } + } + // generate final namespace + meta.namespace = resolveNamespace( + namespace, + pathToSource ? path.resolve(path.dirname(meta.source), pathToSource) : meta.source, + meta.source + ); +} diff --git a/packages/core/src/stylable-meta.ts b/packages/core/src/stylable-meta.ts index ca6aec05e..783b9ffbe 100644 --- a/packages/core/src/stylable-meta.ts +++ b/packages/core/src/stylable-meta.ts @@ -7,6 +7,7 @@ import { getSourcePath } from './stylable-utils'; import { STSymbol, STImport, + STNamespace, STGlobal, STScope, STVar, @@ -22,6 +23,7 @@ import { const features = [ STSymbol, STImport, + STNamespace, STGlobal, STScope, STVar, diff --git a/packages/core/src/stylable-processor.ts b/packages/core/src/stylable-processor.ts index 06a87fcea..08023daeb 100644 --- a/packages/core/src/stylable-processor.ts +++ b/packages/core/src/stylable-processor.ts @@ -1,7 +1,5 @@ -import path from 'path'; import type * as postcss from 'postcss'; import { createDiagnosticReporter, Diagnostics } from './diagnostics'; -import { murmurhash3_32_gc } from './murmurhash'; import { knownPseudoClassesWithNestedSelectors } from './native-reserved-lists'; import { StylableMeta } from './stylable-meta'; import { @@ -17,6 +15,7 @@ import { FeatureContext, STSymbol, STImport, + STNamespace, STGlobal, STScope, CSSClass, @@ -35,7 +34,6 @@ import { } from './helpers/selector'; import { isChildOfAtRule } from './helpers/rule'; import { SBTypesParsers } from './stylable-value-parsers'; -import { stripQuotation, filename2varname } from './helpers/string'; const parseStates = SBTypesParsers[`-st-states`]; const parseGlobal = SBTypesParsers[`-st-global`]; @@ -79,17 +77,6 @@ export const processorDiagnostics = { 'warning', (key: string, name: string) => `override "${key}" on typed rule "${name}"` ), - INVALID_NAMESPACE_DEF: createDiagnosticReporter('11007', 'error', () => 'invalid @namespace'), - EMPTY_NAMESPACE_DEF: createDiagnosticReporter( - '11008', - 'error', - () => '@namespace must contain at least one character or digit' - ), - INVALID_NAMESPACE_REFERENCE: createDiagnosticReporter( - '11010', - 'error', - () => 'st-namespace-reference dose not have any value' - ), INVALID_NESTING: createDiagnosticReporter( '11011', 'error', @@ -102,7 +89,7 @@ export class StylableProcessor implements FeatureContext { public meta!: StylableMeta; constructor( public diagnostics = new Diagnostics(), - private resolveNamespace = processNamespace + private resolveNamespace = STNamespace.defaultProcessNamespace ) {} public process(root: postcss.Root): StylableMeta { this.meta = new StylableMeta(root, this.diagnostics); @@ -149,14 +136,14 @@ export class StylableProcessor implements FeatureContext { }); STCustomSelector.hooks.analyzeDone(this); + STNamespace.setMetaNamespace(this, this.resolveNamespace); + STSymbol.reportRedeclare(this); return this.meta; } protected handleAtRules(root: postcss.Root) { - let namespace = ''; - const analyzeRule = (rule: postcss.Rule, { isScoped }: { isScoped: boolean }) => { return this.handleRule(rule, { isScoped, @@ -174,21 +161,13 @@ export class StylableProcessor implements FeatureContext { }); break; } - case 'namespace': { - const match = atRule.params.match(/["'](.*?)['"]/); - if (match) { - if (match[1].trim()) { - namespace = match[1]; - } else { - this.diagnostics.report(processorDiagnostics.EMPTY_NAMESPACE_DEF(), { - node: atRule, - }); - } - } else { - this.diagnostics.report(processorDiagnostics.INVALID_NAMESPACE_DEF(), { - node: atRule, - }); - } + case 'namespace': + case 'st-namespace': { + STNamespace.hooks.analyzeAtRule({ + context: this, + atRule, + analyzeRule, + }); break; } case 'keyframes': @@ -225,13 +204,15 @@ export class StylableProcessor implements FeatureContext { break; case 'property': case 'st-global-custom-property': { - CSSCustomProperty.hooks.analyzeAtRule({ context: this, atRule, analyzeRule }); + CSSCustomProperty.hooks.analyzeAtRule({ + context: this, + atRule, + analyzeRule, + }); break; } } }); - namespace = namespace || filename2varname(path.basename(this.meta.source)) || 's'; - this.meta.namespace = this.handleNamespaceReference(namespace); } private collectUrls(decl: postcss.Declaration) { processDeclarationFunctions( @@ -244,35 +225,6 @@ export class StylableProcessor implements FeatureContext { false ); } - - private handleNamespaceReference(namespace: string): string { - let pathToSource: string | undefined; - let length = this.meta.sourceAst.nodes.length; - - while (length--) { - const node = this.meta.sourceAst.nodes[length]; - if (node.type === 'comment' && node.text.includes('st-namespace-reference')) { - const i = node.text.indexOf('='); - if (i === -1) { - this.diagnostics.report(processorDiagnostics.INVALID_NAMESPACE_REFERENCE(), { - node, - }); - } else { - pathToSource = stripQuotation(node.text.slice(i + 1)); - } - break; - } - } - - return this.resolveNamespace( - namespace, - pathToSource - ? path.resolve(path.dirname(this.meta.source), pathToSource) - : this.meta.source, - this.meta.source - ); - } - protected handleRule( rule: postcss.Rule, { isScoped, reportUnscoped }: { isScoped: boolean; reportUnscoped: boolean } @@ -493,6 +445,5 @@ export class StylableProcessor implements FeatureContext { } } -export function processNamespace(namespace: string, origin: string, _source?: string) { - return namespace + murmurhash3_32_gc(origin); // .toString(36); -} +// ToDo: remove export and reroute import from feature +export const processNamespace = STNamespace.defaultProcessNamespace; diff --git a/packages/core/src/stylable-transformer.ts b/packages/core/src/stylable-transformer.ts index 45a311246..201a30b57 100644 --- a/packages/core/src/stylable-transformer.ts +++ b/packages/core/src/stylable-transformer.ts @@ -18,7 +18,7 @@ import { } from '@tokey/css-selector-parser'; import { createWarningRule, isChildOfAtRule } from './helpers/rule'; import { getOriginDefinition } from './helpers/resolve'; -import type { ClassSymbol, ElementSymbol, FeatureTransformContext } from './features'; +import { ClassSymbol, ElementSymbol, FeatureTransformContext, STNamespace } from './features'; import type { StylableMeta } from './stylable-meta'; import { STSymbol, @@ -838,11 +838,7 @@ function prepareAST(context: FeatureTransformContext, ast: postcss.Root) { const toRemove: Array void)> = []; ast.walk((node) => { const input = { context, node, toRemove }; - // namespace - if (node.type === 'atrule' && node.name === `namespace`) { - toRemove.push(node); - } - // extracted features + STNamespace.hooks.prepareAST(input); STImport.hooks.prepareAST(input); STScope.hooks.prepareAST(input); STVar.hooks.prepareAST(input); diff --git a/packages/core/test/diagnostic-codes.spec.ts b/packages/core/test/diagnostic-codes.spec.ts index bc0cfbc16..5ef33e6b3 100644 --- a/packages/core/test/diagnostic-codes.spec.ts +++ b/packages/core/test/diagnostic-codes.spec.ts @@ -4,6 +4,7 @@ import { CSSCustomProperty, CSSKeyframes, CSSType, + STNamespace, STGlobal, STImport, STMixin, @@ -32,6 +33,7 @@ describe('diagnostics error codes', () => { ...CSSCustomProperty.diagnostics, ...CSSKeyframes.diagnostics, ...CSSType.diagnostics, + ...STNamespace.diagnostics, ...STGlobal.diagnostics, ...STImport.diagnostics, ...STMixin.diagnostics, diff --git a/packages/core/test/features/st-namespace.spec.ts b/packages/core/test/features/st-namespace.spec.ts index 74d7da9e5..17a6939f4 100644 --- a/packages/core/test/features/st-namespace.spec.ts +++ b/packages/core/test/features/st-namespace.spec.ts @@ -1,16 +1,102 @@ import chaiSubset from 'chai-subset'; -import { testStylableCore, shouldReportNoDiagnostics } from '@stylable/core-test-kit'; +import { + testStylableCore, + shouldReportNoDiagnostics, + diagnosticBankReportToStrings, +} from '@stylable/core-test-kit'; import chai, { expect } from 'chai'; +import { resolve } from 'path'; +import { STNamespace } from '@stylable/core/dist/features'; chai.use(chaiSubset); -describe(`features/st-namespace`, () => { - // ToDo: move and add tests when extracting feature - it(`should override default namespace`, () => { +const diagnostics = diagnosticBankReportToStrings(STNamespace.diagnostics); + +describe('features/st-namespace', () => { + it('should use filename as default namespace', () => { + const { sheets } = testStylableCore({ + '/a.st.css': ``, + '/b.st.css': ``, + }); + + const AMeta = sheets['/a.st.css'].meta; + const BMeta = sheets['/b.st.css'].meta; + + expect(AMeta.namespace, 'a meta.namespace').to.eql('a'); + expect(BMeta.namespace, 'b meta.namespace').to.eql('b'); + }); + it('should override default namespace with @st-namespace', () => { + const { sheets } = testStylableCore({ + '/other.st.css': ` + /* @transform-remove */ + @st-namespace "button"; + + /* @rule .button__x */ + .x {} + `, + }); + + const { meta, exports } = sheets['/other.st.css']; + + shouldReportNoDiagnostics(meta); + + expect(meta.namespace, 'meta.namespace').to.eql('button'); + + // JS exports + expect(exports.classes.x, `JS export`).to.eql('button__x'); + }); + it('should prefer st-namespace-reference path to calculate hash part of namespace', () => { + // assure namespace generated with st-namespace-reference + // is identical between source and dist with the relative correction + const { sheets } = testStylableCore( + { + '/dist/a.st.css': ` + /* st-namespace-reference="../path/to/a.st.css" */ + `, + '/dist/b.st.css': ` + @namespace "xxx"; + /* st-namespace-reference="../path/to/b.st.css" */ + `, + }, + { + stylableConfig: { + // override test util with the default behavior + // that takes the origin sheet path reference into account + resolveNamespace: STNamespace.defaultProcessNamespace, + }, + } + ); + + const AMeta = sheets['/dist/a.st.css'].meta; + const BMeta = sheets['/dist/b.st.css'].meta; + + expect(AMeta.namespace, 'a meta.namespace').to.eql( + STNamespace.defaultProcessNamespace('a', resolve('/path/to/a.st.css')) + ); + expect(BMeta.namespace, 'b meta.namespace').to.eql( + STNamespace.defaultProcessNamespace('xxx', resolve('/path/to/b.st.css')) + ); + }); + it('should collect last namespace definition', () => { + const { sheets } = testStylableCore({ + '/entry.st.css': ` + /* @transform-remove */ + @st-namespace "a"; + + /* @transform-remove */ + @st-namespace "b"; + `, + }); + + const { meta } = sheets['/entry.st.css']; + + expect(meta.namespace, 'meta.namespace').to.eql('b'); + }); + it('should ignore comments and spaces', () => { const { sheets } = testStylableCore({ '/other.st.css': ` /* @transform-remove */ - @namespace "button"; + @st-namespace /*c1*//*c2*/ "button"/*c3*/ ; /* @rule .button__x */ .x {} @@ -21,7 +107,245 @@ describe(`features/st-namespace`, () => { shouldReportNoDiagnostics(meta); + expect(meta.namespace, 'meta.namespace').to.eql('button'); + // JS exports - expect(exports.classes.x, `JS export`).to.eql(`button__x`); + expect(exports.classes.x, `JS export`).to.eql('button__x'); + }); + it('should accept ident-like value', () => { + const { sheets } = testStylableCore({ + '/emoji.st.css': ` + @st-namespace "🤡abc🤡"; + + /* ToDo: fix inline expectation issue with emoji comparison */ + /* skip-rule .🤡abc🤡__x */ + .x {} + `, + '/numbers.st.css': ` + @st-namespace "x123"; + + /* @rule .x123__x */ + .x {} + `, + '/underscore.st.css': ` + @st-namespace "_x123_"; + + /* @rule ._x123___x */ + .x {} + `, + '/dash.st.css': ` + @st-namespace "---"; + + /* x-@rule .\\---__x */ + .x {} + `, + }); + const emojiMeta = sheets['/emoji.st.css'].meta; + const numbersMeta = sheets['/numbers.st.css'].meta; + const underscoreMeta = sheets['/underscore.st.css'].meta; + const dashMeta = sheets['/dash.st.css'].meta; + + shouldReportNoDiagnostics(emojiMeta); + expect(emojiMeta.namespace, ' emoji namespace').to.eql('🤡abc🤡'); + + shouldReportNoDiagnostics(numbersMeta); + expect(numbersMeta.namespace, 'numbers namespace').to.eql('x123'); + + shouldReportNoDiagnostics(underscoreMeta); + expect(underscoreMeta.namespace, 'underscore namespace').to.eql('_x123_'); + + shouldReportNoDiagnostics(dashMeta); + expect(dashMeta.namespace, 'dash namespace').to.eql('---'); + }); + it('should report non string namespace', () => { + const { sheets } = testStylableCore({ + '/entry.st.css': ` + /* + @transform-remove + @analyze-error(not string) ${diagnostics.INVALID_NAMESPACE_DEF()} + */ + @st-namespace App; + + /* + @transform-remove + @analyze-error(multiple strings) word("b") ${diagnostics.EXTRA_DEFINITION()} + */ + @st-namespace "a""b"; + + /* + @transform-remove + @analyze-error(ident+string) word(ident) ${diagnostics.EXTRA_DEFINITION()} + */ + @st-namespace ident "a"; + `, + }); + + const { meta } = sheets['/entry.st.css']; + + expect(meta.namespace, 'meta.namespace').to.eql('entry'); + }); + it('should report empty namespace', () => { + const { sheets } = testStylableCore({ + '/entry.st.css': ` + /* + @transform-remove + @analyze-error(spaced) ${diagnostics.EMPTY_NAMESPACE_DEF()} + */ + @st-namespace ' '; + + /* + @transform-remove + @analyze-error(empty) ${diagnostics.EMPTY_NAMESPACE_DEF()} + */ + @st-namespace ; + `, + }); + + const { meta } = sheets['/entry.st.css']; + + expect(meta.namespace, 'meta.namespace').to.eql('entry'); + }); + it('should report non valid namespace value', () => { + const { sheets } = testStylableCore({ + '/entry.st.css': ` + /* + @transform-remove + @analyze-error(dot) word(a.b) ${diagnostics.INVALID_NAMESPACE_VALUE()} + */ + @st-namespace "a.b"; + + /* + @transform-remove + @analyze-error(colon+slash) word(a://b) ${diagnostics.INVALID_NAMESPACE_VALUE()} + */ + @st-namespace "a://b"; + + /* + @transform-remove + @analyze-error(start with number) word(5abc) ${diagnostics.INVALID_NAMESPACE_VALUE()} + */ + @st-namespace "5abc"; + `, + }); + + const { meta } = sheets['/entry.st.css']; + + expect(meta.namespace, 'meta.namespace').to.eql('entry'); + }); + it('should report invalid namespace reference', () => { + testStylableCore({ + 'a.st.css': ` + /* @analyze-error ${diagnostics.INVALID_NAMESPACE_REFERENCE()} */ + /* st-namespace-reference */ + `, + }); + }); + describe('legacy @namespace behavior', () => { + /* + @namespace was previously used instead of @st-namespace. + In order to preserve backwards compatibility, @namespace will + continue to define the stylable namespace under specific conditions. + */ + it('should override default namespace with @namespace', () => { + const { sheets } = testStylableCore({ + '/other.st.css': ` + /* @transform-remove */ + @namespace "button"; + + /* @rule .button__x */ + .x {} + `, + }); + + const { meta, exports } = sheets['/other.st.css']; + + shouldReportNoDiagnostics(meta); + + expect(meta.namespace, 'meta.namespace').to.eql('button'); + + // JS exports + expect(exports.classes.x, `JS export`).to.eql('button__x'); + }); + it('should prefer @st-namespace over @namespace', () => { + const { sheets } = testStylableCore({ + '/entry.st.css': ` + @namespace "ns1"; + + /* @transform-remove */ + @st-namespace "button"; + + @namespace "ns2"; + + /* @rule .button__x */ + .x {} + `, + }); + + const { meta } = sheets['/entry.st.css']; + + shouldReportNoDiagnostics(meta); + + expect(meta.namespace, 'meta.namespace').to.eql('button'); + expect( + meta.targetAst!.toString(), + 'not removed because @st-namespace exist' + ).to.satisfy((output: string) => + ['@namespace "ns1";', '@namespace "ns2";'].every((def) => output.includes(def)) + ); + }); + it('should not use @namespace with prefix, url() or invalid namespace', () => { + const { sheets } = testStylableCore({ + '/entry.st.css': ` + @namespace "http://www.w3.org/1999/xhtml"; + @namespace prefix "button"; + @namespace url("button"); + @namespace prefix url("button"); + + /* @rule .entry__x */ + .x {} + `, + }); + + const { meta, exports } = sheets['/entry.st.css']; + + shouldReportNoDiagnostics(meta); + + expect(meta.namespace, 'meta.namespace').to.eql('entry'); + expect(meta.targetAst!.toString(), 'not removed unused as @st-namespace').to.satisfy( + (output: string) => + [ + '@namespace "http://www.w3.org/1999/xhtml";', + '@namespace prefix "button"', + '@namespace url("button")', + '@namespace prefix url("button")', + ].every((def) => output.includes(def)) + ); + + // JS exports + expect(exports.classes.x, `JS export`).to.eql('entry__x'); + }); + }); + describe('stylable API', () => { + it('should resolve namespace via resolveNamespace', () => { + const { sheets } = testStylableCore( + { + '/a.st.css': ``, + '/b.st.css': `@st-namespace "x";`, + }, + { + stylableConfig: { + resolveNamespace(namespace) { + return 'test-' + namespace; + }, + }, + } + ); + + const aMeta = sheets['/a.st.css'].meta; + const bMeta = sheets['/b.st.css'].meta; + + expect(aMeta.namespace, 'a meta.namespace').to.eql('test-a'); + expect(bMeta.namespace, 'b meta.namespace').to.eql('test-x'); + }); }); }); diff --git a/packages/core/test/stylable-processor.spec.ts b/packages/core/test/stylable-processor.spec.ts index 0cb439457..1668ee32e 100644 --- a/packages/core/test/stylable-processor.spec.ts +++ b/packages/core/test/stylable-processor.spec.ts @@ -21,24 +21,6 @@ describe('Stylable postcss process', () => { }); }); - it('report on invalid namespace', () => { - const { diagnostics } = processSource(`@namespace App;`, { from: '/path/to/source' }); - - expect(diagnostics.reports[0]).to.include({ - severity: 'error', - message: processorStringDiagnostics.INVALID_NAMESPACE_DEF(), - }); - }); - - it('warn on empty-ish namespace', () => { - const { diagnostics } = processSource(`@namespace ' ';`, { from: '/path/to/source' }); - - expect(diagnostics.reports[0]).to.include({ - severity: 'error', - message: processorStringDiagnostics.EMPTY_NAMESPACE_DEF(), - }); - }); - it('error on invalid rule nesting', () => { const { diagnostics } = processSource( ` @@ -56,48 +38,6 @@ describe('Stylable postcss process', () => { }); }); - it('collect namespace', () => { - const from = resolve('/path/to/style.css'); - const result = processSource( - ` - @namespace "name"; - @namespace 'anther-name'; - `, - { from } - ); - - expect(result.namespace).to.equal(processNamespace('anther-name', from)); - }); - - it('resolve namespace hook', () => { - const from = resolve('/path/to/style.css'); - const result = processSource( - ` - @namespace "name"; - `, - { from }, - (s) => 'Test-' + s - ); - - expect(result.namespace).to.equal('Test-name'); - }); - - it('use filename as default namespace prefix', () => { - const from = resolve('/path/to/style.st.css'); - const distFrom = resolve('/dist/path/to/style.st.css'); - - const result = processSource( - ` - /* st-namespace-reference="../../../path/to/style.st.css" */\n - `, - { from: distFrom } - ); - - // assure namespace generated with st-namespace-reference - // is identical between source and dist with the relative correction - expect(result.namespace).to.eql(processNamespace('style', from)); - }); - it('use filename as default namespace prefix (empty)', () => { const from = resolve('/path/to/style.css'); diff --git a/packages/core/test/stylable-resolver.spec.ts b/packages/core/test/stylable-resolver.spec.ts index 5a206429a..f92212731 100644 --- a/packages/core/test/stylable-resolver.spec.ts +++ b/packages/core/test/stylable-resolver.spec.ts @@ -40,7 +40,7 @@ describe('stylable-resolver', () => { it('should resolve extend classes', () => { const { fs } = testStylableCore({ '/button.st.css': ` - @namespace:'Button'; + @st-namespace:'Button'; .root { color:red; } @@ -66,7 +66,7 @@ describe('stylable-resolver', () => { it('should resolve extend elements', () => { const { fs } = testStylableCore({ '/button.st.css': ` - @namespace:'Button'; + @st-namespace:'Button'; .root { color:red; } @@ -91,7 +91,7 @@ describe('stylable-resolver', () => { it('should not enter infinite loops even with broken code', () => { const { fs } = testStylableCore({ '/button.st.css': ` - @namespace: 'Button'; + @st-namespace: 'Button'; :import { -st-from: './extended-button.st.css'; -st-default: Button; diff --git a/packages/language-service/src/lib/completion-providers.ts b/packages/language-service/src/lib/completion-providers.ts index e4f90252d..efdcd8047 100644 --- a/packages/language-service/src/lib/completion-providers.ts +++ b/packages/language-service/src/lib/completion-providers.ts @@ -292,7 +292,7 @@ export const RulesetInternalDirectivesProvider: CompletionProvider & { }; // Only top level -// @namespace may not repeat +// @st-namespace may not repeat export const TopLevelDirectiveProvider: CompletionProvider = { provide({ parentSelector, diff --git a/packages/language-service/src/lib/completion-types.ts b/packages/language-service/src/lib/completion-types.ts index 0df7ffe74..d376985b1 100644 --- a/packages/language-service/src/lib/completion-types.ts +++ b/packages/language-service/src/lib/completion-types.ts @@ -30,7 +30,7 @@ export const rulesetDirectives = { export const topLevelDirectives = { root: '.root' as const, - namespace: '@namespace' as const, + namespace: '@st-namespace' as const, customSelector: '@custom-selector :--' as const, vars: ':vars' as const, import: ':import' as const, @@ -116,7 +116,7 @@ export function topLevelDirective(type: keyof typeof topLevelDirectives, rng: Pr topLevelDirectives.namespace, 'Declare a namespace for the file', 'a', - new Snippet('@namespace "$1";\n'), + new Snippet('@st-namespace "$1";\n'), rng ); case topLevelDirectives.customSelector: diff --git a/packages/language-service/src/lib/css-service.ts b/packages/language-service/src/lib/css-service.ts index 30d5bc24f..cdfbbb74b 100644 --- a/packages/language-service/src/lib/css-service.ts +++ b/packages/language-service/src/lib/css-service.ts @@ -136,6 +136,7 @@ export class CssService { diag.code === 'unknownAtRules' && (atRuleName === '@custom-selector' || atRuleName === '@st-scope' || + atRuleName === '@st-namespace' || atRuleName === '@st-import' || atRuleName === '@st-global-custom-property') ) { diff --git a/packages/language-service/test/fixtures/server-cases/imports/top-level-import-exists.st.css b/packages/language-service/test/fixtures/server-cases/imports/top-level-import-exists.st.css index 0d67e653d..1eeb69f1d 100644 --- a/packages/language-service/test/fixtures/server-cases/imports/top-level-import-exists.st.css +++ b/packages/language-service/test/fixtures/server-cases/imports/top-level-import-exists.st.css @@ -1,4 +1,4 @@ -@namespace "moshe"; +@st-namespace "moshe"; :import { -st-from: "./import-from-here.st.css"; diff --git a/packages/language-service/test/lib/completions/namespace-directive.spec.ts b/packages/language-service/test/lib/completions/namespace-directive.spec.ts index a9f22bbb1..ca27bc92d 100644 --- a/packages/language-service/test/lib/completions/namespace-directive.spec.ts +++ b/packages/language-service/test/lib/completions/namespace-directive.spec.ts @@ -1,9 +1,12 @@ import { createRange } from '@stylable/language-service/dist/lib/completion-providers'; import { topLevelDirectives } from '@stylable/language-service/dist/lib/completion-types'; import * as asserters from '../../test-kit/completions-asserters'; +import { expect } from 'chai'; +import { createDiagnostics } from '../../test-kit/diagnostics-setup'; +import deindent from 'deindent'; describe('Namespace Directive', () => { - describe('should complete @namespace at top level ', () => { + describe('should complete @st-namespace at top level ', () => { topLevelDirectives.namespace.split('').map((_c, i) => { const prefix = topLevelDirectives.namespace.slice(0, i); it(' with Prefix: ' + prefix + ' ', () => { @@ -15,23 +18,37 @@ describe('Namespace Directive', () => { }); }); - it('should not complete @namespace if exists', () => { + it('should not complete @st-namespace if exists', () => { const asserter = asserters.getCompletions('imports/top-level-import-exists.st.css'); asserter.notSuggested([asserters.namespaceDirectiveCompletion(createRange(0, 0, 0, 0))]); }); - it('should not complete @namespace inside rulesets', () => { + it('should not complete @st-namespace inside rulesets', () => { const asserter = asserters.getCompletions('imports/inside-ruleset.st.css'); asserter.notSuggested([asserters.namespaceDirectiveCompletion(createRange(0, 0, 0, 0))]); }); - it('should not complete @namespace inside selectors', () => { + it('should not complete @st-namespace inside selectors', () => { const asserter = asserters.getCompletions('imports/before-selector.st.css'); asserter.notSuggested([asserters.namespaceDirectiveCompletion(createRange(0, 0, 0, 0))]); }); - it('should not complete @namespace inside media query', () => { + it('should not complete @st-namespace inside media query', () => { const asserter = asserters.getCompletions('imports/media-query.st.css'); asserter.notSuggested([asserters.namespaceDirectiveCompletion(createRange(0, 0, 0, 0))]); }); + it('should ignore native css lsp diagnostics unknown @st-namespace atrule', () => { + const filePath = '/style.st.css'; + + const diagnostics = createDiagnostics( + { + [filePath]: deindent` + @st-namespace "comp"; + `, + }, + filePath + ); + + expect(diagnostics).to.eql([]); + }); }); diff --git a/packages/language-service/test/test-kit/completions-asserters.ts b/packages/language-service/test/test-kit/completions-asserters.ts index 8fd66608f..b2118d3d2 100644 --- a/packages/language-service/test/test-kit/completions-asserters.ts +++ b/packages/language-service/test/test-kit/completions-asserters.ts @@ -130,10 +130,10 @@ export const stScopeDirectiveCompletion: (rng: ProviderRange) => Partial Partial = (rng) => { return { - label: '@namespace', + label: '@st-namespace', detail: 'Declare a namespace for the file', sortText: 'a', - insertText: '@namespace "$1";\n', + insertText: '@st-namespace "$1";\n', range: rng, }; }; diff --git a/packages/webpack-plugin/test/e2e/projects/3rd-party-standalone/src/index.st.css b/packages/webpack-plugin/test/e2e/projects/3rd-party-standalone/src/index.st.css index ad274e09e..2e88534e8 100644 --- a/packages/webpack-plugin/test/e2e/projects/3rd-party-standalone/src/index.st.css +++ b/packages/webpack-plugin/test/e2e/projects/3rd-party-standalone/src/index.st.css @@ -1,4 +1,4 @@ -@namespace "SRCIndex"; +@st-namespace "SRCIndex"; :import { -st-from: "test-components/index.st.css"; diff --git a/packages/webpack-plugin/test/e2e/projects/4th-party-project/src/index.st.css b/packages/webpack-plugin/test/e2e/projects/4th-party-project/src/index.st.css index 58910ceee..5adb5ffcb 100644 --- a/packages/webpack-plugin/test/e2e/projects/4th-party-project/src/index.st.css +++ b/packages/webpack-plugin/test/e2e/projects/4th-party-project/src/index.st.css @@ -1,4 +1,4 @@ -@namespace "mainIndex"; +@st-namespace "mainIndex"; :import { -st-from: "test-components/index.st.css"; diff --git a/packages/webpack-plugin/test/e2e/projects/duplicate-namespace-warning/src/index.st.css b/packages/webpack-plugin/test/e2e/projects/duplicate-namespace-warning/src/index.st.css index a46059773..38b722594 100644 --- a/packages/webpack-plugin/test/e2e/projects/duplicate-namespace-warning/src/index.st.css +++ b/packages/webpack-plugin/test/e2e/projects/duplicate-namespace-warning/src/index.st.css @@ -1,4 +1,4 @@ -@namespace "X"; +@st-namespace "X"; .root { color: red; diff --git a/packages/webpack-plugin/test/e2e/projects/duplicate-namespace-warning/src/same-index.st.css b/packages/webpack-plugin/test/e2e/projects/duplicate-namespace-warning/src/same-index.st.css index a46059773..38b722594 100644 --- a/packages/webpack-plugin/test/e2e/projects/duplicate-namespace-warning/src/same-index.st.css +++ b/packages/webpack-plugin/test/e2e/projects/duplicate-namespace-warning/src/same-index.st.css @@ -1,4 +1,4 @@ -@namespace "X"; +@st-namespace "X"; .root { color: red; diff --git a/packages/webpack-plugin/test/e2e/projects/duplicate-namespace/src/index.st.css b/packages/webpack-plugin/test/e2e/projects/duplicate-namespace/src/index.st.css index a46059773..38b722594 100644 --- a/packages/webpack-plugin/test/e2e/projects/duplicate-namespace/src/index.st.css +++ b/packages/webpack-plugin/test/e2e/projects/duplicate-namespace/src/index.st.css @@ -1,4 +1,4 @@ -@namespace "X"; +@st-namespace "X"; .root { color: red; diff --git a/packages/webpack-plugin/test/e2e/projects/duplicate-namespace/src/same-index.st.css b/packages/webpack-plugin/test/e2e/projects/duplicate-namespace/src/same-index.st.css index a46059773..38b722594 100644 --- a/packages/webpack-plugin/test/e2e/projects/duplicate-namespace/src/same-index.st.css +++ b/packages/webpack-plugin/test/e2e/projects/duplicate-namespace/src/same-index.st.css @@ -1,4 +1,4 @@ -@namespace "X"; +@st-namespace "X"; .root { color: red; From 4d064c8d5a5efbc90da44146fe63ae9815221517 Mon Sep 17 00:00:00 2001 From: Tom Raviv Date: Wed, 3 Aug 2022 12:33:43 +0300 Subject: [PATCH 2/6] chore(deps): upgrade to latest stable --- package-lock.json | 885 ++++++++++--------- package.json | 24 +- packages/cli/package.json | 4 +- packages/core-test-kit/package.json | 2 +- packages/e2e-test-kit/package.json | 2 +- packages/eslint-plugin-stylable/package.json | 2 +- packages/language-service/package.json | 4 +- pleb.config.mjs | 2 +- 8 files changed, 473 insertions(+), 452 deletions(-) diff --git a/package-lock.json b/package-lock.json index d99675a86..c17e3a150 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,8 +10,8 @@ "packages/*" ], "devDependencies": { - "@file-services/memory": "^6.0.0", - "@file-services/node": "^6.0.0", + "@file-services/memory": "^7.0.0", + "@file-services/node": "^7.0.0", "@rollup/plugin-html": "^0.2.4", "@rollup/plugin-node-resolve": "^13.3.0", "@types/balanced-match": "^1.0.2", @@ -25,7 +25,7 @@ "@types/find-config": "^1.0.1", "@types/flat": "^5.0.2", "@types/js-beautify": "^1.13.3", - "@types/jsdom": "^16.2.14", + "@types/jsdom": "^20.0.0", "@types/json-schema": "^7.0.11", "@types/lodash.camelcase": "^4.3.7", "@types/lodash.clonedeep": "^4.5.7", @@ -33,7 +33,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/mime": "^3.0.0", "@types/mocha": "^9.1.1", "@types/node": "14", "@types/postcss-safe-parser": "^5.0.1", @@ -42,40 +42,40 @@ "@types/rimraf": "^3.0.2", "@types/validate-npm-package-name": "^4.0.0", "@types/yargs": "^17.0.10", - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.30.7", - "autoprefixer": "^10.4.7", + "@typescript-eslint/eslint-plugin": "^5.32.0", + "@typescript-eslint/parser": "^5.32.0", + "autoprefixer": "^10.4.8", "chai": "^4.3.6", "chai-subset": "^1.6.0", "create-listening-server": "^1.0.0", - "eslint": "^8.20.0", + "eslint": "^8.21.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-react": "^7.30.1", "eslint-plugin-react-hooks": "^4.6.0", "express": "^4.18.1", "file-loader": "^6.2.0", "html-webpack-plugin": "^5.5.0", - "jsdom": "^19.0.0", + "jsdom": "^20.0.0", "mini-css-extract-plugin": "^2.6.1", "mocha": "^10.0.0", "mocha-play": "^3.1.0", "node-eval": "^2.0.0", "npm-run-all": "^4.1.5", - "playwright-chromium": "^1.23.4", + "playwright-chromium": "^1.24.2", "postcss": "^8.4.14", "promise-assist": "^1.3.0", "raw-loader": "^4.0.2", "react": "^18.2.0", "react-dom": "^18.2.0", "rimraf": "^3.0.2", - "rollup": "^2.77.0", + "rollup": "^2.77.2", "source-map": "^0.7.4", "source-map-loader": "^4.0.0", "style-loader": "^3.3.1", "ts-expect": "^1.3.0", "typescript": "~4.7.4", "url-loader": "^4.1.1", - "webpack": "^5.73.0", + "webpack": "^5.74.0", "yargs": "^17.5.1" }, "engines": { @@ -102,63 +102,63 @@ } }, "node_modules/@file-services/memory": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@file-services/memory/-/memory-6.0.0.tgz", - "integrity": "sha512-gGtewegKe47hmicoTPt32SwqUm9kg2TbMHgUP2vSsu7aw2C9c1YWVXNMrb12Gd/BPRFJGPHTWoXhn257qbYtyg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@file-services/memory/-/memory-7.0.0.tgz", + "integrity": "sha512-pKq5nP02xsaq6FItoTY+V9pDnwuUh5WPkZSnB6pYMU/Jbd928fLcpXuci6a/CmJIFwOfMe4IulEflswqJk0UVA==", "dependencies": { - "@file-services/path": "^6.0.0", - "@file-services/types": "^6.0.0", - "@file-services/utils": "^6.0.0" + "@file-services/path": "^7.0.0", + "@file-services/types": "^7.0.0", + "@file-services/utils": "^7.0.0" } }, "node_modules/@file-services/node": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@file-services/node/-/node-6.0.0.tgz", - "integrity": "sha512-5Lz79iC8uHqB0HOMOHWMkUdkkhCXEk8yddUcygdEnLftv3gEbwmoxuHFqeYuF/7v/UP0SLmmwqxYkn+sppR5Ig==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@file-services/node/-/node-7.0.0.tgz", + "integrity": "sha512-UkhepkChBmG6OsjiSosguCKsQaPehdODaZTATti+ACnR9hMemzEJHoLF0gdZi0CLKsa5Smkc4qi/LwOAN/OagQ==", "dependencies": { - "@file-services/types": "^6.0.0", - "@file-services/utils": "^6.0.0" + "@file-services/types": "^7.0.0", + "@file-services/utils": "^7.0.0" }, "engines": { - "node": ">=12" + "node": ">=14" } }, "node_modules/@file-services/path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@file-services/path/-/path-6.0.0.tgz", - "integrity": "sha512-BGZP+Gu4GWgRLlAP4ZJ4UQGP5Sl4jkfZEdTeQNzjg1FY1I1/QU056DjyuYRVywajcpQXLgWHiCdZPnMCk1WLSA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@file-services/path/-/path-7.0.0.tgz", + "integrity": "sha512-mk/rNPVC+xzRjTCJQ8bJVX5Ofx2Veyjz5GxK93DMTERHOSvWU8xJRbxKR8S1P1NXXFvOI4FYXJairPAWAj0oeQ==", "dependencies": { - "@file-services/types": "^6.0.0" + "@file-services/types": "^7.0.0" } }, "node_modules/@file-services/types": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@file-services/types/-/types-6.0.0.tgz", - "integrity": "sha512-EplGt2H8jFZbD1FFs1mvCBuzLpqCPZnA3O2waMDl4F38oL892E1cMcD2iKzKqlNXUMv9h8U2VuW/A8pSRzHZ7Q==" + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@file-services/types/-/types-7.0.0.tgz", + "integrity": "sha512-yJVDkjirwZdvwj0SgEhFa0epS2xhbkHPx1dZ94o80sHdz1BHcbGRLegbfBAuAgg/GqfM7YXct5FdHOnGpNCkvA==" }, "node_modules/@file-services/typescript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@file-services/typescript/-/typescript-6.0.0.tgz", - "integrity": "sha512-9TcKhbXsn9QqcGX2B35h1Wq07sibcH7qHdWikrmxfkNjSGVE4TS1q/E35LtWjddNHTesH/zECJpiaCFfXrB9iQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@file-services/typescript/-/typescript-7.0.0.tgz", + "integrity": "sha512-RLSviLPNPwEIuzdZhIFeKzunG1DzVTSoPBFk0iSDSh2YUS+D3gC/ZnXuheG9b278bnSupP4JrtxrWoD/H8+rOw==", "dependencies": { - "@file-services/types": "^6.0.0" + "@file-services/types": "^7.0.0" }, "peerDependencies": { "typescript": ">=2.8.0" } }, "node_modules/@file-services/utils": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@file-services/utils/-/utils-6.0.0.tgz", - "integrity": "sha512-bKPGRGYBlR+3tO71dcEpmn1V2d8Oe5hl7bDpPlVN3Y9NUy5ykJmwSop+sEH6J3YjfhwXIfO0GilRTuLhKyp5kw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@file-services/utils/-/utils-7.0.0.tgz", + "integrity": "sha512-BWiI7TRjE8t2XNEflM+HDgRVJuT1rdVLnqTugq5mn51oqmQlCPyNyYmiWr+9CDLSTDdA1fc9b1HHNAlM2/917A==", "dependencies": { - "@file-services/types": "^6.0.0" + "@file-services/types": "^7.0.0" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", + "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==", "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", @@ -168,6 +168,15 @@ "node": ">=10.10.0" } }, + "node_modules/@humanwhocodes/gitignore-to-minimatch": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", + "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, "node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -525,9 +534,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.29", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz", - "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==", + "version": "4.17.30", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.30.tgz", + "integrity": "sha512-gstzbTWro2/nFed1WXtf+TtrpwxH7Ggs4RLYTLbeVgIkUQOI3WG/JKjgeOU1zXDvezllupjrf8OPIdvTbIaVOQ==", "dev": true, "dependencies": { "@types/node": "*", @@ -570,14 +579,14 @@ "dev": true }, "node_modules/@types/jsdom": { - "version": "16.2.14", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-16.2.14.tgz", - "integrity": "sha512-6BAy1xXEmMuHeAJ4Fv4yXKwBDTGTOseExKE3OaHiNycdHdZw59KfYzrt0DkDluvwmik1HRt6QS7bImxUmpSy+w==", + "version": "20.0.0", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.0.tgz", + "integrity": "sha512-YfAchFs0yM1QPDrLm2VHe+WHGtqms3NXnXAMolrgrVP6fgBHHXy1ozAbo/dFtPNtZC/m66bPiCTWYmqp1F14gA==", "dev": true, "dependencies": { "@types/node": "*", - "@types/parse5": "*", - "@types/tough-cookie": "*" + "@types/tough-cookie": "*", + "parse5": "^7.0.0" } }, "node_modules/@types/json-schema": { @@ -646,9 +655,9 @@ } }, "node_modules/@types/mime": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz", - "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-fccbsHKqFDXClBZTDLA43zl0+TbxyIwyzIzwwhvoJvhNjOErCdeX2xJbURimv2EbSVUGav001PaCJg4mZxMl4w==", "dev": true }, "node_modules/@types/minimatch": { @@ -664,15 +673,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "14.18.22", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.22.tgz", - "integrity": "sha512-qzaYbXVzin6EPjghf/hTdIbnVW1ErMx8rPzwRNJhlbyJhu2SyqlvjGOY/tbUt6VFyzg56lROcOeSQRInpt63Yw==" - }, - "node_modules/@types/parse5": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz", - "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==", - "dev": true + "version": "14.18.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.23.tgz", + "integrity": "sha512-MhbCWN18R4GhO8ewQWAFK4TGQdBpXWByukz7cWyJmXhvRuCIaM/oWytGPqVmDzgEnnaIc9ss6HbU5mUi+vyZPA==" }, "node_modules/@types/postcss-safe-parser": { "version": "5.0.1", @@ -747,21 +750,15 @@ "dev": true }, "node_modules/@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", - "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", "dev": true, "dependencies": { - "@types/mime": "^1", + "@types/mime": "*", "@types/node": "*" } }, - "node_modules/@types/serve-static/node_modules/@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", - "dev": true - }, "node_modules/@types/tough-cookie": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", @@ -790,14 +787,14 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.30.7.tgz", - "integrity": "sha512-l4L6Do+tfeM2OK0GJsU7TUcM/1oN/N25xHm3Jb4z3OiDU4Lj8dIuxX9LpVMS9riSXQs42D1ieX7b85/r16H9Fw==", + "version": "5.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.32.0.tgz", + "integrity": "sha512-CHLuz5Uz7bHP2WgVlvoZGhf0BvFakBJKAD/43Ty0emn4wXWv5k01ND0C0fHcl/Im8Td2y/7h44E9pca9qAu2ew==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.30.7", - "@typescript-eslint/type-utils": "5.30.7", - "@typescript-eslint/utils": "5.30.7", + "@typescript-eslint/scope-manager": "5.32.0", + "@typescript-eslint/type-utils": "5.32.0", + "@typescript-eslint/utils": "5.32.0", "debug": "^4.3.4", "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", @@ -823,11 +820,11 @@ } }, "node_modules/@typescript-eslint/experimental-utils": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.30.7.tgz", - "integrity": "sha512-r218ZVL0zFBYzEq8/9K2ZhRgsmKUhm8xd3sWChgvTbmP98kHGuY83IUl64SS9fx9OSBM9vMLdzBfox4eDdm/ZQ==", + "version": "5.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.32.0.tgz", + "integrity": "sha512-/x72MkqLAoOQSOHFxdm17irJ1PNDWtdrMmfacaYniGT26nibak8vxEf9xmoVE+yTYL8N77I2icPtw89Yx6HvNg==", "dependencies": { - "@typescript-eslint/utils": "5.30.7" + "@typescript-eslint/utils": "5.32.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -841,14 +838,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.30.7.tgz", - "integrity": "sha512-Rg5xwznHWWSy7v2o0cdho6n+xLhK2gntImp0rJroVVFkcYFYQ8C8UJTSuTw/3CnExBmPjycjmUJkxVmjXsld6A==", + "version": "5.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.32.0.tgz", + "integrity": "sha512-IxRtsehdGV9GFQ35IGm5oKKR2OGcazUoiNBxhRV160iF9FoyuXxjY+rIqs1gfnd+4eL98OjeGnMpE7RF/NBb3A==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.30.7", - "@typescript-eslint/types": "5.30.7", - "@typescript-eslint/typescript-estree": "5.30.7", + "@typescript-eslint/scope-manager": "5.32.0", + "@typescript-eslint/types": "5.32.0", + "@typescript-eslint/typescript-estree": "5.32.0", "debug": "^4.3.4" }, "engines": { @@ -868,12 +865,12 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.30.7.tgz", - "integrity": "sha512-7BM1bwvdF1UUvt+b9smhqdc/eniOnCKxQT/kj3oXtj3LqnTWCAM0qHRHfyzCzhEfWX0zrW7KqXXeE4DlchZBKw==", + "version": "5.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.32.0.tgz", + "integrity": "sha512-KyAE+tUON0D7tNz92p1uetRqVJiiAkeluvwvZOqBmW9z2XApmk5WSMV9FrzOroAcVxJZB3GfUwVKr98Dr/OjOg==", "dependencies": { - "@typescript-eslint/types": "5.30.7", - "@typescript-eslint/visitor-keys": "5.30.7" + "@typescript-eslint/types": "5.32.0", + "@typescript-eslint/visitor-keys": "5.32.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -884,12 +881,12 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.30.7.tgz", - "integrity": "sha512-nD5qAE2aJX/YLyKMvOU5jvJyku4QN5XBVsoTynFrjQZaDgDV6i7QHFiYCx10wvn7hFvfuqIRNBtsgaLe0DbWhw==", + "version": "5.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.32.0.tgz", + "integrity": "sha512-0gSsIhFDduBz3QcHJIp3qRCvVYbqzHg8D6bHFsDMrm0rURYDj+skBK2zmYebdCp+4nrd9VWd13egvhYFJj/wZg==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "5.30.7", + "@typescript-eslint/utils": "5.32.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -910,9 +907,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.30.7.tgz", - "integrity": "sha512-ocVkETUs82+U+HowkovV6uxf1AnVRKCmDRNUBUUo46/5SQv1owC/EBFkiu4MOHeZqhKz2ktZ3kvJJ1uFqQ8QPg==", + "version": "5.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.32.0.tgz", + "integrity": "sha512-EBUKs68DOcT/EjGfzywp+f8wG9Zw6gj6BjWu7KV/IYllqKJFPlZlLSYw/PTvVyiRw50t6wVbgv4p9uE2h6sZrQ==", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -922,12 +919,12 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.7.tgz", - "integrity": "sha512-tNslqXI1ZdmXXrHER83TJ8OTYl4epUzJC0aj2i4DMDT4iU+UqLT3EJeGQvJ17BMbm31x5scSwo3hPM0nqQ1AEA==", + "version": "5.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.32.0.tgz", + "integrity": "sha512-ZVAUkvPk3ITGtCLU5J4atCw9RTxK+SRc6hXqLtllC2sGSeMFWN+YwbiJR9CFrSFJ3w4SJfcWtDwNb/DmUIHdhg==", "dependencies": { - "@typescript-eslint/types": "5.30.7", - "@typescript-eslint/visitor-keys": "5.30.7", + "@typescript-eslint/types": "5.32.0", + "@typescript-eslint/visitor-keys": "5.32.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -948,14 +945,14 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.30.7.tgz", - "integrity": "sha512-Z3pHdbFw+ftZiGUnm1GZhkJgVqsDL5CYW2yj+TB2mfXDFOMqtbzQi2dNJIyPqPbx9mv2kUxS1gU+r2gKlKi1rQ==", + "version": "5.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.32.0.tgz", + "integrity": "sha512-W7lYIAI5Zlc5K082dGR27Fczjb3Q57ECcXefKU/f0ajM5ToM0P+N9NmJWip8GmGu/g6QISNT+K6KYB+iSHjXCQ==", "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.30.7", - "@typescript-eslint/types": "5.30.7", - "@typescript-eslint/typescript-estree": "5.30.7", + "@typescript-eslint/scope-manager": "5.32.0", + "@typescript-eslint/types": "5.32.0", + "@typescript-eslint/typescript-estree": "5.32.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -971,11 +968,11 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.7.tgz", - "integrity": "sha512-KrRXf8nnjvcpxDFOKej4xkD7657+PClJs5cJVSG7NNoCNnjEdc46juNAQt7AyuWctuCgs6mVRc1xGctEqrjxWw==", + "version": "5.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.32.0.tgz", + "integrity": "sha512-S54xOHZgfThiZ38/ZGTgB2rqx51CMJ5MCfVT2IplK4Q7hgzGfe0nLzLCcenDnc/cSjP568hdeKfeDcBgqNHD/g==", "dependencies": { - "@typescript-eslint/types": "5.30.7", + "@typescript-eslint/types": "5.32.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -1155,9 +1152,9 @@ } }, "node_modules/@wixc3/resolve-directory-context/node_modules/type-fest": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.16.0.tgz", - "integrity": "sha512-qpaThT2HQkFb83gMOrdKVsfCN7LKxP26Yq+smPzY1FqoHRjqmjqHXA7n5Gkxi8efirtbeEUxzfEdePthQWCuHw==", + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.18.0.tgz", + "integrity": "sha512-pRS+/yrW5TjPPHNOvxhbNZexr2bS63WjrMU8a+VzEBhUi9Tz1pZeD+vQz3ut0svZ46P+SRqMEPnJmk2XnvNzTw==", "engines": { "node": ">=12.20" }, @@ -1199,9 +1196,9 @@ } }, "node_modules/acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", "bin": { "acorn": "bin/acorn" }, @@ -1444,9 +1441,9 @@ "dev": true }, "node_modules/autoprefixer": { - "version": "10.4.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", - "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", + "version": "10.4.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.8.tgz", + "integrity": "sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw==", "dev": true, "funding": [ { @@ -1459,8 +1456,8 @@ } ], "dependencies": { - "browserslist": "^4.20.3", - "caniuse-lite": "^1.0.30001335", + "browserslist": "^4.21.3", + "caniuse-lite": "^1.0.30001373", "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -1574,9 +1571,9 @@ "dev": true }, "node_modules/browserslist": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.2.tgz", - "integrity": "sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", + "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", "funding": [ { "type": "opencollective", @@ -1588,10 +1585,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001366", - "electron-to-chromium": "^1.4.188", + "caniuse-lite": "^1.0.30001370", + "electron-to-chromium": "^1.4.202", "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.4" + "update-browserslist-db": "^1.0.5" }, "bin": { "browserslist": "cli.js" @@ -1692,9 +1689,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001367", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001367.tgz", - "integrity": "sha512-XDgbeOHfifWV3GEES2B8rtsrADx4Jf+juKX2SICJcaUhjYBO3bR96kvEIHa15VU6ohtOhBZuPGGYGbXMRn0NCw==", + "version": "1.0.30001373", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz", + "integrity": "sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==", "funding": [ { "type": "opencollective", @@ -2090,19 +2087,6 @@ "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" - } - }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -2279,6 +2263,15 @@ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/domelementtype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", @@ -2389,9 +2382,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-to-chromium": { - "version": "1.4.195", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.195.tgz", - "integrity": "sha512-vefjEh0sk871xNmR5whJf9TEngX+KTKS3hOHpjoMpauKkwlGwtMz1H8IaIjAT/GNnX0TbGwAdmVoXCAzXf+PPg==" + "version": "1.4.210", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.210.tgz", + "integrity": "sha512-kSiX4tuyZijV7Cz0MWVmGT8K2siqaOA4Z66K5dCttPPRh0HicOcOAEj1KlC8O8J1aOS/1M8rGofOzksLKaHWcQ==" }, "node_modules/emoji-regex": { "version": "8.0.0", @@ -2428,10 +2421,13 @@ } }, "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.1.tgz", + "integrity": "sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==", "dev": true, + "engines": { + "node": ">=0.12" + }, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } @@ -2621,12 +2617,13 @@ } }, "node_modules/eslint": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.20.0.tgz", - "integrity": "sha512-d4ixhz5SKCa1D6SCPrivP7yYVi7nyD6A4vs6HIAul9ujBzcEmZVM3/0NN/yu5nKhmO1wjp5xQ46iRfmDGlOviA==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.21.0.tgz", + "integrity": "sha512-/XJ1+Qurf1T9G2M5IHrsjp+xrGT73RZf23xA1z5wB1ZzzEAWSZKvRwhWxTFp1rvkvCfwcvAUNAP31bhKTTGfDA==", "dependencies": { "@eslint/eslintrc": "^1.3.0", - "@humanwhocodes/config-array": "^0.9.2", + "@humanwhocodes/config-array": "^0.10.4", + "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -2636,14 +2633,17 @@ "eslint-scope": "^7.1.1", "eslint-utils": "^3.0.0", "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.2", + "espree": "^9.3.3", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", "functional-red-black-tree": "^1.0.1", "glob-parent": "^6.0.1", "globals": "^13.15.0", + "globby": "^11.1.0", + "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -2831,16 +2831,19 @@ } }, "node_modules/espree": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", - "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", + "version": "9.3.3", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.3.tgz", + "integrity": "sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng==", "dependencies": { - "acorn": "^8.7.1", + "acorn": "^8.8.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.3.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/esprima": { @@ -3111,7 +3114,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -3333,9 +3335,9 @@ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" }, "node_modules/globals": { - "version": "13.16.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.16.0.tgz", - "integrity": "sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q==", + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", "dependencies": { "type-fest": "^0.20.2" }, @@ -3370,6 +3372,11 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" + }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -3526,6 +3533,15 @@ "entities": "^2.0.0" } }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -3709,15 +3725,18 @@ } }, "node_modules/is-builtin-module": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz", - "integrity": "sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.0.tgz", + "integrity": "sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==", "dev": true, "dependencies": { - "builtin-modules": "^3.0.0" + "builtin-modules": "^3.3.0" }, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-callable": { @@ -4012,28 +4031,28 @@ } }, "node_modules/jsdom": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-19.0.0.tgz", - "integrity": "sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==", + "version": "20.0.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.0.tgz", + "integrity": "sha512-x4a6CKCgx00uCmP+QakBDFXwjAJ69IkkIWHmtmjd3wvXPcdOS44hfX2vqkOQrVrq8l9DhNNADZRXaCEWvgXtVA==", "dev": true, "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.5.0", + "abab": "^2.0.6", + "acorn": "^8.7.1", "acorn-globals": "^6.0.0", "cssom": "^0.5.0", "cssstyle": "^2.3.0", - "data-urls": "^3.0.1", + "data-urls": "^3.0.2", "decimal.js": "^10.3.1", "domexception": "^4.0.0", "escodegen": "^2.0.0", "form-data": "^4.0.0", "html-encoding-sniffer": "^3.0.0", "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", "is-potential-custom-element-name": "^1.0.1", "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", + "parse5": "^7.0.0", + "saxes": "^6.0.0", "symbol-tree": "^3.2.4", "tough-cookie": "^4.0.0", "w3c-hr-time": "^1.0.2", @@ -4041,12 +4060,12 @@ "webidl-conversions": "^7.0.0", "whatwg-encoding": "^2.0.0", "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^10.0.0", - "ws": "^8.2.3", + "whatwg-url": "^11.0.0", + "ws": "^8.8.0", "xml-name-validator": "^4.0.0" }, "engines": { - "node": ">=12" + "node": ">=14" }, "peerDependencies": { "canvas": "^2.5.0" @@ -4156,7 +4175,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, "dependencies": { "p-locate": "^5.0.0" }, @@ -5110,7 +5128,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, "dependencies": { "yocto-queue": "^0.1.0" }, @@ -5125,7 +5142,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, "dependencies": { "p-limit": "^3.0.2" }, @@ -5171,10 +5187,16 @@ } }, "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.0.0.tgz", + "integrity": "sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==", + "dev": true, + "dependencies": { + "entities": "^4.3.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } }, "node_modules/parseurl": { "version": "1.3.3", @@ -5198,7 +5220,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, "engines": { "node": ">=8" } @@ -5284,13 +5305,13 @@ } }, "node_modules/playwright-chromium": { - "version": "1.23.4", - "resolved": "https://registry.npmjs.org/playwright-chromium/-/playwright-chromium-1.23.4.tgz", - "integrity": "sha512-aqiOpX76107knxZqydyd0snNHiU6wgGwmQUFA8MEbG6sVjvjF8fS8Uy6n39z9U52pSpRFGPBP8dfkTkXBokkqQ==", + "version": "1.24.2", + "resolved": "https://registry.npmjs.org/playwright-chromium/-/playwright-chromium-1.24.2.tgz", + "integrity": "sha512-L9U/T7GC0dmuHH1xUdS9tOmpOy2Pg2VF/BwkhXCwNnRJ9P9Ah+N5k659cobXfSj8CjKOHPMNTCpgM4X6ZdiDbw==", "dev": true, "hasInstallScript": true, "dependencies": { - "playwright-core": "1.23.4" + "playwright-core": "1.24.2" }, "bin": { "playwright": "cli.js" @@ -5300,9 +5321,9 @@ } }, "node_modules/playwright-core": { - "version": "1.23.4", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.23.4.tgz", - "integrity": "sha512-h5V2yw7d8xIwotjyNrkLF13nV9RiiZLHdXeHo+nVJIYGVlZ8U2qV0pMxNJKNTvfQVT0N8/A4CW6/4EW2cOcTiA==", + "version": "1.24.2", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.24.2.tgz", + "integrity": "sha512-zfAoDoPY/0sDLsgSgLZwWmSCevIg1ym7CppBwllguVBNiHeixZkc1AdMuYUPZC6AdEYc4CxWEyLMBTw2YcmRrA==", "bin": { "playwright": "cli.js" }, @@ -5809,9 +5830,9 @@ } }, "node_modules/rollup": { - "version": "2.77.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.0.tgz", - "integrity": "sha512-vL8xjY4yOQEw79DvyXLijhnhh+R/O9zpF/LEgkCebZFtb6ELeN9H3/2T0r8+mp+fFTBHZ5qGpOpW2ela2zRt3g==", + "version": "2.77.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.2.tgz", + "integrity": "sha512-m/4YzYgLcpMQbxX3NmAqDvwLATZzxt8bIegO78FZLl+lAgKJBd1DRAOeEiZcKOIOPjxE6ewHWHNgGEalFXuz1g==", "bin": { "rollup": "dist/bin/rollup" }, @@ -5869,15 +5890,15 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, "dependencies": { "xmlchars": "^2.2.0" }, "engines": { - "node": ">=10" + "node": ">=v12.22.7" } }, "node_modules/scheduler": { @@ -6765,20 +6786,20 @@ } }, "node_modules/webpack": { - "version": "5.73.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz", - "integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==", + "version": "5.74.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz", + "integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==", "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^0.0.51", "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/wasm-edit": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", + "acorn": "^8.7.1", "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.9.3", + "enhanced-resolve": "^5.10.0", "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -6791,7 +6812,7 @@ "schema-utils": "^3.1.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", + "watchpack": "^2.4.0", "webpack-sources": "^3.2.3" }, "bin": { @@ -6933,9 +6954,9 @@ } }, "node_modules/whatwg-url": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-10.0.0.tgz", - "integrity": "sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==", + "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", @@ -7112,7 +7133,6 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, "engines": { "node": ">=10" }, @@ -7137,8 +7157,8 @@ "version": "5.0.1", "license": "MIT", "dependencies": { - "@file-services/node": "^6.0.0", - "@file-services/types": "^6.0.0", + "@file-services/node": "^7.0.0", + "@file-services/types": "^7.0.0", "@stylable/build-tools": "^5.0.1", "@stylable/code-formatter": "^5.0.1", "@stylable/core": "^5.0.1", @@ -7202,7 +7222,7 @@ "version": "5.0.1", "license": "MIT", "dependencies": { - "@file-services/memory": "^6.0.0", + "@file-services/memory": "^7.0.0", "@stylable/core": "^5.0.1", "chai": "^4.3.6", "flat": "^5.0.2", @@ -7263,7 +7283,7 @@ "@stylable/runtime": "^5.0.1", "express": "^4.18.1", "node-eval": "^2.0.0", - "playwright-core": "^1.23.4", + "playwright-core": "^1.24.2", "rimraf": "^3.0.2" }, "engines": { @@ -7278,7 +7298,7 @@ "license": "MIT", "dependencies": { "@stylable/core": "^5.0.1", - "@typescript-eslint/experimental-utils": "^5.30.7" + "@typescript-eslint/experimental-utils": "^5.32.0" } }, "packages/experimental-loader": { @@ -7321,8 +7341,8 @@ "version": "5.0.1", "license": "MIT", "dependencies": { - "@file-services/types": "^6.0.0", - "@file-services/typescript": "^6.0.0", + "@file-services/types": "^7.0.0", + "@file-services/typescript": "^7.0.0", "@stylable/code-formatter": "^5.0.1", "@stylable/core": "^5.0.1", "css-selector-tokenizer": "^0.8.0", @@ -7501,63 +7521,68 @@ } }, "@file-services/memory": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@file-services/memory/-/memory-6.0.0.tgz", - "integrity": "sha512-gGtewegKe47hmicoTPt32SwqUm9kg2TbMHgUP2vSsu7aw2C9c1YWVXNMrb12Gd/BPRFJGPHTWoXhn257qbYtyg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@file-services/memory/-/memory-7.0.0.tgz", + "integrity": "sha512-pKq5nP02xsaq6FItoTY+V9pDnwuUh5WPkZSnB6pYMU/Jbd928fLcpXuci6a/CmJIFwOfMe4IulEflswqJk0UVA==", "requires": { - "@file-services/path": "^6.0.0", - "@file-services/types": "^6.0.0", - "@file-services/utils": "^6.0.0" + "@file-services/path": "^7.0.0", + "@file-services/types": "^7.0.0", + "@file-services/utils": "^7.0.0" } }, "@file-services/node": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@file-services/node/-/node-6.0.0.tgz", - "integrity": "sha512-5Lz79iC8uHqB0HOMOHWMkUdkkhCXEk8yddUcygdEnLftv3gEbwmoxuHFqeYuF/7v/UP0SLmmwqxYkn+sppR5Ig==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@file-services/node/-/node-7.0.0.tgz", + "integrity": "sha512-UkhepkChBmG6OsjiSosguCKsQaPehdODaZTATti+ACnR9hMemzEJHoLF0gdZi0CLKsa5Smkc4qi/LwOAN/OagQ==", "requires": { - "@file-services/types": "^6.0.0", - "@file-services/utils": "^6.0.0" + "@file-services/types": "^7.0.0", + "@file-services/utils": "^7.0.0" } }, "@file-services/path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@file-services/path/-/path-6.0.0.tgz", - "integrity": "sha512-BGZP+Gu4GWgRLlAP4ZJ4UQGP5Sl4jkfZEdTeQNzjg1FY1I1/QU056DjyuYRVywajcpQXLgWHiCdZPnMCk1WLSA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@file-services/path/-/path-7.0.0.tgz", + "integrity": "sha512-mk/rNPVC+xzRjTCJQ8bJVX5Ofx2Veyjz5GxK93DMTERHOSvWU8xJRbxKR8S1P1NXXFvOI4FYXJairPAWAj0oeQ==", "requires": { - "@file-services/types": "^6.0.0" + "@file-services/types": "^7.0.0" } }, "@file-services/types": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@file-services/types/-/types-6.0.0.tgz", - "integrity": "sha512-EplGt2H8jFZbD1FFs1mvCBuzLpqCPZnA3O2waMDl4F38oL892E1cMcD2iKzKqlNXUMv9h8U2VuW/A8pSRzHZ7Q==" + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@file-services/types/-/types-7.0.0.tgz", + "integrity": "sha512-yJVDkjirwZdvwj0SgEhFa0epS2xhbkHPx1dZ94o80sHdz1BHcbGRLegbfBAuAgg/GqfM7YXct5FdHOnGpNCkvA==" }, "@file-services/typescript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@file-services/typescript/-/typescript-6.0.0.tgz", - "integrity": "sha512-9TcKhbXsn9QqcGX2B35h1Wq07sibcH7qHdWikrmxfkNjSGVE4TS1q/E35LtWjddNHTesH/zECJpiaCFfXrB9iQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@file-services/typescript/-/typescript-7.0.0.tgz", + "integrity": "sha512-RLSviLPNPwEIuzdZhIFeKzunG1DzVTSoPBFk0iSDSh2YUS+D3gC/ZnXuheG9b278bnSupP4JrtxrWoD/H8+rOw==", "requires": { - "@file-services/types": "^6.0.0" + "@file-services/types": "^7.0.0" } }, "@file-services/utils": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@file-services/utils/-/utils-6.0.0.tgz", - "integrity": "sha512-bKPGRGYBlR+3tO71dcEpmn1V2d8Oe5hl7bDpPlVN3Y9NUy5ykJmwSop+sEH6J3YjfhwXIfO0GilRTuLhKyp5kw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@file-services/utils/-/utils-7.0.0.tgz", + "integrity": "sha512-BWiI7TRjE8t2XNEflM+HDgRVJuT1rdVLnqTugq5mn51oqmQlCPyNyYmiWr+9CDLSTDdA1fc9b1HHNAlM2/917A==", "requires": { - "@file-services/types": "^6.0.0" + "@file-services/types": "^7.0.0" } }, "@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", + "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==", "requires": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", "minimatch": "^3.0.4" } }, + "@humanwhocodes/gitignore-to-minimatch": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", + "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==" + }, "@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -7671,8 +7696,8 @@ "@stylable/cli": { "version": "file:packages/cli", "requires": { - "@file-services/node": "^6.0.0", - "@file-services/types": "^6.0.0", + "@file-services/node": "^7.0.0", + "@file-services/types": "^7.0.0", "@stylable/build-tools": "^5.0.1", "@stylable/code-formatter": "^5.0.1", "@stylable/core": "^5.0.1", @@ -7723,7 +7748,7 @@ "@stylable/core-test-kit": { "version": "file:packages/core-test-kit", "requires": { - "@file-services/memory": "^6.0.0", + "@file-services/memory": "^7.0.0", "@stylable/core": "^5.0.1", "chai": "^4.3.6", "flat": "^5.0.2", @@ -7750,7 +7775,7 @@ "@stylable/runtime": "^5.0.1", "express": "^4.18.1", "node-eval": "^2.0.0", - "playwright-core": "^1.23.4", + "playwright-core": "^1.24.2", "rimraf": "^3.0.2" } }, @@ -7784,8 +7809,8 @@ "@stylable/language-service": { "version": "file:packages/language-service", "requires": { - "@file-services/types": "^6.0.0", - "@file-services/typescript": "^6.0.0", + "@file-services/types": "^7.0.0", + "@file-services/typescript": "^7.0.0", "@stylable/code-formatter": "^5.0.1", "@stylable/core": "^5.0.1", "css-selector-tokenizer": "^0.8.0", @@ -8017,9 +8042,9 @@ } }, "@types/express-serve-static-core": { - "version": "4.17.29", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz", - "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==", + "version": "4.17.30", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.30.tgz", + "integrity": "sha512-gstzbTWro2/nFed1WXtf+TtrpwxH7Ggs4RLYTLbeVgIkUQOI3WG/JKjgeOU1zXDvezllupjrf8OPIdvTbIaVOQ==", "dev": true, "requires": { "@types/node": "*", @@ -8062,14 +8087,14 @@ "dev": true }, "@types/jsdom": { - "version": "16.2.14", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-16.2.14.tgz", - "integrity": "sha512-6BAy1xXEmMuHeAJ4Fv4yXKwBDTGTOseExKE3OaHiNycdHdZw59KfYzrt0DkDluvwmik1HRt6QS7bImxUmpSy+w==", + "version": "20.0.0", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.0.tgz", + "integrity": "sha512-YfAchFs0yM1QPDrLm2VHe+WHGtqms3NXnXAMolrgrVP6fgBHHXy1ozAbo/dFtPNtZC/m66bPiCTWYmqp1F14gA==", "dev": true, "requires": { "@types/node": "*", - "@types/parse5": "*", - "@types/tough-cookie": "*" + "@types/tough-cookie": "*", + "parse5": "^7.0.0" } }, "@types/json-schema": { @@ -8138,9 +8163,9 @@ } }, "@types/mime": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz", - "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-fccbsHKqFDXClBZTDLA43zl0+TbxyIwyzIzwwhvoJvhNjOErCdeX2xJbURimv2EbSVUGav001PaCJg4mZxMl4w==", "dev": true }, "@types/minimatch": { @@ -8156,15 +8181,9 @@ "dev": true }, "@types/node": { - "version": "14.18.22", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.22.tgz", - "integrity": "sha512-qzaYbXVzin6EPjghf/hTdIbnVW1ErMx8rPzwRNJhlbyJhu2SyqlvjGOY/tbUt6VFyzg56lROcOeSQRInpt63Yw==" - }, - "@types/parse5": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz", - "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==", - "dev": true + "version": "14.18.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.23.tgz", + "integrity": "sha512-MhbCWN18R4GhO8ewQWAFK4TGQdBpXWByukz7cWyJmXhvRuCIaM/oWytGPqVmDzgEnnaIc9ss6HbU5mUi+vyZPA==" }, "@types/postcss-safe-parser": { "version": "5.0.1", @@ -8239,21 +8258,13 @@ "dev": true }, "@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", - "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", "dev": true, "requires": { - "@types/mime": "^1", + "@types/mime": "*", "@types/node": "*" - }, - "dependencies": { - "@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", - "dev": true - } } }, "@types/tough-cookie": { @@ -8284,14 +8295,14 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.30.7.tgz", - "integrity": "sha512-l4L6Do+tfeM2OK0GJsU7TUcM/1oN/N25xHm3Jb4z3OiDU4Lj8dIuxX9LpVMS9riSXQs42D1ieX7b85/r16H9Fw==", + "version": "5.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.32.0.tgz", + "integrity": "sha512-CHLuz5Uz7bHP2WgVlvoZGhf0BvFakBJKAD/43Ty0emn4wXWv5k01ND0C0fHcl/Im8Td2y/7h44E9pca9qAu2ew==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.30.7", - "@typescript-eslint/type-utils": "5.30.7", - "@typescript-eslint/utils": "5.30.7", + "@typescript-eslint/scope-manager": "5.32.0", + "@typescript-eslint/type-utils": "5.32.0", + "@typescript-eslint/utils": "5.32.0", "debug": "^4.3.4", "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", @@ -8301,57 +8312,57 @@ } }, "@typescript-eslint/experimental-utils": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.30.7.tgz", - "integrity": "sha512-r218ZVL0zFBYzEq8/9K2ZhRgsmKUhm8xd3sWChgvTbmP98kHGuY83IUl64SS9fx9OSBM9vMLdzBfox4eDdm/ZQ==", + "version": "5.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.32.0.tgz", + "integrity": "sha512-/x72MkqLAoOQSOHFxdm17irJ1PNDWtdrMmfacaYniGT26nibak8vxEf9xmoVE+yTYL8N77I2icPtw89Yx6HvNg==", "requires": { - "@typescript-eslint/utils": "5.30.7" + "@typescript-eslint/utils": "5.32.0" } }, "@typescript-eslint/parser": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.30.7.tgz", - "integrity": "sha512-Rg5xwznHWWSy7v2o0cdho6n+xLhK2gntImp0rJroVVFkcYFYQ8C8UJTSuTw/3CnExBmPjycjmUJkxVmjXsld6A==", + "version": "5.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.32.0.tgz", + "integrity": "sha512-IxRtsehdGV9GFQ35IGm5oKKR2OGcazUoiNBxhRV160iF9FoyuXxjY+rIqs1gfnd+4eL98OjeGnMpE7RF/NBb3A==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.30.7", - "@typescript-eslint/types": "5.30.7", - "@typescript-eslint/typescript-estree": "5.30.7", + "@typescript-eslint/scope-manager": "5.32.0", + "@typescript-eslint/types": "5.32.0", + "@typescript-eslint/typescript-estree": "5.32.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.30.7.tgz", - "integrity": "sha512-7BM1bwvdF1UUvt+b9smhqdc/eniOnCKxQT/kj3oXtj3LqnTWCAM0qHRHfyzCzhEfWX0zrW7KqXXeE4DlchZBKw==", + "version": "5.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.32.0.tgz", + "integrity": "sha512-KyAE+tUON0D7tNz92p1uetRqVJiiAkeluvwvZOqBmW9z2XApmk5WSMV9FrzOroAcVxJZB3GfUwVKr98Dr/OjOg==", "requires": { - "@typescript-eslint/types": "5.30.7", - "@typescript-eslint/visitor-keys": "5.30.7" + "@typescript-eslint/types": "5.32.0", + "@typescript-eslint/visitor-keys": "5.32.0" } }, "@typescript-eslint/type-utils": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.30.7.tgz", - "integrity": "sha512-nD5qAE2aJX/YLyKMvOU5jvJyku4QN5XBVsoTynFrjQZaDgDV6i7QHFiYCx10wvn7hFvfuqIRNBtsgaLe0DbWhw==", + "version": "5.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.32.0.tgz", + "integrity": "sha512-0gSsIhFDduBz3QcHJIp3qRCvVYbqzHg8D6bHFsDMrm0rURYDj+skBK2zmYebdCp+4nrd9VWd13egvhYFJj/wZg==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.30.7", + "@typescript-eslint/utils": "5.32.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.30.7.tgz", - "integrity": "sha512-ocVkETUs82+U+HowkovV6uxf1AnVRKCmDRNUBUUo46/5SQv1owC/EBFkiu4MOHeZqhKz2ktZ3kvJJ1uFqQ8QPg==" + "version": "5.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.32.0.tgz", + "integrity": "sha512-EBUKs68DOcT/EjGfzywp+f8wG9Zw6gj6BjWu7KV/IYllqKJFPlZlLSYw/PTvVyiRw50t6wVbgv4p9uE2h6sZrQ==" }, "@typescript-eslint/typescript-estree": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.7.tgz", - "integrity": "sha512-tNslqXI1ZdmXXrHER83TJ8OTYl4epUzJC0aj2i4DMDT4iU+UqLT3EJeGQvJ17BMbm31x5scSwo3hPM0nqQ1AEA==", + "version": "5.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.32.0.tgz", + "integrity": "sha512-ZVAUkvPk3ITGtCLU5J4atCw9RTxK+SRc6hXqLtllC2sGSeMFWN+YwbiJR9CFrSFJ3w4SJfcWtDwNb/DmUIHdhg==", "requires": { - "@typescript-eslint/types": "5.30.7", - "@typescript-eslint/visitor-keys": "5.30.7", + "@typescript-eslint/types": "5.32.0", + "@typescript-eslint/visitor-keys": "5.32.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -8360,24 +8371,24 @@ } }, "@typescript-eslint/utils": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.30.7.tgz", - "integrity": "sha512-Z3pHdbFw+ftZiGUnm1GZhkJgVqsDL5CYW2yj+TB2mfXDFOMqtbzQi2dNJIyPqPbx9mv2kUxS1gU+r2gKlKi1rQ==", + "version": "5.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.32.0.tgz", + "integrity": "sha512-W7lYIAI5Zlc5K082dGR27Fczjb3Q57ECcXefKU/f0ajM5ToM0P+N9NmJWip8GmGu/g6QISNT+K6KYB+iSHjXCQ==", "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.30.7", - "@typescript-eslint/types": "5.30.7", - "@typescript-eslint/typescript-estree": "5.30.7", + "@typescript-eslint/scope-manager": "5.32.0", + "@typescript-eslint/types": "5.32.0", + "@typescript-eslint/typescript-estree": "5.32.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.7.tgz", - "integrity": "sha512-KrRXf8nnjvcpxDFOKej4xkD7657+PClJs5cJVSG7NNoCNnjEdc46juNAQt7AyuWctuCgs6mVRc1xGctEqrjxWw==", + "version": "5.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.32.0.tgz", + "integrity": "sha512-S54xOHZgfThiZ38/ZGTgB2rqx51CMJ5MCfVT2IplK4Q7hgzGfe0nLzLCcenDnc/cSjP568hdeKfeDcBgqNHD/g==", "requires": { - "@typescript-eslint/types": "5.30.7", + "@typescript-eslint/types": "5.32.0", "eslint-visitor-keys": "^3.3.0" } }, @@ -8544,9 +8555,9 @@ } }, "type-fest": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.16.0.tgz", - "integrity": "sha512-qpaThT2HQkFb83gMOrdKVsfCN7LKxP26Yq+smPzY1FqoHRjqmjqHXA7n5Gkxi8efirtbeEUxzfEdePthQWCuHw==" + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.18.0.tgz", + "integrity": "sha512-pRS+/yrW5TjPPHNOvxhbNZexr2bS63WjrMU8a+VzEBhUi9Tz1pZeD+vQz3ut0svZ46P+SRqMEPnJmk2XnvNzTw==" } } }, @@ -8581,9 +8592,9 @@ } }, "acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==" + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==" }, "acorn-globals": { "version": "6.0.0", @@ -8757,13 +8768,13 @@ "dev": true }, "autoprefixer": { - "version": "10.4.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", - "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", + "version": "10.4.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.8.tgz", + "integrity": "sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw==", "dev": true, "requires": { - "browserslist": "^4.20.3", - "caniuse-lite": "^1.0.30001335", + "browserslist": "^4.21.3", + "caniuse-lite": "^1.0.30001373", "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -8857,14 +8868,14 @@ "dev": true }, "browserslist": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.2.tgz", - "integrity": "sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", + "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", "requires": { - "caniuse-lite": "^1.0.30001366", - "electron-to-chromium": "^1.4.188", + "caniuse-lite": "^1.0.30001370", + "electron-to-chromium": "^1.4.202", "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.4" + "update-browserslist-db": "^1.0.5" } }, "buffer-from": { @@ -8932,9 +8943,9 @@ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" }, "caniuse-lite": { - "version": "1.0.30001367", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001367.tgz", - "integrity": "sha512-XDgbeOHfifWV3GEES2B8rtsrADx4Jf+juKX2SICJcaUhjYBO3bR96kvEIHa15VU6ohtOhBZuPGGYGbXMRn0NCw==" + "version": "1.0.30001373", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz", + "integrity": "sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==" }, "chai": { "version": "4.3.6", @@ -9226,18 +9237,6 @@ "abab": "^2.0.6", "whatwg-mimetype": "^3.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": { @@ -9363,6 +9362,14 @@ "domelementtype": "^2.0.1", "domhandler": "^4.2.0", "entities": "^2.0.0" + }, + "dependencies": { + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + } } }, "domelementtype": { @@ -9453,9 +9460,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "electron-to-chromium": { - "version": "1.4.195", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.195.tgz", - "integrity": "sha512-vefjEh0sk871xNmR5whJf9TEngX+KTKS3hOHpjoMpauKkwlGwtMz1H8IaIjAT/GNnX0TbGwAdmVoXCAzXf+PPg==" + "version": "1.4.210", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.210.tgz", + "integrity": "sha512-kSiX4tuyZijV7Cz0MWVmGT8K2siqaOA4Z66K5dCttPPRh0HicOcOAEj1KlC8O8J1aOS/1M8rGofOzksLKaHWcQ==" }, "emoji-regex": { "version": "8.0.0", @@ -9483,9 +9490,9 @@ } }, "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.1.tgz", + "integrity": "sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==", "dev": true }, "error-ex": { @@ -9630,12 +9637,13 @@ } }, "eslint": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.20.0.tgz", - "integrity": "sha512-d4ixhz5SKCa1D6SCPrivP7yYVi7nyD6A4vs6HIAul9ujBzcEmZVM3/0NN/yu5nKhmO1wjp5xQ46iRfmDGlOviA==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.21.0.tgz", + "integrity": "sha512-/XJ1+Qurf1T9G2M5IHrsjp+xrGT73RZf23xA1z5wB1ZzzEAWSZKvRwhWxTFp1rvkvCfwcvAUNAP31bhKTTGfDA==", "requires": { "@eslint/eslintrc": "^1.3.0", - "@humanwhocodes/config-array": "^0.9.2", + "@humanwhocodes/config-array": "^0.10.4", + "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -9645,14 +9653,17 @@ "eslint-scope": "^7.1.1", "eslint-utils": "^3.0.0", "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.2", + "espree": "^9.3.3", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", "functional-red-black-tree": "^1.0.1", "glob-parent": "^6.0.1", "globals": "^13.15.0", + "globby": "^11.1.0", + "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -9750,7 +9761,7 @@ "version": "file:packages/eslint-plugin-stylable", "requires": { "@stylable/core": "^5.0.1", - "@typescript-eslint/experimental-utils": "^5.30.7" + "@typescript-eslint/experimental-utils": "^5.32.0" } }, "eslint-scope": { @@ -9790,11 +9801,11 @@ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==" }, "espree": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", - "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", + "version": "9.3.3", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.3.tgz", + "integrity": "sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng==", "requires": { - "acorn": "^8.7.1", + "acorn": "^8.8.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.3.0" } @@ -10017,7 +10028,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, "requires": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -10171,9 +10181,9 @@ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" }, "globals": { - "version": "13.16.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.16.0.tgz", - "integrity": "sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q==", + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", "requires": { "type-fest": "^0.20.2" } @@ -10196,6 +10206,11 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" + }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -10297,6 +10312,14 @@ "domhandler": "^4.0.0", "domutils": "^2.5.2", "entities": "^2.0.0" + }, + "dependencies": { + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + } } }, "http-errors": { @@ -10435,12 +10458,12 @@ } }, "is-builtin-module": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz", - "integrity": "sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.0.tgz", + "integrity": "sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==", "dev": true, "requires": { - "builtin-modules": "^3.0.0" + "builtin-modules": "^3.3.0" } }, "is-callable": { @@ -10642,28 +10665,28 @@ } }, "jsdom": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-19.0.0.tgz", - "integrity": "sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==", + "version": "20.0.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.0.tgz", + "integrity": "sha512-x4a6CKCgx00uCmP+QakBDFXwjAJ69IkkIWHmtmjd3wvXPcdOS44hfX2vqkOQrVrq8l9DhNNADZRXaCEWvgXtVA==", "dev": true, "requires": { - "abab": "^2.0.5", - "acorn": "^8.5.0", + "abab": "^2.0.6", + "acorn": "^8.7.1", "acorn-globals": "^6.0.0", "cssom": "^0.5.0", "cssstyle": "^2.3.0", - "data-urls": "^3.0.1", + "data-urls": "^3.0.2", "decimal.js": "^10.3.1", "domexception": "^4.0.0", "escodegen": "^2.0.0", "form-data": "^4.0.0", "html-encoding-sniffer": "^3.0.0", "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", "is-potential-custom-element-name": "^1.0.1", "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", + "parse5": "^7.0.0", + "saxes": "^6.0.0", "symbol-tree": "^3.2.4", "tough-cookie": "^4.0.0", "w3c-hr-time": "^1.0.2", @@ -10671,8 +10694,8 @@ "webidl-conversions": "^7.0.0", "whatwg-encoding": "^2.0.0", "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^10.0.0", - "ws": "^8.2.3", + "whatwg-url": "^11.0.0", + "ws": "^8.8.0", "xml-name-validator": "^4.0.0" } }, @@ -10754,7 +10777,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, "requires": { "p-locate": "^5.0.0" } @@ -11461,7 +11483,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, "requires": { "yocto-queue": "^0.1.0" } @@ -11470,7 +11491,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, "requires": { "p-limit": "^3.0.2" } @@ -11504,10 +11524,13 @@ } }, "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.0.0.tgz", + "integrity": "sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==", + "dev": true, + "requires": { + "entities": "^4.3.0" + } }, "parseurl": { "version": "1.3.3", @@ -11527,8 +11550,7 @@ "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" }, "path-is-absolute": { "version": "1.0.1", @@ -11584,18 +11606,18 @@ "dev": true }, "playwright-chromium": { - "version": "1.23.4", - "resolved": "https://registry.npmjs.org/playwright-chromium/-/playwright-chromium-1.23.4.tgz", - "integrity": "sha512-aqiOpX76107knxZqydyd0snNHiU6wgGwmQUFA8MEbG6sVjvjF8fS8Uy6n39z9U52pSpRFGPBP8dfkTkXBokkqQ==", + "version": "1.24.2", + "resolved": "https://registry.npmjs.org/playwright-chromium/-/playwright-chromium-1.24.2.tgz", + "integrity": "sha512-L9U/T7GC0dmuHH1xUdS9tOmpOy2Pg2VF/BwkhXCwNnRJ9P9Ah+N5k659cobXfSj8CjKOHPMNTCpgM4X6ZdiDbw==", "dev": true, "requires": { - "playwright-core": "1.23.4" + "playwright-core": "1.24.2" } }, "playwright-core": { - "version": "1.23.4", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.23.4.tgz", - "integrity": "sha512-h5V2yw7d8xIwotjyNrkLF13nV9RiiZLHdXeHo+nVJIYGVlZ8U2qV0pMxNJKNTvfQVT0N8/A4CW6/4EW2cOcTiA==" + "version": "1.24.2", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.24.2.tgz", + "integrity": "sha512-zfAoDoPY/0sDLsgSgLZwWmSCevIg1ym7CppBwllguVBNiHeixZkc1AdMuYUPZC6AdEYc4CxWEyLMBTw2YcmRrA==" }, "postcss": { "version": "8.4.14", @@ -11923,9 +11945,9 @@ } }, "rollup": { - "version": "2.77.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.0.tgz", - "integrity": "sha512-vL8xjY4yOQEw79DvyXLijhnhh+R/O9zpF/LEgkCebZFtb6ELeN9H3/2T0r8+mp+fFTBHZ5qGpOpW2ela2zRt3g==", + "version": "2.77.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.2.tgz", + "integrity": "sha512-m/4YzYgLcpMQbxX3NmAqDvwLATZzxt8bIegO78FZLl+lAgKJBd1DRAOeEiZcKOIOPjxE6ewHWHNgGEalFXuz1g==", "requires": { "fsevents": "~2.3.2" } @@ -11949,9 +11971,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, "requires": { "xmlchars": "^2.2.0" @@ -12612,20 +12634,20 @@ "dev": true }, "webpack": { - "version": "5.73.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz", - "integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==", + "version": "5.74.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz", + "integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==", "requires": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^0.0.51", "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/wasm-edit": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", + "acorn": "^8.7.1", "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.9.3", + "enhanced-resolve": "^5.10.0", "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -12638,7 +12660,7 @@ "schema-utils": "^3.1.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", + "watchpack": "^2.4.0", "webpack-sources": "^3.2.3" }, "dependencies": { @@ -12735,9 +12757,9 @@ "dev": true }, "whatwg-url": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-10.0.0.tgz", - "integrity": "sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==", + "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", @@ -12862,8 +12884,7 @@ "yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" } } } diff --git a/package.json b/package.json index 07282b75b..f295cd6db 100644 --- a/package.json +++ b/package.json @@ -16,8 +16,8 @@ "prettify": "npx prettier . --write" }, "devDependencies": { - "@file-services/memory": "^6.0.0", - "@file-services/node": "^6.0.0", + "@file-services/memory": "^7.0.0", + "@file-services/node": "^7.0.0", "@rollup/plugin-html": "^0.2.4", "@rollup/plugin-node-resolve": "^13.3.0", "@types/balanced-match": "^1.0.2", @@ -31,7 +31,7 @@ "@types/find-config": "^1.0.1", "@types/flat": "^5.0.2", "@types/js-beautify": "^1.13.3", - "@types/jsdom": "^16.2.14", + "@types/jsdom": "^20.0.0", "@types/json-schema": "^7.0.11", "@types/lodash.camelcase": "^4.3.7", "@types/lodash.clonedeep": "^4.5.7", @@ -39,7 +39,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/mime": "^3.0.0", "@types/mocha": "^9.1.1", "@types/node": "14", "@types/postcss-safe-parser": "^5.0.1", @@ -48,40 +48,40 @@ "@types/rimraf": "^3.0.2", "@types/validate-npm-package-name": "^4.0.0", "@types/yargs": "^17.0.10", - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.30.7", - "autoprefixer": "^10.4.7", + "@typescript-eslint/eslint-plugin": "^5.32.0", + "@typescript-eslint/parser": "^5.32.0", + "autoprefixer": "^10.4.8", "chai": "^4.3.6", "chai-subset": "^1.6.0", "create-listening-server": "^1.0.0", - "eslint": "^8.20.0", + "eslint": "^8.21.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-react": "^7.30.1", "eslint-plugin-react-hooks": "^4.6.0", "express": "^4.18.1", "file-loader": "^6.2.0", "html-webpack-plugin": "^5.5.0", - "jsdom": "^19.0.0", + "jsdom": "^20.0.0", "mini-css-extract-plugin": "^2.6.1", "mocha": "^10.0.0", "mocha-play": "^3.1.0", "node-eval": "^2.0.0", "npm-run-all": "^4.1.5", - "playwright-chromium": "^1.23.4", + "playwright-chromium": "^1.24.2", "postcss": "^8.4.14", "promise-assist": "^1.3.0", "raw-loader": "^4.0.2", "react": "^18.2.0", "react-dom": "^18.2.0", "rimraf": "^3.0.2", - "rollup": "^2.77.0", + "rollup": "^2.77.2", "source-map": "^0.7.4", "source-map-loader": "^4.0.0", "style-loader": "^3.3.1", "ts-expect": "^1.3.0", "typescript": "~4.7.4", "url-loader": "^4.1.1", - "webpack": "^5.73.0", + "webpack": "^5.74.0", "yargs": "^17.5.1" }, "engines": { diff --git a/packages/cli/package.json b/packages/cli/package.json index 285f6811f..b5e56291a 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -12,8 +12,8 @@ "test": "mocha \"./dist/test/**/*.spec.js\" --timeout 25000" }, "dependencies": { - "@file-services/node": "^6.0.0", - "@file-services/types": "^6.0.0", + "@file-services/node": "^7.0.0", + "@file-services/types": "^7.0.0", "@stylable/build-tools": "^5.0.1", "@stylable/code-formatter": "^5.0.1", "@stylable/core": "^5.0.1", diff --git a/packages/core-test-kit/package.json b/packages/core-test-kit/package.json index a9802a7be..6f7305a4d 100644 --- a/packages/core-test-kit/package.json +++ b/packages/core-test-kit/package.json @@ -7,7 +7,7 @@ "test": "mocha \"./dist/test/**/*.spec.js\"" }, "dependencies": { - "@file-services/memory": "^6.0.0", + "@file-services/memory": "^7.0.0", "@stylable/core": "^5.0.1", "chai": "^4.3.6", "flat": "^5.0.2", diff --git a/packages/e2e-test-kit/package.json b/packages/e2e-test-kit/package.json index cf6eacdd8..e1e841fab 100644 --- a/packages/e2e-test-kit/package.json +++ b/packages/e2e-test-kit/package.json @@ -10,7 +10,7 @@ "@stylable/runtime": "^5.0.1", "express": "^4.18.1", "node-eval": "^2.0.0", - "playwright-core": "^1.23.4", + "playwright-core": "^1.24.2", "rimraf": "^3.0.2" }, "files": [ diff --git a/packages/eslint-plugin-stylable/package.json b/packages/eslint-plugin-stylable/package.json index f2f204157..f9d845cfd 100644 --- a/packages/eslint-plugin-stylable/package.json +++ b/packages/eslint-plugin-stylable/package.json @@ -8,7 +8,7 @@ }, "dependencies": { "@stylable/core": "^5.0.1", - "@typescript-eslint/experimental-utils": "^5.30.7" + "@typescript-eslint/experimental-utils": "^5.32.0" }, "keywords": [ "eslint", diff --git a/packages/language-service/package.json b/packages/language-service/package.json index 22533c94b..1c8728e13 100644 --- a/packages/language-service/package.json +++ b/packages/language-service/package.json @@ -11,8 +11,8 @@ "typescript": ">=3.8" }, "dependencies": { - "@file-services/types": "^6.0.0", - "@file-services/typescript": "^6.0.0", + "@file-services/types": "^7.0.0", + "@file-services/typescript": "^7.0.0", "@stylable/code-formatter": "^5.0.1", "@stylable/core": "^5.0.1", "css-selector-tokenizer": "^0.8.0", diff --git a/pleb.config.mjs b/pleb.config.mjs index ce3ba6f94..6cb4efc59 100644 --- a/pleb.config.mjs +++ b/pleb.config.mjs @@ -1,3 +1,3 @@ export default { - pinnedPackages: [{ name: 'jsdom', reason: 'definitely typed package has not been updated yet' }], + // pinnedPackages: [{ name: 'name', reason: 'reason' }], }; From 3ecb4a9b3212dfd7d94a222e0005b004049caf9d Mon Sep 17 00:00:00 2001 From: Tom Raviv Date: Wed, 3 Aug 2022 12:54:51 +0300 Subject: [PATCH 3/6] v5.1.0 --- package-lock.json | 220 +++++++++---------- packages/build-tools/package.json | 4 +- packages/cli/package.json | 14 +- packages/code-formatter/package.json | 4 +- packages/core-test-kit/package.json | 4 +- packages/core/package.json | 2 +- packages/create-stylable-app/package.json | 2 +- packages/custom-value/package.json | 4 +- packages/dom-test-kit/package.json | 6 +- packages/e2e-test-kit/package.json | 4 +- packages/eslint-plugin-stylable/package.json | 4 +- packages/experimental-loader/package.json | 8 +- packages/jest/package.json | 10 +- packages/language-service/package.json | 6 +- packages/module-utils/package.json | 4 +- packages/node/package.json | 6 +- packages/optimizer/package.json | 4 +- packages/rollup-plugin/package.json | 14 +- packages/runtime/package.json | 2 +- packages/schema-extract/package.json | 4 +- packages/uni-driver/package.json | 2 +- packages/webpack-extensions/package.json | 8 +- packages/webpack-plugin/package.json | 16 +- 23 files changed, 176 insertions(+), 176 deletions(-) diff --git a/package-lock.json b/package-lock.json index c17e3a150..f4a4697ee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7142,10 +7142,10 @@ }, "packages/build-tools": { "name": "@stylable/build-tools", - "version": "5.0.1", + "version": "5.1.0", "license": "MIT", "dependencies": { - "@stylable/core": "^5.0.1", + "@stylable/core": "^5.1.0", "find-config": "^1.0.0" }, "engines": { @@ -7154,17 +7154,17 @@ }, "packages/cli": { "name": "@stylable/cli", - "version": "5.0.1", + "version": "5.1.0", "license": "MIT", "dependencies": { "@file-services/node": "^7.0.0", "@file-services/types": "^7.0.0", - "@stylable/build-tools": "^5.0.1", - "@stylable/code-formatter": "^5.0.1", - "@stylable/core": "^5.0.1", - "@stylable/module-utils": "^5.0.1", - "@stylable/node": "^5.0.1", - "@stylable/optimizer": "^5.0.1", + "@stylable/build-tools": "^5.1.0", + "@stylable/code-formatter": "^5.1.0", + "@stylable/core": "^5.1.0", + "@stylable/module-utils": "^5.1.0", + "@stylable/node": "^5.1.0", + "@stylable/optimizer": "^5.1.0", "@wixc3/resolve-directory-context": "^3.0.0", "decache": "^4.6.1", "lodash.camelcase": "^4.3.0", @@ -7182,10 +7182,10 @@ }, "packages/code-formatter": { "name": "@stylable/code-formatter", - "version": "5.0.1", + "version": "5.1.0", "license": "MIT", "dependencies": { - "@stylable/core": "^5.0.1", + "@stylable/core": "^5.1.0", "js-beautify": "^1.14.4" }, "engines": { @@ -7194,7 +7194,7 @@ }, "packages/core": { "name": "@stylable/core", - "version": "5.0.1", + "version": "5.1.0", "license": "MIT", "dependencies": { "@tokey/css-selector-parser": "^0.6.0", @@ -7219,11 +7219,11 @@ }, "packages/core-test-kit": { "name": "@stylable/core-test-kit", - "version": "5.0.1", + "version": "5.1.0", "license": "MIT", "dependencies": { "@file-services/memory": "^7.0.0", - "@stylable/core": "^5.0.1", + "@stylable/core": "^5.1.0", "chai": "^4.3.6", "flat": "^5.0.2", "postcss": "^8.4.14" @@ -7238,7 +7238,7 @@ "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==" }, "packages/create-stylable-app": { - "version": "5.0.1", + "version": "5.1.0", "license": "MIT", "dependencies": { "validate-npm-package-name": "^4.0.0", @@ -7253,10 +7253,10 @@ }, "packages/custom-value": { "name": "@stylable/custom-value", - "version": "5.0.1", + "version": "5.1.0", "license": "MIT", "dependencies": { - "@stylable/core": "^5.0.1" + "@stylable/core": "^5.1.0" }, "engines": { "node": ">=14.14.0" @@ -7264,11 +7264,11 @@ }, "packages/dom-test-kit": { "name": "@stylable/dom-test-kit", - "version": "5.0.1", + "version": "5.1.0", "license": "MIT", "dependencies": { - "@stylable/core": "^5.0.1", - "@stylable/runtime": "^5.0.1", + "@stylable/core": "^5.1.0", + "@stylable/runtime": "^5.1.0", "@tokey/css-selector-parser": "^0.6.0" }, "engines": { @@ -7277,10 +7277,10 @@ }, "packages/e2e-test-kit": { "name": "@stylable/e2e-test-kit", - "version": "5.0.1", + "version": "5.1.0", "license": "MIT", "dependencies": { - "@stylable/runtime": "^5.0.1", + "@stylable/runtime": "^5.1.0", "express": "^4.18.1", "node-eval": "^2.0.0", "playwright-core": "^1.24.2", @@ -7294,21 +7294,21 @@ } }, "packages/eslint-plugin-stylable": { - "version": "5.0.1", + "version": "5.1.0", "license": "MIT", "dependencies": { - "@stylable/core": "^5.0.1", + "@stylable/core": "^5.1.0", "@typescript-eslint/experimental-utils": "^5.32.0" } }, "packages/experimental-loader": { "name": "@stylable/experimental-loader", - "version": "5.0.1", + "version": "5.1.0", "license": "MIT", "dependencies": { - "@stylable/core": "^5.0.1", - "@stylable/optimizer": "^5.0.1", - "@stylable/runtime": "^5.0.1", + "@stylable/core": "^5.1.0", + "@stylable/optimizer": "^5.1.0", + "@stylable/runtime": "^5.1.0", "css-loader": "^6.7.1", "decache": "^4.6.1", "loader-utils": "^3.2.0" @@ -7324,13 +7324,13 @@ }, "packages/jest": { "name": "@stylable/jest", - "version": "5.0.1", + "version": "5.1.0", "license": "MIT", "dependencies": { - "@stylable/core": "^5.0.1", - "@stylable/module-utils": "^5.0.1", - "@stylable/node": "^5.0.1", - "@stylable/runtime": "^5.0.1" + "@stylable/core": "^5.1.0", + "@stylable/module-utils": "^5.1.0", + "@stylable/node": "^5.1.0", + "@stylable/runtime": "^5.1.0" }, "engines": { "node": ">=14.14.0" @@ -7338,13 +7338,13 @@ }, "packages/language-service": { "name": "@stylable/language-service", - "version": "5.0.1", + "version": "5.1.0", "license": "MIT", "dependencies": { "@file-services/types": "^7.0.0", "@file-services/typescript": "^7.0.0", - "@stylable/code-formatter": "^5.0.1", - "@stylable/core": "^5.0.1", + "@stylable/code-formatter": "^5.1.0", + "@stylable/core": "^5.1.0", "css-selector-tokenizer": "^0.8.0", "postcss": "^8.4.14", "postcss-value-parser": "^4.2.0", @@ -7362,10 +7362,10 @@ }, "packages/module-utils": { "name": "@stylable/module-utils", - "version": "5.0.1", + "version": "5.1.0", "license": "MIT", "dependencies": { - "@stylable/core": "^5.0.1", + "@stylable/core": "^5.1.0", "@tokey/core": "^1.3.0", "vlq": "^2.0.4" }, @@ -7375,11 +7375,11 @@ }, "packages/node": { "name": "@stylable/node", - "version": "5.0.1", + "version": "5.1.0", "license": "MIT", "dependencies": { - "@stylable/core": "^5.0.1", - "@stylable/module-utils": "^5.0.1", + "@stylable/core": "^5.1.0", + "@stylable/module-utils": "^5.1.0", "find-config": "^1.0.0" }, "engines": { @@ -7388,10 +7388,10 @@ }, "packages/optimizer": { "name": "@stylable/optimizer", - "version": "5.0.1", + "version": "5.1.0", "license": "MIT", "dependencies": { - "@stylable/core": "^5.0.1", + "@stylable/core": "^5.1.0", "@tokey/css-selector-parser": "^0.6.0", "csso": "^5.0.4", "postcss": "^8.4.14" @@ -7402,15 +7402,15 @@ }, "packages/rollup-plugin": { "name": "@stylable/rollup-plugin", - "version": "5.0.1", + "version": "5.1.0", "license": "MIT", "dependencies": { - "@stylable/build-tools": "^5.0.1", - "@stylable/cli": "^5.0.1", - "@stylable/core": "^5.0.1", - "@stylable/node": "^5.0.1", - "@stylable/optimizer": "^5.0.1", - "@stylable/runtime": "^5.0.1", + "@stylable/build-tools": "^5.1.0", + "@stylable/cli": "^5.1.0", + "@stylable/core": "^5.1.0", + "@stylable/node": "^5.1.0", + "@stylable/optimizer": "^5.1.0", + "@stylable/runtime": "^5.1.0", "decache": "^4.6.1", "mime": "^3.0.0" }, @@ -7434,7 +7434,7 @@ }, "packages/runtime": { "name": "@stylable/runtime", - "version": "5.0.1", + "version": "5.1.0", "license": "MIT", "engines": { "node": ">=14.14.0" @@ -7442,10 +7442,10 @@ }, "packages/schema-extract": { "name": "@stylable/schema-extract", - "version": "5.0.1", + "version": "5.1.0", "license": "MIT", "dependencies": { - "@stylable/core": "^5.0.1", + "@stylable/core": "^5.1.0", "jest-docblock": "^28.1.1" }, "engines": { @@ -7454,7 +7454,7 @@ }, "packages/uni-driver": { "name": "@stylable/uni-driver", - "version": "5.0.1", + "version": "5.1.0", "license": "MIT", "engines": { "node": ">=14.14.0" @@ -7462,12 +7462,12 @@ }, "packages/webpack-extensions": { "name": "@stylable/webpack-extensions", - "version": "5.0.1", + "version": "5.1.0", "license": "MIT", "dependencies": { - "@stylable/core": "^5.0.1", - "@stylable/node": "^5.0.1", - "@stylable/webpack-plugin": "^5.0.1", + "@stylable/core": "^5.1.0", + "@stylable/node": "^5.1.0", + "@stylable/webpack-plugin": "^5.1.0", "@tokey/css-selector-parser": "^0.6.0", "lodash.clonedeep": "^4.5.0" }, @@ -7480,16 +7480,16 @@ }, "packages/webpack-plugin": { "name": "@stylable/webpack-plugin", - "version": "5.0.1", + "version": "5.1.0", "license": "MIT", "dependencies": { - "@stylable/build-tools": "^5.0.1", - "@stylable/cli": "^5.0.1", - "@stylable/core": "^5.0.1", - "@stylable/module-utils": "^5.0.1", - "@stylable/node": "^5.0.1", - "@stylable/optimizer": "^5.0.1", - "@stylable/runtime": "^5.0.1", + "@stylable/build-tools": "^5.1.0", + "@stylable/cli": "^5.1.0", + "@stylable/core": "^5.1.0", + "@stylable/module-utils": "^5.1.0", + "@stylable/node": "^5.1.0", + "@stylable/optimizer": "^5.1.0", + "@stylable/runtime": "^5.1.0", "decache": "^4.6.1", "find-config": "^1.0.0", "lodash.clonedeep": "^4.5.0", @@ -7689,7 +7689,7 @@ "@stylable/build-tools": { "version": "file:packages/build-tools", "requires": { - "@stylable/core": "^5.0.1", + "@stylable/core": "^5.1.0", "find-config": "^1.0.0" } }, @@ -7698,12 +7698,12 @@ "requires": { "@file-services/node": "^7.0.0", "@file-services/types": "^7.0.0", - "@stylable/build-tools": "^5.0.1", - "@stylable/code-formatter": "^5.0.1", - "@stylable/core": "^5.0.1", - "@stylable/module-utils": "^5.0.1", - "@stylable/node": "^5.0.1", - "@stylable/optimizer": "^5.0.1", + "@stylable/build-tools": "^5.1.0", + "@stylable/code-formatter": "^5.1.0", + "@stylable/core": "^5.1.0", + "@stylable/module-utils": "^5.1.0", + "@stylable/node": "^5.1.0", + "@stylable/optimizer": "^5.1.0", "@wixc3/resolve-directory-context": "^3.0.0", "decache": "^4.6.1", "lodash.camelcase": "^4.3.0", @@ -7714,7 +7714,7 @@ "@stylable/code-formatter": { "version": "file:packages/code-formatter", "requires": { - "@stylable/core": "^5.0.1", + "@stylable/core": "^5.1.0", "js-beautify": "^1.14.4" } }, @@ -7749,7 +7749,7 @@ "version": "file:packages/core-test-kit", "requires": { "@file-services/memory": "^7.0.0", - "@stylable/core": "^5.0.1", + "@stylable/core": "^5.1.0", "chai": "^4.3.6", "flat": "^5.0.2", "postcss": "^8.4.14" @@ -7758,21 +7758,21 @@ "@stylable/custom-value": { "version": "file:packages/custom-value", "requires": { - "@stylable/core": "^5.0.1" + "@stylable/core": "^5.1.0" } }, "@stylable/dom-test-kit": { "version": "file:packages/dom-test-kit", "requires": { - "@stylable/core": "^5.0.1", - "@stylable/runtime": "^5.0.1", + "@stylable/core": "^5.1.0", + "@stylable/runtime": "^5.1.0", "@tokey/css-selector-parser": "^0.6.0" } }, "@stylable/e2e-test-kit": { "version": "file:packages/e2e-test-kit", "requires": { - "@stylable/runtime": "^5.0.1", + "@stylable/runtime": "^5.1.0", "express": "^4.18.1", "node-eval": "^2.0.0", "playwright-core": "^1.24.2", @@ -7782,9 +7782,9 @@ "@stylable/experimental-loader": { "version": "file:packages/experimental-loader", "requires": { - "@stylable/core": "^5.0.1", - "@stylable/optimizer": "^5.0.1", - "@stylable/runtime": "^5.0.1", + "@stylable/core": "^5.1.0", + "@stylable/optimizer": "^5.1.0", + "@stylable/runtime": "^5.1.0", "css-loader": "^6.7.1", "decache": "^4.6.1", "loader-utils": "^3.2.0" @@ -7800,10 +7800,10 @@ "@stylable/jest": { "version": "file:packages/jest", "requires": { - "@stylable/core": "^5.0.1", - "@stylable/module-utils": "^5.0.1", - "@stylable/node": "^5.0.1", - "@stylable/runtime": "^5.0.1" + "@stylable/core": "^5.1.0", + "@stylable/module-utils": "^5.1.0", + "@stylable/node": "^5.1.0", + "@stylable/runtime": "^5.1.0" } }, "@stylable/language-service": { @@ -7811,8 +7811,8 @@ "requires": { "@file-services/types": "^7.0.0", "@file-services/typescript": "^7.0.0", - "@stylable/code-formatter": "^5.0.1", - "@stylable/core": "^5.0.1", + "@stylable/code-formatter": "^5.1.0", + "@stylable/core": "^5.1.0", "css-selector-tokenizer": "^0.8.0", "postcss": "^8.4.14", "postcss-value-parser": "^4.2.0", @@ -7825,7 +7825,7 @@ "@stylable/module-utils": { "version": "file:packages/module-utils", "requires": { - "@stylable/core": "^5.0.1", + "@stylable/core": "^5.1.0", "@tokey/core": "^1.3.0", "vlq": "^2.0.4" } @@ -7833,15 +7833,15 @@ "@stylable/node": { "version": "file:packages/node", "requires": { - "@stylable/core": "^5.0.1", - "@stylable/module-utils": "^5.0.1", + "@stylable/core": "^5.1.0", + "@stylable/module-utils": "^5.1.0", "find-config": "^1.0.0" } }, "@stylable/optimizer": { "version": "file:packages/optimizer", "requires": { - "@stylable/core": "^5.0.1", + "@stylable/core": "^5.1.0", "@tokey/css-selector-parser": "^0.6.0", "csso": "^5.0.4", "postcss": "^8.4.14" @@ -7850,12 +7850,12 @@ "@stylable/rollup-plugin": { "version": "file:packages/rollup-plugin", "requires": { - "@stylable/build-tools": "^5.0.1", - "@stylable/cli": "^5.0.1", - "@stylable/core": "^5.0.1", - "@stylable/node": "^5.0.1", - "@stylable/optimizer": "^5.0.1", - "@stylable/runtime": "^5.0.1", + "@stylable/build-tools": "^5.1.0", + "@stylable/cli": "^5.1.0", + "@stylable/core": "^5.1.0", + "@stylable/node": "^5.1.0", + "@stylable/optimizer": "^5.1.0", + "@stylable/runtime": "^5.1.0", "decache": "^4.6.1", "mime": "^3.0.0" }, @@ -7873,7 +7873,7 @@ "@stylable/schema-extract": { "version": "file:packages/schema-extract", "requires": { - "@stylable/core": "^5.0.1", + "@stylable/core": "^5.1.0", "jest-docblock": "^28.1.1" } }, @@ -7883,9 +7883,9 @@ "@stylable/webpack-extensions": { "version": "file:packages/webpack-extensions", "requires": { - "@stylable/core": "^5.0.1", - "@stylable/node": "^5.0.1", - "@stylable/webpack-plugin": "^5.0.1", + "@stylable/core": "^5.1.0", + "@stylable/node": "^5.1.0", + "@stylable/webpack-plugin": "^5.1.0", "@tokey/css-selector-parser": "^0.6.0", "lodash.clonedeep": "^4.5.0" } @@ -7893,13 +7893,13 @@ "@stylable/webpack-plugin": { "version": "file:packages/webpack-plugin", "requires": { - "@stylable/build-tools": "^5.0.1", - "@stylable/cli": "^5.0.1", - "@stylable/core": "^5.0.1", - "@stylable/module-utils": "^5.0.1", - "@stylable/node": "^5.0.1", - "@stylable/optimizer": "^5.0.1", - "@stylable/runtime": "^5.0.1", + "@stylable/build-tools": "^5.1.0", + "@stylable/cli": "^5.1.0", + "@stylable/core": "^5.1.0", + "@stylable/module-utils": "^5.1.0", + "@stylable/node": "^5.1.0", + "@stylable/optimizer": "^5.1.0", + "@stylable/runtime": "^5.1.0", "decache": "^4.6.1", "find-config": "^1.0.0", "lodash.clonedeep": "^4.5.0", @@ -9760,7 +9760,7 @@ "eslint-plugin-stylable": { "version": "file:packages/eslint-plugin-stylable", "requires": { - "@stylable/core": "^5.0.1", + "@stylable/core": "^5.1.0", "@typescript-eslint/experimental-utils": "^5.32.0" } }, diff --git a/packages/build-tools/package.json b/packages/build-tools/package.json index 689266f70..50659456e 100644 --- a/packages/build-tools/package.json +++ b/packages/build-tools/package.json @@ -1,13 +1,13 @@ { "name": "@stylable/build-tools", - "version": "5.0.1", + "version": "5.1.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": "^5.0.1", + "@stylable/core": "^5.1.0", "find-config": "^1.0.0" }, "files": [ diff --git a/packages/cli/package.json b/packages/cli/package.json index b5e56291a..8b528b6f1 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@stylable/cli", - "version": "5.0.1", + "version": "5.1.0", "description": "A low-level utility used for working with Stylable projects", "main": "dist/index.js", "bin": { @@ -14,12 +14,12 @@ "dependencies": { "@file-services/node": "^7.0.0", "@file-services/types": "^7.0.0", - "@stylable/build-tools": "^5.0.1", - "@stylable/code-formatter": "^5.0.1", - "@stylable/core": "^5.0.1", - "@stylable/module-utils": "^5.0.1", - "@stylable/node": "^5.0.1", - "@stylable/optimizer": "^5.0.1", + "@stylable/build-tools": "^5.1.0", + "@stylable/code-formatter": "^5.1.0", + "@stylable/core": "^5.1.0", + "@stylable/module-utils": "^5.1.0", + "@stylable/node": "^5.1.0", + "@stylable/optimizer": "^5.1.0", "@wixc3/resolve-directory-context": "^3.0.0", "decache": "^4.6.1", "lodash.camelcase": "^4.3.0", diff --git a/packages/code-formatter/package.json b/packages/code-formatter/package.json index 5f90033c3..0e5cbaded 100644 --- a/packages/code-formatter/package.json +++ b/packages/code-formatter/package.json @@ -1,13 +1,13 @@ { "name": "@stylable/code-formatter", - "version": "5.0.1", + "version": "5.1.0", "description": "A code formatting utility for Stylable stylesheets", "main": "dist/index.js", "scripts": { "test": "mocha \"./dist/test/**/*.spec.js\"" }, "dependencies": { - "@stylable/core": "^5.0.1", + "@stylable/core": "^5.1.0", "js-beautify": "^1.14.4" }, "files": [ diff --git a/packages/core-test-kit/package.json b/packages/core-test-kit/package.json index 6f7305a4d..b9ea6045f 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": "5.0.1", + "version": "5.1.0", "description": "Stylable core test-kit", "main": "dist/index.js", "scripts": { @@ -8,7 +8,7 @@ }, "dependencies": { "@file-services/memory": "^7.0.0", - "@stylable/core": "^5.0.1", + "@stylable/core": "^5.1.0", "chai": "^4.3.6", "flat": "^5.0.2", "postcss": "^8.4.14" diff --git a/packages/core/package.json b/packages/core/package.json index d35184606..12a96e2b6 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@stylable/core", - "version": "5.0.1", + "version": "5.1.0", "description": "CSS for Components", "main": "dist/index.js", "scripts": { diff --git a/packages/create-stylable-app/package.json b/packages/create-stylable-app/package.json index 7723418b0..3430891de 100644 --- a/packages/create-stylable-app/package.json +++ b/packages/create-stylable-app/package.json @@ -1,6 +1,6 @@ { "name": "create-stylable-app", - "version": "5.0.1", + "version": "5.1.0", "description": "Quickly create a Stylable application", "main": "dist/index.js", "bin": { diff --git a/packages/custom-value/package.json b/packages/custom-value/package.json index 953d45bed..f9a493da1 100644 --- a/packages/custom-value/package.json +++ b/packages/custom-value/package.json @@ -1,13 +1,13 @@ { "name": "@stylable/custom-value", - "version": "5.0.1", + "version": "5.1.0", "description": "Custom values (variables) for Stylable", "main": "dist/index.js", "scripts": { "test": "mocha \"./dist/test/**/*.spec.js\" --timeout 20000" }, "dependencies": { - "@stylable/core": "^5.0.1" + "@stylable/core": "^5.1.0" }, "files": [ "dist", diff --git a/packages/dom-test-kit/package.json b/packages/dom-test-kit/package.json index 0b9edea52..bad4bd1ac 100644 --- a/packages/dom-test-kit/package.json +++ b/packages/dom-test-kit/package.json @@ -1,6 +1,6 @@ { "name": "@stylable/dom-test-kit", - "version": "5.0.1", + "version": "5.1.0", "description": "Stylable DOM testing utilities", "main": "dist/index.js", "scripts": { @@ -8,8 +8,8 @@ "start": "mocha-play \"./dist/test/**/*.spec.js\" -c ./webpack.config.js -w" }, "dependencies": { - "@stylable/core": "^5.0.1", - "@stylable/runtime": "^5.0.1", + "@stylable/core": "^5.1.0", + "@stylable/runtime": "^5.1.0", "@tokey/css-selector-parser": "^0.6.0" }, "files": [ diff --git a/packages/e2e-test-kit/package.json b/packages/e2e-test-kit/package.json index e1e841fab..a472d4fa4 100644 --- a/packages/e2e-test-kit/package.json +++ b/packages/e2e-test-kit/package.json @@ -1,13 +1,13 @@ { "name": "@stylable/e2e-test-kit", - "version": "5.0.1", + "version": "5.1.0", "description": "A collection of tools to help test Stylable components and applications from end-to-end", "main": "dist/index.js", "peerDependencies": { "webpack": "^5.30.0" }, "dependencies": { - "@stylable/runtime": "^5.0.1", + "@stylable/runtime": "^5.1.0", "express": "^4.18.1", "node-eval": "^2.0.0", "playwright-core": "^1.24.2", diff --git a/packages/eslint-plugin-stylable/package.json b/packages/eslint-plugin-stylable/package.json index f9d845cfd..8fcd31fd2 100644 --- a/packages/eslint-plugin-stylable/package.json +++ b/packages/eslint-plugin-stylable/package.json @@ -1,13 +1,13 @@ { "name": "eslint-plugin-stylable", - "version": "5.0.1", + "version": "5.1.0", "description": "eslint plugin for Stylable usages", "main": "dist/index.js", "scripts": { "test": "mocha \"dist/test/**/*.spec.js\" --timeout 5000" }, "dependencies": { - "@stylable/core": "^5.0.1", + "@stylable/core": "^5.1.0", "@typescript-eslint/experimental-utils": "^5.32.0" }, "keywords": [ diff --git a/packages/experimental-loader/package.json b/packages/experimental-loader/package.json index cd64edc49..56f69a8cf 100644 --- a/packages/experimental-loader/package.json +++ b/packages/experimental-loader/package.json @@ -1,14 +1,14 @@ { "name": "@stylable/experimental-loader", - "version": "5.0.1", + "version": "5.1.0", "main": "dist/index.js", "scripts": { "test": "mocha \"./dist/test/**/*.spec.js\" --timeout 20000" }, "dependencies": { - "@stylable/core": "^5.0.1", - "@stylable/optimizer": "^5.0.1", - "@stylable/runtime": "^5.0.1", + "@stylable/core": "^5.1.0", + "@stylable/optimizer": "^5.1.0", + "@stylable/runtime": "^5.1.0", "css-loader": "^6.7.1", "decache": "^4.6.1", "loader-utils": "^3.2.0" diff --git a/packages/jest/package.json b/packages/jest/package.json index 01500b04f..8c3f8c4b6 100644 --- a/packages/jest/package.json +++ b/packages/jest/package.json @@ -1,16 +1,16 @@ { "name": "@stylable/jest", - "version": "5.0.1", + "version": "5.1.0", "description": "Test your Stylable React components using Jest", "main": "dist/index.js", "scripts": { "test": "mocha \"./dist/test/**/*.spec.js\"" }, "dependencies": { - "@stylable/core": "^5.0.1", - "@stylable/module-utils": "^5.0.1", - "@stylable/node": "^5.0.1", - "@stylable/runtime": "^5.0.1" + "@stylable/core": "^5.1.0", + "@stylable/module-utils": "^5.1.0", + "@stylable/node": "^5.1.0", + "@stylable/runtime": "^5.1.0" }, "files": [ "dist", diff --git a/packages/language-service/package.json b/packages/language-service/package.json index 1c8728e13..03c65225b 100644 --- a/packages/language-service/package.json +++ b/packages/language-service/package.json @@ -1,6 +1,6 @@ { "name": "@stylable/language-service", - "version": "5.0.1", + "version": "5.1.0", "description": "Stylable Language Services - syntax highlighting, completions, hinting and more for the Stylable CSS preprocessor.", "main": "dist/index.js", "scripts": { @@ -13,8 +13,8 @@ "dependencies": { "@file-services/types": "^7.0.0", "@file-services/typescript": "^7.0.0", - "@stylable/code-formatter": "^5.0.1", - "@stylable/core": "^5.0.1", + "@stylable/code-formatter": "^5.1.0", + "@stylable/core": "^5.1.0", "css-selector-tokenizer": "^0.8.0", "postcss": "^8.4.14", "postcss-value-parser": "^4.2.0", diff --git a/packages/module-utils/package.json b/packages/module-utils/package.json index 65c4c9827..840b75227 100644 --- a/packages/module-utils/package.json +++ b/packages/module-utils/package.json @@ -1,13 +1,13 @@ { "name": "@stylable/module-utils", - "version": "5.0.1", + "version": "5.1.0", "description": "Stylable module creation utilities", "main": "dist/index.js", "scripts": { "test": "mocha \"./dist/test/**/*.spec.js\"" }, "dependencies": { - "@stylable/core": "^5.0.1", + "@stylable/core": "^5.1.0", "@tokey/core": "^1.3.0", "vlq": "^2.0.4" }, diff --git a/packages/node/package.json b/packages/node/package.json index 8937955d5..dcf9d97ee 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -1,14 +1,14 @@ { "name": "@stylable/node", - "version": "5.0.1", + "version": "5.1.0", "description": "Integrate Stylable into your node application", "main": "dist/index.js", "scripts": { "test": "mocha \"./dist/test/**/*.spec.js\" --timeout 10000" }, "dependencies": { - "@stylable/core": "^5.0.1", - "@stylable/module-utils": "^5.0.1", + "@stylable/core": "^5.1.0", + "@stylable/module-utils": "^5.1.0", "find-config": "^1.0.0" }, "files": [ diff --git a/packages/optimizer/package.json b/packages/optimizer/package.json index 71d59f8a3..73643dc17 100644 --- a/packages/optimizer/package.json +++ b/packages/optimizer/package.json @@ -1,6 +1,6 @@ { "name": "@stylable/optimizer", - "version": "5.0.1", + "version": "5.1.0", "description": "Stylable core optimizer", "main": "dist/index.js", "scripts": { @@ -8,7 +8,7 @@ "start": "mocha-play \"./dist/test/**/*.spec.js\" -c ./webpack.config.js -w" }, "dependencies": { - "@stylable/core": "^5.0.1", + "@stylable/core": "^5.1.0", "@tokey/css-selector-parser": "^0.6.0", "csso": "^5.0.4", "postcss": "^8.4.14" diff --git a/packages/rollup-plugin/package.json b/packages/rollup-plugin/package.json index b645dbaaf..a5f661bdd 100644 --- a/packages/rollup-plugin/package.json +++ b/packages/rollup-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@stylable/rollup-plugin", - "version": "5.0.1", + "version": "5.1.0", "description": "Stylable plugin for Rollup", "main": "dist/index.js", "scripts": { @@ -10,12 +10,12 @@ "rollup": "^2.70.0" }, "dependencies": { - "@stylable/build-tools": "^5.0.1", - "@stylable/cli": "^5.0.1", - "@stylable/core": "^5.0.1", - "@stylable/node": "^5.0.1", - "@stylable/optimizer": "^5.0.1", - "@stylable/runtime": "^5.0.1", + "@stylable/build-tools": "^5.1.0", + "@stylable/cli": "^5.1.0", + "@stylable/core": "^5.1.0", + "@stylable/node": "^5.1.0", + "@stylable/optimizer": "^5.1.0", + "@stylable/runtime": "^5.1.0", "decache": "^4.6.1", "mime": "^3.0.0" }, diff --git a/packages/runtime/package.json b/packages/runtime/package.json index 47478b95f..e8e068304 100644 --- a/packages/runtime/package.json +++ b/packages/runtime/package.json @@ -1,6 +1,6 @@ { "name": "@stylable/runtime", - "version": "5.0.1", + "version": "5.1.0", "description": "Stylable runtime DOM integration", "main": "dist/index.js", "scripts": { diff --git a/packages/schema-extract/package.json b/packages/schema-extract/package.json index 4f792c326..f0c1ccdfb 100644 --- a/packages/schema-extract/package.json +++ b/packages/schema-extract/package.json @@ -1,13 +1,13 @@ { "name": "@stylable/schema-extract", - "version": "5.0.1", + "version": "5.1.0", "description": "A utility for extracting JSON schema objects from a Stylable stylesheet", "main": "dist/index.js", "scripts": { "test": "mocha \"./dist/test/**/*.spec.js\"" }, "dependencies": { - "@stylable/core": "^5.0.1", + "@stylable/core": "^5.1.0", "jest-docblock": "^28.1.1" }, "files": [ diff --git a/packages/uni-driver/package.json b/packages/uni-driver/package.json index 9ab33c692..c249765df 100644 --- a/packages/uni-driver/package.json +++ b/packages/uni-driver/package.json @@ -1,6 +1,6 @@ { "name": "@stylable/uni-driver", - "version": "5.0.1", + "version": "5.1.0", "description": "Stylable UniDriver testing utilities", "main": "dist/index.js", "scripts": { diff --git a/packages/webpack-extensions/package.json b/packages/webpack-extensions/package.json index c08e949b8..d036d321d 100644 --- a/packages/webpack-extensions/package.json +++ b/packages/webpack-extensions/package.json @@ -1,6 +1,6 @@ { "name": "@stylable/webpack-extensions", - "version": "5.0.1", + "version": "5.1.0", "description": "Experimental Stylable webpack plugins", "main": "dist/index.js", "scripts": { @@ -10,9 +10,9 @@ "webpack": "^5.30.0" }, "dependencies": { - "@stylable/core": "^5.0.1", - "@stylable/node": "^5.0.1", - "@stylable/webpack-plugin": "^5.0.1", + "@stylable/core": "^5.1.0", + "@stylable/node": "^5.1.0", + "@stylable/webpack-plugin": "^5.1.0", "@tokey/css-selector-parser": "^0.6.0", "lodash.clonedeep": "^4.5.0" }, diff --git a/packages/webpack-plugin/package.json b/packages/webpack-plugin/package.json index 37a04904a..10e3f7ab6 100644 --- a/packages/webpack-plugin/package.json +++ b/packages/webpack-plugin/package.json @@ -1,7 +1,7 @@ { "name": "@stylable/webpack-plugin", "description": "Webpack (5.x) plugin for Stylable modules", - "version": "5.0.1", + "version": "5.1.0", "main": "dist/index.js", "scripts": { "test": "mocha \"./dist/test/**/*.spec.js\" --timeout 20000" @@ -10,13 +10,13 @@ "webpack": "^5.30.0" }, "dependencies": { - "@stylable/build-tools": "^5.0.1", - "@stylable/cli": "^5.0.1", - "@stylable/core": "^5.0.1", - "@stylable/module-utils": "^5.0.1", - "@stylable/node": "^5.0.1", - "@stylable/optimizer": "^5.0.1", - "@stylable/runtime": "^5.0.1", + "@stylable/build-tools": "^5.1.0", + "@stylable/cli": "^5.1.0", + "@stylable/core": "^5.1.0", + "@stylable/module-utils": "^5.1.0", + "@stylable/node": "^5.1.0", + "@stylable/optimizer": "^5.1.0", + "@stylable/runtime": "^5.1.0", "decache": "^4.6.1", "find-config": "^1.0.0", "lodash.clonedeep": "^4.5.0", From 27f211058a1705b0c31b59e4088d01d8939421cf Mon Sep 17 00:00:00 2001 From: Ido Rosenthal Date: Tue, 9 Aug 2022 12:34:47 +0300 Subject: [PATCH 4/6] infra: lower CI test job timeout (#2647) set timeout to 15 minutes --- .github/workflows/tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1ba0a2385..c58c28833 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -4,6 +4,7 @@ jobs: tests: name: node ${{ matrix.node-version }} / ${{ matrix.os }} runs-on: ${{ matrix.os }} + timeout-minutes: 15 strategy: fail-fast: false matrix: From 8bd18a3b2bd59fc1e4792e2a9e52879087985134 Mon Sep 17 00:00:00 2001 From: Tom Raviv Date: Tue, 9 Aug 2022 17:21:24 +0300 Subject: [PATCH 5/6] chore(deps): upgrade to latest stable --- package-lock.json | 607 ++++++++++--------- package.json | 18 +- packages/cli/package.json | 4 +- packages/code-formatter/package.json | 2 +- packages/core-test-kit/package.json | 4 +- packages/core/package.json | 2 +- packages/eslint-plugin-stylable/package.json | 2 +- packages/language-service/package.json | 6 +- packages/optimizer/package.json | 2 +- packages/webpack-plugin/package.json | 2 +- 10 files changed, 358 insertions(+), 291 deletions(-) diff --git a/package-lock.json b/package-lock.json index f4a4697ee..a4877ddd2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,12 +10,12 @@ "packages/*" ], "devDependencies": { - "@file-services/memory": "^7.0.0", - "@file-services/node": "^7.0.0", + "@file-services/memory": "^7.0.1", + "@file-services/node": "^7.0.1", "@rollup/plugin-html": "^0.2.4", "@rollup/plugin-node-resolve": "^13.3.0", "@types/balanced-match": "^1.0.2", - "@types/chai": "^4.3.1", + "@types/chai": "^4.3.3", "@types/chai-subset": "^1.3.3", "@types/css-selector-tokenizer": "^0.7.1", "@types/cssesc": "^3.0.0", @@ -33,17 +33,17 @@ "@types/lodash.findlast": "^4.6.7", "@types/lodash.upperfirst": "^4.3.7", "@types/memory-fs": "^0.3.3", - "@types/mime": "^3.0.0", + "@types/mime": "^3.0.1", "@types/mocha": "^9.1.1", "@types/node": "14", "@types/postcss-safe-parser": "^5.0.1", - "@types/react": "^18.0.15", + "@types/react": "^18.0.17", "@types/react-dom": "^18.0.6", "@types/rimraf": "^3.0.2", "@types/validate-npm-package-name": "^4.0.0", - "@types/yargs": "^17.0.10", - "@typescript-eslint/eslint-plugin": "^5.32.0", - "@typescript-eslint/parser": "^5.32.0", + "@types/yargs": "^17.0.11", + "@typescript-eslint/eslint-plugin": "^5.33.0", + "@typescript-eslint/parser": "^5.33.0", "autoprefixer": "^10.4.8", "chai": "^4.3.6", "chai-subset": "^1.6.0", @@ -62,7 +62,7 @@ "node-eval": "^2.0.0", "npm-run-all": "^4.1.5", "playwright-chromium": "^1.24.2", - "postcss": "^8.4.14", + "postcss": "^8.4.16", "promise-assist": "^1.3.0", "raw-loader": "^4.0.2", "react": "^18.2.0", @@ -102,57 +102,57 @@ } }, "node_modules/@file-services/memory": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@file-services/memory/-/memory-7.0.0.tgz", - "integrity": "sha512-pKq5nP02xsaq6FItoTY+V9pDnwuUh5WPkZSnB6pYMU/Jbd928fLcpXuci6a/CmJIFwOfMe4IulEflswqJk0UVA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@file-services/memory/-/memory-7.0.1.tgz", + "integrity": "sha512-qY2L8ZVoec55ieMCKNXfT6s/3jJDjwNT64AJ39PhEURFxER7GRX2moNR1lDkpKFxtoKxuty0GBjbe+l1h3orMQ==", "dependencies": { - "@file-services/path": "^7.0.0", - "@file-services/types": "^7.0.0", - "@file-services/utils": "^7.0.0" + "@file-services/path": "^7.0.1", + "@file-services/types": "^7.0.1", + "@file-services/utils": "^7.0.1" } }, "node_modules/@file-services/node": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@file-services/node/-/node-7.0.0.tgz", - "integrity": "sha512-UkhepkChBmG6OsjiSosguCKsQaPehdODaZTATti+ACnR9hMemzEJHoLF0gdZi0CLKsa5Smkc4qi/LwOAN/OagQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@file-services/node/-/node-7.0.1.tgz", + "integrity": "sha512-jDdlHPaqm/QImo5wmb5xXcePacEedofHhDIhMvO/prYpZwm+rmfA+/jRM/cg15z9/DL5WgbrjuBD0+b9XQUmkg==", "dependencies": { - "@file-services/types": "^7.0.0", - "@file-services/utils": "^7.0.0" + "@file-services/types": "^7.0.1", + "@file-services/utils": "^7.0.1" }, "engines": { "node": ">=14" } }, "node_modules/@file-services/path": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@file-services/path/-/path-7.0.0.tgz", - "integrity": "sha512-mk/rNPVC+xzRjTCJQ8bJVX5Ofx2Veyjz5GxK93DMTERHOSvWU8xJRbxKR8S1P1NXXFvOI4FYXJairPAWAj0oeQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@file-services/path/-/path-7.0.1.tgz", + "integrity": "sha512-uTBrAG8hFoxlroX0cGqUYHvTPIZNhj2XoomJfplTT6c1s7hlxQT6qaMkIOnSJZju6YObS2xSfjzgEgY3XLnn/A==", "dependencies": { - "@file-services/types": "^7.0.0" + "@file-services/types": "^7.0.1" } }, "node_modules/@file-services/types": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@file-services/types/-/types-7.0.0.tgz", - "integrity": "sha512-yJVDkjirwZdvwj0SgEhFa0epS2xhbkHPx1dZ94o80sHdz1BHcbGRLegbfBAuAgg/GqfM7YXct5FdHOnGpNCkvA==" + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@file-services/types/-/types-7.0.1.tgz", + "integrity": "sha512-Xe6u3qaOqUFAexQLi5NU+yehZ7HrlL561njL3Ki8zroOw5sBOcU33NPKNAe8zgnXqNwkGf2xu9b11bdKVWr4jg==" }, "node_modules/@file-services/typescript": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@file-services/typescript/-/typescript-7.0.0.tgz", - "integrity": "sha512-RLSviLPNPwEIuzdZhIFeKzunG1DzVTSoPBFk0iSDSh2YUS+D3gC/ZnXuheG9b278bnSupP4JrtxrWoD/H8+rOw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@file-services/typescript/-/typescript-7.0.1.tgz", + "integrity": "sha512-o/F2i0g9uP/an9kdVoXYHI4RGOtL60gDHnguLyHIwNbBUbmvc3rcm7SuJq1hNcfb6YvRmPGcxJANNQ3iQRs1wA==", "dependencies": { - "@file-services/types": "^7.0.0" + "@file-services/types": "^7.0.1" }, "peerDependencies": { "typescript": ">=2.8.0" } }, "node_modules/@file-services/utils": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@file-services/utils/-/utils-7.0.0.tgz", - "integrity": "sha512-BWiI7TRjE8t2XNEflM+HDgRVJuT1rdVLnqTugq5mn51oqmQlCPyNyYmiWr+9CDLSTDdA1fc9b1HHNAlM2/917A==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@file-services/utils/-/utils-7.0.1.tgz", + "integrity": "sha512-zPhNloT2YVfGlh2+VxzbGnV/OPo53VaVDwNW2cKLbAex97dF6lh9xHjYBUHnt3nFA0HPc3Xd6QkSAC/BXfGBNA==", "dependencies": { - "@file-services/types": "^7.0.0" + "@file-services/types": "^7.0.1" } }, "node_modules/@humanwhocodes/config-array": { @@ -442,9 +442,9 @@ } }, "node_modules/@types/chai": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.1.tgz", - "integrity": "sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.3.tgz", + "integrity": "sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==", "dev": true }, "node_modules/@types/chai-subset": { @@ -655,9 +655,9 @@ } }, "node_modules/@types/mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-fccbsHKqFDXClBZTDLA43zl0+TbxyIwyzIzwwhvoJvhNjOErCdeX2xJbURimv2EbSVUGav001PaCJg4mZxMl4w==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", "dev": true }, "node_modules/@types/minimatch": { @@ -705,9 +705,9 @@ "dev": true }, "node_modules/@types/react": { - "version": "18.0.15", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.15.tgz", - "integrity": "sha512-iz3BtLuIYH1uWdsv6wXYdhozhqj20oD4/Hk2DNXIn1kFsmp9x8d9QB6FnPhfkbhd2PgEONt9Q1x/ebkwjfFLow==", + "version": "18.0.17", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.17.tgz", + "integrity": "sha512-38ETy4tL+rn4uQQi7mB81G7V1g0u2ryquNmsVIOKUAEIDK+3CUjZ6rSRpdvS99dNBnkLFL83qfmtLacGOTIhwQ==", "dev": true, "dependencies": { "@types/prop-types": "*", @@ -772,9 +772,9 @@ "dev": true }, "node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -787,14 +787,14 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.32.0.tgz", - "integrity": "sha512-CHLuz5Uz7bHP2WgVlvoZGhf0BvFakBJKAD/43Ty0emn4wXWv5k01ND0C0fHcl/Im8Td2y/7h44E9pca9qAu2ew==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.33.0.tgz", + "integrity": "sha512-jHvZNSW2WZ31OPJ3enhLrEKvAZNyAFWZ6rx9tUwaessTc4sx9KmgMNhVcqVAl1ETnT5rU5fpXTLmY9YvC1DCNg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.32.0", - "@typescript-eslint/type-utils": "5.32.0", - "@typescript-eslint/utils": "5.32.0", + "@typescript-eslint/scope-manager": "5.33.0", + "@typescript-eslint/type-utils": "5.33.0", + "@typescript-eslint/utils": "5.33.0", "debug": "^4.3.4", "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", @@ -820,11 +820,11 @@ } }, "node_modules/@typescript-eslint/experimental-utils": { - "version": "5.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.32.0.tgz", - "integrity": "sha512-/x72MkqLAoOQSOHFxdm17irJ1PNDWtdrMmfacaYniGT26nibak8vxEf9xmoVE+yTYL8N77I2icPtw89Yx6HvNg==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.33.0.tgz", + "integrity": "sha512-NvRsNe+T90QrSVlgdV9/U8/chfqGmShvKUE7hWZTAUUCF6hZty/R+eMPVGldKcUDq7uRQaK6+V8gv5OwVDqC+g==", "dependencies": { - "@typescript-eslint/utils": "5.32.0" + "@typescript-eslint/utils": "5.33.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -838,14 +838,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.32.0.tgz", - "integrity": "sha512-IxRtsehdGV9GFQ35IGm5oKKR2OGcazUoiNBxhRV160iF9FoyuXxjY+rIqs1gfnd+4eL98OjeGnMpE7RF/NBb3A==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.33.0.tgz", + "integrity": "sha512-cgM5cJrWmrDV2KpvlcSkelTBASAs1mgqq+IUGKJvFxWrapHpaRy5EXPQz9YaKF3nZ8KY18ILTiVpUtbIac86/w==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.32.0", - "@typescript-eslint/types": "5.32.0", - "@typescript-eslint/typescript-estree": "5.32.0", + "@typescript-eslint/scope-manager": "5.33.0", + "@typescript-eslint/types": "5.33.0", + "@typescript-eslint/typescript-estree": "5.33.0", "debug": "^4.3.4" }, "engines": { @@ -865,12 +865,12 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.32.0.tgz", - "integrity": "sha512-KyAE+tUON0D7tNz92p1uetRqVJiiAkeluvwvZOqBmW9z2XApmk5WSMV9FrzOroAcVxJZB3GfUwVKr98Dr/OjOg==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.33.0.tgz", + "integrity": "sha512-/Jta8yMNpXYpRDl8EwF/M8It2A9sFJTubDo0ATZefGXmOqlaBffEw0ZbkbQ7TNDK6q55NPHFshGBPAZvZkE8Pw==", "dependencies": { - "@typescript-eslint/types": "5.32.0", - "@typescript-eslint/visitor-keys": "5.32.0" + "@typescript-eslint/types": "5.33.0", + "@typescript-eslint/visitor-keys": "5.33.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -881,12 +881,12 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.32.0.tgz", - "integrity": "sha512-0gSsIhFDduBz3QcHJIp3qRCvVYbqzHg8D6bHFsDMrm0rURYDj+skBK2zmYebdCp+4nrd9VWd13egvhYFJj/wZg==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.33.0.tgz", + "integrity": "sha512-2zB8uEn7hEH2pBeyk3NpzX1p3lF9dKrEbnXq1F7YkpZ6hlyqb2yZujqgRGqXgRBTHWIUG3NGx/WeZk224UKlIA==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "5.32.0", + "@typescript-eslint/utils": "5.33.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -907,9 +907,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.32.0.tgz", - "integrity": "sha512-EBUKs68DOcT/EjGfzywp+f8wG9Zw6gj6BjWu7KV/IYllqKJFPlZlLSYw/PTvVyiRw50t6wVbgv4p9uE2h6sZrQ==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.33.0.tgz", + "integrity": "sha512-nIMt96JngB4MYFYXpZ/3ZNU4GWPNdBbcB5w2rDOCpXOVUkhtNlG2mmm8uXhubhidRZdwMaMBap7Uk8SZMU/ppw==", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -919,12 +919,12 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.32.0.tgz", - "integrity": "sha512-ZVAUkvPk3ITGtCLU5J4atCw9RTxK+SRc6hXqLtllC2sGSeMFWN+YwbiJR9CFrSFJ3w4SJfcWtDwNb/DmUIHdhg==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.33.0.tgz", + "integrity": "sha512-tqq3MRLlggkJKJUrzM6wltk8NckKyyorCSGMq4eVkyL5sDYzJJcMgZATqmF8fLdsWrW7OjjIZ1m9v81vKcaqwQ==", "dependencies": { - "@typescript-eslint/types": "5.32.0", - "@typescript-eslint/visitor-keys": "5.32.0", + "@typescript-eslint/types": "5.33.0", + "@typescript-eslint/visitor-keys": "5.33.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -945,14 +945,14 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.32.0.tgz", - "integrity": "sha512-W7lYIAI5Zlc5K082dGR27Fczjb3Q57ECcXefKU/f0ajM5ToM0P+N9NmJWip8GmGu/g6QISNT+K6KYB+iSHjXCQ==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.33.0.tgz", + "integrity": "sha512-JxOAnXt9oZjXLIiXb5ZIcZXiwVHCkqZgof0O8KPgz7C7y0HS42gi75PdPlqh1Tf109M0fyUw45Ao6JLo7S5AHw==", "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.32.0", - "@typescript-eslint/types": "5.32.0", - "@typescript-eslint/typescript-estree": "5.32.0", + "@typescript-eslint/scope-manager": "5.33.0", + "@typescript-eslint/types": "5.33.0", + "@typescript-eslint/typescript-estree": "5.33.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -968,11 +968,11 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.32.0.tgz", - "integrity": "sha512-S54xOHZgfThiZ38/ZGTgB2rqx51CMJ5MCfVT2IplK4Q7hgzGfe0nLzLCcenDnc/cSjP568hdeKfeDcBgqNHD/g==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.33.0.tgz", + "integrity": "sha512-/XsqCzD4t+Y9p5wd9HZiptuGKBlaZO5showwqODii5C0nZawxWLF+Q6k5wYHBrQv96h6GYKyqqMHCSTqta8Kiw==", "dependencies": { - "@typescript-eslint/types": "5.32.0", + "@typescript-eslint/types": "5.33.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -1689,9 +1689,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001373", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz", - "integrity": "sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==", + "version": "1.0.30001374", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001374.tgz", + "integrity": "sha512-mWvzatRx3w+j5wx/mpFN5v5twlPrabG8NqX2c6e45LCpymdoGqNvRkRutFUqpRTXKFQFNQJasvK0YT7suW6/Hw==", "funding": [ { "type": "opencollective", @@ -2382,9 +2382,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-to-chromium": { - "version": "1.4.210", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.210.tgz", - "integrity": "sha512-kSiX4tuyZijV7Cz0MWVmGT8K2siqaOA4Z66K5dCttPPRh0HicOcOAEj1KlC8O8J1aOS/1M8rGofOzksLKaHWcQ==" + "version": "1.4.212", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.212.tgz", + "integrity": "sha512-LjQUg1SpLj2GfyaPDVBUHdhmlDU1vDB4f0mJWSGkISoXQrn5/lH3ECPCuo2Bkvf6Y30wO+b69te+rZK/llZmjg==" }, "node_modules/emoji-regex": { "version": "8.0.0", @@ -3752,9 +3752,9 @@ } }, "node_modules/is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -3995,14 +3995,14 @@ } }, "node_modules/js-beautify": { - "version": "1.14.4", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.4.tgz", - "integrity": "sha512-+b4A9c3glceZEmxyIbxDOYB0ZJdReLvyU1077RqKsO4dZx9FUHjTOJn8VHwpg33QoucIykOiYbh7MfqBOghnrA==", + "version": "1.14.5", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.5.tgz", + "integrity": "sha512-P2BfZBhXchh10uZ87qMKpM2tfcDXLA+jDiWU/OV864yWdTGzLUGNAdp9Y1ID5ubpNVGls3cZ1UMcO8myUB+UyA==", "dependencies": { "config-chain": "^1.1.13", "editorconfig": "^0.15.3", - "glob": "^7.1.3", - "nopt": "^5.0.0" + "glob": "^8.0.3", + "nopt": "^6.0.0" }, "bin": { "css-beautify": "js/bin/css-beautify.js", @@ -4013,6 +4013,43 @@ "node": ">=10" } }, + "node_modules/js-beautify/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/js-beautify/node_modules/glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/js-beautify/node_modules/minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -4110,13 +4147,13 @@ } }, "node_modules/jsx-ast-utils": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.2.tgz", - "integrity": "sha512-4ZCADZHRkno244xlNnn4AOG6sRQ7iBZ5BbgZ4vW4y5IZw7cVUD1PPeblm1xx/nfmMxPdt/LHsXZW8z/j58+l9Q==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", "dev": true, "dependencies": { "array-includes": "^3.1.5", - "object.assign": "^4.1.2" + "object.assign": "^4.1.3" }, "engines": { "node": ">=4.0" @@ -4743,17 +4780,17 @@ "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" }, "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", "dependencies": { - "abbrev": "1" + "abbrev": "^1.0.0" }, "bin": { "nopt": "bin/nopt.js" }, "engines": { - "node": ">=6" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/normalize-package-data": { @@ -5003,14 +5040,14 @@ } }, "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.3.tgz", + "integrity": "sha512-ZFJnX3zltyjcYJL0RoCJuzb+11zWGyaDbjgxZbdV7rFEcHQuYxrZqhow67aA7xpes6LhojyFDaBKAFfogQrikA==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, "engines": { @@ -5332,9 +5369,9 @@ } }, "node_modules/postcss": { - "version": "8.4.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", - "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "version": "8.4.16", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz", + "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==", "funding": [ { "type": "opencollective", @@ -6734,9 +6771,9 @@ "integrity": "sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==" }, "node_modules/vscode-nls": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.0.1.tgz", - "integrity": "sha512-hHQV6iig+M21lTdItKPkJAaWrxALQb/nqpVffakO4knJOh3DrU2SXOMzUzNgo1eADPzu3qSsJY1weCzvR52q9A==" + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.1.0.tgz", + "integrity": "sha512-37Ha44QrLFwR2IfSSYdOArzUvOyoWbOYTwQC+wS0NfqKjhW7s0WQ1lMy5oJXgSZy9sAiZS5ifELhbpXodeMR8w==" }, "node_modules/vscode-uri": { "version": "3.0.3", @@ -7122,9 +7159,9 @@ } }, "node_modules/yargs/node_modules/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==", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "engines": { "node": ">=12" } @@ -7157,8 +7194,8 @@ "version": "5.1.0", "license": "MIT", "dependencies": { - "@file-services/node": "^7.0.0", - "@file-services/types": "^7.0.0", + "@file-services/node": "^7.0.1", + "@file-services/types": "^7.0.1", "@stylable/build-tools": "^5.1.0", "@stylable/code-formatter": "^5.1.0", "@stylable/core": "^5.1.0", @@ -7186,7 +7223,7 @@ "license": "MIT", "dependencies": { "@stylable/core": "^5.1.0", - "js-beautify": "^1.14.4" + "js-beautify": "^1.14.5" }, "engines": { "node": ">=14.14.0" @@ -7207,7 +7244,7 @@ "is-vendor-prefixed": "^4.0.0", "lodash.clonedeep": "^4.5.0", "lodash.clonedeepwith": "^4.5.0", - "postcss": "^8.4.14", + "postcss": "^8.4.16", "postcss-js": "^4.0.0", "postcss-nested": "^5.0.6", "postcss-safe-parser": "^6.0.0", @@ -7222,11 +7259,11 @@ "version": "5.1.0", "license": "MIT", "dependencies": { - "@file-services/memory": "^7.0.0", + "@file-services/memory": "^7.0.1", "@stylable/core": "^5.1.0", "chai": "^4.3.6", "flat": "^5.0.2", - "postcss": "^8.4.14" + "postcss": "^8.4.16" }, "engines": { "node": ">=14.14.0" @@ -7298,7 +7335,7 @@ "license": "MIT", "dependencies": { "@stylable/core": "^5.1.0", - "@typescript-eslint/experimental-utils": "^5.32.0" + "@typescript-eslint/experimental-utils": "^5.33.0" } }, "packages/experimental-loader": { @@ -7341,12 +7378,12 @@ "version": "5.1.0", "license": "MIT", "dependencies": { - "@file-services/types": "^7.0.0", - "@file-services/typescript": "^7.0.0", + "@file-services/types": "^7.0.1", + "@file-services/typescript": "^7.0.1", "@stylable/code-formatter": "^5.1.0", "@stylable/core": "^5.1.0", "css-selector-tokenizer": "^0.8.0", - "postcss": "^8.4.14", + "postcss": "^8.4.16", "postcss-value-parser": "^4.2.0", "vscode-css-languageservice": "^6.0.1", "vscode-languageserver": "^8.0.2", @@ -7394,7 +7431,7 @@ "@stylable/core": "^5.1.0", "@tokey/css-selector-parser": "^0.6.0", "csso": "^5.0.4", - "postcss": "^8.4.14" + "postcss": "^8.4.16" }, "engines": { "node": ">=14.14.0" @@ -7493,7 +7530,7 @@ "decache": "^4.6.1", "find-config": "^1.0.0", "lodash.clonedeep": "^4.5.0", - "postcss": "^8.4.14" + "postcss": "^8.4.16" }, "engines": { "node": ">=14.14.0" @@ -7521,51 +7558,51 @@ } }, "@file-services/memory": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@file-services/memory/-/memory-7.0.0.tgz", - "integrity": "sha512-pKq5nP02xsaq6FItoTY+V9pDnwuUh5WPkZSnB6pYMU/Jbd928fLcpXuci6a/CmJIFwOfMe4IulEflswqJk0UVA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@file-services/memory/-/memory-7.0.1.tgz", + "integrity": "sha512-qY2L8ZVoec55ieMCKNXfT6s/3jJDjwNT64AJ39PhEURFxER7GRX2moNR1lDkpKFxtoKxuty0GBjbe+l1h3orMQ==", "requires": { - "@file-services/path": "^7.0.0", - "@file-services/types": "^7.0.0", - "@file-services/utils": "^7.0.0" + "@file-services/path": "^7.0.1", + "@file-services/types": "^7.0.1", + "@file-services/utils": "^7.0.1" } }, "@file-services/node": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@file-services/node/-/node-7.0.0.tgz", - "integrity": "sha512-UkhepkChBmG6OsjiSosguCKsQaPehdODaZTATti+ACnR9hMemzEJHoLF0gdZi0CLKsa5Smkc4qi/LwOAN/OagQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@file-services/node/-/node-7.0.1.tgz", + "integrity": "sha512-jDdlHPaqm/QImo5wmb5xXcePacEedofHhDIhMvO/prYpZwm+rmfA+/jRM/cg15z9/DL5WgbrjuBD0+b9XQUmkg==", "requires": { - "@file-services/types": "^7.0.0", - "@file-services/utils": "^7.0.0" + "@file-services/types": "^7.0.1", + "@file-services/utils": "^7.0.1" } }, "@file-services/path": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@file-services/path/-/path-7.0.0.tgz", - "integrity": "sha512-mk/rNPVC+xzRjTCJQ8bJVX5Ofx2Veyjz5GxK93DMTERHOSvWU8xJRbxKR8S1P1NXXFvOI4FYXJairPAWAj0oeQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@file-services/path/-/path-7.0.1.tgz", + "integrity": "sha512-uTBrAG8hFoxlroX0cGqUYHvTPIZNhj2XoomJfplTT6c1s7hlxQT6qaMkIOnSJZju6YObS2xSfjzgEgY3XLnn/A==", "requires": { - "@file-services/types": "^7.0.0" + "@file-services/types": "^7.0.1" } }, "@file-services/types": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@file-services/types/-/types-7.0.0.tgz", - "integrity": "sha512-yJVDkjirwZdvwj0SgEhFa0epS2xhbkHPx1dZ94o80sHdz1BHcbGRLegbfBAuAgg/GqfM7YXct5FdHOnGpNCkvA==" + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@file-services/types/-/types-7.0.1.tgz", + "integrity": "sha512-Xe6u3qaOqUFAexQLi5NU+yehZ7HrlL561njL3Ki8zroOw5sBOcU33NPKNAe8zgnXqNwkGf2xu9b11bdKVWr4jg==" }, "@file-services/typescript": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@file-services/typescript/-/typescript-7.0.0.tgz", - "integrity": "sha512-RLSviLPNPwEIuzdZhIFeKzunG1DzVTSoPBFk0iSDSh2YUS+D3gC/ZnXuheG9b278bnSupP4JrtxrWoD/H8+rOw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@file-services/typescript/-/typescript-7.0.1.tgz", + "integrity": "sha512-o/F2i0g9uP/an9kdVoXYHI4RGOtL60gDHnguLyHIwNbBUbmvc3rcm7SuJq1hNcfb6YvRmPGcxJANNQ3iQRs1wA==", "requires": { - "@file-services/types": "^7.0.0" + "@file-services/types": "^7.0.1" } }, "@file-services/utils": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@file-services/utils/-/utils-7.0.0.tgz", - "integrity": "sha512-BWiI7TRjE8t2XNEflM+HDgRVJuT1rdVLnqTugq5mn51oqmQlCPyNyYmiWr+9CDLSTDdA1fc9b1HHNAlM2/917A==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@file-services/utils/-/utils-7.0.1.tgz", + "integrity": "sha512-zPhNloT2YVfGlh2+VxzbGnV/OPo53VaVDwNW2cKLbAex97dF6lh9xHjYBUHnt3nFA0HPc3Xd6QkSAC/BXfGBNA==", "requires": { - "@file-services/types": "^7.0.0" + "@file-services/types": "^7.0.1" } }, "@humanwhocodes/config-array": { @@ -7696,8 +7733,8 @@ "@stylable/cli": { "version": "file:packages/cli", "requires": { - "@file-services/node": "^7.0.0", - "@file-services/types": "^7.0.0", + "@file-services/node": "^7.0.1", + "@file-services/types": "^7.0.1", "@stylable/build-tools": "^5.1.0", "@stylable/code-formatter": "^5.1.0", "@stylable/core": "^5.1.0", @@ -7715,7 +7752,7 @@ "version": "file:packages/code-formatter", "requires": { "@stylable/core": "^5.1.0", - "js-beautify": "^1.14.4" + "js-beautify": "^1.14.5" } }, "@stylable/core": { @@ -7731,7 +7768,7 @@ "is-vendor-prefixed": "^4.0.0", "lodash.clonedeep": "^4.5.0", "lodash.clonedeepwith": "^4.5.0", - "postcss": "^8.4.14", + "postcss": "^8.4.16", "postcss-js": "^4.0.0", "postcss-nested": "^5.0.6", "postcss-safe-parser": "^6.0.0", @@ -7748,11 +7785,11 @@ "@stylable/core-test-kit": { "version": "file:packages/core-test-kit", "requires": { - "@file-services/memory": "^7.0.0", + "@file-services/memory": "^7.0.1", "@stylable/core": "^5.1.0", "chai": "^4.3.6", "flat": "^5.0.2", - "postcss": "^8.4.14" + "postcss": "^8.4.16" } }, "@stylable/custom-value": { @@ -7809,12 +7846,12 @@ "@stylable/language-service": { "version": "file:packages/language-service", "requires": { - "@file-services/types": "^7.0.0", - "@file-services/typescript": "^7.0.0", + "@file-services/types": "^7.0.1", + "@file-services/typescript": "^7.0.1", "@stylable/code-formatter": "^5.1.0", "@stylable/core": "^5.1.0", "css-selector-tokenizer": "^0.8.0", - "postcss": "^8.4.14", + "postcss": "^8.4.16", "postcss-value-parser": "^4.2.0", "vscode-css-languageservice": "^6.0.1", "vscode-languageserver": "^8.0.2", @@ -7844,7 +7881,7 @@ "@stylable/core": "^5.1.0", "@tokey/css-selector-parser": "^0.6.0", "csso": "^5.0.4", - "postcss": "^8.4.14" + "postcss": "^8.4.16" } }, "@stylable/rollup-plugin": { @@ -7903,7 +7940,7 @@ "decache": "^4.6.1", "find-config": "^1.0.0", "lodash.clonedeep": "^4.5.0", - "postcss": "^8.4.14" + "postcss": "^8.4.16" } }, "@tokey/core": { @@ -7950,9 +7987,9 @@ } }, "@types/chai": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.1.tgz", - "integrity": "sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.3.tgz", + "integrity": "sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==", "dev": true }, "@types/chai-subset": { @@ -8163,9 +8200,9 @@ } }, "@types/mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-fccbsHKqFDXClBZTDLA43zl0+TbxyIwyzIzwwhvoJvhNjOErCdeX2xJbURimv2EbSVUGav001PaCJg4mZxMl4w==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", "dev": true }, "@types/minimatch": { @@ -8213,9 +8250,9 @@ "dev": true }, "@types/react": { - "version": "18.0.15", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.15.tgz", - "integrity": "sha512-iz3BtLuIYH1uWdsv6wXYdhozhqj20oD4/Hk2DNXIn1kFsmp9x8d9QB6FnPhfkbhd2PgEONt9Q1x/ebkwjfFLow==", + "version": "18.0.17", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.17.tgz", + "integrity": "sha512-38ETy4tL+rn4uQQi7mB81G7V1g0u2ryquNmsVIOKUAEIDK+3CUjZ6rSRpdvS99dNBnkLFL83qfmtLacGOTIhwQ==", "dev": true, "requires": { "@types/prop-types": "*", @@ -8280,9 +8317,9 @@ "dev": true }, "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -8295,14 +8332,14 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.32.0.tgz", - "integrity": "sha512-CHLuz5Uz7bHP2WgVlvoZGhf0BvFakBJKAD/43Ty0emn4wXWv5k01ND0C0fHcl/Im8Td2y/7h44E9pca9qAu2ew==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.33.0.tgz", + "integrity": "sha512-jHvZNSW2WZ31OPJ3enhLrEKvAZNyAFWZ6rx9tUwaessTc4sx9KmgMNhVcqVAl1ETnT5rU5fpXTLmY9YvC1DCNg==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.32.0", - "@typescript-eslint/type-utils": "5.32.0", - "@typescript-eslint/utils": "5.32.0", + "@typescript-eslint/scope-manager": "5.33.0", + "@typescript-eslint/type-utils": "5.33.0", + "@typescript-eslint/utils": "5.33.0", "debug": "^4.3.4", "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", @@ -8312,57 +8349,57 @@ } }, "@typescript-eslint/experimental-utils": { - "version": "5.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.32.0.tgz", - "integrity": "sha512-/x72MkqLAoOQSOHFxdm17irJ1PNDWtdrMmfacaYniGT26nibak8vxEf9xmoVE+yTYL8N77I2icPtw89Yx6HvNg==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.33.0.tgz", + "integrity": "sha512-NvRsNe+T90QrSVlgdV9/U8/chfqGmShvKUE7hWZTAUUCF6hZty/R+eMPVGldKcUDq7uRQaK6+V8gv5OwVDqC+g==", "requires": { - "@typescript-eslint/utils": "5.32.0" + "@typescript-eslint/utils": "5.33.0" } }, "@typescript-eslint/parser": { - "version": "5.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.32.0.tgz", - "integrity": "sha512-IxRtsehdGV9GFQ35IGm5oKKR2OGcazUoiNBxhRV160iF9FoyuXxjY+rIqs1gfnd+4eL98OjeGnMpE7RF/NBb3A==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.33.0.tgz", + "integrity": "sha512-cgM5cJrWmrDV2KpvlcSkelTBASAs1mgqq+IUGKJvFxWrapHpaRy5EXPQz9YaKF3nZ8KY18ILTiVpUtbIac86/w==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.32.0", - "@typescript-eslint/types": "5.32.0", - "@typescript-eslint/typescript-estree": "5.32.0", + "@typescript-eslint/scope-manager": "5.33.0", + "@typescript-eslint/types": "5.33.0", + "@typescript-eslint/typescript-estree": "5.33.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.32.0.tgz", - "integrity": "sha512-KyAE+tUON0D7tNz92p1uetRqVJiiAkeluvwvZOqBmW9z2XApmk5WSMV9FrzOroAcVxJZB3GfUwVKr98Dr/OjOg==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.33.0.tgz", + "integrity": "sha512-/Jta8yMNpXYpRDl8EwF/M8It2A9sFJTubDo0ATZefGXmOqlaBffEw0ZbkbQ7TNDK6q55NPHFshGBPAZvZkE8Pw==", "requires": { - "@typescript-eslint/types": "5.32.0", - "@typescript-eslint/visitor-keys": "5.32.0" + "@typescript-eslint/types": "5.33.0", + "@typescript-eslint/visitor-keys": "5.33.0" } }, "@typescript-eslint/type-utils": { - "version": "5.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.32.0.tgz", - "integrity": "sha512-0gSsIhFDduBz3QcHJIp3qRCvVYbqzHg8D6bHFsDMrm0rURYDj+skBK2zmYebdCp+4nrd9VWd13egvhYFJj/wZg==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.33.0.tgz", + "integrity": "sha512-2zB8uEn7hEH2pBeyk3NpzX1p3lF9dKrEbnXq1F7YkpZ6hlyqb2yZujqgRGqXgRBTHWIUG3NGx/WeZk224UKlIA==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.32.0", + "@typescript-eslint/utils": "5.33.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.32.0.tgz", - "integrity": "sha512-EBUKs68DOcT/EjGfzywp+f8wG9Zw6gj6BjWu7KV/IYllqKJFPlZlLSYw/PTvVyiRw50t6wVbgv4p9uE2h6sZrQ==" + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.33.0.tgz", + "integrity": "sha512-nIMt96JngB4MYFYXpZ/3ZNU4GWPNdBbcB5w2rDOCpXOVUkhtNlG2mmm8uXhubhidRZdwMaMBap7Uk8SZMU/ppw==" }, "@typescript-eslint/typescript-estree": { - "version": "5.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.32.0.tgz", - "integrity": "sha512-ZVAUkvPk3ITGtCLU5J4atCw9RTxK+SRc6hXqLtllC2sGSeMFWN+YwbiJR9CFrSFJ3w4SJfcWtDwNb/DmUIHdhg==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.33.0.tgz", + "integrity": "sha512-tqq3MRLlggkJKJUrzM6wltk8NckKyyorCSGMq4eVkyL5sDYzJJcMgZATqmF8fLdsWrW7OjjIZ1m9v81vKcaqwQ==", "requires": { - "@typescript-eslint/types": "5.32.0", - "@typescript-eslint/visitor-keys": "5.32.0", + "@typescript-eslint/types": "5.33.0", + "@typescript-eslint/visitor-keys": "5.33.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -8371,24 +8408,24 @@ } }, "@typescript-eslint/utils": { - "version": "5.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.32.0.tgz", - "integrity": "sha512-W7lYIAI5Zlc5K082dGR27Fczjb3Q57ECcXefKU/f0ajM5ToM0P+N9NmJWip8GmGu/g6QISNT+K6KYB+iSHjXCQ==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.33.0.tgz", + "integrity": "sha512-JxOAnXt9oZjXLIiXb5ZIcZXiwVHCkqZgof0O8KPgz7C7y0HS42gi75PdPlqh1Tf109M0fyUw45Ao6JLo7S5AHw==", "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.32.0", - "@typescript-eslint/types": "5.32.0", - "@typescript-eslint/typescript-estree": "5.32.0", + "@typescript-eslint/scope-manager": "5.33.0", + "@typescript-eslint/types": "5.33.0", + "@typescript-eslint/typescript-estree": "5.33.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.32.0.tgz", - "integrity": "sha512-S54xOHZgfThiZ38/ZGTgB2rqx51CMJ5MCfVT2IplK4Q7hgzGfe0nLzLCcenDnc/cSjP568hdeKfeDcBgqNHD/g==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.33.0.tgz", + "integrity": "sha512-/XsqCzD4t+Y9p5wd9HZiptuGKBlaZO5showwqODii5C0nZawxWLF+Q6k5wYHBrQv96h6GYKyqqMHCSTqta8Kiw==", "requires": { - "@typescript-eslint/types": "5.32.0", + "@typescript-eslint/types": "5.33.0", "eslint-visitor-keys": "^3.3.0" } }, @@ -8943,9 +8980,9 @@ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" }, "caniuse-lite": { - "version": "1.0.30001373", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz", - "integrity": "sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==" + "version": "1.0.30001374", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001374.tgz", + "integrity": "sha512-mWvzatRx3w+j5wx/mpFN5v5twlPrabG8NqX2c6e45LCpymdoGqNvRkRutFUqpRTXKFQFNQJasvK0YT7suW6/Hw==" }, "chai": { "version": "4.3.6", @@ -9460,9 +9497,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "electron-to-chromium": { - "version": "1.4.210", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.210.tgz", - "integrity": "sha512-kSiX4tuyZijV7Cz0MWVmGT8K2siqaOA4Z66K5dCttPPRh0HicOcOAEj1KlC8O8J1aOS/1M8rGofOzksLKaHWcQ==" + "version": "1.4.212", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.212.tgz", + "integrity": "sha512-LjQUg1SpLj2GfyaPDVBUHdhmlDU1vDB4f0mJWSGkISoXQrn5/lH3ECPCuo2Bkvf6Y30wO+b69te+rZK/llZmjg==" }, "emoji-regex": { "version": "8.0.0", @@ -9761,7 +9798,7 @@ "version": "file:packages/eslint-plugin-stylable", "requires": { "@stylable/core": "^5.1.0", - "@typescript-eslint/experimental-utils": "^5.32.0" + "@typescript-eslint/experimental-utils": "^5.33.0" } }, "eslint-scope": { @@ -10473,9 +10510,9 @@ "dev": true }, "is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", "dev": true, "requires": { "has": "^1.0.3" @@ -10640,14 +10677,44 @@ } }, "js-beautify": { - "version": "1.14.4", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.4.tgz", - "integrity": "sha512-+b4A9c3glceZEmxyIbxDOYB0ZJdReLvyU1077RqKsO4dZx9FUHjTOJn8VHwpg33QoucIykOiYbh7MfqBOghnrA==", + "version": "1.14.5", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.5.tgz", + "integrity": "sha512-P2BfZBhXchh10uZ87qMKpM2tfcDXLA+jDiWU/OV864yWdTGzLUGNAdp9Y1ID5ubpNVGls3cZ1UMcO8myUB+UyA==", "requires": { "config-chain": "^1.1.13", "editorconfig": "^0.15.3", - "glob": "^7.1.3", - "nopt": "^5.0.0" + "glob": "^8.0.3", + "nopt": "^6.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, "js-tokens": { @@ -10727,13 +10794,13 @@ "dev": true }, "jsx-ast-utils": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.2.tgz", - "integrity": "sha512-4ZCADZHRkno244xlNnn4AOG6sRQ7iBZ5BbgZ4vW4y5IZw7cVUD1PPeblm1xx/nfmMxPdt/LHsXZW8z/j58+l9Q==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", "dev": true, "requires": { "array-includes": "^3.1.5", - "object.assign": "^4.1.2" + "object.assign": "^4.1.3" } }, "levn": { @@ -11195,11 +11262,11 @@ "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" }, "nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", "requires": { - "abbrev": "1" + "abbrev": "^1.0.0" } }, "normalize-package-data": { @@ -11391,14 +11458,14 @@ "dev": true }, "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.3.tgz", + "integrity": "sha512-ZFJnX3zltyjcYJL0RoCJuzb+11zWGyaDbjgxZbdV7rFEcHQuYxrZqhow67aA7xpes6LhojyFDaBKAFfogQrikA==", "dev": true, "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", "object-keys": "^1.1.1" } }, @@ -11620,9 +11687,9 @@ "integrity": "sha512-zfAoDoPY/0sDLsgSgLZwWmSCevIg1ym7CppBwllguVBNiHeixZkc1AdMuYUPZC6AdEYc4CxWEyLMBTw2YcmRrA==" }, "postcss": { - "version": "8.4.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", - "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "version": "8.4.16", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz", + "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==", "requires": { "nanoid": "^3.3.4", "picocolors": "^1.0.0", @@ -12591,9 +12658,9 @@ "integrity": "sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==" }, "vscode-nls": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.0.1.tgz", - "integrity": "sha512-hHQV6iig+M21lTdItKPkJAaWrxALQb/nqpVffakO4knJOh3DrU2SXOMzUzNgo1eADPzu3qSsJY1weCzvR52q9A==" + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.1.0.tgz", + "integrity": "sha512-37Ha44QrLFwR2IfSSYdOArzUvOyoWbOYTwQC+wS0NfqKjhW7s0WQ1lMy5oJXgSZy9sAiZS5ifELhbpXodeMR8w==" }, "vscode-uri": { "version": "3.0.3", @@ -12857,9 +12924,9 @@ }, "dependencies": { "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==" + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" } } }, diff --git a/package.json b/package.json index f295cd6db..70085475a 100644 --- a/package.json +++ b/package.json @@ -16,12 +16,12 @@ "prettify": "npx prettier . --write" }, "devDependencies": { - "@file-services/memory": "^7.0.0", - "@file-services/node": "^7.0.0", + "@file-services/memory": "^7.0.1", + "@file-services/node": "^7.0.1", "@rollup/plugin-html": "^0.2.4", "@rollup/plugin-node-resolve": "^13.3.0", "@types/balanced-match": "^1.0.2", - "@types/chai": "^4.3.1", + "@types/chai": "^4.3.3", "@types/chai-subset": "^1.3.3", "@types/css-selector-tokenizer": "^0.7.1", "@types/cssesc": "^3.0.0", @@ -39,17 +39,17 @@ "@types/lodash.findlast": "^4.6.7", "@types/lodash.upperfirst": "^4.3.7", "@types/memory-fs": "^0.3.3", - "@types/mime": "^3.0.0", + "@types/mime": "^3.0.1", "@types/mocha": "^9.1.1", "@types/node": "14", "@types/postcss-safe-parser": "^5.0.1", - "@types/react": "^18.0.15", + "@types/react": "^18.0.17", "@types/react-dom": "^18.0.6", "@types/rimraf": "^3.0.2", "@types/validate-npm-package-name": "^4.0.0", - "@types/yargs": "^17.0.10", - "@typescript-eslint/eslint-plugin": "^5.32.0", - "@typescript-eslint/parser": "^5.32.0", + "@types/yargs": "^17.0.11", + "@typescript-eslint/eslint-plugin": "^5.33.0", + "@typescript-eslint/parser": "^5.33.0", "autoprefixer": "^10.4.8", "chai": "^4.3.6", "chai-subset": "^1.6.0", @@ -68,7 +68,7 @@ "node-eval": "^2.0.0", "npm-run-all": "^4.1.5", "playwright-chromium": "^1.24.2", - "postcss": "^8.4.14", + "postcss": "^8.4.16", "promise-assist": "^1.3.0", "raw-loader": "^4.0.2", "react": "^18.2.0", diff --git a/packages/cli/package.json b/packages/cli/package.json index 8b528b6f1..e2863c369 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -12,8 +12,8 @@ "test": "mocha \"./dist/test/**/*.spec.js\" --timeout 25000" }, "dependencies": { - "@file-services/node": "^7.0.0", - "@file-services/types": "^7.0.0", + "@file-services/node": "^7.0.1", + "@file-services/types": "^7.0.1", "@stylable/build-tools": "^5.1.0", "@stylable/code-formatter": "^5.1.0", "@stylable/core": "^5.1.0", diff --git a/packages/code-formatter/package.json b/packages/code-formatter/package.json index 0e5cbaded..fa1c6de60 100644 --- a/packages/code-formatter/package.json +++ b/packages/code-formatter/package.json @@ -8,7 +8,7 @@ }, "dependencies": { "@stylable/core": "^5.1.0", - "js-beautify": "^1.14.4" + "js-beautify": "^1.14.5" }, "files": [ "dist", diff --git a/packages/core-test-kit/package.json b/packages/core-test-kit/package.json index b9ea6045f..e6d1cccec 100644 --- a/packages/core-test-kit/package.json +++ b/packages/core-test-kit/package.json @@ -7,11 +7,11 @@ "test": "mocha \"./dist/test/**/*.spec.js\"" }, "dependencies": { - "@file-services/memory": "^7.0.0", + "@file-services/memory": "^7.0.1", "@stylable/core": "^5.1.0", "chai": "^4.3.6", "flat": "^5.0.2", - "postcss": "^8.4.14" + "postcss": "^8.4.16" }, "files": [ "dist", diff --git a/packages/core/package.json b/packages/core/package.json index 12a96e2b6..3d99281c8 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -21,7 +21,7 @@ "is-vendor-prefixed": "^4.0.0", "lodash.clonedeep": "^4.5.0", "lodash.clonedeepwith": "^4.5.0", - "postcss": "^8.4.14", + "postcss": "^8.4.16", "postcss-js": "^4.0.0", "postcss-nested": "^5.0.6", "postcss-safe-parser": "^6.0.0", diff --git a/packages/eslint-plugin-stylable/package.json b/packages/eslint-plugin-stylable/package.json index 8fcd31fd2..85663452c 100644 --- a/packages/eslint-plugin-stylable/package.json +++ b/packages/eslint-plugin-stylable/package.json @@ -8,7 +8,7 @@ }, "dependencies": { "@stylable/core": "^5.1.0", - "@typescript-eslint/experimental-utils": "^5.32.0" + "@typescript-eslint/experimental-utils": "^5.33.0" }, "keywords": [ "eslint", diff --git a/packages/language-service/package.json b/packages/language-service/package.json index 03c65225b..9b4e1e2d4 100644 --- a/packages/language-service/package.json +++ b/packages/language-service/package.json @@ -11,12 +11,12 @@ "typescript": ">=3.8" }, "dependencies": { - "@file-services/types": "^7.0.0", - "@file-services/typescript": "^7.0.0", + "@file-services/types": "^7.0.1", + "@file-services/typescript": "^7.0.1", "@stylable/code-formatter": "^5.1.0", "@stylable/core": "^5.1.0", "css-selector-tokenizer": "^0.8.0", - "postcss": "^8.4.14", + "postcss": "^8.4.16", "postcss-value-parser": "^4.2.0", "vscode-css-languageservice": "^6.0.1", "vscode-languageserver": "^8.0.2", diff --git a/packages/optimizer/package.json b/packages/optimizer/package.json index 73643dc17..42de591ba 100644 --- a/packages/optimizer/package.json +++ b/packages/optimizer/package.json @@ -11,7 +11,7 @@ "@stylable/core": "^5.1.0", "@tokey/css-selector-parser": "^0.6.0", "csso": "^5.0.4", - "postcss": "^8.4.14" + "postcss": "^8.4.16" }, "files": [ "dist", diff --git a/packages/webpack-plugin/package.json b/packages/webpack-plugin/package.json index 10e3f7ab6..983da58f6 100644 --- a/packages/webpack-plugin/package.json +++ b/packages/webpack-plugin/package.json @@ -20,7 +20,7 @@ "decache": "^4.6.1", "find-config": "^1.0.0", "lodash.clonedeep": "^4.5.0", - "postcss": "^8.4.14" + "postcss": "^8.4.16" }, "files": [ "dist", From 5609827477bfefa4e03f34ccd70b870de29f8b28 Mon Sep 17 00:00:00 2001 From: Ido Rosenthal Date: Tue, 9 Aug 2022 17:46:41 +0300 Subject: [PATCH 6/6] infra(e2e-test-kit): default project runner inner step timeout flakiness (#2655) --- packages/e2e-test-kit/src/project-runner.ts | 19 +++++++++++++++---- .../webpack-plugin/test/e2e/deep-js.spec.ts | 3 +-- .../test/e2e/stc-watched-project.spec.ts | 9 ++++----- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/packages/e2e-test-kit/src/project-runner.ts b/packages/e2e-test-kit/src/project-runner.ts index efcc13218..dc370e574 100644 --- a/packages/e2e-test-kit/src/project-runner.ts +++ b/packages/e2e-test-kit/src/project-runner.ts @@ -6,7 +6,7 @@ import { promisify } from 'util'; import webpack from 'webpack'; import { nodeFs } from '@file-services/node'; import { symlinkSync, existsSync, realpathSync } from 'fs'; -import { deferred } from 'promise-assist'; +import { deferred, waitFor, timeout } from 'promise-assist'; import { runServer } from './run-server'; import { createTempDirectorySync } from './file-system-helpers'; import { loadDirSync } from './file-system-helpers'; @@ -22,6 +22,7 @@ export interface Options { watchMode?: boolean; useTempDir?: boolean; tempDirPath?: string; + totalTestTime?: number; } type MochaHook = import('mocha').HookFunction; @@ -38,7 +39,7 @@ export class ProjectRunner { const projectRunner = new this(runnerOptions); before('bundle and serve project', async function () { - this.timeout(40000); + this.timeout(runnerOptions.totalTestTime ?? 40000); await projectRunner.run(); await projectRunner.serve(); }); @@ -136,13 +137,23 @@ export class ProjectRunner { public async actAndWaitForRecompile( actionDesc: string, action: () => Promise | void, - validate: () => Promise | void = () => Promise.resolve() + validate: (controlledWaitFor: typeof waitFor) => Promise | void = () => + Promise.resolve() ) { + const timeoutMs = 15000; + const controlledWaitFor: typeof waitFor = (action, options = {}) => { + // ToDo: figure out how to add time to the total test timeout + return waitFor(action, { timeout: timeoutMs, ...options }); + }; try { const recompile = this.waitForRecompile(); await action(); await recompile; - await validate(); + await timeout( + validate(controlledWaitFor) || Promise.resolve(), + timeoutMs + 100, // allow inner timeout to fail first + `[timeout after ${timeoutMs + 100}ms] "${actionDesc}"` + ); } catch (e) { if (e) { (e as Error).message = actionDesc + '\n' + (e as Error).message; diff --git a/packages/webpack-plugin/test/e2e/deep-js.spec.ts b/packages/webpack-plugin/test/e2e/deep-js.spec.ts index 2e2e421eb..752b324a1 100644 --- a/packages/webpack-plugin/test/e2e/deep-js.spec.ts +++ b/packages/webpack-plugin/test/e2e/deep-js.spec.ts @@ -2,7 +2,6 @@ import { StylableProjectRunner } from '@stylable/e2e-test-kit'; import { expect } from 'chai'; import { promises } from 'fs'; import { dirname, join } from 'path'; -import { waitFor } from 'promise-assist'; const project = 'deep-js'; const projectDir = dirname( @@ -37,7 +36,7 @@ describe(`(${project})`, () => { join(projectRunner.testDir, 'src', 'mixin.js'), `module.exports = () => ({ color: 'green' });` ), - () => + (waitFor) => waitFor( async () => { await page.reload(); diff --git a/packages/webpack-plugin/test/e2e/stc-watched-project.spec.ts b/packages/webpack-plugin/test/e2e/stc-watched-project.spec.ts index 8e6d63e44..214cb3d6a 100644 --- a/packages/webpack-plugin/test/e2e/stc-watched-project.spec.ts +++ b/packages/webpack-plugin/test/e2e/stc-watched-project.spec.ts @@ -2,7 +2,6 @@ import { promises } from 'fs'; import { dirname, join } from 'path'; import { expect } from 'chai'; import { browserFunctions, StylableProjectRunner } from '@stylable/e2e-test-kit'; -import { waitFor } from 'promise-assist'; const { writeFile } = promises; @@ -46,7 +45,7 @@ describe(`(${project})`, () => { join(projectRunner.testDir, 'style-source', 'style-b.st.css'), '.b{ color: green; }' ), - () => + (waitFor) => waitFor(() => { expect(projectRunner.getProjectFiles()['style-output/style-b.st.css']).to.eql( '.b{ color: green; }' @@ -68,7 +67,7 @@ describe(`(${project})`, () => { } ` ), - () => + (waitFor) => waitFor(async () => { await page.reload(); const styleElements = await page.evaluate( @@ -90,7 +89,7 @@ describe(`(${project})`, () => { join(projectRunner.testDir, 'style-source', 'style-b.st.css'), '.b{ color: blue; }' ), - () => + (waitFor) => waitFor( async () => { expect( @@ -108,7 +107,7 @@ describe(`(${project})`, () => { /\.index\d+__root \{ color: blue; z-index: 1; \}/ ); }, - { timeout: 5_000, delay: 0 } + { delay: 0 } ) ); });