From bacfedb3085f99e78eaa61c23ed7a68bbac4a874 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristj=C3=A1n=20Oddsson?= Date: Tue, 28 Nov 2023 15:39:36 +0100 Subject: [PATCH 01/50] fix(dynamic-import-vars): Allow a "no files found" error to be emitted as warning (#1625) * allow no files error to be emitted as warning * Update packages/dynamic-import-vars/README.md Co-authored-by: Andrew Powell --------- Co-authored-by: Andrew Powell --- packages/dynamic-import-vars/README.md | 2 ++ packages/dynamic-import-vars/src/index.js | 11 ++++++---- .../rollup-plugin-dynamic-import-vars.test.js | 20 ++++++++++++++++++- 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/packages/dynamic-import-vars/README.md b/packages/dynamic-import-vars/README.md index bd3eb82bd..ae663cdf2 100644 --- a/packages/dynamic-import-vars/README.md +++ b/packages/dynamic-import-vars/README.md @@ -68,6 +68,8 @@ Default: `false` By default, the plugin will not throw errors when target files are not found. Setting this option to true will result in errors thrown when encountering files which don't exist. +⚠️ _Important:_ Enabling this option when `warnOnError` is set to `true` will result in a warning and _not_ an error + #### `warnOnError` Type: `Boolean`
diff --git a/packages/dynamic-import-vars/src/index.js b/packages/dynamic-import-vars/src/index.js index 3d631b729..b44770c45 100644 --- a/packages/dynamic-import-vars/src/index.js +++ b/packages/dynamic-import-vars/src/index.js @@ -56,11 +56,14 @@ function dynamicImportVariables({ include, exclude, warnOnError, errorWhenNoFile ); if (errorWhenNoFilesFound && paths.length === 0) { - this.error( - new Error( - `No files found in ${glob} when trying to dynamically load concatted string from ${id}` - ) + const error = new Error( + `No files found in ${glob} when trying to dynamically load concatted string from ${id}` ); + if (warnOnError) { + this.warn(error); + } else { + this.error(error); + } } // create magic string if it wasn't created already diff --git a/packages/dynamic-import-vars/test/rollup-plugin-dynamic-import-vars.test.js b/packages/dynamic-import-vars/test/rollup-plugin-dynamic-import-vars.test.js index 6a0ae9448..58c40091c 100644 --- a/packages/dynamic-import-vars/test/rollup-plugin-dynamic-import-vars.test.js +++ b/packages/dynamic-import-vars/test/rollup-plugin-dynamic-import-vars.test.js @@ -218,7 +218,7 @@ test("doesn't throw if no files in dir when option isn't set", async (t) => { t.false(thrown); }); -test('throws if no files in dir when option is set', async (t) => { +test('throws if no files in dir when `errorWhenNoFilesFound` is set', async (t) => { let thrown = false; try { await rollup({ @@ -236,3 +236,21 @@ test('throws if no files in dir when option is set', async (t) => { } t.true(thrown); }); + +test('warns if no files in dir when `errorWhenNoFilesFound` and `warnOnError` are both set', async (t) => { + let warningEmitted = false; + await rollup({ + input: 'fixture-no-files.js', + plugins: [dynamicImportVars({ errorWhenNoFilesFound: true, warnOnError: true })], + onwarn(warning) { + t.deepEqual( + warning.message, + `No files found in ./module-dir-c/*.js when trying to dynamically load concatted string from ${require.resolve( + './fixtures/fixture-no-files.js' + )}` + ); + warningEmitted = true; + } + }); + t.true(warningEmitted); +}); From 7af1e2137267f6bef8544857e544e60921903ecb Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Tue, 28 Nov 2023 14:41:18 +0000 Subject: [PATCH 02/50] chore(release): dynamic-import-vars v2.1.2 --- packages/dynamic-import-vars/CHANGELOG.md | 8 ++++++++ packages/dynamic-import-vars/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/dynamic-import-vars/CHANGELOG.md b/packages/dynamic-import-vars/CHANGELOG.md index 477be32ab..4c6e08a44 100644 --- a/packages/dynamic-import-vars/CHANGELOG.md +++ b/packages/dynamic-import-vars/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-dynamic-import-vars ChangeLog +## v2.1.2 + +_2023-11-28_ + +### Bugfixes + +- fix: Allow a "no files found" error to be emitted as warning (#1625) + ## v2.1.1 _2023-11-25_ diff --git a/packages/dynamic-import-vars/package.json b/packages/dynamic-import-vars/package.json index aa564dcce..53b782d5e 100644 --- a/packages/dynamic-import-vars/package.json +++ b/packages/dynamic-import-vars/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-dynamic-import-vars", - "version": "2.1.1", + "version": "2.1.2", "publishConfig": { "access": "public" }, From 3c53a297f9844261df5a7ee95ff8c2af8f14308e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Tue, 28 Nov 2023 23:57:45 +0900 Subject: [PATCH 03/50] feat(pluginutils): add `includeArbitraryNames: true` to `dataToEsm` (#1635) * feat(pluginutils): add `namedExports: 'include-arbitrary-name'` to `dataToEsm` * refactor(pluginutils): change to includeArbitraryNames * docs: add options to dataToEsm section * docs: add option description to new option --------- Co-authored-by: Andrew Powell --- packages/pluginutils/README.md | 11 +++++-- packages/pluginutils/src/dataToEsm.ts | 40 +++++++++++++++++++++++++- packages/pluginutils/test/dataToEsm.ts | 17 +++++++++++ packages/pluginutils/types/index.d.ts | 6 ++++ 4 files changed, 71 insertions(+), 3 deletions(-) diff --git a/packages/pluginutils/README.md b/packages/pluginutils/README.md index 8d87f5dba..368bce87d 100755 --- a/packages/pluginutils/README.md +++ b/packages/pluginutils/README.md @@ -143,7 +143,7 @@ export default function myPlugin(options = {}) { Transforms objects into tree-shakable ES Module imports. -Parameters: `(data: Object)`
+Parameters: `(data: Object, options: DataToEsmOptions)`
Returns: `String` #### `data` @@ -152,6 +152,12 @@ Type: `Object` An object to transform into an ES module. +#### `options` + +Type: `DataToEsmOptions` + +_Note: Please see the TypeScript definition for complete documentation of these options_ + #### Usage ```js @@ -167,7 +173,8 @@ const esModuleSource = dataToEsm( indent: '\t', preferConst: true, objectShorthand: true, - namedExports: true + namedExports: true, + includeArbitraryNames: false } ); /* diff --git a/packages/pluginutils/src/dataToEsm.ts b/packages/pluginutils/src/dataToEsm.ts index d51d59e1a..312017220 100755 --- a/packages/pluginutils/src/dataToEsm.ts +++ b/packages/pluginutils/src/dataToEsm.ts @@ -59,6 +59,17 @@ function serialize(obj: unknown, indent: Indent, baseIndent: string): string { return stringify(obj); } +// isWellFormed exists from Node.js 20 +const hasStringIsWellFormed = 'isWellFormed' in String.prototype; + +function isWellFormedString(input: string): boolean { + // @ts-expect-error String::isWellFormed exists from ES2024. tsconfig lib is set to ES6 + if (hasStringIsWellFormed) return input.isWellFormed(); + + // https://github.com/tc39/proposal-is-usv-string/blob/main/README.md#algorithm + return !/\p{Surrogate}/u.test(input); +} + const dataToEsm: DataToEsm = function dataToEsm(data, options = {}) { const t = options.compact ? '' : 'indent' in options ? options.indent : '\t'; const _ = options.compact ? '' : ' '; @@ -78,8 +89,19 @@ const dataToEsm: DataToEsm = function dataToEsm(data, options = {}) { return `export default${magic}${code};`; } + let maxUnderbarPrefixLength = 0; + for (const key of Object.keys(data)) { + const underbarPrefixLength = key.match(/^(_+)/)?.[0].length ?? 0; + if (underbarPrefixLength > maxUnderbarPrefixLength) { + maxUnderbarPrefixLength = underbarPrefixLength; + } + } + + const arbitraryNamePrefix = `${'_'.repeat(maxUnderbarPrefixLength + 1)}arbitrary`; + let namedExportCode = ''; const defaultExportRows = []; + const arbitraryNameExportRows: string[] = []; for (const [key, value] of Object.entries(data)) { if (key === makeLegalIdentifier(key)) { if (options.objectShorthand) defaultExportRows.push(key); @@ -93,11 +115,27 @@ const dataToEsm: DataToEsm = function dataToEsm(data, options = {}) { defaultExportRows.push( `${stringify(key)}:${_}${serialize(value, options.compact ? null : t, '')}` ); + if (options.includeArbitraryNames && isWellFormedString(key)) { + const variableName = `${arbitraryNamePrefix}${arbitraryNameExportRows.length}`; + namedExportCode += `${declarationType} ${variableName}${_}=${_}${serialize( + value, + options.compact ? null : t, + '' + )};${n}`; + arbitraryNameExportRows.push(`${variableName} as ${JSON.stringify(key)}`); + } } } - return `${namedExportCode}export default${_}{${n}${t}${defaultExportRows.join( + + const arbitraryExportCode = + arbitraryNameExportRows.length > 0 + ? `export${_}{${n}${t}${arbitraryNameExportRows.join(`,${n}${t}`)}${n}};${n}` + : ''; + const defaultExportCode = `export default${_}{${n}${t}${defaultExportRows.join( `,${n}${t}` )}${n}};${n}`; + + return `${namedExportCode}${arbitraryExportCode}${defaultExportCode}`; }; export { dataToEsm as default }; diff --git a/packages/pluginutils/test/dataToEsm.ts b/packages/pluginutils/test/dataToEsm.ts index d1d5d9ac5..d32fe3e24 100755 --- a/packages/pluginutils/test/dataToEsm.ts +++ b/packages/pluginutils/test/dataToEsm.ts @@ -110,3 +110,20 @@ test('avoid U+2029 U+2029 -0 be ignored by JSON.stringify, and avoid it return n 'export default[-0,"\\u2028\\u2029",undefined,undefined];' ); }); + +test('support arbitrary module namespace identifier names', (t) => { + t.is( + dataToEsm( + { foo: 'foo', 'foo.bar': 'foo.bar', '\udfff': 'non wellformed' }, + { namedExports: true, includeArbitraryNames: true } + ), + 'export var foo = "foo";\nvar _arbitrary0 = "foo.bar";\nexport {\n\t_arbitrary0 as "foo.bar"\n};\nexport default {\n\tfoo: foo,\n\t"foo.bar": "foo.bar",\n\t"\\udfff": "non wellformed"\n};\n' + ); + t.is( + dataToEsm( + { foo: 'foo', 'foo.bar': 'foo.bar', '\udfff': 'non wellformed' }, + { namedExports: true, includeArbitraryNames: true, compact: true } + ), + 'export var foo="foo";var _arbitrary0="foo.bar";export{_arbitrary0 as "foo.bar"};export default{foo:foo,"foo.bar":"foo.bar","\\udfff":"non wellformed"};' + ); +}); diff --git a/packages/pluginutils/types/index.d.ts b/packages/pluginutils/types/index.d.ts index fb96d6346..4bdf3a2a6 100755 --- a/packages/pluginutils/types/index.d.ts +++ b/packages/pluginutils/types/index.d.ts @@ -10,6 +10,12 @@ export interface AttachedScope { export interface DataToEsmOptions { compact?: boolean; + /** + * @desc When this option is set, dataToEsm will generate a named export for keys that + * are not a valid identifier, by leveraging the "Arbitrary Module Namespace Identifier + * Names" feature. See: https://github.com/tc39/ecma262/pull/2154 + */ + includeArbitraryNames?: boolean; indent?: string; namedExports?: boolean; objectShorthand?: boolean; From 02f9724ed74da05410dd500fc336cfb497b4563f Mon Sep 17 00:00:00 2001 From: shellscape Date: Tue, 28 Nov 2023 10:44:42 -0500 Subject: [PATCH 04/50] chore(release): pluginutils v5.1.0 --- packages/pluginutils/CHANGELOG.md | 12 ++++++++++++ packages/pluginutils/package.json | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/pluginutils/CHANGELOG.md b/packages/pluginutils/CHANGELOG.md index f1af3f625..ae8bd877d 100755 --- a/packages/pluginutils/CHANGELOG.md +++ b/packages/pluginutils/CHANGELOG.md @@ -1,5 +1,17 @@ # @rollup/pluginutils ChangeLog +## v5.1.0 + +_2023-11-28_ + +### Features + +- feat: add `includeArbitraryNames: true` to `dataToEsm` (#1635) + +### Updates + +- doc: correct the return type of createFilter (#1633) + ## v5.0.5 _2023-10-05_ diff --git a/packages/pluginutils/package.json b/packages/pluginutils/package.json index e86973629..dcbf42059 100644 --- a/packages/pluginutils/package.json +++ b/packages/pluginutils/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/pluginutils", - "version": "5.0.5", + "version": "5.1.0", "publishConfig": { "access": "public" }, From d49bbe8dc5ec41157de5787c72c858f73be107ff Mon Sep 17 00:00:00 2001 From: shellscape Date: Tue, 28 Nov 2023 10:48:33 -0500 Subject: [PATCH 05/50] chore(repo): fix scope regex for package release --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f9b206d89..d8a9cff8d 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "lint:js": "eslint --cache packages scripts shared util --ext .js,.ts,.mjs", "lint:json": "prettier --write .github/**/*.yml **/tsconfig.json tsconfig.*.json pnpm-workspace.yaml", "lint:package": "prettier --write **/package.json", - "package:release": "versioner --stripShortName='^@.+/plugin-' --target", + "package:release": "versioner --stripShortName='^@.+/(plugin-)?' --target", "preinstall": "node scripts/disallow-npm.js", "prepare": "husky install", "prettier": "prettier --write .", From 7f59e56620d47e6d2179541e6fc9391a92cc451e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Wed, 13 Dec 2023 00:31:49 +0900 Subject: [PATCH 06/50] feat(json): add `includeArbitraryNames` option (#1641) --- .eslintignore | 4 ++++ packages/json/README.md | 7 +++++++ packages/json/package.json | 2 +- packages/json/src/index.js | 1 + .../json/test/fixtures/arbitrary/foo.json | 3 +++ packages/json/test/fixtures/arbitrary/main.js | 3 +++ packages/json/test/test.js | 11 +++++++++++ pnpm-lock.yaml | 19 +++++++++++++++++-- 8 files changed, 47 insertions(+), 3 deletions(-) create mode 100755 packages/json/test/fixtures/arbitrary/foo.json create mode 100755 packages/json/test/fixtures/arbitrary/main.js diff --git a/.eslintignore b/.eslintignore index 3189ad9a8..957e4a275 100644 --- a/.eslintignore +++ b/.eslintignore @@ -7,3 +7,7 @@ packages/typescript/test/fixtures/syntax-error # temporary workaround for eslint bug where package.json is a directory packages/node-resolve/test/fixtures/package-json-in-path + +# temporary workaround for TypeScript as it doesn't support "Arbitrary module namespace identifier names" +# https://github.com/microsoft/TypeScript/issues/40594 +packages/json/test/fixtures/arbitrary/main.js diff --git a/packages/json/README.md b/packages/json/README.md index e98f81fe5..1b1c9cd0f 100644 --- a/packages/json/README.md +++ b/packages/json/README.md @@ -75,6 +75,13 @@ Default: `null` A [picomatch pattern](https://github.com/micromatch/picomatch), or array of patterns, which specifies the files in the build the plugin should operate on. By default all files are targeted. +### `includeArbitraryNames` + +Type: `Boolean`
+Default: `false` + +If `true` and `namedExports` is `true`, generates a named export for not a valid identifier properties of the JSON object by leveraging the ["Arbitrary Module Namespace Identifier Names" feature](https://github.com/tc39/ecma262/pull/2154). + ### `indent` Type: `String`
diff --git a/packages/json/package.json b/packages/json/package.json index 47b04a896..986903165 100755 --- a/packages/json/package.json +++ b/packages/json/package.json @@ -61,7 +61,7 @@ } }, "dependencies": { - "@rollup/pluginutils": "^5.0.1" + "@rollup/pluginutils": "^5.1.0" }, "devDependencies": { "@rollup/plugin-buble": "^1.0.0", diff --git a/packages/json/src/index.js b/packages/json/src/index.js index b61ed2300..dcb8f3333 100755 --- a/packages/json/src/index.js +++ b/packages/json/src/index.js @@ -18,6 +18,7 @@ export default function json(options = {}) { preferConst: options.preferConst, compact: options.compact, namedExports: options.namedExports, + includeArbitraryNames: options.includeArbitraryNames, indent }), map: { mappings: '' } diff --git a/packages/json/test/fixtures/arbitrary/foo.json b/packages/json/test/fixtures/arbitrary/foo.json new file mode 100755 index 000000000..0776ea877 --- /dev/null +++ b/packages/json/test/fixtures/arbitrary/foo.json @@ -0,0 +1,3 @@ +{ + "foo.bar": "baz" +} diff --git a/packages/json/test/fixtures/arbitrary/main.js b/packages/json/test/fixtures/arbitrary/main.js new file mode 100755 index 000000000..75670fae1 --- /dev/null +++ b/packages/json/test/fixtures/arbitrary/main.js @@ -0,0 +1,3 @@ +export { 'foo.bar' as bar } from './foo.json'; + +result = exports; // eslint-disable-line no-undef diff --git a/packages/json/test/test.js b/packages/json/test/test.js index 1abbc2377..9aec69089 100755 --- a/packages/json/test/test.js +++ b/packages/json/test/test.js @@ -54,6 +54,17 @@ test('generates named exports', async (t) => { t.is(code.indexOf('this-should-be-excluded'), -1, 'should exclude unused properties'); }); +test('generates named exports including arbitrary names', async (t) => { + const bundle = await rollup({ + input: 'fixtures/arbitrary/main.js', + plugins: [json({ includeArbitraryNames: true })] + }); + + const { result } = await testBundle(t, bundle, { inject: { exports: {} } }); + + t.is(result.bar, 'baz'); +}); + test('resolves extensionless imports in conjunction with the node-resolve plugin', async (t) => { const bundle = await rollup({ input: 'fixtures/extensionless/main.js', diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dbe85b834..3777d7ee4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -468,8 +468,8 @@ importers: packages/json: dependencies: '@rollup/pluginutils': - specifier: ^5.0.1 - version: 5.0.1(rollup@4.0.0-24) + specifier: ^5.1.0 + version: 5.1.0(rollup@4.0.0-24) devDependencies: '@rollup/plugin-buble': specifier: ^1.0.0 @@ -2425,6 +2425,21 @@ packages: rollup: 4.0.0-24 dev: false + /@rollup/pluginutils@5.1.0(rollup@4.0.0-24): + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.0 + estree-walker: 2.0.2 + picomatch: 2.3.1 + rollup: 4.0.0-24 + dev: false + /@rollup/rollup-android-arm-eabi@4.0.0-24: resolution: {integrity: sha512-19cF3V1fHfzPzwu0cgZEdWLMdNkqSmKOhidqQv1CkUqAMcb7etA7WLx8YrX5ob31ruI0BYYrUDBunlIuMHHUrg==} cpu: [arm] From 33174f956304ab4aad4bbaba656f627c31679dc5 Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Tue, 12 Dec 2023 15:33:31 +0000 Subject: [PATCH 07/50] chore(release): json v6.1.0 --- packages/json/CHANGELOG.md | 8 ++++++++ packages/json/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/json/CHANGELOG.md b/packages/json/CHANGELOG.md index 0f412eb44..62553b080 100755 --- a/packages/json/CHANGELOG.md +++ b/packages/json/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-json ChangeLog +## v6.1.0 + +_2023-12-12_ + +### Features + +- feat: add `includeArbitraryNames` option (#1641) + ## v6.0.1 _2023-10-05_ diff --git a/packages/json/package.json b/packages/json/package.json index 986903165..5851ef6ed 100755 --- a/packages/json/package.json +++ b/packages/json/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-json", - "version": "6.0.1", + "version": "6.1.0", "publishConfig": { "access": "public" }, From 46df7629659beb80f4ef826a9bb20585c791627f Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Wed, 27 Dec 2023 16:59:15 +0100 Subject: [PATCH 08/50] chore(repo): consistent plugin names in docs (#1657) docs: consistent plugin names --- packages/inject/src/index.js | 2 +- packages/pluginutils/README.md | 2 +- packages/typescript/README.md | 2 +- packages/virtual/package.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/inject/src/index.js b/packages/inject/src/index.js index 6077b5475..9030c8a1d 100644 --- a/packages/inject/src/index.js +++ b/packages/inject/src/index.js @@ -96,7 +96,7 @@ export default function inject(options) { } catch (err) { this.warn({ code: 'PARSE_ERROR', - message: `rollup-plugin-inject: failed to parse ${id}. Consider restricting the plugin to particular files via options.include` + message: `@rollup/plugin-inject: failed to parse ${id}. Consider restricting the plugin to particular files via options.include` }); } if (!ast) { diff --git a/packages/pluginutils/README.md b/packages/pluginutils/README.md index 368bce87d..942e4d4c8 100755 --- a/packages/pluginutils/README.md +++ b/packages/pluginutils/README.md @@ -64,7 +64,7 @@ Attaches `Scope` objects to the relevant nodes of an AST. Each `Scope` object ha Parameters: `(ast: Node, propertyName?: String)`
Returns: `Object` -See [rollup-plugin-inject](https://github.com/rollup/rollup-plugin-inject) or [rollup-plugin-commonjs](https://github.com/rollup/rollup-plugin-commonjs) for an example of usage. +See [@rollup/plugin-inject](https://github.com/rollup/plugins/tree/master/packages/inject) or [@rollup/plugin-commonjs](https://github.com/rollup/plugins/tree/master/packages/commonjs) for an example of usage. ```js import { attachScopes } from '@rollup/pluginutils'; diff --git a/packages/typescript/README.md b/packages/typescript/README.md index dce144b1f..8350f9aa8 100644 --- a/packages/typescript/README.md +++ b/packages/typescript/README.md @@ -63,7 +63,7 @@ export default { } ``` -The following options are unique to `rollup-plugin-typescript`: +The following options are unique to `@rollup/plugin-typescript`: ### `exclude` diff --git a/packages/virtual/package.json b/packages/virtual/package.json index a396595dc..e3bf35706 100755 --- a/packages/virtual/package.json +++ b/packages/virtual/package.json @@ -12,7 +12,7 @@ }, "author": "Rich Harris", "homepage": "https://github.com/rollup/plugins/tree/master/packages/virtual#readme", - "bugs": "https://github.com/rollup/rollup-plugin-virtual/issues", + "bugs": "https://github.com/rollup/plugins/issues", "main": "./dist/cjs/index.js", "module": "./dist/es/index.js", "exports": { From db2cf230d773b72a7b53d210088e199ce8fd1bdd Mon Sep 17 00:00:00 2001 From: Andrei Picus <485061+NiGhTTraX@users.noreply.github.com> Date: Tue, 9 Jan 2024 18:06:19 +0100 Subject: [PATCH 09/50] fix(typescript): Ensure rollup 4 compatibility (#1658) Co-authored-by: Andrei Picus --- packages/typescript/package.json | 2 +- pnpm-lock.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/typescript/package.json b/packages/typescript/package.json index 0f0c23abf..93c2f2ad8 100644 --- a/packages/typescript/package.json +++ b/packages/typescript/package.json @@ -64,7 +64,7 @@ } }, "dependencies": { - "@rollup/pluginutils": "^5.0.1", + "@rollup/pluginutils": "^5.1.0", "resolve": "^1.22.1" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3777d7ee4..3f5074977 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -728,8 +728,8 @@ importers: packages/typescript: dependencies: '@rollup/pluginutils': - specifier: ^5.0.1 - version: 5.0.1(rollup@4.0.0-24) + specifier: ^5.1.0 + version: 5.1.0(rollup@4.0.0-24) resolve: specifier: ^1.22.1 version: 1.22.1 From 2a19079892f0bef53b557da965339cdef0a13a93 Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Tue, 9 Jan 2024 17:08:39 +0000 Subject: [PATCH 10/50] chore(release): typescript v11.1.6 --- packages/typescript/CHANGELOG.md | 8 ++++++++ packages/typescript/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/typescript/CHANGELOG.md b/packages/typescript/CHANGELOG.md index 9ec69af85..2e8fae7d4 100644 --- a/packages/typescript/CHANGELOG.md +++ b/packages/typescript/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-typescript ChangeLog +## v11.1.6 + +_2024-01-09_ + +### Bugfixes + +- fix: Ensure rollup 4 compatibility (#1658) + ## v11.1.5 _2023-10-05_ diff --git a/packages/typescript/package.json b/packages/typescript/package.json index 93c2f2ad8..7fca1ce58 100644 --- a/packages/typescript/package.json +++ b/packages/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-typescript", - "version": "11.1.5", + "version": "11.1.6", "publishConfig": { "access": "public" }, From 1795863007208e881e9fc88d4c1eb8d8eb9d54dc Mon Sep 17 00:00:00 2001 From: younggglcy Date: Fri, 5 Apr 2024 12:50:15 +0800 Subject: [PATCH 11/50] fix(esm-shim): do not insert shims at `import` literal (#1696) * fix: update regex to do not match new line in specifier group * test: add testcases and update snapshot --- packages/esm-shim/src/constants.ts | 2 +- .../test/fixtures/cjs-import-literal.js | 6 ++++++ packages/esm-shim/test/snapshots/test.js.md | 20 ++++++++++++++++++ packages/esm-shim/test/snapshots/test.js.snap | Bin 540 -> 624 bytes packages/esm-shim/test/test.js | 16 ++++++++++++++ 5 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 packages/esm-shim/test/fixtures/cjs-import-literal.js diff --git a/packages/esm-shim/src/constants.ts b/packages/esm-shim/src/constants.ts index ef2953f5e..9f00e960c 100644 --- a/packages/esm-shim/src/constants.ts +++ b/packages/esm-shim/src/constants.ts @@ -11,4 +11,4 @@ const require = cjsModule.createRequire(import.meta.url); `; export const ESMStaticImportRegex = - /(?<=\s|^|;)import\s*([\s"']*(?[\w\t\n\r $*,/{}]+)from\s*)?["']\s*(?(?<="\s*)[^"]*[^\s"](?=\s*")|(?<='\s*)[^']*[^\s'](?=\s*'))\s*["'][\s;]*/gm; + /(?<=\s|^|;)import\s*([\s"']*(?[\w\t\n\r $*,/{}]+)from\s*)?["']\s*(?(?<="\s*)[^"\n]*[^\s"](?=\s*")|(?<='\s*)[^'\n]*[^\s'](?=\s*'))\s*["'][\s;]*/gm; diff --git a/packages/esm-shim/test/fixtures/cjs-import-literal.js b/packages/esm-shim/test/fixtures/cjs-import-literal.js new file mode 100644 index 000000000..915b1ceaf --- /dev/null +++ b/packages/esm-shim/test/fixtures/cjs-import-literal.js @@ -0,0 +1,6 @@ +const dn = __dirname; + +module.exports = { + keyword: ' import', + dn +}; diff --git a/packages/esm-shim/test/snapshots/test.js.md b/packages/esm-shim/test/snapshots/test.js.md index 1447dcc3a..98c82442e 100644 --- a/packages/esm-shim/test/snapshots/test.js.md +++ b/packages/esm-shim/test/snapshots/test.js.md @@ -93,3 +93,23 @@ Generated by [AVA](https://avajs.dev). ␊ export { c, child, s };␊ ` + +## inject cjs shim should not break on valid js object with `import` literal value + +> Snapshot 1 + + `␊ + // -- Shims --␊ + import cjsUrl from 'node:url';␊ + import cjsPath from 'node:path';␊ + import cjsModule from 'node:module';␊ + const __filename = cjsUrl.fileURLToPath(import.meta.url);␊ + const __dirname = cjsPath.dirname(__filename);␊ + const require = cjsModule.createRequire(import.meta.url);␊ + const dn = __dirname;␊ + ␊ + module.exports = {␊ + keyword: ' import',␊ + dn␊ + };␊ + ` diff --git a/packages/esm-shim/test/snapshots/test.js.snap b/packages/esm-shim/test/snapshots/test.js.snap index 7c8a3ca3d7b213043a7090bfdce2b3e22540253f..56705e6526167abd66b98c8ee729fa301541e67e 100644 GIT binary patch literal 624 zcmV-$0+0PcRzVeb*j_lGLS_ zt2sbZKOc(-00000000B+Rm*PEKom_t2+2Es0A0btK}wu`tFS{XAfjrB1ZBVCv z&uMBQJvU%hOu#~EphkdlHg}d8NpiDN)_l3iGGfX5?uYxGhaLaxKIlBU_o^EWhcFnx z1cMFUL`>vL7YV1D!$KvsWm`$ADY5jl z^xRq~T``_vT*%Oi3qy?lh+Y(fUIoncakM36a5pKiVYoS?oKC4Ac?(CM8yu|<9Q`|v zhQp^}^<$FfOfGSd5mrp_LNaz7K9R~o8;}0smY3_@w9Z@iW$X+EV>L@H?sMO6O|pd) z|COvp`^bub!J&}Sz_GEoK|y8PQShT7vv1uHGA2uwPOxpc48joJGBAb7Pjb-XU+S?0 z7<5XysV}-0x9GKx$l9^;d>{UWeoa5btYlsY)gkJd~^NbPUi Kl@5Xy3IG7c63de9nQwl-&wDlhQW$ZLzplYcU%=%{ zsn0-oCeD!IQYtn#jsYrWN^eUqQFDt+R0Mr=4_ zQwm0U=}Tpes}jy!!RF2=mTHs3o6;5OLBoB-{j%w|^xXnXOkNhygs93wAYn9mc6vIO z1!%5-jbp(qSZ2o`KAMnzuuhgK@I0gXuj|NMx;ijmvuGLASs&mIzLwHO@Vc!`IN%s=AI_Pgm8UC3Rb|GnVXi6tQaofSs_ZCOzJC6Px zN2AeRT>XSwEA@f~8B@iKZX)A>!&lmP*2QD^c;x3gnKgM!4$~5Wp?6Yv+UK_2Vzz-) z&stXFZDhq6(ojTcdPbWz%;@EeY+nRCEs&6y?@C2mk==eg<*? diff --git a/packages/esm-shim/test/test.js b/packages/esm-shim/test/test.js index 3f9e5f8e4..24f5a3291 100644 --- a/packages/esm-shim/test/test.js +++ b/packages/esm-shim/test/test.js @@ -67,3 +67,19 @@ test.serial('inject cjs shim for esm output with multiple import statements', as t.snapshot(output.code); t.falsy(output.map); }); + +// see issue #1649 https://github.com/rollup/plugins/issues/1649 +test.serial( + 'inject cjs shim should not break on valid js object with `import` literal value', + async (t) => { + const bundle = await rollup({ + input: 'test/fixtures/cjs-import-literal.js', + plugins: [esmShim()] + }); + const result = await bundle.generate({ format: 'es' }); + t.is(result.output.length, 1); + const [output] = result.output; + t.snapshot(output.code); + t.falsy(output.map); + } +); From 9e7f576f33e26d65e9f2221d248a2e000923e03f Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Fri, 5 Apr 2024 04:51:45 +0000 Subject: [PATCH 12/50] chore(release): esm-shim v0.1.6 --- packages/esm-shim/CHANGELOG.md | 8 ++++++++ packages/esm-shim/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/esm-shim/CHANGELOG.md b/packages/esm-shim/CHANGELOG.md index ca747cac8..247719d1a 100644 --- a/packages/esm-shim/CHANGELOG.md +++ b/packages/esm-shim/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-esm-shim ChangeLog +## v0.1.6 + +_2024-04-05_ + +### Bugfixes + +- fix: do not insert shims at `import` literal (#1696) + ## v0.1.5 _2023-11-05_ diff --git a/packages/esm-shim/package.json b/packages/esm-shim/package.json index 04ccc15e6..5bb80c0b7 100644 --- a/packages/esm-shim/package.json +++ b/packages/esm-shim/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-esm-shim", - "version": "0.1.5", + "version": "0.1.6", "publishConfig": { "access": "public" }, From 0bb872b915284506c623c4f4e1eecd9832a005c3 Mon Sep 17 00:00:00 2001 From: XiaoPi <530257315@qq.com> Date: Thu, 23 May 2024 01:13:36 +0800 Subject: [PATCH 13/50] fix(commonjs): preserve the class body property keys even if they are special keywords (#1688) --- packages/commonjs/src/transform-commonjs.js | 7 ++++- .../_config.js | 3 +++ .../main.js | 7 +++++ .../commonjs/test/snapshots/function.js.md | 24 ++++++++++++++++++ .../commonjs/test/snapshots/function.js.snap | Bin 19682 -> 19774 bytes 5 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 packages/commonjs/test/fixtures/function/class-body-property-keys-are-special-keywords/_config.js create mode 100644 packages/commonjs/test/fixtures/function/class-body-property-keys-are-special-keywords/main.js diff --git a/packages/commonjs/src/transform-commonjs.js b/packages/commonjs/src/transform-commonjs.js index fd0fe0a9d..4601094e9 100644 --- a/packages/commonjs/src/transform-commonjs.js +++ b/packages/commonjs/src/transform-commonjs.js @@ -291,7 +291,12 @@ export default async function transformCommonjs( return; case 'Identifier': { const { name } = node; - if (!isReference(node, parent) || scope.contains(name)) return; + if ( + !isReference(node, parent) || + scope.contains(name) || + (parent.type === 'PropertyDefinition' && parent.key === node) + ) + return; switch (name) { case 'require': uses.require = true; diff --git a/packages/commonjs/test/fixtures/function/class-body-property-keys-are-special-keywords/_config.js b/packages/commonjs/test/fixtures/function/class-body-property-keys-are-special-keywords/_config.js new file mode 100644 index 000000000..bca2bd171 --- /dev/null +++ b/packages/commonjs/test/fixtures/function/class-body-property-keys-are-special-keywords/_config.js @@ -0,0 +1,3 @@ +module.exports = { + description: 'preserve the class body property keys even if they are special keywords', +}; diff --git a/packages/commonjs/test/fixtures/function/class-body-property-keys-are-special-keywords/main.js b/packages/commonjs/test/fixtures/function/class-body-property-keys-are-special-keywords/main.js new file mode 100644 index 000000000..67ac52d62 --- /dev/null +++ b/packages/commonjs/test/fixtures/function/class-body-property-keys-are-special-keywords/main.js @@ -0,0 +1,7 @@ +class Rollup { + define; + require; + global; +} + +exports.Rollup = Rollup; diff --git a/packages/commonjs/test/snapshots/function.js.md b/packages/commonjs/test/snapshots/function.js.md index bffef3a99..2c31aab43 100644 --- a/packages/commonjs/test/snapshots/function.js.md +++ b/packages/commonjs/test/snapshots/function.js.md @@ -241,6 +241,30 @@ Generated by [AVA](https://avajs.dev). `, } +## class-body-property-keys-are-special-keywords + +> Snapshot 1 + + { + 'main.js': `'use strict';␊ + ␊ + Object.defineProperty(exports, '__esModule', { value: true });␊ + ␊ + var main = {};␊ + ␊ + class Rollup {␊ + define;␊ + require;␊ + global;␊ + }␊ + ␊ + var Rollup_1 = main.Rollup = Rollup;␊ + ␊ + exports.Rollup = Rollup_1;␊ + exports.default = main;␊ + `, + } + ## compiled-esm-default-is-module-exports-false > Snapshot 1 diff --git a/packages/commonjs/test/snapshots/function.js.snap b/packages/commonjs/test/snapshots/function.js.snap index 1d0e1a45e0d598716425df31a8d1431561f9a60e..97a1e03b083088c0ddf2e2746c102d83a66c0adb 100644 GIT binary patch delta 17803 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 P0+IiJbFPzFQWgUMe_?u2 delta 17651 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 Date: Wed, 22 May 2024 17:15:08 +0000 Subject: [PATCH 14/50] chore(release): commonjs v25.0.8 --- packages/commonjs/CHANGELOG.md | 8 ++++++++ packages/commonjs/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/commonjs/CHANGELOG.md b/packages/commonjs/CHANGELOG.md index 2fd268cf7..d758650be 100644 --- a/packages/commonjs/CHANGELOG.md +++ b/packages/commonjs/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-commonjs ChangeLog +## v25.0.8 + +_2024-05-22_ + +### Bugfixes + +- fix: preserve the class body property keys even if they are special keywords (#1688) + ## v25.0.7 _2023-10-15_ diff --git a/packages/commonjs/package.json b/packages/commonjs/package.json index aaa8eef48..d8b4259a7 100644 --- a/packages/commonjs/package.json +++ b/packages/commonjs/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-commonjs", - "version": "25.0.7", + "version": "25.0.8", "publishConfig": { "access": "public" }, From 0090e728f52828d39b071ab5c7925b9b575cd568 Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Wed, 22 May 2024 17:15:08 +0000 Subject: [PATCH 15/50] chore(release): commonjs v25.0.8 --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index d8a9cff8d..b487e0040 100644 --- a/package.json +++ b/package.json @@ -85,5 +85,6 @@ "lib/client*.js", "test/" ] - } + }, + "packageManager": "pnpm@8.15.8+sha512.d1a029e1a447ad90bc96cd58b0fad486d2993d531856396f7babf2d83eb1823bb83c5a3d0fc18f675b2d10321d49eb161fece36fe8134aa5823ecd215feed392" } From c25ef117356b6c4a88e814aaf44d826214b31e86 Mon Sep 17 00:00:00 2001 From: younggglcy Date: Wed, 5 Jun 2024 09:32:05 +0800 Subject: [PATCH 16/50] chore(repo): use `pnpm exec` to speed up husky hook (#1727) --- .husky/pre-commit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.husky/pre-commit b/.husky/pre-commit index f1e568560..58b1861cc 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1,4 @@ #!/usr/bin/env sh . "$(dirname -- "$0")/_/husky.sh" -pnpm dlx lint-staged +pnpm exec lint-staged From 3b0a7172a3b99c52895e2da082527834fcd87390 Mon Sep 17 00:00:00 2001 From: tk-1io Date: Wed, 5 Jun 2024 03:36:13 +0200 Subject: [PATCH 17/50] chore(repo): fix incorrect import path in virtual plugin (#1702) fix(virtual): incorrect import path --- packages/virtual/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/virtual/src/index.ts b/packages/virtual/src/index.ts index 511b5bfad..29049a9c0 100644 --- a/packages/virtual/src/index.ts +++ b/packages/virtual/src/index.ts @@ -2,7 +2,7 @@ import * as path from 'path'; import type { Plugin } from 'rollup'; -import type { RollupVirtualOptions } from '../'; +import type { RollupVirtualOptions } from '../types'; const PREFIX = `\0virtual:`; From ee8b4321beaa8346d8108bcf4ac6511d67d810b8 Mon Sep 17 00:00:00 2001 From: Simon Haugen <30567195+smnhgn@users.noreply.github.com> Date: Wed, 5 Jun 2024 03:36:58 +0200 Subject: [PATCH 18/50] fix(replace): ternary operator replacement (#1712) --- packages/replace/src/index.js | 5 +++-- .../fixtures/form/ternary-operator/_config.js | 9 +++++++++ .../fixtures/form/ternary-operator/input.js | 3 +++ .../fixtures/form/ternary-operator/output.js | 3 +++ packages/replace/test/snapshots/form.js.md | 8 ++++++++ packages/replace/test/snapshots/form.js.snap | Bin 733 -> 801 bytes 6 files changed, 26 insertions(+), 2 deletions(-) create mode 100755 packages/replace/test/fixtures/form/ternary-operator/_config.js create mode 100644 packages/replace/test/fixtures/form/ternary-operator/input.js create mode 100644 packages/replace/test/fixtures/form/ternary-operator/output.js diff --git a/packages/replace/src/index.js b/packages/replace/src/index.js index acfb91990..cdbe6419a 100755 --- a/packages/replace/src/index.js +++ b/packages/replace/src/index.js @@ -74,9 +74,10 @@ export default function replace(options = {}) { if (objectGuards) expandTypeofReplacements(replacements); const functionValues = mapToFunctions(replacements); const keys = Object.keys(functionValues).sort(longest).map(escape); - const lookahead = preventAssignment ? '(?!\\s*(=[^=]|:[^:]))' : ''; + const lookbehind = preventAssignment ? '(? Snapshot 1 + + `/* eslint-disable */␊ + first ? second : third;␊ + console.log(first, second, third);` + ## typescript-declare: doesn't replace lvalue in typescript declare > Snapshot 1 diff --git a/packages/replace/test/snapshots/form.js.snap b/packages/replace/test/snapshots/form.js.snap index e907e7442b28b234108504ee7b6f80061beeb5d4..242f1c08c07fa821ff2f54c6fba036f3c48d578e 100644 GIT binary patch literal 801 zcmV++1K#{WRzVt8ox&7vkUB2f;Gn zhm+Ijz#oeU00000000AxmCtX}Fcil(A%v70S2*xiX-hjTX@`(t=~{k>0YVH8Xc8Qd z=Grf7Eczvo`X6J_{0{rQVdI)xVlMkJ?t zj@m^a43hR8SWFb-2x`GpiXb&qDoL6pG&7EVUkSk+`_{X+@n9qSZQkE_xcNA-h9gmk zdJ(=odUNs~M&LUn=MT%IPXsDCmkupOU?zlifdo~so#SI8$00YGjKWZvY4_BF5?FWu zhudJRoJ!5q_BfxHQ`jDRr@b}AV9p$$1q)^+n<%6R@&FRd4LP6$xr`-;wV+KkXi#

27ppK5`z)F^z|*?~@CjYxUsMF&RNdKK_{@Y4fmTtatlxoODq>cQkfjq8LJbQXK+K!o=A$Ogs2o7r38pNs2-Hm`LWtLRG zb8rSG2n2#Q6h z7TYP`HB!FF&g#Hugc0oD=t#p7qp@;hR07psw8D!j1WV~=cfy-C@V?*D&fRj{%UXE# zX?2-3ZZWCJLt(y}Ip&q!?bTcQz@gR5UIr#X%bc;bx+))kk^-U7L8-fj{YQiSOMmx2 zFJZUu#nO_4mq5sk77&4(Nh^j8gLBPZA=z6gD&kjJ0};0}ae+Xtn8n-vxGFUi>Nfbe f0X`^nu&RyEuaA$SqQ@GTYybZNKRZ>uR0jY6@T zj3LuVDmGAJAsI)IOC~D>p`eWtq*y_7ZRqz+mNCP=4Vt5>u&XgR?DYfHP|z z?tm`EOeiLIj_P%@1iL;Pt|3MXX81f=vQn_AL`zaTEXYEW0V`0gQ>hGdp)iYKcNZeNmsQ+p5y8amw~lxSKP`9AgzoOa)~}|JZI6~% zrRPG;#tmz&z4P>WmjUlQNW&-*#%6%MJwTE|nIseBh92No}ME&Q9A^$J8ez!O4aI)fk~+^soQff8m0&g znxH=5AOL)VSA{N(9n_pv(m*6sQJM6dqIL4U`c^V&Cy Date: Wed, 5 Jun 2024 01:38:25 +0000 Subject: [PATCH 19/50] chore(release): replace v5.0.6 --- packages/replace/CHANGELOG.md | 8 ++++++++ packages/replace/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/replace/CHANGELOG.md b/packages/replace/CHANGELOG.md index 5fba4792a..73a3a81e7 100755 --- a/packages/replace/CHANGELOG.md +++ b/packages/replace/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-replace ChangeLog +## v5.0.6 + +_2024-06-05_ + +### Bugfixes + +- fix: ternary operator replacement (#1712) + ## v5.0.5 _2023-10-29_ diff --git a/packages/replace/package.json b/packages/replace/package.json index e6d351846..3681dc235 100644 --- a/packages/replace/package.json +++ b/packages/replace/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-replace", - "version": "5.0.5", + "version": "5.0.6", "publishConfig": { "access": "public" }, From b778ba0a6988301d4d7aaf1edf6cd30df931000f Mon Sep 17 00:00:00 2001 From: Jiachi Liu Date: Wed, 5 Jun 2024 03:55:57 +0200 Subject: [PATCH 20/50] fix(esm-shim): missing exports in types (#1670) types: fix missing export type for esm-shim --- packages/esm-shim/types/index.d.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/esm-shim/types/index.d.ts b/packages/esm-shim/types/index.d.ts index a4f877d8c..e7a2df455 100644 --- a/packages/esm-shim/types/index.d.ts +++ b/packages/esm-shim/types/index.d.ts @@ -1,4 +1,9 @@ -import type { Plugin } from 'rollup'; +import type { Plugin, SourceMapInput } from 'rollup'; + +interface Output { + code: string; + map?: SourceMapInput; +} /** * A Rollup plugin to replace cjs syntax for esm output bundles. @@ -6,3 +11,4 @@ import type { Plugin } from 'rollup'; * @returns Plugin instance. */ export default function commonjsShim(): Plugin; +export function provideCJSSyntax(code: string): Output | null; From e13eaa0403f982f23cff50540a243703860c0c07 Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Wed, 5 Jun 2024 01:57:24 +0000 Subject: [PATCH 21/50] chore(release): esm-shim v0.1.7 --- packages/esm-shim/CHANGELOG.md | 8 ++++++++ packages/esm-shim/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/esm-shim/CHANGELOG.md b/packages/esm-shim/CHANGELOG.md index 247719d1a..c53603706 100644 --- a/packages/esm-shim/CHANGELOG.md +++ b/packages/esm-shim/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-esm-shim ChangeLog +## v0.1.7 + +_2024-06-05_ + +### Bugfixes + +- fix: missing exports in types (#1670) + ## v0.1.6 _2024-04-05_ diff --git a/packages/esm-shim/package.json b/packages/esm-shim/package.json index 5bb80c0b7..e9ba2c84a 100644 --- a/packages/esm-shim/package.json +++ b/packages/esm-shim/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-esm-shim", - "version": "0.1.6", + "version": "0.1.7", "publishConfig": { "access": "public" }, From c021b11088e858aacb2f2eb1eb1d1a86f4531528 Mon Sep 17 00:00:00 2001 From: Sri Lanka <145690567+mayvagio2016@users.noreply.github.com> Date: Wed, 5 Jun 2024 09:00:52 +0700 Subject: [PATCH 22/50] docs(swc): add @swc/core to install step (#1666) doc(pluginswc): add @swc/core to install step --- packages/swc/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/swc/README.md b/packages/swc/README.md index 861298c8d..f30bd7900 100644 --- a/packages/swc/README.md +++ b/packages/swc/README.md @@ -23,7 +23,7 @@ This plugin requires an [LTS](https://github.com/nodejs/Release) Node version (v Using npm: ```console -npm install @rollup/plugin-swc --save-dev +npm install @swc/core @rollup/plugin-swc --save-dev ``` ## Usage From 3c28d2c7aa74096cc3f3ea2248410678ec372e7b Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Wed, 5 Jun 2024 02:02:25 +0000 Subject: [PATCH 23/50] chore(release): swc v0.3.1 --- packages/swc/CHANGELOG.md | 8 ++++++++ packages/swc/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/swc/CHANGELOG.md b/packages/swc/CHANGELOG.md index 8438e13f1..e64735a14 100644 --- a/packages/swc/CHANGELOG.md +++ b/packages/swc/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-swc ChangeLog +## v0.3.1 + +_2024-06-05_ + +### Updates + +- docs: add @swc/core to install step (#1666) + ## v0.3.0 _2023-11-09_ diff --git a/packages/swc/package.json b/packages/swc/package.json index 23cfbaf10..525f5f2e0 100644 --- a/packages/swc/package.json +++ b/packages/swc/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-swc", - "version": "0.3.0", + "version": "0.3.1", "publishConfig": { "access": "public" }, From 03a167b607a7b46f3b7153b9a67e798566b75766 Mon Sep 17 00:00:00 2001 From: Matt Kantor Date: Wed, 5 Jun 2024 07:59:03 -0700 Subject: [PATCH 24/50] feat(run): add `input` option (#1699) * chore(run): add test for multiple entry points * refactor(run): extract reusable consts from a test * feat(run): add `input` option --- packages/run/README.md | 7 +++++ packages/run/src/index.ts | 7 +++-- packages/run/test/test.js | 51 ++++++++++++++++++++++++++++++++--- packages/run/types/index.d.ts | 1 + 4 files changed, 61 insertions(+), 5 deletions(-) diff --git a/packages/run/README.md b/packages/run/README.md index a57b375db..4eb5bb8d1 100644 --- a/packages/run/README.md +++ b/packages/run/README.md @@ -83,6 +83,13 @@ Default: `false` If `true`, instructs the plugin to listen to `stdin` for the sequences listed below followed by enter (carriage return). +### `input` + +Type: `String`
+Default: `null` + +Specifies the entry point this plugin will use. Not necessary if you only have a single entry point. + #### `stdin` Input Actions When this option is enabled, `stdin` will listen for the following input and perform the associated action: diff --git a/packages/run/src/index.ts b/packages/run/src/index.ts index a4f5e575e..63c7dbe7a 100644 --- a/packages/run/src/index.ts +++ b/packages/run/src/index.ts @@ -12,6 +12,7 @@ export default function run(opts: RollupRunOptions = {}): Plugin { const args = opts.args || []; const allowRestarts = opts.allowRestarts || false; + const overrideInput = opts.input; const forkOptions = opts.options || opts; delete (forkOptions as RollupRunOptions).args; delete (forkOptions as RollupRunOptions).allowRestarts; @@ -20,7 +21,7 @@ export default function run(opts: RollupRunOptions = {}): Plugin { name: 'run', buildStart(options) { - let inputs = options.input; + let inputs = overrideInput ?? options.input; if (typeof inputs === 'string') { inputs = [inputs]; @@ -31,7 +32,9 @@ export default function run(opts: RollupRunOptions = {}): Plugin { } if (inputs.length > 1) { - throw new Error(`@rollup/plugin-run only works with a single entry point`); + throw new Error( + `@rollup/plugin-run must have a single entry point; consider setting the \`input\` option` + ); } input = resolve(inputs[0]); diff --git a/packages/run/test/test.js b/packages/run/test/test.js index ffba8ea18..587850433 100644 --- a/packages/run/test/test.js +++ b/packages/run/test/test.js @@ -15,12 +15,14 @@ const sinon = require('sinon'); const run = require('../'); const cwd = join(__dirname, 'fixtures/'); -const file = join(cwd, 'output/bundle.js'); +const outputDir = join(cwd, 'output'); +const file = join(outputDir, 'bundle.js'); const input = join(cwd, 'input.js'); process.chdir(cwd); const outputOptions = { file, format: 'cjs' }; +const outputDirOptions = { dir: outputDir, format: 'cjs' }; let mockChildProcess; test.before(() => { @@ -62,8 +64,7 @@ test('checks entry point facade module', async (t) => { preserveEntrySignatures: 'strict', plugins: [run()] }); - const outputDir = join(cwd, 'output'); - await bundle.write({ dir: outputDir, format: 'cjs' }); + await bundle.write(outputDirOptions); t.true(mockChildProcess.calledWithExactly(join(outputDir, 'index.js'), [], {})); }); @@ -97,6 +98,40 @@ test('throws an error when bundle is not written to disk', async (t) => { ); }); +test('throws an error when input option is invalid', async (t) => { + const testInput = join(cwd, 'change-detect-input.js'); + const bundle = await rollup({ + input: [input, testInput], + plugins: [run({ input: 'something that is not an input' })] + }); + await t.throwsAsync( + async () => { + await bundle.write(outputDirOptions); + }, + { + instanceOf: Error, + message: '@rollup/plugin-run could not find output chunk' + } + ); +}); + +test('throws an error when there are multiple entry points', async (t) => { + const testInput = join(cwd, 'change-detect-input.js'); + await t.throwsAsync( + async () => { + await rollup({ + input: [input, testInput], + plugins: [run()] + }); + }, + { + instanceOf: Error, + message: + '@rollup/plugin-run must have a single entry point; consider setting the `input` option' + } + ); +}); + test('detects changes - forks a new child process and kills older process', async (t) => { // eslint-disable-next-line no-shadow const testInput = join(cwd, 'change-detect-input.js'); @@ -120,6 +155,16 @@ test('allow the allowRestart option', async (t) => { t.true(mockChildProcess.calledWithExactly(outputOptions.file, [], {})); }); +test('allow the input option', async (t) => { + const testInput = join(cwd, 'change-detect-input.js'); + const bundle = await rollup({ + input: [input, testInput], + plugins: [run({ input })] + }); + await bundle.write(outputDirOptions); + t.true(mockChildProcess.calledWithExactly(join(outputDir, 'input.js'), [], { input })); +}); + test.after(async () => { await del(['output']); }); diff --git a/packages/run/types/index.d.ts b/packages/run/types/index.d.ts index d546be160..fe9fbe599 100644 --- a/packages/run/types/index.d.ts +++ b/packages/run/types/index.d.ts @@ -6,6 +6,7 @@ export interface RollupRunOptions extends ForkOptions { args?: readonly string[]; options?: ForkOptions; allowRestarts?: boolean; + input?: string; } /** From 406e6f7ca12ab01732805a4473f4704a854f0c55 Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Wed, 5 Jun 2024 15:00:30 +0000 Subject: [PATCH 25/50] chore(release): run v3.1.0 --- packages/run/CHANGELOG.md | 8 ++++++++ packages/run/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/run/CHANGELOG.md b/packages/run/CHANGELOG.md index 887ec6183..21570e2c7 100644 --- a/packages/run/CHANGELOG.md +++ b/packages/run/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-run ChangeLog +## v3.1.0 + +_2024-06-05_ + +### Features + +- feat: add `input` option (#1699) + ## v3.0.2 _2023-10-05_ diff --git a/packages/run/package.json b/packages/run/package.json index c6e1dffa2..e13c22be4 100644 --- a/packages/run/package.json +++ b/packages/run/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-run", - "version": "3.0.2", + "version": "3.1.0", "publishConfig": { "access": "public" }, From de709c248734b92825557ab5eca90a0cf6132f71 Mon Sep 17 00:00:00 2001 From: Eduardo Aparicio Cardenes Date: Wed, 5 Jun 2024 16:05:05 +0100 Subject: [PATCH 26/50] fix(replace): add missing sourceMap documentation (#1698) * fix(replace): add missing sourceMap documentation * fix(replace): Update attributes alphabetically --- packages/replace/README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/packages/replace/README.md b/packages/replace/README.md index cc3e32d38..412db4d5d 100644 --- a/packages/replace/README.md +++ b/packages/replace/README.md @@ -154,6 +154,19 @@ Default: `null` A [picomatch pattern](https://github.com/micromatch/picomatch), or array of patterns, which specifies the files in the build the plugin should operate on. By default all files are targeted. +### `sourceMap` or `sourcemap` + +Type: `Boolean`
+Default: `false` + +Enables generating sourcemaps for the bundled code. For example, where the plugin is called as follows: + +```js +replace({ + sourcemap: true +}); +``` + ### `values` Type: `{ [key: String]: Replacement }`, where `Replacement` is either a string or a `function` that returns a string. From 7278248d5a87295df368116b4effe0d23f17964e Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Wed, 5 Jun 2024 15:06:34 +0000 Subject: [PATCH 27/50] chore(release): replace v5.0.7 --- packages/replace/CHANGELOG.md | 8 ++++++++ packages/replace/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/replace/CHANGELOG.md b/packages/replace/CHANGELOG.md index 73a3a81e7..826a21468 100755 --- a/packages/replace/CHANGELOG.md +++ b/packages/replace/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-replace ChangeLog +## v5.0.7 + +_2024-06-05_ + +### Bugfixes + +- fix: add missing sourceMap documentation (#1698) + ## v5.0.6 _2024-06-05_ diff --git a/packages/replace/package.json b/packages/replace/package.json index 3681dc235..e93542fe2 100644 --- a/packages/replace/package.json +++ b/packages/replace/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-replace", - "version": "5.0.6", + "version": "5.0.7", "publishConfig": { "access": "public" }, From 2447548b9928aeb6e95b8b7f32bb8a77ecde0a3b Mon Sep 17 00:00:00 2001 From: younggglcy Date: Wed, 5 Jun 2024 23:15:15 +0800 Subject: [PATCH 28/50] chore(commonjs)!: bump glob's version (#1695) * chore: bump glob's version BREAKING CHANGES: Requires Node.js version >=16.0.0 or >= 14.17 * fix: let glob match alphabetical order --- packages/commonjs/package.json | 5 +- packages/commonjs/src/dynamic-modules.js | 4 +- pnpm-lock.yaml | 413 +++++++++++++++++++---- 3 files changed, 353 insertions(+), 69 deletions(-) diff --git a/packages/commonjs/package.json b/packages/commonjs/package.json index d8b4259a7..f62bea51f 100644 --- a/packages/commonjs/package.json +++ b/packages/commonjs/package.json @@ -21,7 +21,7 @@ "default": "./dist/cjs/index.js" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0 || 14 >= 14.17" }, "scripts": { "build": "rollup -c", @@ -65,7 +65,7 @@ "@rollup/pluginutils": "^5.0.1", "commondir": "^1.0.1", "estree-walker": "^2.0.2", - "glob": "^8.0.3", + "glob": "^10.4.1", "is-reference": "1.2.1", "magic-string": "^0.30.3" }, @@ -75,7 +75,6 @@ "locate-character": "^2.0.5", "require-relative": "^0.8.7", "rollup": "^4.0.0-24", - "shx": "^0.3.4", "source-map": "^0.7.4", "source-map-support": "^0.5.21", "typescript": "^4.8.3" diff --git a/packages/commonjs/src/dynamic-modules.js b/packages/commonjs/src/dynamic-modules.js index c00c21511..a9ddaa2ca 100644 --- a/packages/commonjs/src/dynamic-modules.js +++ b/packages/commonjs/src/dynamic-modules.js @@ -41,7 +41,9 @@ export function getDynamicRequireModules(patterns, dynamicRequireRoot) { isNegated ? dynamicRequireModules.delete(targetPath) : dynamicRequireModules.set(targetPath, resolvedPath); - for (const path of glob.sync(isNegated ? pattern.substr(1) : pattern)) { + for (const path of glob + .sync(isNegated ? pattern.substr(1) : pattern) + .sort((a, b) => a.localeCompare(b, 'en'))) { const resolvedPath = resolve(path); const requirePath = normalizePathSlashes(resolvedPath); if (isDirectory(resolvedPath)) { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3f5074977..a7b537a10 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -34,10 +34,10 @@ importers: version: 20.2.2 '@typescript-eslint/eslint-plugin': specifier: ^5.38.0 - version: 5.39.0(@typescript-eslint/parser@5.39.0)(eslint@8.28.0)(typescript@4.8.4) + version: 5.39.0(@typescript-eslint/parser@5.39.0)(eslint@8.57.0)(typescript@4.8.4) '@typescript-eslint/parser': specifier: ^5.38.0 - version: 5.39.0(eslint@8.28.0)(typescript@4.8.4) + version: 5.39.0(eslint@8.57.0)(typescript@4.8.4) ava: specifier: ^4.3.3 version: 4.3.3 @@ -79,7 +79,7 @@ importers: version: 8.7.5 prettier-plugin-package: specifier: ^1.3.0 - version: 1.3.0(prettier@2.8.0) + version: 1.3.0(prettier@2.8.8) semver: specifier: ^7.3.2 version: 7.3.8 @@ -240,8 +240,8 @@ importers: specifier: ^2.0.2 version: 2.0.2 glob: - specifier: ^8.0.3 - version: 8.0.3 + specifier: ^10.4.1 + version: 10.4.1 is-reference: specifier: 1.2.1 version: 1.2.1 @@ -264,9 +264,6 @@ importers: rollup: specifier: ^4.0.0-24 version: 4.0.0-24 - shx: - specifier: ^0.3.4 - version: 0.3.4 source-map: specifier: ^0.7.4 version: 0.7.4 @@ -2131,6 +2128,21 @@ packages: yargs-parser: 21.1.1 dev: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + /@eslint/eslintrc@1.3.3: resolution: {integrity: sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2147,6 +2159,28 @@ packages: transitivePeerDependencies: - supports-color + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /@humanwhocodes/config-array@0.10.7: resolution: {integrity: sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==} engines: {node: '>=10.10.0'} @@ -2158,6 +2192,17 @@ packages: - supports-color dev: false + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + /@humanwhocodes/config-array@0.11.7: resolution: {integrity: sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==} engines: {node: '>=10.10.0'} @@ -2176,6 +2221,22 @@ packages: /@humanwhocodes/object-schema@1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + /@humanwhocodes/object-schema@2.0.3: + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + dev: true + + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: /strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 + dev: false + /@istanbuljs/load-nyc-config@1.1.0: resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} @@ -2260,6 +2321,13 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.13.0 + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + dev: false + optional: true + /@rollup/plugin-alias@4.0.0(rollup@4.0.0-24): resolution: {integrity: sha512-fGRWzM2F6wXnzAqn4Db8SdB/2Ree0u2XOQaaTy9mhqA35NmUzJXevMBUcpZywPF2MIUUAw+SKfWogKxFSPh+Qw==} engines: {node: '>=14.0.0'} @@ -2319,7 +2387,7 @@ packages: '@rollup/pluginutils': 4.2.1 commondir: 1.0.1 estree-walker: 2.0.2 - glob: 8.0.3 + glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.26.7 rollup: 4.0.0-24 @@ -2817,7 +2885,7 @@ packages: resolution: {integrity: sha512-sUWMriymrSqTvxCmCkf+7k392TNDcMJBHI1/rysWJxKnWAan/Zk4gZ/GEieSRo4EqIEPpbGU3Sd/0KTRoIA3pA==} dev: true - /@typescript-eslint/eslint-plugin@5.39.0(@typescript-eslint/parser@5.39.0)(eslint@8.28.0)(typescript@4.8.4): + /@typescript-eslint/eslint-plugin@5.39.0(@typescript-eslint/parser@5.39.0)(eslint@8.57.0)(typescript@4.8.4): resolution: {integrity: sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2828,12 +2896,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.39.0(eslint@8.28.0)(typescript@4.8.4) + '@typescript-eslint/parser': 5.39.0(eslint@8.57.0)(typescript@4.8.4) '@typescript-eslint/scope-manager': 5.39.0 - '@typescript-eslint/type-utils': 5.39.0(eslint@8.28.0)(typescript@4.8.4) - '@typescript-eslint/utils': 5.39.0(eslint@8.28.0)(typescript@4.8.4) + '@typescript-eslint/type-utils': 5.39.0(eslint@8.57.0)(typescript@4.8.4) + '@typescript-eslint/utils': 5.39.0(eslint@8.57.0)(typescript@4.8.4) debug: 4.3.4 - eslint: 8.28.0 + eslint: 8.57.0 ignore: 5.2.0 regexpp: 3.2.0 semver: 7.3.8 @@ -2883,7 +2951,7 @@ packages: - typescript dev: true - /@typescript-eslint/parser@5.39.0(eslint@8.28.0)(typescript@4.8.4): + /@typescript-eslint/parser@5.39.0(eslint@8.57.0)(typescript@4.8.4): resolution: {integrity: sha512-PhxLjrZnHShe431sBAGHaNe6BDdxAASDySgsBCGxcBecVCi8NQWxQZMcizNA4g0pN51bBAn/FUfkWG3SDVcGlA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2897,7 +2965,7 @@ packages: '@typescript-eslint/types': 5.39.0 '@typescript-eslint/typescript-estree': 5.39.0(typescript@4.8.4) debug: 4.3.4 - eslint: 8.28.0 + eslint: 8.57.0 typescript: 4.8.4 transitivePeerDependencies: - supports-color @@ -2939,7 +3007,7 @@ packages: '@typescript-eslint/visitor-keys': 5.44.0 dev: true - /@typescript-eslint/type-utils@5.39.0(eslint@8.28.0)(typescript@4.8.4): + /@typescript-eslint/type-utils@5.39.0(eslint@8.57.0)(typescript@4.8.4): resolution: {integrity: sha512-KJHJkOothljQWzR3t/GunL0TPKY+fGJtnpl+pX+sJ0YiKTz3q2Zr87SGTmFqsCMFrLt5E0+o+S6eQY0FAXj9uA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2950,9 +3018,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 5.39.0(typescript@4.8.4) - '@typescript-eslint/utils': 5.39.0(eslint@8.28.0)(typescript@4.8.4) + '@typescript-eslint/utils': 5.39.0(eslint@8.57.0)(typescript@4.8.4) debug: 4.3.4 - eslint: 8.28.0 + eslint: 8.57.0 tsutils: 3.21.0(typescript@4.8.4) typescript: 4.8.4 transitivePeerDependencies: @@ -3049,6 +3117,24 @@ packages: - typescript dev: true + /@typescript-eslint/utils@5.39.0(eslint@8.57.0)(typescript@4.8.4): + resolution: {integrity: sha512-+DnY5jkpOpgj+EBtYPyHRjXampJfC0yUZZzfzLuUWVZvCuKqSdJVC8UhdWipIw7VKNTfwfAPiOWzYkAwuIhiAg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@types/json-schema': 7.0.11 + '@typescript-eslint/scope-manager': 5.39.0 + '@typescript-eslint/types': 5.39.0 + '@typescript-eslint/typescript-estree': 5.39.0(typescript@4.8.4) + eslint: 8.57.0 + eslint-scope: 5.1.1 + eslint-utils: 3.0.0(eslint@8.57.0) + transitivePeerDependencies: + - supports-color + - typescript + dev: true + /@typescript-eslint/utils@5.44.0(eslint@8.28.0)(typescript@4.8.4): resolution: {integrity: sha512-fMzA8LLQ189gaBjS0MZszw5HBdZgVwxVFShCO3QN+ws3GlPkcy9YuS3U4wkT6su0w+Byjq3mS3uamy9HE4Yfjw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3085,6 +3171,10 @@ packages: eslint-visitor-keys: 3.3.0 dev: true + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + /JSONStream@1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} hasBin: true @@ -3108,6 +3198,14 @@ packages: dependencies: acorn: 6.4.2 + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: true + /acorn-jsx@5.3.2(acorn@8.8.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -3125,6 +3223,12 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + /acorn@8.8.0: resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==} engines: {node: '>=0.4.0'} @@ -3173,7 +3277,6 @@ packages: /ansi-regex@6.0.1: resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} engines: {node: '>=12'} - dev: true /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} @@ -3192,6 +3295,11 @@ packages: engines: {node: '>=12'} dev: true + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: false + /any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} dev: false @@ -3598,7 +3706,7 @@ packages: normalize-path: 3.0.0 readdirp: 3.6.0 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: true /chunkd@2.0.1: @@ -4160,7 +4268,6 @@ packages: /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - dev: true /electron-to-chromium@1.4.276: resolution: {integrity: sha512-EpuHPqu8YhonqLBXHoU6hDJCD98FCe6KDoet3/gY1qsQ6usjJoHqBH2YIVs8FXaAtHwVL8Uqa/fsYao/vq9VWQ==} @@ -4173,11 +4280,9 @@ packages: /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true /emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - dev: true /empower-core@1.2.0: resolution: {integrity: sha512-g6+K6Geyc1o6FdXs9HwrXleCFan7d66G5xSCfSF7x1mJDCes6t0om9lFQG3zOrzh3Bkb/45N0cZ5Gqsf7YrzGQ==} @@ -4444,6 +4549,14 @@ packages: esrecurse: 4.3.0 estraverse: 5.3.0 + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + /eslint-utils@3.0.0(eslint@8.25.0): resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} @@ -4464,6 +4577,16 @@ packages: eslint-visitor-keys: 2.1.0 dev: true + /eslint-utils@3.0.0(eslint@8.57.0): + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 2.1.0 + dev: true + /eslint-visitor-keys@2.1.0: resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} engines: {node: '>=10'} @@ -4472,6 +4595,11 @@ packages: resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /eslint@8.25.0: resolution: {integrity: sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4567,6 +4695,53 @@ packages: - supports-color dev: true + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + /esm@3.2.25: resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} engines: {node: '>=6'} @@ -4589,6 +4764,15 @@ packages: acorn-jsx: 5.3.2(acorn@8.8.0) eslint-visitor-keys: 3.3.0 + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + dev: true + /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} @@ -4607,6 +4791,13 @@ packages: dependencies: estraverse: 5.3.0 + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + /esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} @@ -4763,6 +4954,14 @@ packages: signal-exit: 3.0.7 dev: true + /foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + dev: false + /fromentries@1.3.2: resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} dev: true @@ -4770,8 +4969,8 @@ packages: /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true @@ -4859,8 +5058,21 @@ packages: dependencies: is-glob: 4.0.3 + /glob@10.4.1: + resolution: {integrity: sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==} + engines: {node: '>=16 || 14 >=14.18'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 3.1.2 + minimatch: 9.0.4 + minipass: 7.1.2 + path-scurry: 1.11.1 + dev: false + /glob@7.1.6: resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -4872,6 +5084,7 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -4880,15 +5093,17 @@ packages: once: 1.4.0 path-is-absolute: 1.0.1 - /glob@8.0.3: - resolution: {integrity: sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==} + /glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} engines: {node: '>=12'} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 minimatch: 5.1.0 once: 1.4.0 + dev: true /globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} @@ -4901,6 +5116,13 @@ packages: dependencies: type-fest: 0.20.2 + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -4947,6 +5169,10 @@ packages: /grapheme-splitter@1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + /graphql-tag@2.12.6(graphql@16.6.0): resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} engines: {node: '>=10'} @@ -5077,6 +5303,11 @@ packages: resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} engines: {node: '>= 4'} + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + dev: true + /import-cwd@3.0.0: resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==} engines: {node: '>=8'} @@ -5130,11 +5361,6 @@ packages: side-channel: 1.0.4 dev: true - /interpret@1.4.0: - resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} - engines: {node: '>= 0.10'} - dev: true - /irregular-plurals@3.3.0: resolution: {integrity: sha512-MVBLKUTangM3EfRPFROhmWQQKRDsrgI83J8GS3jXy+OwYqiR2/aoWndYQ5416jLE3uaGgLH7ncme3X9y09gZ3g==} engines: {node: '>=8'} @@ -5215,7 +5441,6 @@ packages: /is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - dev: true /is-fullwidth-code-point@4.0.0: resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} @@ -5445,6 +5670,15 @@ packages: istanbul-lib-report: 3.0.0 dev: true + /jackspeak@3.1.2: + resolution: {integrity: sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==} + engines: {node: '>=14'} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + dev: false + /js-sdsl@4.1.5: resolution: {integrity: sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==} @@ -5706,6 +5940,11 @@ packages: engines: {node: '>=8'} dev: true + /lru-cache@10.2.2: + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + engines: {node: 14 || >=16.14} + dev: false + /lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} @@ -5897,6 +6136,14 @@ packages: engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 + dev: true + + /minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: false /minimist-options@4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} @@ -5910,6 +6157,11 @@ packages: /minimist@1.2.6: resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} + /minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + dev: false + /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} dev: true @@ -6118,6 +6370,18 @@ packages: type-check: 0.4.0 word-wrap: 1.2.3 + /optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + dev: true + /p-cancelable@2.1.1: resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} engines: {node: '>=8'} @@ -6302,6 +6566,14 @@ packages: /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + /path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + dependencies: + lru-cache: 10.2.2 + minipass: 7.1.2 + dev: false + /path-to-regexp@1.8.0: resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} dependencies: @@ -6775,6 +7047,15 @@ packages: prettier: 2.8.0 dev: true + /prettier-plugin-package@1.3.0(prettier@2.8.8): + resolution: {integrity: sha512-KPNHR/Jm2zTevBp1SnjzMnooO1BOQW2bixVbOp8flOJoW+dxdDwEncObfsKZdkjwrv6AIH4oWqm5EO/etDmK9Q==} + engines: {node: '>=10.13.0'} + peerDependencies: + prettier: ^2.0.0 + dependencies: + prettier: 2.8.8 + dev: true + /prettier@2.7.1: resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==} engines: {node: '>=10.13.0'} @@ -6787,6 +7068,12 @@ packages: hasBin: true dev: true + /prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + /pretty-ms@7.0.1: resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} engines: {node: '>=10'} @@ -6890,13 +7177,6 @@ packages: picomatch: 2.3.1 dev: true - /rechoir@0.6.2: - resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} - engines: {node: '>= 0.10'} - dependencies: - resolve: 1.22.1 - dev: true - /redent@3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} @@ -7117,7 +7397,7 @@ packages: '@rollup/rollup-win32-arm64-msvc': 4.0.0-24 '@rollup/rollup-win32-ia32-msvc': 4.0.0-24 '@rollup/rollup-win32-x64-msvc': 4.0.0-24 - fsevents: 2.3.2 + fsevents: 2.3.3 /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -7213,25 +7493,6 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - /shelljs@0.8.5: - resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} - engines: {node: '>=4'} - hasBin: true - dependencies: - glob: 7.2.3 - interpret: 1.4.0 - rechoir: 0.6.2 - dev: true - - /shx@0.3.4: - resolution: {integrity: sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==} - engines: {node: '>=6'} - hasBin: true - dependencies: - minimist: 1.2.6 - shelljs: 0.8.5 - dev: true - /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: @@ -7244,6 +7505,11 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: false + /sinon@14.0.1: resolution: {integrity: sha512-JhJ0jCiyBWVAHDS+YSjgEbDn7Wgz9iIjA1/RK+eseJN0vAAWIWiXBdrnb92ELPyjsfreCYntD1ORtLSfIrlvSQ==} dependencies: @@ -7408,7 +7674,6 @@ packages: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - dev: true /string-width@5.1.2: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} @@ -7417,7 +7682,6 @@ packages: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.0.1 - dev: true /string.prototype.trimend@1.0.5: resolution: {integrity: sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==} @@ -7461,7 +7725,13 @@ packages: engines: {node: '>=12'} dependencies: ansi-regex: 6.0.1 - dev: true + + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: false /strip-bom-buf@2.0.0: resolution: {integrity: sha512-gLFNHucd6gzb8jMsl5QmZ3QgnUJmp7qn4uUSHNwEXumAp7YizoGYw19ZUVfuq4aBOQUtyn2k8X/CwzWB73W2lQ==} @@ -7910,6 +8180,11 @@ packages: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} engines: {node: '>=0.10.0'} + /word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + dev: true + /wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -7926,7 +8201,15 @@ packages: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true + + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + dev: false /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} From b3149b0975edd3cd9f7e0f1d97b1f1a84c594c13 Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Wed, 5 Jun 2024 15:16:43 +0000 Subject: [PATCH 29/50] chore(release): commonjs v26.0.0 --- packages/commonjs/CHANGELOG.md | 8 ++++++++ packages/commonjs/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/commonjs/CHANGELOG.md b/packages/commonjs/CHANGELOG.md index d758650be..73d611a5b 100644 --- a/packages/commonjs/CHANGELOG.md +++ b/packages/commonjs/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-commonjs ChangeLog +## v26.0.0 + +_2024-06-05_ + +### Breaking Changes + +- chore!: bump glob's version (#1695) + ## v25.0.8 _2024-05-22_ diff --git a/packages/commonjs/package.json b/packages/commonjs/package.json index f62bea51f..1ede9beda 100644 --- a/packages/commonjs/package.json +++ b/packages/commonjs/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-commonjs", - "version": "25.0.8", + "version": "26.0.0", "publishConfig": { "access": "public" }, From 04a15b53e3f607d0dac43d0209c9ad4c00961083 Mon Sep 17 00:00:00 2001 From: shellscape Date: Wed, 5 Jun 2024 12:39:49 -0400 Subject: [PATCH 30/50] fix(commonjs): correct import of glob --- packages/commonjs/src/dynamic-modules.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/commonjs/src/dynamic-modules.js b/packages/commonjs/src/dynamic-modules.js index a9ddaa2ca..748177f44 100644 --- a/packages/commonjs/src/dynamic-modules.js +++ b/packages/commonjs/src/dynamic-modules.js @@ -3,7 +3,7 @@ import { join, resolve, dirname } from 'path'; import getCommonDir from 'commondir'; -import glob from 'glob'; +import { glob } from 'glob'; import { getVirtualPathForDynamicRequirePath, normalizePathSlashes } from './utils'; From 8550c4b1925b246adbd3af48ed0e5f74f822c951 Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Wed, 5 Jun 2024 16:41:46 +0000 Subject: [PATCH 31/50] chore(release): commonjs v26.0.1 --- packages/commonjs/CHANGELOG.md | 8 ++++++++ packages/commonjs/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/commonjs/CHANGELOG.md b/packages/commonjs/CHANGELOG.md index 73d611a5b..26909f198 100644 --- a/packages/commonjs/CHANGELOG.md +++ b/packages/commonjs/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-commonjs ChangeLog +## v26.0.1 + +_2024-06-05_ + +### Bugfixes + +- fix: correct import of glob (04a15b5) + ## v26.0.0 _2024-06-05_ diff --git a/packages/commonjs/package.json b/packages/commonjs/package.json index 1ede9beda..eaf3fdef3 100644 --- a/packages/commonjs/package.json +++ b/packages/commonjs/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-commonjs", - "version": "26.0.0", + "version": "26.0.1", "publishConfig": { "access": "public" }, From 5c04057d9009a4374fc788b392ca87996ad79875 Mon Sep 17 00:00:00 2001 From: Matthias Klass Date: Fri, 6 Sep 2024 06:54:32 +0200 Subject: [PATCH 32/50] =?UTF-8?q?feat(swc):=20sets=20filename=20property,?= =?UTF-8?q?=20so=20to=20make=20additional=20swc=20features=E2=80=A6=20(#17?= =?UTF-8?q?61)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit feat(swc): sets filename property, so to make additional swc features available Background: When using the swc rollup plugin in vitest, debugging will not work. I assume this comes from the filename property not being set, as the documentation states: ``` The filename is optional, but not all of Swc's functionality is available when the filename is unknown, because a subset of options rely on the filename for their functionality. ``` Setting a filename should not have any side effects, just make debugging and other features work. --- packages/swc/src/module.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/swc/src/module.ts b/packages/swc/src/module.ts index 84933c172..e200566dc 100644 --- a/packages/swc/src/module.ts +++ b/packages/swc/src/module.ts @@ -37,7 +37,8 @@ export function swc(input: Options = {}): Plugin { return transform(code, { ...swcOptions, - sourceMaps: true + sourceMaps: true, + filename: id }); } }; From f864ffa39d878c8b69c3f02e379f78b3f32fdbee Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Fri, 6 Sep 2024 04:56:02 +0000 Subject: [PATCH 33/50] chore(release): swc v0.4.0 --- packages/swc/CHANGELOG.md | 8 ++++++++ packages/swc/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/swc/CHANGELOG.md b/packages/swc/CHANGELOG.md index e64735a14..92ea249d9 100644 --- a/packages/swc/CHANGELOG.md +++ b/packages/swc/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-swc ChangeLog +## v0.4.0 + +_2024-09-06_ + +### Features + +- feat: sets filename property, so to make additional swc features… (#1761) + ## v0.3.1 _2024-06-05_ diff --git a/packages/swc/package.json b/packages/swc/package.json index 525f5f2e0..3dee9d25e 100644 --- a/packages/swc/package.json +++ b/packages/swc/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-swc", - "version": "0.3.1", + "version": "0.4.0", "publishConfig": { "access": "public" }, From 28789ea0858c9faf959bfcd73768780e6f2b12c8 Mon Sep 17 00:00:00 2001 From: Phillip Barta Date: Sun, 22 Sep 2024 23:10:36 +0200 Subject: [PATCH 34/50] chore(repo): remove unused repo devDependencies (#1766) chore: remove unused repo devDependencies --- package.json | 12 +-- pnpm-lock.yaml | 277 ++++--------------------------------------------- 2 files changed, 22 insertions(+), 267 deletions(-) diff --git a/package.json b/package.json index b487e0040..d8183b71a 100644 --- a/package.json +++ b/package.json @@ -17,20 +17,15 @@ "security": "pnpm audit --audit-level=high" }, "devDependencies": { - "@ava/babel": "2.0.0", "@dot/versioner": "^0.3.1", "@rollup/plugin-typescript": "^9.0.1", - "@types/conventional-commits-parser": "^3.0.2", "@types/node": "14.18.30", - "@types/semver": "^7.3.7", "@types/source-map-support": "^0.5.4", - "@types/yargs-parser": "^20.2.1", "@typescript-eslint/eslint-plugin": "^5.38.0", "@typescript-eslint/parser": "^5.38.0", "ava": "^4.3.3", "chalk": "^4.1.0", "codecov-lite": "2.0.0", - "conventional-commits-parser": "^3.2.1", "del-cli": "^5.0.0", "eslint-config-rollup": "^3.0.1", "esm": "^3.2.25", @@ -41,14 +36,9 @@ "nyc": "^15.1.0", "pnpm": "^8.7.5", "prettier-plugin-package": "^1.3.0", - "semver": "^7.3.2", "source-map-support": "^0.5.21", "ts-node": "10.9.1", - "tsconfig-paths": "^3.9.0", - "typescript": "^4.8.3", - "write-pkg": "^4.0.0", - "yaml": "^1.10.0", - "yargs-parser": "^20.2.9" + "typescript": "^4.8.3" }, "ava": { "files": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a7b537a10..321ed8bc4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,30 +8,18 @@ importers: .: devDependencies: - '@ava/babel': - specifier: 2.0.0 - version: 2.0.0 '@dot/versioner': specifier: ^0.3.1 version: 0.3.1 '@rollup/plugin-typescript': specifier: ^9.0.1 - version: 9.0.1(rollup@4.0.0-24)(typescript@4.8.4) - '@types/conventional-commits-parser': - specifier: ^3.0.2 - version: 3.0.2 + version: 9.0.1(typescript@4.8.4) '@types/node': specifier: 14.18.30 version: 14.18.30 - '@types/semver': - specifier: ^7.3.7 - version: 7.3.12 '@types/source-map-support': specifier: ^0.5.4 version: 0.5.6 - '@types/yargs-parser': - specifier: ^20.2.1 - version: 20.2.2 '@typescript-eslint/eslint-plugin': specifier: ^5.38.0 version: 5.39.0(@typescript-eslint/parser@5.39.0)(eslint@8.57.0)(typescript@4.8.4) @@ -47,9 +35,6 @@ importers: codecov-lite: specifier: 2.0.0 version: 2.0.0 - conventional-commits-parser: - specifier: ^3.2.1 - version: 3.2.4 del-cli: specifier: ^5.0.0 version: 5.0.0 @@ -80,30 +65,15 @@ importers: prettier-plugin-package: specifier: ^1.3.0 version: 1.3.0(prettier@2.8.8) - semver: - specifier: ^7.3.2 - version: 7.3.8 source-map-support: specifier: ^0.5.21 version: 0.5.21 ts-node: specifier: 10.9.1 version: 10.9.1(@types/node@14.18.30)(typescript@4.8.4) - tsconfig-paths: - specifier: ^3.9.0 - version: 3.14.1 typescript: specifier: ^4.8.3 version: 4.8.4 - write-pkg: - specifier: ^4.0.0 - version: 4.0.0 - yaml: - specifier: ^1.10.0 - version: 1.10.2 - yargs-parser: - specifier: ^20.2.9 - version: 20.2.9 packages/alias: dependencies: @@ -850,40 +820,6 @@ packages: '@jridgewell/trace-mapping': 0.3.16 dev: true - /@ava/babel@2.0.0: - resolution: {integrity: sha512-50ol1X2AOuX82UskqQYx7XCvv/05GQA2dib/n4XP99sg63fIVtzwpPZ7amLN7mghhGRr2fjXFbuRgJ4+VeDsIg==} - engines: {node: '>=12.22 <13 || >=14.16 <15 || >=16'} - dependencies: - '@ava/require-precompiled': 1.0.0 - '@babel/core': 7.19.3 - '@babel/generator': 7.19.4 - '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-proposal-optional-chaining': 7.18.9(@babel/core@7.19.3) - '@babel/plugin-transform-modules-commonjs': 7.18.6(@babel/core@7.19.3) - babel-plugin-espower: 3.0.1 - concordance: 5.0.4 - convert-source-map: 1.8.0 - dot-prop: 6.0.1 - empower-core: 1.2.0 - escape-string-regexp: 4.0.0 - find-up: 5.0.0 - is-plain-object: 5.0.0 - md5-hex: 3.0.1 - package-hash: 4.0.0 - pkg-conf: 3.1.0 - source-map-support: 0.5.21 - strip-bom-buf: 2.0.0 - write-file-atomic: 3.0.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@ava/require-precompiled@1.0.0: - resolution: {integrity: sha512-N7w4g+P/SUL8SF+HC4Z4e/ctV6nQ5AERC90K90r4xZQ8WVrJux9albvfyYAzygyU47CSqMWh6yJwFs8DYaeWmg==} - engines: {node: '>=10'} - dev: true - /@babel/code-frame@7.18.6: resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} engines: {node: '>=6.9.0'} @@ -2195,6 +2131,7 @@ packages: /@humanwhocodes/config-array@0.11.14: resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead dependencies: '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.4 @@ -2223,6 +2160,7 @@ packages: /@humanwhocodes/object-schema@2.0.3: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead dev: true /@isaacs/cliui@8.0.2: @@ -2443,6 +2381,24 @@ packages: typescript: 4.8.4 dev: true + /@rollup/plugin-typescript@9.0.1(typescript@4.8.4): + resolution: {integrity: sha512-fj+CTk8+HvFCEwwDQdNgWd0lIJVXtMQ0Z3vH/ZgzFSbK2s1zs5wjZrjzrhViTTN+UF49+P69/tybgKRdGHpj/Q==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.14.0||^3.0.0 + tslib: '*' + typescript: '>=3.7.0' + peerDependenciesMeta: + rollup: + optional: true + tslib: + optional: true + dependencies: + '@rollup/pluginutils': 4.2.1 + resolve: 1.22.1 + typescript: 4.8.4 + dev: true + /@rollup/plugin-virtual@3.0.0(rollup@4.0.0-24): resolution: {integrity: sha512-K9KORe1myM62o0lKkNR4MmCxjwuAXsZEtIHpaILfv4kILXTOrXt/R2ha7PzMcCHPYdnkWPiBZK8ed4Zr3Ll5lQ==} engines: {node: '>=14.0.0'} @@ -2797,12 +2753,6 @@ packages: '@types/responselike': 1.0.0 dev: true - /@types/conventional-commits-parser@3.0.2: - resolution: {integrity: sha512-1kVPUHFaart1iGRFxKn8WNXYEDVAgMb+DLatgql2dGg9jTGf3bNxWtN//C/tDG3ckOLg4u7SSx+qcn8VjzI5zg==} - dependencies: - '@types/node': 14.18.30 - dev: true - /@types/d3-dsv@3.0.0: resolution: {integrity: sha512-o0/7RlMl9p5n6FQDptuJVMxDf/7EDEv2SYEO/CwdG2tr1hTfUVi0Iavkk2ax+VpaQ/1jVhpnj5rq1nj8vwhn2A==} dev: false @@ -2881,10 +2831,6 @@ packages: source-map: 0.6.1 dev: true - /@types/yargs-parser@20.2.2: - resolution: {integrity: sha512-sUWMriymrSqTvxCmCkf+7k392TNDcMJBHI1/rysWJxKnWAan/Zk4gZ/GEieSRo4EqIEPpbGU3Sd/0KTRoIA3pA==} - dev: true - /@typescript-eslint/eslint-plugin@5.39.0(@typescript-eslint/parser@5.39.0)(eslint@8.57.0)(typescript@4.8.4): resolution: {integrity: sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3456,18 +3402,6 @@ packages: object.assign: 4.1.4 dev: true - /babel-plugin-espower@3.0.1: - resolution: {integrity: sha512-Ms49U7VIAtQ/TtcqRbD6UBmJBUCSxiC3+zPc+eGqxKUIFO1lTshyEDRUjhoAbd2rWfwYf3cZ62oXozrd8W6J0A==} - dependencies: - '@babel/generator': 7.19.4 - '@babel/parser': 7.19.4 - call-matcher: 1.1.0 - core-js: 2.6.12 - espower-location-detector: 1.0.0 - espurify: 1.8.1 - estraverse: 4.3.0 - dev: true - /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.19.3): resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} peerDependencies: @@ -3602,20 +3536,6 @@ packages: get-intrinsic: 1.1.3 dev: true - /call-matcher@1.1.0: - resolution: {integrity: sha512-IoQLeNwwf9KTNbtSA7aEBb1yfDbdnzwjCetjkC8io5oGeOmK2CBNdg0xr+tadRYKO0p7uQyZzvon0kXlZbvGrw==} - dependencies: - core-js: 2.6.12 - deep-equal: 1.1.1 - espurify: 1.8.1 - estraverse: 4.3.0 - dev: true - - /call-signature@0.0.2: - resolution: {integrity: sha512-qvYvkAVcoae0obt8OsZn0VEBHeEpvYIZDy1gGYtZDJG0fHawew+Mi0dBjieFz8F8dzQ2Kr19+nsDm+T5XFVs+Q==} - engines: {node: '>=0.10.0'} - dev: true - /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -3898,12 +3818,6 @@ packages: browserslist: 4.21.4 dev: true - /core-js@2.6.12: - resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} - deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. - requiresBuild: true - dev: true - /cosmiconfig@7.0.1: resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==} engines: {node: '>=10'} @@ -4123,17 +4037,6 @@ packages: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} dev: true - /deep-equal@1.1.1: - resolution: {integrity: sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==} - dependencies: - is-arguments: 1.1.1 - is-date-object: 1.0.5 - is-regex: 1.1.4 - object-is: 1.1.5 - object-keys: 1.1.1 - regexp.prototype.flags: 1.4.3 - dev: true - /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -4259,13 +4162,6 @@ packages: domhandler: 4.3.1 dev: true - /dot-prop@6.0.1: - resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} - engines: {node: '>=10'} - dependencies: - is-obj: 2.0.0 - dev: true - /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -4284,13 +4180,6 @@ packages: /emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - /empower-core@1.2.0: - resolution: {integrity: sha512-g6+K6Geyc1o6FdXs9HwrXleCFan7d66G5xSCfSF7x1mJDCes6t0om9lFQG3zOrzh3Bkb/45N0cZ5Gqsf7YrzGQ==} - dependencies: - call-signature: 0.0.2 - core-js: 2.6.12 - dev: true - /end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: @@ -4747,15 +4636,6 @@ packages: engines: {node: '>=6'} dev: true - /espower-location-detector@1.0.0: - resolution: {integrity: sha512-Y/3H6ytYwqC3YcOc0gOU22Lp3eI5GAFGOymTdzFyfaiglKgtsw2dePOgXY3yrV+QcLPMPiVYwBU9RKaDoh2bbQ==} - dependencies: - is-url: 1.2.4 - path-is-absolute: 1.0.1 - source-map: 0.5.7 - xtend: 4.0.2 - dev: true - /espree@9.4.0: resolution: {integrity: sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4779,12 +4659,6 @@ packages: hasBin: true dev: true - /espurify@1.8.1: - resolution: {integrity: sha512-ZDko6eY/o+D/gHCWyHTU85mKDgYcS4FJj7S+YD6WIInm7GQ6AnOjmcL4+buFV/JOztVLELi/7MmuGU5NHta0Mg==} - dependencies: - core-js: 2.6.12 - dev: true - /esquery@1.4.0: resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} engines: {node: '>=0.10'} @@ -4906,13 +4780,6 @@ packages: pkg-dir: 4.2.0 dev: true - /find-up@3.0.0: - resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} - engines: {node: '>=6'} - dependencies: - locate-path: 3.0.0 - dev: true - /find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -5366,14 +5233,6 @@ packages: engines: {node: '>=8'} dev: true - /is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 - dev: true - /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true @@ -5477,11 +5336,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /is-obj@2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} - dev: true - /is-path-cwd@2.2.0: resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} engines: {node: '>=6'} @@ -5580,14 +5434,6 @@ packages: engines: {node: '>=12'} dev: true - /is-url@1.2.4: - resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} - dev: true - - /is-utf8@0.2.1: - resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} - dev: true - /is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: @@ -5719,10 +5565,6 @@ packages: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} dev: true - /json-parse-better-errors@1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} - dev: true - /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true @@ -5828,17 +5670,6 @@ packages: wrap-ansi: 7.0.0 dev: true - /load-json-file@5.3.0: - resolution: {integrity: sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==} - engines: {node: '>=6'} - dependencies: - graceful-fs: 4.2.10 - parse-json: 4.0.0 - pify: 4.0.1 - strip-bom: 3.0.0 - type-fest: 0.3.1 - dev: true - /load-json-file@7.0.1: resolution: {integrity: sha512-Gnxj3ev3mB5TkVBGad0JM6dmLiQL+o0t23JPBZ9sd+yvSLk05mFoqKBw5N8gbbkU4TNXyqCgIrl/VM17OgUIgQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -5853,14 +5684,6 @@ packages: resolution: {integrity: sha512-n2GmejDXtOPBAZdIiEFy5dJ5N38xBCXLNOtw2WpB9kGh6pnrEuKlwYI+Tkpofc4wDtVXHtoAOJaMRlYG/oYaxg==} dev: true - /locate-path@3.0.0: - resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} - engines: {node: '>=6'} - dependencies: - p-locate: 3.0.0 - path-exists: 3.0.0 - dev: true - /locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -6315,14 +6138,6 @@ packages: resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} dev: true - /object-is@1.1.5: - resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.4 - dev: true - /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} @@ -6429,13 +6244,6 @@ packages: yocto-queue: 1.0.0 dev: true - /p-locate@3.0.0: - resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} - engines: {node: '>=6'} - dependencies: - p-limit: 2.3.0 - dev: true - /p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -6518,14 +6326,6 @@ packages: dependencies: callsites: 3.1.0 - /parse-json@4.0.0: - resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} - engines: {node: '>=4'} - dependencies: - error-ex: 1.3.2 - json-parse-better-errors: 1.0.2 - dev: true - /parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} @@ -6541,11 +6341,6 @@ packages: engines: {node: '>=6'} dev: true - /path-exists@3.0.0: - resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} - engines: {node: '>=4'} - dev: true - /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -6607,14 +6402,6 @@ packages: engines: {node: '>= 6'} dev: false - /pkg-conf@3.1.0: - resolution: {integrity: sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==} - engines: {node: '>=6'} - dependencies: - find-up: 3.0.0 - load-json-file: 5.3.0 - dev: true - /pkg-conf@4.0.0: resolution: {integrity: sha512-7dmgi4UY4qk+4mj5Cd8v/GExPo0K+SlY+hulOSdfZ/T6jVH6//y7NtzZo5WrfhDBxuQ0jCa7fLZmNaNh7EWL/w==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -7581,11 +7368,6 @@ packages: buffer-from: 1.1.2 source-map: 0.6.1 - /source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - dev: true - /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} @@ -7733,13 +7515,6 @@ packages: ansi-regex: 6.0.1 dev: false - /strip-bom-buf@2.0.0: - resolution: {integrity: sha512-gLFNHucd6gzb8jMsl5QmZ3QgnUJmp7qn4uUSHNwEXumAp7YizoGYw19ZUVfuq4aBOQUtyn2k8X/CwzWB73W2lQ==} - engines: {node: '>=8'} - dependencies: - is-utf8: 0.2.1 - dev: true - /strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -8018,11 +7793,6 @@ packages: engines: {node: '>=10'} dev: true - /type-fest@0.3.1: - resolution: {integrity: sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==} - engines: {node: '>=6'} - dev: true - /type-fest@0.4.1: resolution: {integrity: sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==} engines: {node: '>=6'} @@ -8260,11 +8030,6 @@ packages: write-json-file: 3.2.0 dev: true - /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - dev: true - /y18n@4.0.3: resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} dev: true From 3275e1d8727cdf20d502ce1c72d787da434e6147 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Sun, 22 Sep 2024 22:18:05 +0100 Subject: [PATCH 35/50] fix(alias): remove unused slash dependency (#1763) chore(alias): remove unused slash dependency --- packages/alias/package.json | 3 --- pnpm-lock.yaml | 5 +---- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/packages/alias/package.json b/packages/alias/package.json index a550cb8f6..b189e8698 100755 --- a/packages/alias/package.json +++ b/packages/alias/package.json @@ -58,9 +58,6 @@ "optional": true } }, - "dependencies": { - "slash": "^4.0.0" - }, "devDependencies": { "@rollup/plugin-node-resolve": "^15.0.0", "@rollup/plugin-typescript": "^9.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 321ed8bc4..498e92c76 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -76,10 +76,6 @@ importers: version: 4.8.4 packages/alias: - dependencies: - slash: - specifier: ^4.0.0 - version: 4.0.0 devDependencies: '@rollup/plugin-node-resolve': specifier: ^15.0.0 @@ -7315,6 +7311,7 @@ packages: /slash@4.0.0: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} engines: {node: '>=12'} + dev: true /slice-ansi@3.0.0: resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} From 369a7684564ebd8fda43a8edf2bf64398c14e72c Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Sun, 22 Sep 2024 21:19:36 +0000 Subject: [PATCH 36/50] chore(release): alias v5.1.1 --- packages/alias/CHANGELOG.md | 8 ++++++++ packages/alias/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/alias/CHANGELOG.md b/packages/alias/CHANGELOG.md index f264d0276..1b3ec3d8c 100755 --- a/packages/alias/CHANGELOG.md +++ b/packages/alias/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-alias ChangeLog +## v5.1.1 + +_2024-09-22_ + +### Bugfixes + +- fix: remove unused slash dependency (#1763) + ## v5.1.0 _2023-11-25_ diff --git a/packages/alias/package.json b/packages/alias/package.json index b189e8698..9051cad88 100755 --- a/packages/alias/package.json +++ b/packages/alias/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-alias", - "version": "5.1.0", + "version": "5.1.1", "publishConfig": { "access": "public" }, From 184d81a6745e1ed3948411dccb8da2a3e0fdac3d Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Sun, 22 Sep 2024 23:53:50 +0100 Subject: [PATCH 37/50] fix(pluginutils): improve regex performance (#1753) perf(pluginutils): improve regex performance --- packages/pluginutils/src/attachScopes.ts | 4 ++-- packages/pluginutils/src/dataToEsm.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/pluginutils/src/attachScopes.ts b/packages/pluginutils/src/attachScopes.ts index d5dace4ed..fc6392ddb 100755 --- a/packages/pluginutils/src/attachScopes.ts +++ b/packages/pluginutils/src/attachScopes.ts @@ -66,7 +66,7 @@ const attachScopes: AttachScopes = function attachScopes(ast, propertyName = 'sc const node = n as estree.Node; // function foo () {...} // class Foo {...} - if (/(Function|Class)Declaration/.test(node.type)) { + if (/(?:Function|Class)Declaration/.test(node.type)) { scope.addDeclaration(node, false, false); } @@ -98,7 +98,7 @@ const attachScopes: AttachScopes = function attachScopes(ast, propertyName = 'sc } // create new for scope - if (/For(In|Of)?Statement/.test(node.type)) { + if (/For(?:In|Of)?Statement/.test(node.type)) { newScope = new Scope({ parent: scope, block: true diff --git a/packages/pluginutils/src/dataToEsm.ts b/packages/pluginutils/src/dataToEsm.ts index 312017220..4be5d7ae4 100755 --- a/packages/pluginutils/src/dataToEsm.ts +++ b/packages/pluginutils/src/dataToEsm.ts @@ -91,7 +91,7 @@ const dataToEsm: DataToEsm = function dataToEsm(data, options = {}) { let maxUnderbarPrefixLength = 0; for (const key of Object.keys(data)) { - const underbarPrefixLength = key.match(/^(_+)/)?.[0].length ?? 0; + const underbarPrefixLength = /^(_+)/.exec(key)?.[0].length ?? 0; if (underbarPrefixLength > maxUnderbarPrefixLength) { maxUnderbarPrefixLength = underbarPrefixLength; } From 68e50caa49e04ee3114a575c4251449c1ae7de98 Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Sun, 22 Sep 2024 22:55:31 +0000 Subject: [PATCH 38/50] chore(release): pluginutils v5.1.1 --- packages/pluginutils/CHANGELOG.md | 8 ++++++++ packages/pluginutils/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/pluginutils/CHANGELOG.md b/packages/pluginutils/CHANGELOG.md index ae8bd877d..10f9df2eb 100755 --- a/packages/pluginutils/CHANGELOG.md +++ b/packages/pluginutils/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/pluginutils ChangeLog +## v5.1.1 + +_2024-09-22_ + +### Bugfixes + +- fix: improve regex performance (#1753) + ## v5.1.0 _2023-11-28_ diff --git a/packages/pluginutils/package.json b/packages/pluginutils/package.json index dcbf42059..7476ddc27 100644 --- a/packages/pluginutils/package.json +++ b/packages/pluginutils/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/pluginutils", - "version": "5.1.0", + "version": "5.1.1", "publishConfig": { "access": "public" }, From 1a734fc048468b5978ca804c0b1a98093d4cdda5 Mon Sep 17 00:00:00 2001 From: Grex Date: Sun, 22 Sep 2024 15:03:18 -0800 Subject: [PATCH 39/50] fix(graphql): handle parentheses in fragment import file paths. (#1746) fix(graphql): handle parentheses in fragment import file paths --- packages/graphql/src/toESModules.js | 10 ++++------ .../(parentheses)/fragment.graphql | 3 +++ .../[brackets]/fragment.graphql | 3 +++ .../fragments-with-special-characters/index.js | 2 ++ .../fragments-with-special-characters/query.graphql | 7 +++++++ packages/graphql/test/test.js | 12 ++++++++++++ 6 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 packages/graphql/test/fixtures/fragments-with-special-characters/(parentheses)/fragment.graphql create mode 100644 packages/graphql/test/fixtures/fragments-with-special-characters/[brackets]/fragment.graphql create mode 100644 packages/graphql/test/fixtures/fragments-with-special-characters/index.js create mode 100644 packages/graphql/test/fixtures/fragments-with-special-characters/query.graphql diff --git a/packages/graphql/src/toESModules.js b/packages/graphql/src/toESModules.js index 08647fc36..cb2ccc6ce 100644 --- a/packages/graphql/src/toESModules.js +++ b/packages/graphql/src/toESModules.js @@ -29,15 +29,13 @@ function replaceRequires(source) { let index = 0; // replace a require statement with a variable - const replaceSource = source.replace(/require\(([^)]+)\)/gi, (match, path) => { - const replacePath = path.replace(/["']+/g, ''); - - if (!imports[replacePath]) { + const replaceSource = source.replace(/require\(["']([^"']+)["']\)/gi, (match, path) => { + if (!imports[path]) { index += 1; - imports[replacePath] = `frgmt${index}`; + imports[path] = `frgmt${index}`; } - return imports[replacePath]; + return imports[path]; }); // prepare import statements diff --git a/packages/graphql/test/fixtures/fragments-with-special-characters/(parentheses)/fragment.graphql b/packages/graphql/test/fixtures/fragments-with-special-characters/(parentheses)/fragment.graphql new file mode 100644 index 000000000..706b5d691 --- /dev/null +++ b/packages/graphql/test/fixtures/fragments-with-special-characters/(parentheses)/fragment.graphql @@ -0,0 +1,3 @@ +fragment ParenthesesFragment on Parentheses { + id +} diff --git a/packages/graphql/test/fixtures/fragments-with-special-characters/[brackets]/fragment.graphql b/packages/graphql/test/fixtures/fragments-with-special-characters/[brackets]/fragment.graphql new file mode 100644 index 000000000..3821b0882 --- /dev/null +++ b/packages/graphql/test/fixtures/fragments-with-special-characters/[brackets]/fragment.graphql @@ -0,0 +1,3 @@ +fragment BracketsFragment on Brackets { + id +} diff --git a/packages/graphql/test/fixtures/fragments-with-special-characters/index.js b/packages/graphql/test/fixtures/fragments-with-special-characters/index.js new file mode 100644 index 000000000..286dd2116 --- /dev/null +++ b/packages/graphql/test/fixtures/fragments-with-special-characters/index.js @@ -0,0 +1,2 @@ +// eslint-disable-next-line import/prefer-default-export +export { default as doc } from './query.graphql'; diff --git a/packages/graphql/test/fixtures/fragments-with-special-characters/query.graphql b/packages/graphql/test/fixtures/fragments-with-special-characters/query.graphql new file mode 100644 index 000000000..390e3cc12 --- /dev/null +++ b/packages/graphql/test/fixtures/fragments-with-special-characters/query.graphql @@ -0,0 +1,7 @@ +#import "./(parentheses)/fragment.graphql" +#import "./[brackets]/fragment.graphql" + +query Query { + ...ParenthesesFragment + ...BracketsFragment +} diff --git a/packages/graphql/test/test.js b/packages/graphql/test/test.js index b4af33306..d085da2b4 100755 --- a/packages/graphql/test/test.js +++ b/packages/graphql/test/test.js @@ -62,3 +62,15 @@ test('should support graphqls schema files', async (t) => { t.truthy('doc' in module.exports); t.is(module.exports.doc.kind, 'Document'); }); + +test('should support fragment imports with brackets and parentheses in file paths', async (t) => { + const bundle = await rollup({ + input: 'fixtures/fragments-with-special-characters/index.js', + plugins: [graphql()] + }); + + const { module } = await testBundle(t, bundle); + + t.truthy('doc' in module.exports); + t.is(module.exports.doc.kind, 'Document'); +}); From 1b2ce153f02713552c06a32d0900eaa557f33482 Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Sun, 22 Sep 2024 23:04:46 +0000 Subject: [PATCH 40/50] chore(release): graphql v2.0.5 --- packages/graphql/CHANGELOG.md | 8 ++++++++ packages/graphql/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/graphql/CHANGELOG.md b/packages/graphql/CHANGELOG.md index 20d2516d4..75b94223a 100644 --- a/packages/graphql/CHANGELOG.md +++ b/packages/graphql/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-graphql ChangeLog +## v2.0.5 + +_2024-09-22_ + +### Bugfixes + +- fix: handle parentheses in fragment import file paths. (#1746) + ## v2.0.4 _2023-10-05_ diff --git a/packages/graphql/package.json b/packages/graphql/package.json index 6280a1b7a..dc3565952 100644 --- a/packages/graphql/package.json +++ b/packages/graphql/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-graphql", - "version": "2.0.4", + "version": "2.0.5", "publishConfig": { "access": "public" }, From 190aa21155acb573cd634e76c9afd1fec5c92ca1 Mon Sep 17 00:00:00 2001 From: James Garbutt <43081j@users.noreply.github.com> Date: Mon, 23 Sep 2024 06:08:24 +0700 Subject: [PATCH 41/50] chore(node-resolve): remove is-builtin-module (#1735) Node has shipped `builtinModules` for some time now, so we no longer need a third party package to do this. Once the `engines` constraint is bumped in the `package.json`, we can also move to using the built-in `isBuiltin` function (available since 16.x). --- packages/node-resolve/package.json | 1 - packages/node-resolve/src/index.js | 7 +++++-- pnpm-lock.yaml | 11 +---------- 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/packages/node-resolve/package.json b/packages/node-resolve/package.json index 78b7c922d..3280f59ed 100644 --- a/packages/node-resolve/package.json +++ b/packages/node-resolve/package.json @@ -64,7 +64,6 @@ "@rollup/pluginutils": "^5.0.1", "@types/resolve": "1.20.2", "deepmerge": "^4.2.2", - "is-builtin-module": "^3.2.1", "is-module": "^1.0.0", "resolve": "^1.22.1" }, diff --git a/packages/node-resolve/src/index.js b/packages/node-resolve/src/index.js index 3d389383d..dbf301c80 100644 --- a/packages/node-resolve/src/index.js +++ b/packages/node-resolve/src/index.js @@ -1,7 +1,8 @@ /* eslint-disable no-param-reassign, no-shadow, no-undefined */ import { dirname, normalize, resolve, sep } from 'path'; -import isBuiltinModule from 'is-builtin-module'; +import { builtinModules } from 'module'; + import deepMerge from 'deepmerge'; import isModule from 'is-module'; @@ -42,6 +43,8 @@ const defaults = { // TODO: set to false in next major release or remove allowExportsFolderMapping: true }; +const nodeImportPrefix = /^node:/; + export const DEFAULTS = deepFreeze(deepMerge({}, defaults)); export function nodeResolve(opts = {}) { @@ -190,7 +193,7 @@ export function nodeResolve(opts = {}) { allowExportsFolderMapping: options.allowExportsFolderMapping }); - const importeeIsBuiltin = isBuiltinModule(importee); + const importeeIsBuiltin = builtinModules.includes(importee.replace(nodeImportPrefix, '')); const resolved = importeeIsBuiltin && preferBuiltins ? { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 498e92c76..17b8e2cef 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -487,9 +487,6 @@ importers: deepmerge: specifier: ^4.2.2 version: 4.2.2 - is-builtin-module: - specifier: ^3.2.1 - version: 3.2.1 is-module: specifier: ^1.0.0 version: 1.0.0 @@ -3496,6 +3493,7 @@ packages: /builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} + dev: true /cacheable-lookup@5.0.4: resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} @@ -5261,13 +5259,6 @@ packages: builtin-modules: 3.3.0 dev: true - /is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} - dependencies: - builtin-modules: 3.3.0 - dev: false - /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} From 6d4bb6b8b1f04013c872c468e1e462e36a9bbe02 Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Sun, 22 Sep 2024 23:09:59 +0000 Subject: [PATCH 42/50] chore(release): node-resolve v15.2.4 --- packages/node-resolve/CHANGELOG.md | 8 ++++++++ packages/node-resolve/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/node-resolve/CHANGELOG.md b/packages/node-resolve/CHANGELOG.md index b0515adc8..ae6af6e4b 100755 --- a/packages/node-resolve/CHANGELOG.md +++ b/packages/node-resolve/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-node-resolve ChangeLog +## v15.2.4 + +_2024-09-22_ + +### Updates + +- chore: remove is-builtin-module (#1735) + ## v15.2.3 _2023-10-08_ diff --git a/packages/node-resolve/package.json b/packages/node-resolve/package.json index 3280f59ed..73fd1c285 100644 --- a/packages/node-resolve/package.json +++ b/packages/node-resolve/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-node-resolve", - "version": "15.2.3", + "version": "15.2.4", "publishConfig": { "access": "public" }, From d9141bfa9e384bda6371ce23ab5f9eaa792e01b0 Mon Sep 17 00:00:00 2001 From: Matthieu Sieben Date: Mon, 23 Sep 2024 01:28:40 +0200 Subject: [PATCH 43/50] fix(html): template function first arg is always provided (#1718) --- packages/html/types/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/html/types/index.d.ts b/packages/html/types/index.d.ts index f8d62ef33..715e9a03c 100644 --- a/packages/html/types/index.d.ts +++ b/packages/html/types/index.d.ts @@ -15,7 +15,7 @@ export interface RollupHtmlOptions { fileName?: string; meta?: Record[]; publicPath?: string; - template?: (templateoptions?: RollupHtmlTemplateOptions) => string; + template?: (templateoptions: RollupHtmlTemplateOptions) => string; } export function makeHtmlAttributes(attributes: Record): string; From 0bcd393094e264f159b45b8650c0763425ccef4e Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Sun, 22 Sep 2024 23:30:10 +0000 Subject: [PATCH 44/50] chore(release): html v1.0.4 --- packages/html/CHANGELOG.md | 8 ++++++++ packages/html/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/html/CHANGELOG.md b/packages/html/CHANGELOG.md index 5a113334a..6b1514d94 100644 --- a/packages/html/CHANGELOG.md +++ b/packages/html/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-html ChangeLog +## v1.0.4 + +_2024-09-22_ + +### Bugfixes + +- fix: template function first arg is always provided (#1718) + ## v1.0.3 _2023-10-05_ diff --git a/packages/html/package.json b/packages/html/package.json index 4bfdf7371..2f53e9062 100644 --- a/packages/html/package.json +++ b/packages/html/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-html", - "version": "1.0.3", + "version": "1.0.4", "publishConfig": { "access": "public" }, From 34abd4f28a5e8bdb3c2d03d820faad8907d3856b Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Mon, 23 Sep 2024 00:37:45 +0100 Subject: [PATCH 45/50] fix(dynamic-import-vars): simplify regex (#1751) refactor(dynamic-import-vars): simplify regex --- packages/dynamic-import-vars/src/dynamic-import-to-glob.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dynamic-import-vars/src/dynamic-import-to-glob.js b/packages/dynamic-import-vars/src/dynamic-import-to-glob.js index 6dcf7d7fd..ed1ae978e 100644 --- a/packages/dynamic-import-vars/src/dynamic-import-to-glob.js +++ b/packages/dynamic-import-vars/src/dynamic-import-to-glob.js @@ -107,7 +107,7 @@ export function dynamicImportToGlob(node, sourceString) { } // Disallow ./*.ext - const ownDirectoryStarExtension = /^\.\/\*\.[\w]+$/; + const ownDirectoryStarExtension = /^\.\/\*\.\w+$/; if (ownDirectoryStarExtension.test(glob)) { throw new VariableDynamicImportError( `${ From 62fac8560a883d6490c74a2ce34e382ec5f35e61 Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Sun, 22 Sep 2024 23:39:14 +0000 Subject: [PATCH 46/50] chore(release): dynamic-import-vars v2.1.3 --- packages/dynamic-import-vars/CHANGELOG.md | 8 ++++++++ packages/dynamic-import-vars/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/dynamic-import-vars/CHANGELOG.md b/packages/dynamic-import-vars/CHANGELOG.md index 4c6e08a44..660134aa5 100644 --- a/packages/dynamic-import-vars/CHANGELOG.md +++ b/packages/dynamic-import-vars/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-dynamic-import-vars ChangeLog +## v2.1.3 + +_2024-09-22_ + +### Bugfixes + +- fix: simplify regex (#1751) + ## v2.1.2 _2023-11-28_ diff --git a/packages/dynamic-import-vars/package.json b/packages/dynamic-import-vars/package.json index 53b782d5e..d25ea21b9 100644 --- a/packages/dynamic-import-vars/package.json +++ b/packages/dynamic-import-vars/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-dynamic-import-vars", - "version": "2.1.2", + "version": "2.1.3", "publishConfig": { "access": "public" }, From a85b6491baf40ca13da3b98cd7df5dff35f6c774 Mon Sep 17 00:00:00 2001 From: lam eu ler <27113373+lameuler@users.noreply.github.com> Date: Mon, 23 Sep 2024 07:40:41 +0800 Subject: [PATCH 47/50] fix(typescript)!: correctly resolve filenames of declaration files for `output.file` (#1728) * test(typescript): add test case for invalid declarationDir with output.file * fix(typescript): correctly resolve output filename of declaration files when output.file is used * fix(typescript): validate that declarationDir is inside bundle output directory when using output.file * test(typescript): check for correct error for invalid declarationDir when using output.file --------- Co-authored-by: eu ler <27113373+u018f@users.noreply.github.com> --- packages/typescript/src/index.ts | 16 ++---------- packages/typescript/src/options/validate.ts | 22 +++++++++++----- packages/typescript/test/test.js | 28 +++++++++++++++++++++ 3 files changed, 46 insertions(+), 20 deletions(-) diff --git a/packages/typescript/src/index.ts b/packages/typescript/src/index.ts index 6b0eb2652..339a8ba40 100644 --- a/packages/typescript/src/index.ts +++ b/packages/typescript/src/index.ts @@ -178,20 +178,8 @@ export default function typescript(options: RollupTypescriptOptions = {}): Plugi if (outputOptions.dir) { baseDir = outputOptions.dir; } else if (outputOptions.file) { - // find common path of output.file and configured declation output - const outputDir = path.dirname(outputOptions.file); - const configured = path.resolve( - parsedOptions.options.declarationDir || - parsedOptions.options.outDir || - tsconfig || - process.cwd() - ); - const backwards = path - .relative(outputDir, configured) - .split(path.sep) - .filter((v) => v === '..') - .join(path.sep); - baseDir = path.normalize(`${outputDir}/${backwards}`); + // the bundle output directory used by rollup when outputOptions.file is used instead of outputOptions.dir + baseDir = path.dirname(outputOptions.file); } if (!baseDir) return; diff --git a/packages/typescript/src/options/validate.ts b/packages/typescript/src/options/validate.ts index 7dbc3367c..d0f22e3de 100644 --- a/packages/typescript/src/options/validate.ts +++ b/packages/typescript/src/options/validate.ts @@ -1,4 +1,4 @@ -import { relative } from 'path'; +import { relative, dirname } from 'path'; import type { OutputOptions, PluginContext } from 'rollup'; @@ -51,14 +51,24 @@ export function validatePaths( ); } + let outputDir: string | undefined = outputOptions.dir; + if (outputOptions.file) { + outputDir = dirname(outputOptions.file); + } for (const dirProperty of DIRECTORY_PROPS) { - if (compilerOptions[dirProperty] && outputOptions.dir) { + if (compilerOptions[dirProperty] && outputDir) { // Checks if the given path lies within Rollup output dir - const fromRollupDirToTs = relative(outputOptions.dir, compilerOptions[dirProperty]!); + const fromRollupDirToTs = relative(outputDir, compilerOptions[dirProperty]!); if (fromRollupDirToTs.startsWith('..')) { - context.error( - `@rollup/plugin-typescript: Path of Typescript compiler option '${dirProperty}' must be located inside Rollup 'dir' option.` - ); + if (outputOptions.dir) { + context.error( + `@rollup/plugin-typescript: Path of Typescript compiler option '${dirProperty}' must be located inside Rollup 'dir' option.` + ); + } else { + context.error( + `@rollup/plugin-typescript: Path of Typescript compiler option '${dirProperty}' must be located inside the same directory as the Rollup 'file' option.` + ); + } } } } diff --git a/packages/typescript/test/test.js b/packages/typescript/test/test.js index 127f98e19..d5ac91086 100644 --- a/packages/typescript/test/test.js +++ b/packages/typescript/test/test.js @@ -101,6 +101,34 @@ test.serial('ensures declarationDir is located in Rollup output dir', async (t) ); }); +test.serial( + 'ensures declarationDir is located in Rollup output directory when output.file is used', + async (t) => { + const bundle = await rollup({ + input: 'fixtures/basic/main.ts', + plugins: [ + typescript({ + tsconfig: 'fixtures/basic/tsconfig.json', + declarationDir: 'fixtures/basic/other/', + declaration: true + }) + ], + onwarn + }); + + // this should throw an error just like the equivalent setup using output.dir above + const wrongDirError = await t.throwsAsync(() => + getCode(bundle, { format: 'es', file: 'fixtures/basic/dist/index.js' }, true) + ); + t.true( + wrongDirError.message.includes( + `Path of Typescript compiler option 'declarationDir' must be located inside the same directory as the Rollup 'file' option` + ), + `Unexpected error message: ${wrongDirError.message}` + ); + } +); + test.serial('ensures multiple outputs can be built', async (t) => { // In a rollup.config.js we would pass an array // The rollup method that's exported as a library won't do that so we must make two calls From 5afda373fd23da898dfcb82063a58136dfa81659 Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Sun, 22 Sep 2024 23:42:48 +0000 Subject: [PATCH 48/50] chore(release): typescript v12.0.0 --- packages/typescript/CHANGELOG.md | 8 ++++++++ packages/typescript/package.json | 2 +- .../test/fixtures/incremental-single/tsconfig.tsbuildinfo | 2 +- .../test/fixtures/incremental-watch-off/main.ts | 2 ++ 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/typescript/CHANGELOG.md b/packages/typescript/CHANGELOG.md index 2e8fae7d4..43a80744d 100644 --- a/packages/typescript/CHANGELOG.md +++ b/packages/typescript/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-typescript ChangeLog +## v12.0.0 + +_2024-09-22_ + +### Breaking Changes + +- fix!: correctly resolve filenames of declaration files for `output.file` (#1728) + ## v11.1.6 _2024-01-09_ diff --git a/packages/typescript/package.json b/packages/typescript/package.json index 7fca1ce58..dd334cc9e 100644 --- a/packages/typescript/package.json +++ b/packages/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-typescript", - "version": "11.1.6", + "version": "12.0.0", "publishConfig": { "access": "public" }, diff --git a/packages/typescript/test/fixtures/incremental-single/tsconfig.tsbuildinfo b/packages/typescript/test/fixtures/incremental-single/tsconfig.tsbuildinfo index 582b24612..ddf4834d4 100644 --- a/packages/typescript/test/fixtures/incremental-single/tsconfig.tsbuildinfo +++ b/packages/typescript/test/fixtures/incremental-single/tsconfig.tsbuildinfo @@ -1 +1 @@ -{"program":{"fileNames":["../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es5.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2016.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.dom.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.scripthost.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.esnext.intl.d.ts","./main.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/assert.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/globals.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/async_hooks.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/buffer.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/child_process.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/cluster.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/console.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/constants.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/crypto.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/dgram.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/dns.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/domain.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/events.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/fs.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/fs/promises.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/http.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/http2.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/https.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/inspector.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/module.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/net.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/os.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/path.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/perf_hooks.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/process.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/punycode.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/querystring.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/readline.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/repl.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/stream.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/string_decoder.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/timers.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/tls.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/trace_events.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/tty.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/url.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/util.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/v8.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/vm.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/wasi.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/worker_threads.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/zlib.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/globals.global.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/index.d.ts","../../../../../node_modules/.pnpm/@types+resolve@1.20.2/node_modules/@types/resolve/index.d.ts","../../../../../node_modules/.pnpm/@babel+types@7.19.4/node_modules/@babel/types/lib/index.d.ts","../../../../../node_modules/.pnpm/@types+babel__generator@7.6.4/node_modules/@types/babel__generator/index.d.ts","../../../../../node_modules/.pnpm/@babel+parser@7.19.4/node_modules/@babel/parser/typings/babel-parser.d.ts","../../../../../node_modules/.pnpm/@types+babel__template@7.4.1/node_modules/@types/babel__template/index.d.ts","../../../../../node_modules/.pnpm/@types+babel__traverse@7.18.2/node_modules/@types/babel__traverse/index.d.ts","../../../../../node_modules/.pnpm/@types+babel__core@7.1.19/node_modules/@types/babel__core/index.d.ts","../../../../../node_modules/.pnpm/magic-string@0.25.9/node_modules/magic-string/index.d.ts","../../../../../node_modules/.pnpm/@types+buble@0.19.2/node_modules/@types/buble/index.d.ts","../../../../../node_modules/.pnpm/@types+keyv@3.1.4/node_modules/@types/keyv/index.d.ts","../../../../../node_modules/.pnpm/@types+http-cache-semantics@4.0.1/node_modules/@types/http-cache-semantics/index.d.ts","../../../../../node_modules/.pnpm/@types+responselike@1.0.0/node_modules/@types/responselike/index.d.ts","../../../../../node_modules/.pnpm/@types+cacheable-request@6.0.2/node_modules/@types/cacheable-request/index.d.ts","../../../../../node_modules/.pnpm/@types+conventional-commits-parser@3.0.2/node_modules/@types/conventional-commits-parser/index.d.ts","../../../../../node_modules/.pnpm/@types+d3-dsv@3.0.0/node_modules/@types/d3-dsv/index.d.ts","../../../../../node_modules/.pnpm/@types+eslint@8.4.6/node_modules/@types/eslint/helpers.d.ts","../../../../../node_modules/.pnpm/@types+estree@1.0.0/node_modules/@types/estree/index.d.ts","../../../../../node_modules/.pnpm/@types+json-schema@7.0.11/node_modules/@types/json-schema/index.d.ts","../../../../../node_modules/.pnpm/@types+eslint@8.4.6/node_modules/@types/eslint/index.d.ts","../../../../../node_modules/.pnpm/@types+json5@0.0.29/node_modules/@types/json5/index.d.ts","../../../../../node_modules/.pnpm/@types+minimist@1.2.2/node_modules/@types/minimist/index.d.ts","../../../../../node_modules/.pnpm/@types+normalize-package-data@2.4.1/node_modules/@types/normalize-package-data/index.d.ts","../../../../../node_modules/.pnpm/@types+parse-json@4.0.0/node_modules/@types/parse-json/index.d.ts","../../../../../node_modules/.pnpm/@types+picomatch@2.3.0/node_modules/@types/picomatch/lib/constants.d.ts","../../../../../node_modules/.pnpm/@types+picomatch@2.3.0/node_modules/@types/picomatch/lib/parse.d.ts","../../../../../node_modules/.pnpm/@types+picomatch@2.3.0/node_modules/@types/picomatch/lib/scan.d.ts","../../../../../node_modules/.pnpm/@types+picomatch@2.3.0/node_modules/@types/picomatch/lib/picomatch.d.ts","../../../../../node_modules/.pnpm/@types+picomatch@2.3.0/node_modules/@types/picomatch/index.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/classes/semver.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/parse.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/valid.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/clean.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/inc.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/diff.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/major.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/minor.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/patch.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/prerelease.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/compare.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/rcompare.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/compare-loose.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/compare-build.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/sort.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/rsort.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/gt.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/lt.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/eq.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/neq.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/gte.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/lte.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/cmp.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/coerce.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/classes/comparator.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/classes/range.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/satisfies.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/to-comparators.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/min-version.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/valid.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/outside.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/gtr.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/ltr.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/intersects.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/simplify.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/subset.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/internals/identifiers.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/index.d.ts","../../../../../node_modules/.pnpm/@types+serialize-javascript@5.0.2/node_modules/@types/serialize-javascript/index.d.ts","../../../../../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/source-map.d.ts","../../../../../node_modules/.pnpm/@types+source-map-support@0.5.6/node_modules/@types/source-map-support/index.d.ts","../../../../../node_modules/.pnpm/@types+yargs-parser@20.2.2/node_modules/@types/yargs-parser/index.d.ts"],"fileInfos":["2dc8c927c9c162a773c6bb3cdc4f3286c23f10eedc67414028f9cb5951610f60",{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06",{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"dc13372d005136feb44d8fa670d0a80d674b3964fe29dc30e693c9836c997006","affectsGlobalScope":true},"4c2c4f53e8eedd970f8afa369d7371544fb6231bf95e659f8602e09abe74d5a5",{"version":"32ddf2b046fa7269050f64a87f1f3d2db10b92ad6302460681915af1207b1222","affectsGlobalScope":true},"c2b5085f47e41d6940bbc5b0d3bd7cc0037c752efb18aecd243c9cf83ad0c0b7","3143a5add0467b83150961ecd33773b561a1207aec727002aa1d70333068eb1b","9b2a8f604e7c0482a9061755f00b287cc99bd8718dc82d8207dd74c599b6dc43","d0fc76a91c828fbe3f0be5d683273634b7b101068333ceed975a8a9ac464137b",{"version":"1a048ff164b8d9609f5de3139d4e37f6e8a82af82087ac414b9208f52ef8aac7","affectsGlobalScope":true},"3111079f3cb5f2b9c812ca3f46161562bce5bfb355e915f46ed46c41714dc1c3","db86f82fac051ae344b47e8fe7ac7990174b41db79b2b220a49dc5a47c71a9b5","b32b6b16cb0bda68199582ad6f22242d07ee75fac9b1f28a98cd838afc5eea45","4441ee4119824bfaebc49308559edd7545978f9cb41a40f115074e1031dde75f",{"version":"60693a88462d0e97900123b5bf7c73e146ce0cc94da46a61fe6775b430d2ff05","affectsGlobalScope":true},{"version":"588c69eda58b9202676ec7ca11a72c3762819b46a0ed72462c769846153c447c","affectsGlobalScope":true},"ae064ed4f855716b7ff348639ddcd6a6d354a72fae82f506608a7dc9266aa24c","92f019c55b21c939616f6a48f678e714ac7b109444cbbf23ad69310ce66ecbdc","0eb4ba769e8881dc8cf1fb77c059eb9e3ed8a4ebe70a19a0f2055b68fda68c60","56e6722c6013609b3e5e6ed4a8a7e01f41da6c5e3d6f0ecff3d09ef7a81414cf","3924e8b900c717cb4ddf663d996e0bc0918f01b2c2e8dccaa94e59a8ae6912ec","f614c3f61e46ccc2cb58702d5a158338ea57ee09099fde5db4cfc63ed0ce4d74","44e42ed6ec9c4451ebe89524e80ac8564e9dd0988c56e6c58f393c810730595d","d79fda68cbfb361c4ee9cd9ea169babb65887534d64017726cd01f54783d20a5","155865f5f76db0996cd5e20cc5760613ea170ee5ad594c1f3d76fcaa05382161","e92852d673c836fc64e10c38640abcd67c463456e5df55723ac699b8e6ab3a8a","4455c78d226d061b1203c7614c6c6eb5f4f9db5f00d44ff47d0112de8766fbc4",{"version":"ec369bb9d97c4dc09dd2a4093b7ca3ba69ad284831fccac8a1977785e9e38ce5","affectsGlobalScope":true},"4465a636f5f6e9665a90e30691862c9e0a3ac2edc0e66296704f10865e924f2a","9af781f03d44f5635ed7844be0ce370d9d595d4b4ec67cad88f0fac03255257e","f9fd4c3ef6de27fa0e256f4e75b61711c4be05a3399f7714621d3edc832e36b0","e49290b7a927995c0d7e6b2b9c8296284b68a9036d9966531de65185269258d7","c3689f70ce7563c2299f2dcb3c72efdf6f87ae510e7456fa6223c767d0ca99fc","874ca809b79276460011480a2829f4c8d4db29416dd411f71efbf8f497f0ac09","6c903bceaf3f3bc04f2d4c7dcd89ce9fb148b3ba0a5f5408d8f6de2b7eecc7ea","504d049d9e550a65466b73ca39da6469ab41786074ea1d16d37c8853f9f6ab2e","23a28f834a078986bbf58f4e3705956983ff81c3c2493f3db3e5f0e8a9507779","4febdf7f3ec92706c58e0b4e8159cd6de718284ef384260b07c9641c13fc70ce",{"version":"eabefc2999c1489cf870e0c85af908900462fa245822d9a4616780a1a129945d","affectsGlobalScope":true},"7335933d9f30dcfd2c4b6080a8b78e81912a7fcefb1dafccb67ca4cb4b3ac23d","a6bfe9de9adef749010c118104b071d14943802ff0614732b47ce4f1c3e383cd","4c3d0e10396646db4a1e917fb852077ee77ae62e512913bef9cccc2bb0f8bd0e","3b220849d58140dcc6718f5b52dcd29fdb79c45bc28f561cbd29eb1cac6cce13","0ee22fce41f7417a24c808d266e91b850629113c104713a35854393d55994beb","22d1b1d965baba05766613e2e6c753bb005d4386c448cafd72c309ba689e8c24",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"01c93adfc4c6555c559e7334b6b5f45b48c9e1f809144822088e45ba13e36d9f","8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","760cb9b76ab53a2f704ee0e731e162bcfc6af609f5e400a668efe2cc7923e4f4","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","7ec238b220ea991b6643e24191b1f552a65956d5f6de4c6144e700b9985265d8","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","dae3d1adc67ac3dbd1cd471889301339ec439837b5df565982345be20c8fca9a","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","dd6a4b050f1016c0318291b42c98ab068e07e208b1ae8e4e27167c2b8007406f","bf6148950ca5307411c2ae98561f3b845c8cd31c330e731a6822bf52ff757bf6","fec943fdb3275eb6e006b35e04a8e2e99e9adf3f4b969ddf15315ac7575a93e4","cab425b5559edac18327eb2c3c0f47e7e9f71b667290b7689faafd28aac69eae","3cfb0cb51cc2c2e1b313d7c4df04dbf7e5bda0a133c6b309bf6af77cf614b971","f992cd6cc0bcbaa4e6c810468c90f2d8595f8c6c3cf050c806397d3de8585562","2733d9c68999f6fb4a8e853f4266b40b1e91ef7ae97a35d82014a732f9f3584b","f5d81560bfe80aa653ec60c6a72e68e5ffd60b5e894aef7a46dec316c2a7b9e7",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"946bd1737d9412395a8f24414c70f18660b84a75a12b0b448e6eb1a2161d06dd","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","c84d0f714fe122193c21c0f0917e873beb3a03fa3422ceb2fbd1ebc0558790a0","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","3e4001643b64a3a4722718c5a778ae73f3dd43487e39508ce2f9dd7cfb1d40b7","b90c23a457c16f77a282531a5caba5c911d2252eb097f3193a8ee2df6a3f21a2","8f9aa0f1f409380d4dbd5c9f5f2e4af828e123095891dd0efc5bb999f8d1a301","bdab62a006260d5fd3c623f0b635140bf48d7a8f87f0eeca5fb188b5ac66770f","c0dd6b46374a90bbb701cc4888a9d6b698a479a2acce11969c5583ba6127f5d5","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","6eef5113135a0f2bbac8259909a5bbb7666bcde022c28f4ab95145623cbe1f72","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","6aee496bf0ecfbf6731aa8cca32f4b6e92cdc0a444911a7d88410408a45ecc5d","b9afcdd9563bae8409d0ce97db6f60c1f8455dfab79fc8dc89d7b793ba8479a2","2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579","ce99fd4b37ce2dbf9adfc06c1722271c926adb408b1f6413763ae9253d922823","d5c21c0fd9ecf84a785a6bd290931d7672132778cd6ef6e827ab7dc2c4426ac5"],"options":{"emitDeclarationOnly":false,"importHelpers":true,"inlineSources":true,"module":99,"noEmitHelpers":true,"skipLibCheck":true,"sourceMap":true},"fileIdsList":[[79],[79,80,81,82,83],[79,81],[85],[46,49,69,77,87,88,89],[63,77],[93,94,95],[46,77],[34],[36],[37,42],[38,46,47,54,63],[38,39,46,54],[40,70],[41,42,47,55],[42,63],[43,44,46,54],[44],[45,46],[46],[46,47,48,63,69],[47,48],[49,54,63,69],[46,47,49,50,54,63,66,69],[49,51,63,66,69],[34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],[46,52],[53,69],[44,46,54,63],[55],[56],[36,57],[58,68],[59],[60],[46,61],[61,62,70,72],[46,63],[64],[65],[54,63,66],[67],[54,68],[60,69],[70],[63,71],[72],[73],[46,48,63,69,72,74],[63,75],[104],[101,102,103],[49,63,77],[106,145],[106,130,145],[145],[106],[106,131,145],[106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144],[131,145],[147]],"referencedMap":[[81,1],[84,2],[80,1],[82,3],[83,1],[86,4],[90,5],[91,6],[96,7],[87,8],[34,9],[36,10],[37,11],[38,12],[39,13],[40,14],[41,15],[42,16],[43,17],[44,18],[45,19],[46,20],[47,21],[48,22],[49,23],[50,24],[51,25],[77,26],[52,27],[53,28],[54,29],[55,30],[56,31],[57,32],[58,33],[59,34],[60,35],[61,36],[62,37],[63,38],[64,39],[65,40],[66,41],[67,42],[68,43],[69,44],[70,45],[71,46],[72,47],[73,48],[74,49],[75,50],[105,51],[104,52],[89,53],[130,54],[131,55],[106,56],[109,56],[128,54],[129,54],[119,54],[118,57],[116,54],[111,54],[124,54],[122,54],[126,54],[110,54],[123,54],[127,54],[112,54],[113,54],[125,54],[107,54],[114,54],[115,54],[117,54],[121,54],[132,58],[120,54],[108,54],[145,59],[139,58],[141,60],[140,58],[133,58],[134,58],[136,58],[138,58],[142,60],[143,60],[135,60],[137,60],[148,61]],"exportedModulesMap":[[81,1],[84,2],[80,1],[82,3],[83,1],[86,4],[90,5],[91,6],[96,7],[87,8],[34,9],[36,10],[37,11],[38,12],[39,13],[40,14],[41,15],[42,16],[43,17],[44,18],[45,19],[46,20],[47,21],[48,22],[49,23],[50,24],[51,25],[77,26],[52,27],[53,28],[54,29],[55,30],[56,31],[57,32],[58,33],[59,34],[60,35],[61,36],[62,37],[63,38],[64,39],[65,40],[66,41],[67,42],[68,43],[69,44],[70,45],[71,46],[72,47],[73,48],[74,49],[75,50],[105,51],[104,52],[89,53],[130,54],[131,55],[106,56],[109,56],[128,54],[129,54],[119,54],[118,57],[116,54],[111,54],[124,54],[122,54],[126,54],[110,54],[123,54],[127,54],[112,54],[113,54],[125,54],[107,54],[114,54],[115,54],[117,54],[121,54],[132,58],[120,54],[108,54],[145,59],[139,58],[141,60],[140,58],[133,58],[134,58],[136,58],[138,58],[142,60],[143,60],[135,60],[137,60],[148,61]],"semanticDiagnosticsPerFile":[81,79,84,80,82,83,86,90,91,92,93,96,94,88,95,97,87,98,34,36,37,38,39,40,41,42,43,44,45,46,47,48,35,76,49,50,51,77,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,99,100,105,101,102,104,103,78,89,130,131,106,109,128,129,119,118,116,111,124,122,126,110,123,127,112,113,125,107,114,115,117,121,132,120,108,145,144,139,141,140,133,134,136,138,142,143,135,137,146,148,149,85,147,1,7,11,10,3,12,13,14,15,16,17,18,19,4,5,23,20,21,22,24,25,26,6,27,28,29,30,31,2,32,9,8,33]},"version":"4.8.4"} \ No newline at end of file +{"program":{"fileNames":["../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es5.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2016.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.dom.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.scripthost.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.esnext.intl.d.ts","./main.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/assert.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/globals.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/async_hooks.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/buffer.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/child_process.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/cluster.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/console.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/constants.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/crypto.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/dgram.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/dns.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/domain.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/events.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/fs.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/fs/promises.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/http.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/http2.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/https.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/inspector.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/module.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/net.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/os.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/path.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/perf_hooks.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/process.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/punycode.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/querystring.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/readline.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/repl.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/stream.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/string_decoder.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/timers.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/tls.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/trace_events.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/tty.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/url.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/util.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/v8.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/vm.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/wasi.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/worker_threads.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/zlib.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/globals.global.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/index.d.ts","../../../../../node_modules/.pnpm/@types+resolve@1.20.2/node_modules/@types/resolve/index.d.ts","../../../../../node_modules/.pnpm/@babel+types@7.19.4/node_modules/@babel/types/lib/index.d.ts","../../../../../node_modules/.pnpm/@types+babel__generator@7.6.4/node_modules/@types/babel__generator/index.d.ts","../../../../../node_modules/.pnpm/@babel+parser@7.19.4/node_modules/@babel/parser/typings/babel-parser.d.ts","../../../../../node_modules/.pnpm/@types+babel__template@7.4.1/node_modules/@types/babel__template/index.d.ts","../../../../../node_modules/.pnpm/@types+babel__traverse@7.18.2/node_modules/@types/babel__traverse/index.d.ts","../../../../../node_modules/.pnpm/@types+babel__core@7.1.19/node_modules/@types/babel__core/index.d.ts","../../../../../node_modules/.pnpm/magic-string@0.25.9/node_modules/magic-string/index.d.ts","../../../../../node_modules/.pnpm/@types+buble@0.19.2/node_modules/@types/buble/index.d.ts","../../../../../node_modules/.pnpm/@types+keyv@3.1.4/node_modules/@types/keyv/index.d.ts","../../../../../node_modules/.pnpm/@types+http-cache-semantics@4.0.1/node_modules/@types/http-cache-semantics/index.d.ts","../../../../../node_modules/.pnpm/@types+responselike@1.0.0/node_modules/@types/responselike/index.d.ts","../../../../../node_modules/.pnpm/@types+cacheable-request@6.0.2/node_modules/@types/cacheable-request/index.d.ts","../../../../../node_modules/.pnpm/@types+d3-dsv@3.0.0/node_modules/@types/d3-dsv/index.d.ts","../../../../../node_modules/.pnpm/@types+eslint@8.4.6/node_modules/@types/eslint/helpers.d.ts","../../../../../node_modules/.pnpm/@types+estree@1.0.0/node_modules/@types/estree/index.d.ts","../../../../../node_modules/.pnpm/@types+json-schema@7.0.11/node_modules/@types/json-schema/index.d.ts","../../../../../node_modules/.pnpm/@types+eslint@8.4.6/node_modules/@types/eslint/index.d.ts","../../../../../node_modules/.pnpm/@types+json5@0.0.29/node_modules/@types/json5/index.d.ts","../../../../../node_modules/.pnpm/@types+minimist@1.2.2/node_modules/@types/minimist/index.d.ts","../../../../../node_modules/.pnpm/@types+normalize-package-data@2.4.1/node_modules/@types/normalize-package-data/index.d.ts","../../../../../node_modules/.pnpm/@types+parse-json@4.0.0/node_modules/@types/parse-json/index.d.ts","../../../../../node_modules/.pnpm/@types+picomatch@2.3.0/node_modules/@types/picomatch/lib/constants.d.ts","../../../../../node_modules/.pnpm/@types+picomatch@2.3.0/node_modules/@types/picomatch/lib/parse.d.ts","../../../../../node_modules/.pnpm/@types+picomatch@2.3.0/node_modules/@types/picomatch/lib/scan.d.ts","../../../../../node_modules/.pnpm/@types+picomatch@2.3.0/node_modules/@types/picomatch/lib/picomatch.d.ts","../../../../../node_modules/.pnpm/@types+picomatch@2.3.0/node_modules/@types/picomatch/index.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/classes/semver.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/parse.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/valid.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/clean.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/inc.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/diff.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/major.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/minor.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/patch.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/prerelease.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/compare.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/rcompare.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/compare-loose.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/compare-build.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/sort.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/rsort.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/gt.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/lt.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/eq.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/neq.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/gte.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/lte.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/cmp.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/coerce.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/classes/comparator.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/classes/range.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/satisfies.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/to-comparators.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/min-version.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/valid.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/outside.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/gtr.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/ltr.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/intersects.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/simplify.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/subset.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/internals/identifiers.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/index.d.ts","../../../../../node_modules/.pnpm/@types+serialize-javascript@5.0.2/node_modules/@types/serialize-javascript/index.d.ts","../../../../../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/source-map.d.ts","../../../../../node_modules/.pnpm/@types+source-map-support@0.5.6/node_modules/@types/source-map-support/index.d.ts"],"fileInfos":["2dc8c927c9c162a773c6bb3cdc4f3286c23f10eedc67414028f9cb5951610f60",{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06",{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"dc13372d005136feb44d8fa670d0a80d674b3964fe29dc30e693c9836c997006","affectsGlobalScope":true},"4c2c4f53e8eedd970f8afa369d7371544fb6231bf95e659f8602e09abe74d5a5",{"version":"32ddf2b046fa7269050f64a87f1f3d2db10b92ad6302460681915af1207b1222","affectsGlobalScope":true},"c2b5085f47e41d6940bbc5b0d3bd7cc0037c752efb18aecd243c9cf83ad0c0b7","3143a5add0467b83150961ecd33773b561a1207aec727002aa1d70333068eb1b","9b2a8f604e7c0482a9061755f00b287cc99bd8718dc82d8207dd74c599b6dc43","d0fc76a91c828fbe3f0be5d683273634b7b101068333ceed975a8a9ac464137b",{"version":"1a048ff164b8d9609f5de3139d4e37f6e8a82af82087ac414b9208f52ef8aac7","affectsGlobalScope":true},"3111079f3cb5f2b9c812ca3f46161562bce5bfb355e915f46ed46c41714dc1c3","db86f82fac051ae344b47e8fe7ac7990174b41db79b2b220a49dc5a47c71a9b5","b32b6b16cb0bda68199582ad6f22242d07ee75fac9b1f28a98cd838afc5eea45","4441ee4119824bfaebc49308559edd7545978f9cb41a40f115074e1031dde75f",{"version":"60693a88462d0e97900123b5bf7c73e146ce0cc94da46a61fe6775b430d2ff05","affectsGlobalScope":true},{"version":"588c69eda58b9202676ec7ca11a72c3762819b46a0ed72462c769846153c447c","affectsGlobalScope":true},"ae064ed4f855716b7ff348639ddcd6a6d354a72fae82f506608a7dc9266aa24c","92f019c55b21c939616f6a48f678e714ac7b109444cbbf23ad69310ce66ecbdc","0eb4ba769e8881dc8cf1fb77c059eb9e3ed8a4ebe70a19a0f2055b68fda68c60","56e6722c6013609b3e5e6ed4a8a7e01f41da6c5e3d6f0ecff3d09ef7a81414cf","3924e8b900c717cb4ddf663d996e0bc0918f01b2c2e8dccaa94e59a8ae6912ec","f614c3f61e46ccc2cb58702d5a158338ea57ee09099fde5db4cfc63ed0ce4d74","44e42ed6ec9c4451ebe89524e80ac8564e9dd0988c56e6c58f393c810730595d","d79fda68cbfb361c4ee9cd9ea169babb65887534d64017726cd01f54783d20a5","155865f5f76db0996cd5e20cc5760613ea170ee5ad594c1f3d76fcaa05382161","e92852d673c836fc64e10c38640abcd67c463456e5df55723ac699b8e6ab3a8a","4455c78d226d061b1203c7614c6c6eb5f4f9db5f00d44ff47d0112de8766fbc4",{"version":"ec369bb9d97c4dc09dd2a4093b7ca3ba69ad284831fccac8a1977785e9e38ce5","affectsGlobalScope":true},"4465a636f5f6e9665a90e30691862c9e0a3ac2edc0e66296704f10865e924f2a","9af781f03d44f5635ed7844be0ce370d9d595d4b4ec67cad88f0fac03255257e","f9fd4c3ef6de27fa0e256f4e75b61711c4be05a3399f7714621d3edc832e36b0","e49290b7a927995c0d7e6b2b9c8296284b68a9036d9966531de65185269258d7","c3689f70ce7563c2299f2dcb3c72efdf6f87ae510e7456fa6223c767d0ca99fc","874ca809b79276460011480a2829f4c8d4db29416dd411f71efbf8f497f0ac09","6c903bceaf3f3bc04f2d4c7dcd89ce9fb148b3ba0a5f5408d8f6de2b7eecc7ea","504d049d9e550a65466b73ca39da6469ab41786074ea1d16d37c8853f9f6ab2e","23a28f834a078986bbf58f4e3705956983ff81c3c2493f3db3e5f0e8a9507779","4febdf7f3ec92706c58e0b4e8159cd6de718284ef384260b07c9641c13fc70ce",{"version":"eabefc2999c1489cf870e0c85af908900462fa245822d9a4616780a1a129945d","affectsGlobalScope":true},"7335933d9f30dcfd2c4b6080a8b78e81912a7fcefb1dafccb67ca4cb4b3ac23d","a6bfe9de9adef749010c118104b071d14943802ff0614732b47ce4f1c3e383cd","4c3d0e10396646db4a1e917fb852077ee77ae62e512913bef9cccc2bb0f8bd0e","3b220849d58140dcc6718f5b52dcd29fdb79c45bc28f561cbd29eb1cac6cce13","0ee22fce41f7417a24c808d266e91b850629113c104713a35854393d55994beb","22d1b1d965baba05766613e2e6c753bb005d4386c448cafd72c309ba689e8c24",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"01c93adfc4c6555c559e7334b6b5f45b48c9e1f809144822088e45ba13e36d9f","8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","760cb9b76ab53a2f704ee0e731e162bcfc6af609f5e400a668efe2cc7923e4f4","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","7ec238b220ea991b6643e24191b1f552a65956d5f6de4c6144e700b9985265d8","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","dae3d1adc67ac3dbd1cd471889301339ec439837b5df565982345be20c8fca9a","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","dd6a4b050f1016c0318291b42c98ab068e07e208b1ae8e4e27167c2b8007406f","bf6148950ca5307411c2ae98561f3b845c8cd31c330e731a6822bf52ff757bf6","fec943fdb3275eb6e006b35e04a8e2e99e9adf3f4b969ddf15315ac7575a93e4","cab425b5559edac18327eb2c3c0f47e7e9f71b667290b7689faafd28aac69eae","3cfb0cb51cc2c2e1b313d7c4df04dbf7e5bda0a133c6b309bf6af77cf614b971","f992cd6cc0bcbaa4e6c810468c90f2d8595f8c6c3cf050c806397d3de8585562","f5d81560bfe80aa653ec60c6a72e68e5ffd60b5e894aef7a46dec316c2a7b9e7",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"946bd1737d9412395a8f24414c70f18660b84a75a12b0b448e6eb1a2161d06dd","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","c84d0f714fe122193c21c0f0917e873beb3a03fa3422ceb2fbd1ebc0558790a0","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","3e4001643b64a3a4722718c5a778ae73f3dd43487e39508ce2f9dd7cfb1d40b7","b90c23a457c16f77a282531a5caba5c911d2252eb097f3193a8ee2df6a3f21a2","8f9aa0f1f409380d4dbd5c9f5f2e4af828e123095891dd0efc5bb999f8d1a301","bdab62a006260d5fd3c623f0b635140bf48d7a8f87f0eeca5fb188b5ac66770f","c0dd6b46374a90bbb701cc4888a9d6b698a479a2acce11969c5583ba6127f5d5","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","6eef5113135a0f2bbac8259909a5bbb7666bcde022c28f4ab95145623cbe1f72","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","6aee496bf0ecfbf6731aa8cca32f4b6e92cdc0a444911a7d88410408a45ecc5d","b9afcdd9563bae8409d0ce97db6f60c1f8455dfab79fc8dc89d7b793ba8479a2","2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579","ce99fd4b37ce2dbf9adfc06c1722271c926adb408b1f6413763ae9253d922823"],"options":{"emitDeclarationOnly":false,"importHelpers":true,"inlineSources":true,"module":99,"noEmitHelpers":true,"skipLibCheck":true,"sourceMap":true},"fileIdsList":[[79],[79,80,81,82,83],[79,81],[85],[46,49,69,77,87,88,89],[92,93,94],[46,77],[34],[36],[37,42],[38,46,47,54,63],[38,39,46,54],[40,70],[41,42,47,55],[42,63],[43,44,46,54],[44],[45,46],[46],[46,47,48,63,69],[47,48],[49,54,63,69],[46,47,49,50,54,63,66,69],[49,51,63,66,69],[34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],[46,52],[53,69],[44,46,54,63],[55],[56],[36,57],[58,68],[59],[60],[46,61],[61,62,70,72],[46,63],[64],[65],[54,63,66],[67],[54,68],[60,69],[70],[63,71],[72],[73],[46,48,63,69,72,74],[63,75],[103],[100,101,102],[49,63,77],[105,144],[105,129,144],[144],[105],[105,130,144],[105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143],[130,144],[146]],"referencedMap":[[81,1],[84,2],[80,1],[82,3],[83,1],[86,4],[90,5],[95,6],[87,7],[34,8],[36,9],[37,10],[38,11],[39,12],[40,13],[41,14],[42,15],[43,16],[44,17],[45,18],[46,19],[47,20],[48,21],[49,22],[50,23],[51,24],[77,25],[52,26],[53,27],[54,28],[55,29],[56,30],[57,31],[58,32],[59,33],[60,34],[61,35],[62,36],[63,37],[64,38],[65,39],[66,40],[67,41],[68,42],[69,43],[70,44],[71,45],[72,46],[73,47],[74,48],[75,49],[104,50],[103,51],[89,52],[129,53],[130,54],[105,55],[108,55],[127,53],[128,53],[118,53],[117,56],[115,53],[110,53],[123,53],[121,53],[125,53],[109,53],[122,53],[126,53],[111,53],[112,53],[124,53],[106,53],[113,53],[114,53],[116,53],[120,53],[131,57],[119,53],[107,53],[144,58],[138,57],[140,59],[139,57],[132,57],[133,57],[135,57],[137,57],[141,59],[142,59],[134,59],[136,59],[147,60]],"exportedModulesMap":[[81,1],[84,2],[80,1],[82,3],[83,1],[86,4],[90,5],[95,6],[87,7],[34,8],[36,9],[37,10],[38,11],[39,12],[40,13],[41,14],[42,15],[43,16],[44,17],[45,18],[46,19],[47,20],[48,21],[49,22],[50,23],[51,24],[77,25],[52,26],[53,27],[54,28],[55,29],[56,30],[57,31],[58,32],[59,33],[60,34],[61,35],[62,36],[63,37],[64,38],[65,39],[66,40],[67,41],[68,42],[69,43],[70,44],[71,45],[72,46],[73,47],[74,48],[75,49],[104,50],[103,51],[89,52],[129,53],[130,54],[105,55],[108,55],[127,53],[128,53],[118,53],[117,56],[115,53],[110,53],[123,53],[121,53],[125,53],[109,53],[122,53],[126,53],[111,53],[112,53],[124,53],[106,53],[113,53],[114,53],[116,53],[120,53],[131,57],[119,53],[107,53],[144,58],[138,57],[140,59],[139,57],[132,57],[133,57],[135,57],[137,57],[141,59],[142,59],[134,59],[136,59],[147,60]],"semanticDiagnosticsPerFile":[81,79,84,80,82,83,86,90,91,92,95,93,88,94,96,87,97,34,36,37,38,39,40,41,42,43,44,45,46,47,48,35,76,49,50,51,77,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,98,99,104,100,101,103,102,78,89,129,130,105,108,127,128,118,117,115,110,123,121,125,109,122,126,111,112,124,106,113,114,116,120,131,119,107,144,143,138,140,139,132,133,135,137,141,142,134,136,145,147,85,146,1,7,11,10,3,12,13,14,15,16,17,18,19,4,5,23,20,21,22,24,25,26,6,27,28,29,30,31,2,32,9,8,33]},"version":"4.8.4"} \ No newline at end of file diff --git a/packages/typescript/test/fixtures/incremental-watch-off/main.ts b/packages/typescript/test/fixtures/incremental-watch-off/main.ts index 9ccd4a12d..030ec54f0 100644 --- a/packages/typescript/test/fixtures/incremental-watch-off/main.ts +++ b/packages/typescript/test/fixtures/incremental-watch-off/main.ts @@ -4,3 +4,5 @@ const answer: AnswerToQuestion = '42'; // eslint-disable-next-line no-console console.log(`the answer is ${answer}`); + +export const REBUILD_WITH_WATCH_OFF = 1; \ No newline at end of file From 2c09b57a32f717e23e2d2c9bacf1be5c556325e5 Mon Sep 17 00:00:00 2001 From: Marcel Mundl <3000678+Haringat@users.noreply.github.com> Date: Mon, 23 Sep 2024 01:45:13 +0200 Subject: [PATCH 49/50] feat(typescript): add transformers factory. (#1668) feat(typescript): add transformers factory --- packages/typescript/README.md | 44 +++++++- packages/typescript/src/moduleResolution.ts | 4 +- packages/typescript/src/options/tsconfig.ts | 7 +- packages/typescript/src/watchProgram.ts | 32 ++++-- packages/typescript/test/test.js | 113 ++++++++++++++++++++ packages/typescript/types/index.d.ts | 2 +- 6 files changed, 188 insertions(+), 14 deletions(-) diff --git a/packages/typescript/README.md b/packages/typescript/README.md index 8350f9aa8..340f5cd3b 100644 --- a/packages/typescript/README.md +++ b/packages/typescript/README.md @@ -125,7 +125,7 @@ typescript({ ### `transformers` -Type: `{ [before | after | afterDeclarations]: TransformerFactory[] }`
+Type: `{ [before | after | afterDeclarations]: TransformerFactory[] } | ((program: ts.Program) => ts.CustomTransformers)`
Default: `undefined` Allows registration of TypeScript custom transformers at any of the supported stages: @@ -199,6 +199,48 @@ typescript({ }); ``` +Alternatively, the transformers can be created inside a factory. + +Supported transformer factories: + +- all **built-in** TypeScript custom transformer factories: + + - `import('typescript').TransformerFactory` annotated **TransformerFactory** bellow + - `import('typescript').CustomTransformerFactory` annotated **CustomTransformerFactory** bellow + +The example above could be written like this: + +```js +typescript({ + transformers: function (program) { + return { + before: [ + ProgramRequiringTransformerFactory(program), + TypeCheckerRequiringTransformerFactory(program.getTypeChecker()) + ], + after: [ + // You can use normal transformers directly + require('custom-transformer-based-on-Context') + ], + afterDeclarations: [ + // Or even define in place + function fixDeclarationFactory(context) { + return function fixDeclaration(source) { + function visitor(node) { + // Do real work here + + return ts.visitEachChild(node, visitor, context); + } + + return ts.visitEachChild(source, visitor, context); + }; + } + ] + }; + } +}); +``` + ### `cacheDir` Type: `String`
diff --git a/packages/typescript/src/moduleResolution.ts b/packages/typescript/src/moduleResolution.ts index 97aa01e79..779e0304a 100644 --- a/packages/typescript/src/moduleResolution.ts +++ b/packages/typescript/src/moduleResolution.ts @@ -20,7 +20,9 @@ export type Resolver = ( /** * Create a helper for resolving modules using Typescript. - * @param host Typescript host that extends `ModuleResolutionHost` + * @param ts custom typescript implementation + * @param host Typescript host that extends {@link ModuleResolutionHost} + * @param filter * with methods for sanitizing filenames and getting compiler options. */ export default function createModuleResolver( diff --git a/packages/typescript/src/options/tsconfig.ts b/packages/typescript/src/options/tsconfig.ts index 74d04ee9c..4ebc12675 100644 --- a/packages/typescript/src/options/tsconfig.ts +++ b/packages/typescript/src/options/tsconfig.ts @@ -45,6 +45,7 @@ function makeForcedCompilerOptions(noForceEmit: boolean) { /** * Finds the path to the tsconfig file relative to the current working directory. + * @param ts Custom typescript implementation * @param relativePath Relative tsconfig path given by the user. * If `false` is passed, then a null path is returned. * @returns The absolute path, or null if the file does not exist. @@ -69,9 +70,8 @@ function getTsConfigPath(ts: typeof typescript, relativePath?: string | false) { /** * Tries to read the tsconfig file at `tsConfigPath`. + * @param ts Custom typescript implementation * @param tsConfigPath Absolute path to tsconfig JSON file. - * @param explicitPath If true, the path was set by the plugin user. - * If false, the path was computed automatically. */ function readTsConfigFile(ts: typeof typescript, tsConfigPath: string) { const { config, error } = ts.readConfigFile(tsConfigPath, (path) => readFileSync(path, 'utf8')); @@ -122,13 +122,14 @@ function setModuleResolutionKind(parsedConfig: ParsedCommandLine): ParsedCommand }; } -const configCache = new Map() as typescript.Map; +const configCache = new Map() as typescript.ESMap; /** * Parse the Typescript config to use with the plugin. * @param ts Typescript library instance. * @param tsconfig Path to the tsconfig file, or `false` to ignore the file. * @param compilerOptions Options passed to the plugin directly for Typescript. + * @param noForceEmit Whether to respect emit options from {@link tsconfig} * * @returns Parsed tsconfig.json file with some important properties: * - `options`: Parsed compiler options. diff --git a/packages/typescript/src/watchProgram.ts b/packages/typescript/src/watchProgram.ts index 07bf25d18..9ad50f647 100644 --- a/packages/typescript/src/watchProgram.ts +++ b/packages/typescript/src/watchProgram.ts @@ -1,9 +1,11 @@ import type { PluginContext } from 'rollup'; import typescript from 'typescript'; import type { + CustomTransformers, Diagnostic, EmitAndSemanticDiagnosticsBuilderProgram, ParsedCommandLine, + Program, WatchCompilerHostOfFilesAndCompilerOptions, WatchStatusReporter, WriteFileCallback @@ -39,7 +41,7 @@ interface CreateProgramOptions { /** Function to resolve a module location */ resolveModule: Resolver; /** Custom TypeScript transformers */ - transformers?: CustomTransformerFactories; + transformers?: CustomTransformerFactories | ((program: Program) => CustomTransformers); } type DeferredResolve = ((value: boolean | PromiseLike) => void) | (() => void); @@ -155,22 +157,36 @@ function createWatchHost( parsedOptions.projectReferences ); + let createdTransformers: CustomTransformers | undefined; return { ...baseHost, /** Override the created program so an in-memory emit is used */ afterProgramCreate(program) { const origEmit = program.emit; // eslint-disable-next-line no-param-reassign - program.emit = (targetSourceFile, _, ...args) => - origEmit( + program.emit = ( + targetSourceFile, + _, + cancellationToken, + emitOnlyDtsFiles, + customTransformers + ) => { + createdTransformers ??= + typeof transformers === 'function' + ? transformers(program.getProgram()) + : mergeTransformers( + program, + transformers, + customTransformers as CustomTransformerFactories + ); + return origEmit( targetSourceFile, writeFile, - // cancellationToken - args[0], - // emitOnlyDtsFiles - args[1], - mergeTransformers(program, transformers, args[2] as CustomTransformerFactories) + cancellationToken, + emitOnlyDtsFiles, + createdTransformers ); + }; return baseHost.afterProgramCreate!(program); }, diff --git a/packages/typescript/test/test.js b/packages/typescript/test/test.js index d5ac91086..efed9b397 100644 --- a/packages/typescript/test/test.js +++ b/packages/typescript/test/test.js @@ -1264,6 +1264,119 @@ test('supports custom transformers', async (t) => { ); }); +test('supports passing a custom transformers factory', async (t) => { + const warnings = []; + + let program = null; + let typeChecker = null; + + const bundle = await rollup({ + input: 'fixtures/transformers/main.ts', + plugins: [ + typescript({ + tsconfig: 'fixtures/transformers/tsconfig.json', + outDir: 'fixtures/transformers/dist', + declaration: true, + transformers: (p) => { + program = p; + typeChecker = p.getTypeChecker(); + return { + before: [ + function removeOneParameterFactory(context) { + return function removeOneParameter(source) { + function visitor(node) { + if (ts.isArrowFunction(node)) { + return ts.factory.createArrowFunction( + node.modifiers, + node.typeParameters, + [node.parameters[0]], + node.type, + node.equalsGreaterThanToken, + node.body + ); + } + + return ts.visitEachChild(node, visitor, context); + } + + return ts.visitEachChild(source, visitor, context); + }; + } + ], + after: [ + // Enforce a constant numeric output + function enforceConstantReturnFactory(context) { + return function enforceConstantReturn(source) { + function visitor(node) { + if (ts.isReturnStatement(node)) { + return ts.factory.createReturnStatement(ts.factory.createNumericLiteral('1')); + } + + return ts.visitEachChild(node, visitor, context); + } + + return ts.visitEachChild(source, visitor, context); + }; + } + ], + afterDeclarations: [ + // Change the return type to numeric + function fixDeclarationFactory(context) { + return function fixDeclaration(source) { + function visitor(node) { + if (ts.isFunctionTypeNode(node)) { + return ts.factory.createFunctionTypeNode( + node.typeParameters, + [node.parameters[0]], + ts.factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword) + ); + } + + return ts.visitEachChild(node, visitor, context); + } + + return ts.visitEachChild(source, visitor, context); + }; + } + ] + }; + } + }) + ], + onwarn(warning) { + warnings.push(warning); + } + }); + + const output = await getCode(bundle, { format: 'esm', dir: 'fixtures/transformers' }, true); + + t.is(warnings.length, 0); + t.deepEqual( + output.map((out) => out.fileName), + ['main.js', 'dist/main.d.ts'] + ); + + // Expect the function to have one less arguments from before transformer and return 1 from after transformer + t.true(output[0].code.includes('var HashFn = function (val) { return 1; };'), output[0].code); + + // Expect the definition file to reflect the resulting function type after transformer modifications + t.true( + output[1].source.includes('export declare const HashFn: (val: string) => number;'), + output[1].source + ); + + // Expect a Program to have been forwarded for transformers with custom factories requesting one + t.deepEqual(program && program.emit && typeof program.emit === 'function', true); + + // Expect a TypeChecker to have been forwarded for transformers with custom factories requesting one + t.deepEqual( + typeChecker && + typeChecker.getTypeAtLocation && + typeof typeChecker.getTypeAtLocation === 'function', + true + ); +}); + // This test randomly fails with a segfault directly at the first "await waitForWatcherEvent" before any event occurred. // Skipping it until we can figure out what the cause is. test.serial.skip('picks up on newly included typescript files in watch mode', async (t) => { diff --git a/packages/typescript/types/index.d.ts b/packages/typescript/types/index.d.ts index 6d4a30f00..4db1c5d06 100644 --- a/packages/typescript/types/index.d.ts +++ b/packages/typescript/types/index.d.ts @@ -75,7 +75,7 @@ export interface RollupTypescriptPluginOptions { /** * TypeScript custom transformers */ - transformers?: CustomTransformerFactories; + transformers?: CustomTransformerFactories | ((program: Program) => CustomTransformers); /** * When set to false, force non-cached files to always be emitted in the output directory.output * If not set, will default to true with a warning. From 28b970103133709966efea0aec24baa63f85355f Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Sun, 22 Sep 2024 23:47:27 +0000 Subject: [PATCH 50/50] chore(release): typescript v12.1.0 --- packages/typescript/CHANGELOG.md | 8 ++++++++ packages/typescript/package.json | 2 +- .../test/fixtures/incremental-watch-off/main.ts | 2 -- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/typescript/CHANGELOG.md b/packages/typescript/CHANGELOG.md index 43a80744d..e37cd8d34 100644 --- a/packages/typescript/CHANGELOG.md +++ b/packages/typescript/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-typescript ChangeLog +## v12.1.0 + +_2024-09-22_ + +### Features + +- feat: add transformers factory. (#1668) + ## v12.0.0 _2024-09-22_ diff --git a/packages/typescript/package.json b/packages/typescript/package.json index dd334cc9e..3504f38e3 100644 --- a/packages/typescript/package.json +++ b/packages/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-typescript", - "version": "12.0.0", + "version": "12.1.0", "publishConfig": { "access": "public" }, diff --git a/packages/typescript/test/fixtures/incremental-watch-off/main.ts b/packages/typescript/test/fixtures/incremental-watch-off/main.ts index 030ec54f0..9ccd4a12d 100644 --- a/packages/typescript/test/fixtures/incremental-watch-off/main.ts +++ b/packages/typescript/test/fixtures/incremental-watch-off/main.ts @@ -4,5 +4,3 @@ const answer: AnswerToQuestion = '42'; // eslint-disable-next-line no-console console.log(`the answer is ${answer}`); - -export const REBUILD_WITH_WATCH_OFF = 1; \ No newline at end of file