diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 28caacb3b..be17a0cc9 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -36,10 +36,12 @@ List any relevant issue numbers: diff --git a/.github/workflows/build-and-tests.yml b/.github/workflows/build-and-tests.yml index 25310fd32..c723626ac 100644 --- a/.github/workflows/build-and-tests.yml +++ b/.github/workflows/build-and-tests.yml @@ -59,6 +59,7 @@ jobs: fail-fast: false matrix: settings: + # WASM - host: windows-latest target: x86_64-pc-windows-msvc name: wasm @@ -81,12 +82,8 @@ jobs: path: | wasm-node/ .empty - - host: macos-latest - target: x86_64-apple-darwin - build: >- - set -e && - npm run build:napi -- --release && - strip -x *.node + + # Windows - host: windows-latest build: npm run build:napi -- --release target: x86_64-pc-windows-msvc @@ -96,6 +93,26 @@ jobs: rustup target add i686-pc-windows-msvc && npm run build:napi -- --release --target i686-pc-windows-msvc target: i686-pc-windows-msvc + - host: windows-latest + target: aarch64-pc-windows-msvc + build: npm run build:napi -- --release --target aarch64-pc-windows-msvc + + # MacOS + - host: macos-latest + target: x86_64-apple-darwin + build: >- + set -e && + npm run build:napi -- --release && + strip -x *.node + - host: macos-latest + target: aarch64-apple-darwin + build: >- + set -e && + rustup target add aarch64-apple-darwin && + npm run build:napi -- --release --target aarch64-apple-darwin && + strip -x *.node + + # Linux - host: ubuntu-latest target: x86_64-unknown-linux-gnu docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian @@ -110,13 +127,16 @@ jobs: build: >- set -e && npm run build:napi -- --release && strip *.node - - host: macos-latest - target: aarch64-apple-darwin + - host: ubuntu-latest + target: armv7-unknown-linux-gnueabihf + zig: true + setup: | + sudo apt-get update + sudo apt-get install gcc-arm-linux-gnueabihf -y build: >- set -e && - rustup target add aarch64-apple-darwin && - npm run build:napi -- --release --target aarch64-apple-darwin && - strip -x *.node + npm run build:napi -- --release --target armv7-unknown-linux-gnueabihf && + arm-linux-gnueabihf-strip *.node - host: ubuntu-latest target: aarch64-unknown-linux-gnu docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian-aarch64 @@ -128,21 +148,15 @@ jobs: npm run build:napi -- --release --target aarch64-unknown-linux-gnu && aarch64-unknown-linux-gnu-strip *.node - host: ubuntu-latest - target: armv7-unknown-linux-gnueabihf - zig: true - setup: | - sudo apt-get update - sudo apt-get install gcc-arm-linux-gnueabihf -y - build: >- - set -e && - npm run build:napi -- --release --target armv7-unknown-linux-gnueabihf && - arm-linux-gnueabihf-strip *.node - - host: ubuntu-latest - target: aarch64-linux-android + target: aarch64-unknown-linux-musl + docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine build: >- set -e && - npm run build:napi -- --release --target aarch64-linux-android && - ${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip *.node + export JEMALLOC_SYS_WITH_LG_PAGE=16 && + rustup default nightly-2023-10-05 && + rustup target add aarch64-unknown-linux-musl && + RUSTFLAGS='-C target-feature=-crt-static -C linker=aarch64-linux-musl-gcc' npm run build:napi -- --release --target aarch64-unknown-linux-musl && + /aarch64-linux-musl-cross/bin/aarch64-linux-musl-strip *.node - host: ubuntu-latest target: armv7-linux-androideabi build: >- @@ -150,18 +164,11 @@ jobs: npm run build:napi -- --release --target armv7-linux-androideabi && ${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip *.node - host: ubuntu-latest - target: aarch64-unknown-linux-musl - docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine + target: aarch64-linux-android build: >- set -e && - export JEMALLOC_SYS_WITH_LG_PAGE=16 && - rustup default nightly-2023-10-05 && - rustup target add aarch64-unknown-linux-musl && - RUSTFLAGS='-C target-feature=-crt-static -C linker=aarch64-linux-musl-gcc' npm run build:napi -- --release --target aarch64-unknown-linux-musl && - /aarch64-linux-musl-cross/bin/aarch64-linux-musl-strip *.node - - host: windows-latest - target: aarch64-pc-windows-msvc - build: npm run build:napi -- --release --target aarch64-pc-windows-msvc + npm run build:napi -- --release --target aarch64-linux-android && + ${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip *.node name: Build ${{ matrix.settings.name || matrix.settings.target }} runs-on: ${{ matrix.settings.host }} timeout-minutes: 30 diff --git a/.github/workflows/repl-artefacts.yml b/.github/workflows/repl-artefacts.yml index bff6ac64f..38a100902 100644 --- a/.github/workflows/repl-artefacts.yml +++ b/.github/workflows/repl-artefacts.yml @@ -8,6 +8,10 @@ on: - reopened - labeled +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + permissions: contents: read diff --git a/CHANGELOG.md b/CHANGELOG.md index d36543f63..346f94200 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,45 @@ # rollup changelog +## 4.5.2 + +_2023-11-24_ + +### Bug Fixes + +- Handle files with UTF-8 BOM when using the commonjs plugin (#5268) + +### Pull Requests + +- [#5268](https://github.com/rollup/rollup/pull/5268): fix: strip BOM before calling transform hook (@TrickyPi) +- [#5269](https://github.com/rollup/rollup/pull/5269): chore(deps): lock file maintenance minor/patch updates (@renovate[bot]) + +## 4.5.1 + +_2023-11-21_ + +### Bug Fixes + +- Do not error when a function expression uses the same name for a parameter and its id (#5262) + +### Pull Requests + +- [#5257](https://github.com/rollup/rollup/pull/5257): Fix graphs in docs, improve REPL colors (@lukastaegert) +- [#5262](https://github.com/rollup/rollup/pull/5262): Allow function expression parameters to shadow the function id (@lukastaegert) + +## 4.5.0 + +_2023-11-18_ + +### Bug Fixes + +- Show a proper error when using native Rollup on armv7 musl Linux (#5255) + +### Pull Requests + +- [#5251](https://github.com/rollup/rollup/pull/5251): doc fix import assertions to attributes in API plugin development page (@lhapaipai) +- [#5253](https://github.com/rollup/rollup/pull/5253): chore(deps): lock file maintenance minor/patch updates (@renovate[bot]) +- [#5255](https://github.com/rollup/rollup/pull/5255): Error for armv7 musl build (@lukastaegert) + ## 4.4.1 _2023-11-14_ diff --git a/browser/package.json b/browser/package.json index 50359112d..a78527b91 100644 --- a/browser/package.json +++ b/browser/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/browser", - "version": "4.4.1", + "version": "4.5.2", "description": "Next-generation ES module bundler browser build", "main": "dist/rollup.browser.js", "module": "dist/es/rollup.browser.js", diff --git a/docs/plugin-development/index.md b/docs/plugin-development/index.md index 2075f6eb2..a1db62e38 100644 --- a/docs/plugin-development/index.md +++ b/docs/plugin-development/index.md @@ -304,7 +304,7 @@ interface SourceDescription { code: string; map?: string | SourceMap; ast?: ESTree.Program; - assertions?: { [key: string]: string } | null; + attributes?: { [key: string]: string } | null; meta?: { [plugin: string]: any } | null; moduleSideEffects?: boolean | 'no-treeshake' | null; syntheticNamedExports?: boolean | string | null; @@ -315,13 +315,21 @@ interface SourceDescription { 如果 `moduleSideEffects` 返回 `false`,并且没有其他模块从该模块导入任何内容,则即使该模块具有副作用,该模块也不会包含在产物中。如果返回 `true`,则 Rollup 将使用其默认算法包含模块中具有副作用的所有语句(例如修改全局或导出变量)。如果返回 `"no-treeshake"`,则将关闭此模块的除屑优化,并且即使该模块为空,也将在生成的块之一中包含它。如果返回 `null` 或省略标志,则 `moduleSideEffects` 将由第一个解析此模块的 `resolveId` 钩子,[`treeshake.moduleSideEffects`](../configuration-options/index.md#treeshake-modulesideeffects) 选项或最终默认为 `true` 确定。`transform` 钩子可以覆盖此设置。 +<<<<<<< HEAD `assertions` 包含导入此模块时使用的导入断言。目前,它们不会影响产物模块的呈现,而是用于文档目的。如果返回 `null` 或省略标志,则 `assertions` 将由第一个解析此模块的 `resolveId` 钩子或此模块的第一个导入中存在的断言确定。`transform` 钩子可以覆盖此设置。 +======= +`attributes` contain the import attributes that were used when this module was imported. At the moment, they do not influence rendering for bundled modules but rather serve documentation purposes. If `null` is returned or the flag is omitted, then `attributes` will be determined by the first `resolveId` hook that resolved this module, or the attributes present in the first import of this module. The `transform` hook can override this. +>>>>>>> 2e94641971195c1a4eb9e1a3fe6d73b9d04ffae0 有关 `syntheticNamedExports` 选项的影响,请参见 [合成命名导出](#synthetic-named-exports)。如果返回 `null` 或省略标志,则 `syntheticNamedExports` 将由第一个解析此模块的 `resolveId` 钩子确定,或者最终默认为 `false`。`transform` 钩子可以覆盖此设置。 有关如何使用 `meta` 选项的 [自定义模块元数据](#custom-module-meta-data)。如果此钩子返回 `meta` 对象,则该对象将与 `resolveId` 钩子返回的任何 `meta` 对象浅合并。如果没有钩子返回 `meta` 对象,则默认为一个空对象。`transform` 钩子可以进一步添加或替换该对象的属性。 +<<<<<<< HEAD 你可以使用 [`this.getModuleInfo`](#this-getmoduleinfo) 在此钩子中查找 `assertions`、`meta`、`moduleSideEffects` 和 `syntheticNamedExports` 的先前值。 +======= +You can use [`this.getModuleInfo`](#this-getmoduleinfo) to find out the previous values of `attributes`, `meta`, `moduleSideEffects` and `syntheticNamedExports` inside this hook. +>>>>>>> 2e94641971195c1a4eb9e1a3fe6d73b9d04ffae0 ### moduleParsed @@ -419,7 +427,7 @@ function plugin2() { type ResolveDynamicImportHook = ( specifier: string | AstNode, importer: string, - options: { assertions: Record } + options: { attributes: Record } ) => ResolveIdResult; ``` @@ -431,7 +439,11 @@ type ResolveDynamicImportHook = ( 为动态导入定义自定义解析器。返回 `false` 表示应将导入保留,不要传递给其他解析器,从而使其成为外部导入。与 [`resolveId`](#resolveid) 钩子类似,你还可以返回一个对象,将导入解析为不同的 id,同时将其标记为外部导入。 +<<<<<<< HEAD `assertions` 告诉你导入中存在哪些导入断言。即 `import("foo", {assert: {type: "json"}})` 将传递 `assertions: {type: "json"}`。 +======= +`attributes` tells you which import attributes were present in the import. I.e. `import("foo", {assert: {type: "json"}})` will pass along `attributes: {type: "json"}`. +>>>>>>> 2e94641971195c1a4eb9e1a3fe6d73b9d04ffae0 如果动态导入作为字符串参数传递,则从此钩子返回的字符串将被解释为现有模块 id,而返回 `null` 将推迟到其他解析器,最终到达 `resolveId`。 @@ -457,7 +469,7 @@ type ResolveIdHook = ( source: string, importer: string | undefined, options: { - assertions: Record; + attributes: Record; custom?: { [plugin: string]: any }; isEntry: boolean; } @@ -468,7 +480,7 @@ type ResolveIdResult = string | null | false | PartialResolvedId; interface PartialResolvedId { id: string; external?: boolean | 'absolute' | 'relative'; - assertions?: Record | null; + attributes?: Record | null; meta?: { [plugin: string]: any } | null; moduleSideEffects?: boolean | 'no-treeshake' | null; resolvedBy?: string | null; @@ -560,7 +572,11 @@ function injectPolyfillPlugin() { } ``` +<<<<<<< HEAD `assertions` 参数告诉你导入中存在哪些导入断言。例如,`import "foo" assert {type: "json"}` 将传递 `assertions: {type: "json}"`。 +======= +`attributes` tells you which import attributes were present in the import. I.e. `import "foo" assert {type: "json"}` will pass along `attributes: {type: "json"}`. +>>>>>>> 2e94641971195c1a4eb9e1a3fe6d73b9d04ffae0 如果返回 `null`,则会转而使用其他 `resolveId` 函数,最终使用默认的解析行为。如果返回 `false`,则表示 `source` 应被视为外部模块,不包含在产物中。如果这发生在相对导入中,则会像使用 `external` 选项时一样重新规范化 id。 @@ -586,13 +602,21 @@ function externalizeDependencyPlugin() { 可以在返回的对象中明确声明 `resolvedBy`。它将替换 [`this.resolve`](#this-resolve) 返回的相应字段。 +<<<<<<< HEAD 如果为外部模块返回 `assertions` 的值,则这将确定在生成 `"es"` 输出时如何呈现此模块的导入。例如,`{id: "foo", external: true, assertions: {type: "json"}}` 将导致此模块的导入显示为 `import "foo" assert {type: "json"}`。如果不传递值,则将使用 `assertions` 输入参数的值。传递一个空对象以删除任何断言。虽然 `assertions` 不影响产物模块的呈现,但它们仍然需要在模块的所有导入中保持一致,否则会产出警告。`load` 和 `transform` 钩子可以覆盖此选项。 +======= +If you return a value for `attributes` for an external module, this will determine how imports of this module will be rendered when generating `"es"` output. E.g. `{id: "foo", external: true, attributes: {type: "json"}}` will cause imports of this module appear as `import "foo" assert {type: "json"}`. If you do not pass a value, the value of the `attributes` input parameter will be used. Pass an empty object to remove any attributes. While `attributes` do not influence rendering for bundled modules, they still need to be consistent across all imports of a module, otherwise a warning is emitted. The `load` and `transform` hooks can override this. +>>>>>>> 2e94641971195c1a4eb9e1a3fe6d73b9d04ffae0 有关 `syntheticNamedExports` 选项的影响,请参见 [synthetic named exports](#synthetic-named-exports)。如果返回 `null` 或省略标志,则 `syntheticNamedExports` 将默认为 `false`。`load` 和 `transform` 钩子可以覆盖此选项。 有关如何使用 `meta` 选项,请参见 [custom module meta-data](#custom-module-meta-data)。如果返回 `null` 或省略选项,则 `meta` 将默认为空对象。`load` 和 `transform` 钩子可以添加或替换此对象的属性。 +<<<<<<< HEAD 请注意,虽然 `resolveId` 将为模块的每个导入调用一次,并且因此可以多次解析为相同的 `id`,但是 `external`、`assertions`、`meta`、`moduleSideEffects` 或 `syntheticNamedExports` 的值只能在加载模块之前设置一次。原因是在此调用之后,Rollup 将继续使用该模块的 [`load`](#load) 和 [`transform`](#transform) 钩子,这些钩子可能会覆盖这些值,并且如果它们这样做,则应优先考虑。 +======= +Note that while `resolveId` will be called for each import of a module and can therefore resolve to the same `id` many times, values for `external`, `attributes`, `meta`, `moduleSideEffects` or `syntheticNamedExports` can only be set once before the module is loaded. The reason is that after this call, Rollup will continue with the [`load`](#load) and [`transform`](#transform) hooks for that module that may override these values and should take precedence if they do so. +>>>>>>> 2e94641971195c1a4eb9e1a3fe6d73b9d04ffae0 当通过 [`this.resolve`](#this-resolve) 从插件触发此钩子时,可以向此钩子传递自定义选项对象。虽然此对象将不被修改,但插件应遵循添加具有对象的 `custom` 属性的约定,其中键对应于选项所针对的插件的名称。有关详细信息,请参见 [custom resolver options](#custom-resolver-options)。 @@ -640,7 +664,7 @@ interface SourceDescription { code: string; map?: string | SourceMap; ast?: ESTree.Program; - assertions?: { [key: string]: string } | null; + attributes?: { [key: string]: string } | null; meta?: { [plugin: string]: any } | null; moduleSideEffects?: boolean | 'no-treeshake' | null; syntheticNamedExports?: boolean | string | null; @@ -663,13 +687,21 @@ interface SourceDescription { 如果返回 `null` 或省略标志,则 `moduleSideEffects` 将由加载此模块的 `load` 钩子、解析此模块的第一个 `resolveId` 钩子、[`treeshake.moduleSideEffects`](../configuration-options/index.md#treeshake-modulesideeffects) 选项或最终默认为 `true` 确定。 +<<<<<<< HEAD `assertions` 包含导入此模块时使用的导入断言。目前,它们不会影响产物模块的呈现,而是用于文档目的。如果返回 `null` 或省略标志,则 `assertions` 将由加载此模块的 `load` 钩子、解析此模块的第一个 `resolveId` 钩子或此模块的第一个导入中存在的断言确定。 +======= +`attributes` contain the import attributes that were used when this module was imported. At the moment, they do not influence rendering for bundled modules but rather serve documentation purposes. If `null` is returned or the flag is omitted, then `attributes` will be determined by the `load` hook that loaded this module, the first `resolveId` hook that resolved this module, or the attributes present in the first import of this module. +>>>>>>> 2e94641971195c1a4eb9e1a3fe6d73b9d04ffae0 有关 `syntheticNamedExports` 选项的影响,请参见 [合成命名导出](#synthetic-named-exports)。如果返回 `null` 或省略标志,则 `syntheticNamedExports` 将由加载此模块的 `load` 钩子、解析此模块的第一个 `resolveId` 钩子、[`treeshake.moduleSideEffects`](../configuration-options/index.md#treeshake-modulesideeffects) 选项或最终默认为 `false` 确定。 有关如何使用 `meta` 选项,请参见 [自定义模块元数据](#custom-module-meta-data)。如果返回 `null` 或省略选项,则 `meta` 将由加载此模块的 `load` 钩子、解析此模块的第一个 `resolveId` 钩子或最终默认为空对象确定。 +<<<<<<< HEAD 你可以使用 [`this.getModuleInfo`](#this-getmoduleinfo) 在此钩子中查找 `assertions`、`meta`、`moduleSideEffects` 和 `syntheticNamedExports` 的先前值。 +======= +You can use [`this.getModuleInfo`](#this-getmoduleinfo) to find out the previous values of `attributes`, `meta`, `moduleSideEffects` and `syntheticNamedExports` inside this hook. +>>>>>>> 2e94641971195c1a4eb9e1a3fe6d73b9d04ffae0 ### watchChange @@ -874,13 +906,20 @@ function augmentWithDatePlugin() { | | | | --: | :-- | +<<<<<<< HEAD | 类型: | `(options: OutputOptions, bundle: { [fileName: string]: AssetInfo \| ChunkInfo }, isWrite: boolean) => void` | | 类别: | async, sequential | | 上一个钩子: | [`augmentChunkHash`](#augmentchunkhash) | | 下一个钩子: | 如果输出是通过 `bundle.write(...)` 生成的,则为 [`writeBundle`](#writebundle),否则这是输出生成阶段的最后一个钩子,并且可能再次跟随 [`outputOptions`](#outputoptions),如果生成了另一个输出。 | +======= +| Type: | `(options: OutputOptions, bundle: { [fileName: string]: OutputAsset \| OutputChunk }, isWrite: boolean) => void` | +| Kind: | async, sequential | +| Previous: | [`augmentChunkHash`](#augmentchunkhash) | +| Next: | [`writeBundle`](#writebundle) if the output was generated via `bundle.write(...)`, otherwise this is the last hook of the output generation phase and may again be followed by [`outputOptions`](#outputoptions) if another output is generated | +>>>>>>> 2e94641971195c1a4eb9e1a3fe6d73b9d04ffae0 ```typescript -interface AssetInfo { +interface OutputAsset { fileName: string; name?: string; needsCodeReference: boolean; @@ -888,7 +927,7 @@ interface AssetInfo { type: 'asset'; } -interface ChunkInfo { +interface OutputChunk { code: string; dynamicImports: string[]; exports: string[]; @@ -914,6 +953,7 @@ interface ChunkInfo { name: string; preliminaryFileName: string; referencedFiles: string[]; + sourcemapFileName: string | null; type: 'chunk'; } ``` @@ -1331,10 +1371,10 @@ export default { function emitPrebuiltChunkPlugin() { return { name: 'emit-prebuilt-chunk', - load(id) { - if (id === '/my-prebuilt-chunk.js') { + resolveId(source) { + if (source === './my-prebuilt-chunk.js') { return { - id, + id: source, external: true }; } @@ -1354,7 +1394,7 @@ function emitPrebuiltChunkPlugin() { 然后你可以在你的代码中引用预构建的块: ```js -import { foo } from '/my-prebuilt-chunk.js'; +import { foo } from './my-prebuilt-chunk.js'; ``` 目前,产出预构建的块是一个基本功能。期待你的反馈。 @@ -1430,6 +1470,7 @@ for (const moduleId of this.getModuleIds()) { ```typescript interface ModuleInfo { +<<<<<<< HEAD id: string; // 模块的 ID,方便使用 code: string | null; // 模块的源代码,如果是外部模块或尚未可用,则为 `null` ast: ESTree.Program; // 如果可用,则为解析的抽象语法树 @@ -1461,6 +1502,39 @@ interface ResolvedId { moduleSideEffects: boolean | 'no-treeshake'; // 是否观察到模块的副作用,是否启用了除屑优化 resolvedBy: string; // 哪个插件解析了此模块,如果由 Rollup 自身解析,则为“rollup” syntheticNamedExports: boolean | string; // 模块是否允许导入不存在的命名导出 +======= + id: string; // the id of the module, for convenience + code: string | null; // the source code of the module, `null` if external or not yet available + ast: ESTree.Program; // the parsed abstract syntax tree if available + hasDefaultExport: boolean | null; // is there a default export, `null` if external or not yet available + isEntry: boolean; // is this a user- or plugin-defined entry point + isExternal: boolean; // for external modules that are referenced but not included in the graph + isIncluded: boolean | null; // is the module included after tree-shaking, `null` if external or not yet available + importedIds: string[]; // the module ids statically imported by this module + importedIdResolutions: ResolvedId[]; // how statically imported ids were resolved, for use with this.load + importers: string[]; // the ids of all modules that statically import this module + exportedBindings: Record | null; // contains all exported variables associated with the path of `from`, `null` if external + exports: string[] | null; // all exported variables, `null` if external + dynamicallyImportedIds: string[]; // the module ids imported by this module via dynamic import() + dynamicallyImportedIdResolutions: ResolvedId[]; // how ids imported via dynamic import() were resolved + dynamicImporters: string[]; // the ids of all modules that import this module via dynamic import() + implicitlyLoadedAfterOneOf: string[]; // implicit relationships, declared via this.emitFile + implicitlyLoadedBefore: string[]; // implicit relationships, declared via this.emitFile + attributes: { [key: string]: string }; // import attributes for this module + meta: { [plugin: string]: any }; // custom module meta-data + moduleSideEffects: boolean | 'no-treeshake'; // are imports of this module included if nothing is imported from it + syntheticNamedExports: boolean | string; // final value of synthetic named exports +} + +interface ResolvedId { + id: string; // the id of the imported module + external: boolean | 'absolute'; // is this module external, "absolute" means it will not be rendered as relative in the module + attributes: { [key: string]: string }; // import attributes for this import + meta: { [plugin: string]: any }; // custom module meta-data when resolving the module + moduleSideEffects: boolean | 'no-treeshake'; // are side effects of the module observed, is tree-shaking enabled + resolvedBy: string; // which plugin resolved this module, "rollup" if resolved by Rollup itself + syntheticNamedExports: boolean | string; // does the module allow importing non-existing named exports +>>>>>>> 2e94641971195c1a4eb9e1a3fe6d73b9d04ffae0 } ``` @@ -1468,6 +1542,7 @@ interface ResolvedId { 在构建期间,此对象表示有关模块的当前可用信息,但在 [`buildEnd`](#buildend) 钩子之前可能不准确: +<<<<<<< HEAD - `id` 和 `isExternal` 永远不会更改。 - `code`、`ast`、`hasDefaultExport`、`exports` 和 `exportedBindings` 仅在解析后可用,即在 [`moduleParsed`](#moduleparsed) 钩子中或在等待 [`this.load`](#this-load) 后。此时,它们将不再更改。 - 如果 `isEntry` 为 `true`,则它将不再更改。但是,模块可以在解析后通过 [`this.emitFile`](#this-emitfile) 或因为插件在解析入口点时通过 [`this.load`](#this-load) 检查潜在入口点而成为入口点。因此,在 [`transform`](#transform) 钩子中不建议依赖此标志。在 `buildEnd` 之后,它将不再更改。 @@ -1476,6 +1551,16 @@ interface ResolvedId { - `isIncluded` 仅在 `buildEnd` 后可用,在此时它将不再更改。 - 当模块已解析并解析其依赖项时,`importedIds`、`importedIdResolutions`、`dynamicallyImportedIds` 和 `dynamicallyImportedIdResolutions` 可用。这是在 `moduleParsed` 钩子中或在等待 [`this.load`](#this-load) 时使用 `resolveDependencies` 标志的情况。此时,它们将不再更改。 - `assertions`、`meta`、`moduleSideEffects` 和 `syntheticNamedExports` 可以通过 [`load`](#load) 和 [`transform`](#transform) 钩子更改。此外,虽然大多数属性是只读的,但这些属性是可写的,如果在触发 `buildEnd` 钩子之前发生更改,则会捕获更改。`meta` 本身不应被覆盖,但随时可以突变其属性以存储有关模块的元信息。这样做的好处是,如果使用了缓存,例如从 CLI 使用观察模式,则 `meta` 将被持久化并从缓存中恢复。 +======= +- `id` and `isExternal` will never change. +- `code`, `ast`, `hasDefaultExport`, `exports` and `exportedBindings` are only available after parsing, i.e. in the [`moduleParsed`](#moduleparsed) hook or after awaiting [`this.load`](#this-load). At that point, they will no longer change. +- if `isEntry` is `true`, it will no longer change. It is however possible for modules to become entry points after they are parsed, either via [`this.emitFile`](#this-emitfile) or because a plugin inspects a potential entry point via [`this.load`](#this-load) in the [`resolveId`](#resolveid) hook when resolving an entry point. Therefore, it is not recommended relying on this flag in the [`transform`](#transform) hook. It will no longer change after `buildEnd`. +- Similarly, `implicitlyLoadedAfterOneOf` can receive additional entries at any time before `buildEnd` via [`this.emitFile`](#this-emitfile). +- `importers`, `dynamicImporters` and `implicitlyLoadedBefore` will start as empty arrays, which receive additional entries as new importers and implicit dependents are discovered. They will no longer change after `buildEnd`. +- `isIncluded` is only available after `buildEnd`, at which point it will no longer change. +- `importedIds`, `importedIdResolutions`, `dynamicallyImportedIds` and `dynamicallyImportedIdResolutions` are available when a module has been parsed and its dependencies have been resolved. This is the case in the `moduleParsed` hook or after awaiting [`this.load`](#this-load) with the `resolveDependencies` flag. At that point, they will no longer change. +- `attributes`, `meta`, `moduleSideEffects` and `syntheticNamedExports` can be changed by [`load`](#load) and [`transform`](#transform) hooks. Moreover, while most properties are read-only, these properties are writable and changes will be picked up if they occur before the `buildEnd` hook is triggered. `meta` itself should not be overwritten, but it is ok to mutate its properties at any time to store meta information about a module. The advantage of doing this instead of keeping state in a plugin is that `meta` is persisted to and restored from the cache if it is used, e.g. when using watch mode from the CLI. +>>>>>>> 2e94641971195c1a4eb9e1a3fe6d73b9d04ffae0 如果找不到模块 ID,则返回 `null`。 @@ -1507,7 +1592,7 @@ interface ResolvedId { type Load = (options: { id: string; resolveDependencies?: boolean; - assertions?: Record | null; + attributes?: Record | null; meta?: CustomPluginOptions | null; moduleSideEffects?: boolean | 'no-treeshake' | null; syntheticNamedExports?: boolean | string | null; @@ -1520,7 +1605,11 @@ type Load = (options: { 返回的 Promise 将在模块完全转换和解析之后但在解析任何导入之前解析。这意味着生成的 `ModuleInfo` 将具有空的 `importedIds`、`dynamicallyImportedIds`、`importedIdResolutions` 和 `dynamicallyImportedIdResolutions`。这有助于避免在 `resolveId` 钩子中等待 `this.load` 时出现死锁情况。如果你对 `importedIds` 和 `dynamicallyImportedIds` 感兴趣,可以实现 `moduleParsed` 钩子或传递 `resolveDependencies` 标志,这将使 `this.load` 返回的 Promise 等待所有依赖项 ID 解析。 +<<<<<<< HEAD 请注意,关于 `assertions`、`meta`、`moduleSideEffects` 和 `syntheticNamedExports` 选项,与 `resolveId` 钩子相同的限制适用:仅当模块尚未加载时,它们的值才会生效。因此,非常重要的是首先使用 `this.resolve` 查找任何插件是否想要在其 `resolveId` 钩子中设置这些选项的特殊值,并在适当时将这些选项传递给 `this.load`。下面的示例展示了如何处理包含特殊代码注释的模块以添加代理模块。请注意重新导出默认导出的特殊处理: +======= +Note that with regard to the `attributes`, `meta`, `moduleSideEffects` and `syntheticNamedExports` options, the same restrictions apply as for the `resolveId` hook: Their values only have an effect if the module has not been loaded yet. Thus, it is very important to use `this.resolve` first to find out if any plugins want to set special values for these options in their `resolveId` hook, and pass these options on to `this.load` if appropriate. The example below showcases how this can be handled to add a proxy module for modules containing a special code comment. Note the special handling for re-exporting the default export: +>>>>>>> 2e94641971195c1a4eb9e1a3fe6d73b9d04ffae0 ```js export default function addProxyPlugin() { @@ -1686,7 +1775,7 @@ type Resolve = ( options?: { skipSelf?: boolean; isEntry?: boolean; - assertions?: { [key: string]: string }; + attributes?: { [key: string]: string }; custom?: { [plugin: string]: any }; } ) => ResolvedId; @@ -1706,9 +1795,15 @@ type Resolve = ( 你在这里传递的 `isEntry` 值将传递给处理此调用的 [`resolveId`](#resolveid) 钩子,否则如果有导入器,则传递 `false`,如果没有,则传递 `true`。 +<<<<<<< HEAD 如果为 `assertions` 传递对象,则它将模拟使用断言解析导入,例如 `assertions: {type: "json"}` 模拟解析 `import "foo" assert {type: "json"}`。这将传递给处理此调用的任何 [`resolveId`](#resolveid) 钩子,并最终成为返回的对象的一部分。 在从 `resolveId` 钩子调用此函数时,你应始终检查是否有意义将 `isEntry`、`custom` 和 `assertions` 选项传递下去。 +======= +If you pass an object for `attributes`, it will simulate resolving an import with an assertion, e.g. `attributes: {type: "json"}` simulates resolving `import "foo" assert {type: "json"}`. This will be passed to any [`resolveId`](#resolveid) hooks handling this call and may ultimately become part of the returned object. + +When calling this function from a `resolveId` hook, you should always check if it makes sense for you to pass along the `isEntry`, `custom` and `attributes` options. +>>>>>>> 2e94641971195c1a4eb9e1a3fe6d73b9d04ffae0 `resolvedBy` 的值指示哪个插件解析了此源。如果它是由 Rollup 本身解析的,则该值将为 "rollup"。如果插件中的 `resolveId` 钩子解析此源,则该值将是插件的名称,除非它为 `resolvedBy` 返回了显式值。此标志仅用于调试和文档目的,Rollup 不会进一步处理它。 diff --git a/docs/repl/components/ReplModule.vue b/docs/repl/components/ReplModule.vue index 0b1871fd1..abc02ab35 100644 --- a/docs/repl/components/ReplModule.vue +++ b/docs/repl/components/ReplModule.vue @@ -49,7 +49,7 @@ const selectName = (event: FocusEvent) => { .module { margin: 0 -16px 8px -16px; border-radius: 0; - background-color: var(--vp-code-block-bg); + background-color: #161618; color: var(--vp-c-text-1); transition: all 0.2s; } diff --git a/docs/repl/helpers/editor.ts b/docs/repl/helpers/editor.ts index a434c9d84..bae64f886 100644 --- a/docs/repl/helpers/editor.ts +++ b/docs/repl/helpers/editor.ts @@ -54,7 +54,8 @@ const theme = EditorView.baseTheme({ outline: 'none' }, '.cm-content': { - caretColor: 'var(--vp-c-neutral)', + caretColor: '#fff', + // caretColor: 'var(--vp-c-neutral)', color: '#A6ACCD', fontFamily: 'var(--vp-font-family-mono)', fontSize: '14px', @@ -63,12 +64,17 @@ const theme = EditorView.baseTheme({ padding: '8px' }, '.cm-gutters': { - backgroundColor: 'var(--vp-code-block-bg)', + // we are hard-coding to dark mode colors until we figure out how to switch + // colors in code mirror + backgroundColor: '#161618', + // backgroundColor: 'var(--vp-code-block-bg)', border: 'none', borderBottomLeftRadius: '8px', - borderRight: '1px solid var(--vp-code-block-divider-color)', + borderRight: '#000', + // borderRight: '1px solid var(--vp-code-block-divider-color)', borderTopLeftRadius: '8px', - color: 'var(--vp-code-line-number-color)', + color: 'rgba(235,235,245,0.38)', + // color: 'var(--vp-code-line-number-color)', minWidth: '32px' }, '.cm-gutters .cm-gutterElement': { diff --git a/native.js b/native.js index 733612c15..8df65b964 100644 --- a/native.js +++ b/native.js @@ -14,7 +14,7 @@ const bindingsByPlatformAndArch = { x64: { base: 'darwin-x64' } }, linux: { - arm: { base: 'linux-arm-gnueabihf' }, + arm: { base: 'linux-arm-gnueabihf', musl: null }, arm64: { base: 'linux-arm64-gnu', musl: 'linux-arm64-musl' }, x64: { base: 'linux-x64-gnu', musl: 'linux-x64-musl' } }, @@ -25,8 +25,9 @@ const bindingsByPlatformAndArch = { } }; -const imported = bindingsByPlatformAndArch[platform]?.[arch]; -if (!imported) { +const packageBase = getPackageBase(); + +if (!packageBase) { throw new Error( `Your current platform "${platform}" and architecture "${arch}" combination is not yet supported by the native Rollup build. Please use the WASM build "@rollup/wasm-node" instead. @@ -44,7 +45,17 @@ If this is important to you, please consider supporting Rollup to make a native ); } -const packageBase = imported.musl && isMusl() ? imported.musl : imported.base; +function getPackageBase() { + const imported = bindingsByPlatformAndArch[platform]?.[arch]; + if (!imported) { + return null; + } + if ('musl' in imported && isMusl()) { + return imported.musl; + } + return imported.base; +} + const localName = `./rollup.${packageBase}.node`; const { parse, parseAsync, xxhashBase64Url } = require( existsSync(join(__dirname, localName)) ? localName : `@rollup/rollup-${packageBase}` diff --git a/package-lock.json b/package-lock.json index 591425f98..f970a638d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rollup", - "version": "4.4.1", + "version": "4.5.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rollup", - "version": "4.4.1", + "version": "4.5.2", "license": "MIT", "bin": { "rollup": "dist/bin/rollup" @@ -19,7 +19,7 @@ "@codemirror/state": "^6.3.1", "@codemirror/view": "^6.22.0", "@jridgewell/sourcemap-codec": "^1.4.15", - "@mermaid-js/mermaid-cli": "^10.6.0", + "@mermaid-js/mermaid-cli": "^10.6.1", "@napi-rs/cli": "^2.16.5", "@rollup/plugin-alias": "^5.0.1", "@rollup/plugin-buble": "^1.0.3", @@ -31,11 +31,11 @@ "@rollup/plugin-typescript": "11.1.5", "@rollup/pluginutils": "^5.0.5", "@types/estree": "1.0.5", - "@types/mocha": "^10.0.3", + "@types/mocha": "^10.0.5", "@types/node": "18.0.0", - "@types/yargs-parser": "^21.0.2", - "@typescript-eslint/eslint-plugin": "^6.10.0", - "@typescript-eslint/parser": "^6.10.0", + "@types/yargs-parser": "^21.0.3", + "@typescript-eslint/eslint-plugin": "^6.12.0", + "@typescript-eslint/parser": "^6.12.0", "@vue/eslint-config-prettier": "^8.0.0", "@vue/eslint-config-typescript": "^12.0.0", "acorn": "^8.11.2", @@ -45,11 +45,11 @@ "chokidar": "^3.5.3", "colorette": "^2.0.20", "concurrently": "^8.2.2", - "core-js": "^3.33.2", + "core-js": "^3.33.3", "date-time": "^4.0.0", "es5-shim": "^4.6.7", "es6-shim": "^0.35.8", - "eslint": "^8.53.0", + "eslint": "^8.54.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-import": "^2.29.0", "eslint-plugin-prettier": "^5.0.1", @@ -60,19 +60,19 @@ "fs-extra": "^11.1.1", "github-api": "^3.4.0", "husky": "^8.0.3", - "inquirer": "^9.2.11", + "inquirer": "^9.2.12", "is-reference": "^3.0.2", - "lint-staged": "^15.0.2", + "lint-staged": "^15.1.0", "locate-character": "^3.0.0", "magic-string": "^0.30.5", "mocha": "^10.2.0", "nyc": "^15.1.0", "pinia": "^2.1.7", - "prettier": "^3.0.3", + "prettier": "^3.1.0", "pretty-bytes": "^6.1.1", "pretty-ms": "^8.0.0", "requirejs": "^2.3.6", - "rollup": "^4.3.1", + "rollup": "^4.5.0", "rollup-plugin-license": "^3.2.0", "rollup-plugin-string": "^3.0.0", "rollup-plugin-thatworks": "^1.0.4", @@ -84,9 +84,9 @@ "systemjs": "^6.14.2", "terser": "^5.24.0", "tslib": "^2.6.2", - "typescript": "^5.2.2", - "vite": "^4.5.0", - "vitepress": "^1.0.0-rc.25", + "typescript": "^5.3.2", + "vite": "^5.0.0", + "vitepress": "^1.0.0-rc.29", "vue": "^3.3.8", "wasm-pack": "^0.12.1", "weak-napi": "^2.0.2", @@ -297,12 +297,12 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.4.tgz", + "integrity": "sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==", "dev": true, "dependencies": { - "@babel/highlight": "^7.22.13", + "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" }, "engines": { @@ -411,12 +411,12 @@ "dev": true }, "node_modules/@babel/generator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.3.tgz", - "integrity": "sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.4.tgz", + "integrity": "sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==", "dev": true, "dependencies": { - "@babel/types": "^7.23.3", + "@babel/types": "^7.23.4", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -543,9 +543,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", "dev": true, "engines": { "node": ">=6.9.0" @@ -570,23 +570,23 @@ } }, "node_modules/@babel/helpers": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", - "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.4.tgz", + "integrity": "sha512-HfcMizYz10cr3h29VqyfGL6ZWIjTwWfvYBMsBVGwpcbhNGe3wQ1ZXZRPzZoAHhd9OqHadHqjQ89iVKINXnbzuw==", "dev": true, "dependencies": { "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0" + "@babel/traverse": "^7.23.4", + "@babel/types": "^7.23.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", @@ -654,9 +654,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.3.tgz", - "integrity": "sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.4.tgz", + "integrity": "sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -666,9 +666,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", - "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.4.tgz", + "integrity": "sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==", "dev": true, "dependencies": { "regenerator-runtime": "^0.14.0" @@ -692,19 +692,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.3.tgz", - "integrity": "sha512-+K0yF1/9yR0oHdE0StHuEj3uTPzwwbrLGfNOndVJVV2TqA5+j3oljJUb4nmB954FLGjNem976+B+eDuLIjesiQ==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.4.tgz", + "integrity": "sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.3", + "@babel/code-frame": "^7.23.4", + "@babel/generator": "^7.23.4", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.3", - "@babel/types": "^7.23.3", + "@babel/parser": "^7.23.4", + "@babel/types": "^7.23.4", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -722,12 +722,12 @@ } }, "node_modules/@babel/types": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.3.tgz", - "integrity": "sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.4.tgz", + "integrity": "sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, @@ -882,9 +882,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.7.tgz", + "integrity": "sha512-YGSPnndkcLo4PmVl2tKatEn+0mlVMr3yEpOOT0BeMria87PhvoJb5dg5f5Ft9fbCVgtAz4pWMzZVgSEGpDAlww==", "cpu": [ "arm" ], @@ -898,9 +898,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.7.tgz", + "integrity": "sha512-YEDcw5IT7hW3sFKZBkCAQaOCJQLONVcD4bOyTXMZz5fr66pTHnAet46XAtbXAkJRfIn2YVhdC6R9g4xa27jQ1w==", "cpu": [ "arm64" ], @@ -914,9 +914,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.7.tgz", + "integrity": "sha512-jhINx8DEjz68cChFvM72YzrqfwJuFbfvSxZAk4bebpngGfNNRm+zRl4rtT9oAX6N9b6gBcFaJHFew5Blf6CvUw==", "cpu": [ "x64" ], @@ -930,9 +930,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.7.tgz", + "integrity": "sha512-dr81gbmWN//3ZnBIm6YNCl4p3pjnabg1/ZVOgz2fJoUO1a3mq9WQ/1iuEluMs7mCL+Zwv7AY5e3g1hjXqQZ9Iw==", "cpu": [ "arm64" ], @@ -946,9 +946,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.7.tgz", + "integrity": "sha512-Lc0q5HouGlzQEwLkgEKnWcSazqr9l9OdV2HhVasWJzLKeOt0PLhHaUHuzb8s/UIya38DJDoUm74GToZ6Wc7NGQ==", "cpu": [ "x64" ], @@ -962,9 +962,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.7.tgz", + "integrity": "sha512-+y2YsUr0CxDFF7GWiegWjGtTUF6gac2zFasfFkRJPkMAuMy9O7+2EH550VlqVdpEEchWMynkdhC9ZjtnMiHImQ==", "cpu": [ "arm64" ], @@ -978,9 +978,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.7.tgz", + "integrity": "sha512-CdXOxIbIzPJmJhrpmJTLx+o35NoiKBIgOvmvT+jeSadYiWJn0vFKsl+0bSG/5lwjNHoIDEyMYc/GAPR9jxusTA==", "cpu": [ "x64" ], @@ -994,9 +994,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.7.tgz", + "integrity": "sha512-Y+SCmWxsJOdQtjcBxoacn/pGW9HDZpwsoof0ttL+2vGcHokFlfqV666JpfLCSP2xLxFpF1lj7T3Ox3sr95YXww==", "cpu": [ "arm" ], @@ -1010,9 +1010,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.7.tgz", + "integrity": "sha512-inHqdOVCkUhHNvuQPT1oCB7cWz9qQ/Cz46xmVe0b7UXcuIJU3166aqSunsqkgSGMtUCWOZw3+KMwI6otINuC9g==", "cpu": [ "arm64" ], @@ -1026,9 +1026,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.7.tgz", + "integrity": "sha512-2BbiL7nLS5ZO96bxTQkdO0euGZIUQEUXMTrqLxKUmk/Y5pmrWU84f+CMJpM8+EHaBPfFSPnomEaQiG/+Gmh61g==", "cpu": [ "ia32" ], @@ -1042,9 +1042,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.7.tgz", + "integrity": "sha512-BVFQla72KXv3yyTFCQXF7MORvpTo4uTA8FVFgmwVrqbB/4DsBFWilUm1i2Oq6zN36DOZKSVUTb16jbjedhfSHw==", "cpu": [ "loong64" ], @@ -1058,9 +1058,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.7.tgz", + "integrity": "sha512-DzAYckIaK+pS31Q/rGpvUKu7M+5/t+jI+cdleDgUwbU7KdG2eC3SUbZHlo6Q4P1CfVKZ1lUERRFP8+q0ob9i2w==", "cpu": [ "mips64el" ], @@ -1074,9 +1074,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.7.tgz", + "integrity": "sha512-JQ1p0SmUteNdUaaiRtyS59GkkfTW0Edo+e0O2sihnY4FoZLz5glpWUQEKMSzMhA430ctkylkS7+vn8ziuhUugQ==", "cpu": [ "ppc64" ], @@ -1090,9 +1090,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.7.tgz", + "integrity": "sha512-xGwVJ7eGhkprY/nB7L7MXysHduqjpzUl40+XoYDGC4UPLbnG+gsyS1wQPJ9lFPcxYAaDXbdRXd1ACs9AE9lxuw==", "cpu": [ "riscv64" ], @@ -1106,9 +1106,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.7.tgz", + "integrity": "sha512-U8Rhki5PVU0L0nvk+E8FjkV8r4Lh4hVEb9duR6Zl21eIEYEwXz8RScj4LZWA2i3V70V4UHVgiqMpszXvG0Yqhg==", "cpu": [ "s390x" ], @@ -1122,9 +1122,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.7.tgz", + "integrity": "sha512-ZYZopyLhm4mcoZXjFt25itRlocKlcazDVkB4AhioiL9hOWhDldU9n38g62fhOI4Pth6vp+Mrd5rFKxD0/S+7aQ==", "cpu": [ "x64" ], @@ -1138,9 +1138,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.7.tgz", + "integrity": "sha512-/yfjlsYmT1O3cum3J6cmGG16Fd5tqKMcg5D+sBYLaOQExheAJhqr8xOAEIuLo8JYkevmjM5zFD9rVs3VBcsjtQ==", "cpu": [ "x64" ], @@ -1154,9 +1154,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.7.tgz", + "integrity": "sha512-MYDFyV0EW1cTP46IgUJ38OnEY5TaXxjoDmwiTXPjezahQgZd+j3T55Ht8/Q9YXBM0+T9HJygrSRGV5QNF/YVDQ==", "cpu": [ "x64" ], @@ -1170,9 +1170,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.7.tgz", + "integrity": "sha512-JcPvgzf2NN/y6X3UUSqP6jSS06V0DZAV/8q0PjsZyGSXsIGcG110XsdmuWiHM+pno7/mJF6fjH5/vhUz/vA9fw==", "cpu": [ "x64" ], @@ -1186,9 +1186,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.7.tgz", + "integrity": "sha512-ZA0KSYti5w5toax5FpmfcAgu3ZNJxYSRm0AW/Dao5up0YV1hDVof1NvwLomjEN+3/GMtaWDI+CIyJOMTRSTdMw==", "cpu": [ "arm64" ], @@ -1202,9 +1202,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.7.tgz", + "integrity": "sha512-CTOnijBKc5Jpk6/W9hQMMvJnsSYRYgveN6O75DTACCY18RA2nqka8dTZR+x/JqXCRiKk84+5+bRKXUSbbwsS0A==", "cpu": [ "ia32" ], @@ -1218,9 +1218,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.7.tgz", + "integrity": "sha512-gRaP2sk6hc98N734luX4VpF318l3w+ofrtTu9j5L8EQXF+FzQKV6alCOHMVoJJHvVK/mGbwBXfOL1HETQu9IGQ==", "cpu": [ "x64" ], @@ -1281,9 +1281,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.53.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.53.0.tgz", - "integrity": "sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.54.0.tgz", + "integrity": "sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1489,15 +1489,15 @@ } }, "node_modules/@lezer/common": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.1.0.tgz", - "integrity": "sha512-XPIN3cYDXsoJI/oDWoR2tD++juVrhgIago9xyKhZ7IhGlzdDM9QgC8D8saKNCz5pindGcznFr2HBSsEQSWnSjw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.1.1.tgz", + "integrity": "sha512-aAPB9YbvZHqAW+bIwiuuTDGB4DG0sYNRObGLxud8cW7osw1ZQxfDuTZ8KQiqfZ0QJGcR34CvpTMDXEyo/+Htgg==", "dev": true }, "node_modules/@lezer/highlight": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.1.6.tgz", - "integrity": "sha512-cmSJYa2us+r3SePpRCjN5ymCqCPv+zyXmDl0ciWtVaNiORT/MxM7ZgOMQZADD0o51qOaOg24qc/zBViOIwAjJg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.0.tgz", + "integrity": "sha512-WrS5Mw51sGrpqjlh3d4/fOwpEV2Hd3YOkp9DBt4k8XZQcoTHZFB7sx030A6OcahF4J1nDQAa3jXlTVVYH50IFA==", "dev": true, "dependencies": { "@lezer/common": "^1.0.0" @@ -1535,9 +1535,9 @@ } }, "node_modules/@mermaid-js/mermaid-cli": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/@mermaid-js/mermaid-cli/-/mermaid-cli-10.6.0.tgz", - "integrity": "sha512-BFjvlB4YcZKnGy7AO6cl3eXK+SNRW3caCEThfD+ChJ92lFJZ3c4PLOESA3JP/hJ66y5bO63MNa8OtIJo4iEi8w==", + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/@mermaid-js/mermaid-cli/-/mermaid-cli-10.6.1.tgz", + "integrity": "sha512-OH2uOXW3/GBaMGagVF7Fzu/9TJrGge+Bu/+Tm8OyIaRBaKa2NN+3SggJOmr5s51oTPaGKu/X1XBDoauvtlXAPg==", "dev": true, "dependencies": { "chalk": "^5.0.1", @@ -1883,9 +1883,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.3.1.tgz", - "integrity": "sha512-D+opNc1CnFmN6EcpG2BXUo9dI/vgoqo6xijv/nUPE1t7Y0Iz9IaXkSjaqw5MJq7B1DUawXfEaIdVCod27IsAOQ==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.5.1.tgz", + "integrity": "sha512-YaN43wTyEBaMqLDYeze+gQ4ZrW5RbTEGtT5o1GVDkhpdNcsLTnLRcLccvwy3E9wiDKWg9RIhuoy3JQKDRBfaZA==", "cpu": [ "arm" ], @@ -1896,9 +1896,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.3.1.tgz", - "integrity": "sha512-3UbtU+7ocBMxYoMCDymHnFYB8tALVaEOjTe5pzAB65AJwXfDFAxADYGCJnBzDXD9u/G+7ktoYnMGYhitYphFkg==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.5.1.tgz", + "integrity": "sha512-n1bX+LCGlQVuPlCofO0zOKe1b2XkFozAVRoczT+yxWZPGnkEAKTTYVOGZz8N4sKuBnKMxDbfhUsB1uwYdup/sw==", "cpu": [ "arm64" ], @@ -1909,9 +1909,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.3.1.tgz", - "integrity": "sha512-F19xNgrLNnLTS/LFnTdlmxYvkIjFttDSQmJ6/oXLRZpGX+LAoYZpFcz2sYk5l/umk3M34Dfgnvt1fcMfTuIjzA==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.5.1.tgz", + "integrity": "sha512-QqJBumdvfBqBBmyGHlKxje+iowZwrHna7pokj/Go3dV1PJekSKfmjKrjKQ/e6ESTGhkfPNLq3VXdYLAc+UtAQw==", "cpu": [ "arm64" ], @@ -1922,9 +1922,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.3.1.tgz", - "integrity": "sha512-+63fn9QVEHsDz+ZafHN1R7tAjqfVG4LaFEPeHVcM0YWSNc6vq7UOdi7IUTdQ++RZHev5rYm8GTGwJccULX1XnQ==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.5.1.tgz", + "integrity": "sha512-RrkDNkR/P5AEQSPkxQPmd2ri8WTjSl0RYmuFOiEABkEY/FSg0a4riihWQGKDJ4LnV9gigWZlTMx2DtFGzUrYQw==", "cpu": [ "x64" ], @@ -1935,9 +1935,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.3.1.tgz", - "integrity": "sha512-eG/9q+W0KPLu4xG3EwqDsG+wz9VoPMW0IDZ4bXdq2yyi2qA/CcmHb5956ZOw9PPAmL2krHvDaPyQIzFkZP0BLA==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.5.1.tgz", + "integrity": "sha512-ZFPxvUZmE+fkB/8D9y/SWl/XaDzNSaxd1TJUSE27XAKlRpQ2VNce/86bGd9mEUgL3qrvjJ9XTGwoX0BrJkYK/A==", "cpu": [ "arm" ], @@ -1948,9 +1948,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.3.1.tgz", - "integrity": "sha512-zjnPmrnXz59M6SaVwJSD0bWQ3ljFxpDMDVDi94Xn60/XX/qokZco9/psvu4hSvV+3A4OKwt4XwAULygXwN8y5w==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.5.1.tgz", + "integrity": "sha512-FEuAjzVIld5WVhu+M2OewLmjmbXWd3q7Zcx+Rwy4QObQCqfblriDMMS7p7+pwgjZoo9BLkP3wa9uglQXzsB9ww==", "cpu": [ "arm64" ], @@ -1961,9 +1961,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.3.1.tgz", - "integrity": "sha512-/QqGJI0Jk/Ln32EmpkJYmwpKIe+Da40zmJL8YYvJKYQWhvj7qYOJM6HntQndTWNpF5/33vpLVhngCaHqmiVhNg==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.5.1.tgz", + "integrity": "sha512-f5Gs8WQixqGRtI0Iq/cMqvFYmgFzMinuJO24KRfnv7Ohi/HQclwrBCYkzQu1XfLEEt3DZyvveq9HWo4bLJf1Lw==", "cpu": [ "arm64" ], @@ -1974,9 +1974,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.3.1.tgz", - "integrity": "sha512-Q1nbux0VbjeSSYns31wa4r8pssxg/bmYD7kH9ArSfSLxN0OaJaDTaBfHuGC/Ou7dWbg83ca0YQTYHQ6rzZVvgg==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.5.1.tgz", + "integrity": "sha512-CWPkPGrFfN2vj3mw+S7A/4ZaU3rTV7AkXUr08W9lNP+UzOvKLVf34tWCqrKrfwQ0NTk5GFqUr2XGpeR2p6R4gw==", "cpu": [ "x64" ], @@ -1987,9 +1987,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.3.1.tgz", - "integrity": "sha512-5i71ndo6vZ/EaYpWV8h0TypEc5lCmPru6hST35XiTzV9XUtvbLDfbD2T3nSU5MeQMZVgQHCHXelsH3KCGTA8WA==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.5.1.tgz", + "integrity": "sha512-ZRETMFA0uVukUC9u31Ed1nx++29073goCxZtmZARwk5aF/ltuENaeTtRVsSQzFlzdd4J6L3qUm+EW8cbGt0CKQ==", "cpu": [ "x64" ], @@ -2000,9 +2000,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.3.1.tgz", - "integrity": "sha512-aYKKmlrLL7C0oY43B2Q4uMIlfF1BsSlSYf3R7q7SGB/SrK7Tkj2DHuxqBSYuFqSxuYuAP4PaHt230McvMpZg5A==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.5.1.tgz", + "integrity": "sha512-ihqfNJNb2XtoZMSCPeoo0cYMgU04ksyFIoOw5S0JUVbOhafLot+KD82vpKXOurE2+9o/awrqIxku9MRR9hozHQ==", "cpu": [ "arm64" ], @@ -2013,9 +2013,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.3.1.tgz", - "integrity": "sha512-/B5g1WqoXecmHyVsXsSGWfGE+QqiSIMk2I4+EOGcziXfZsUHoUbwXwaiAy5Sir/xUwdi9nEZDqj4jxwMchZPkQ==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.5.1.tgz", + "integrity": "sha512-zK9MRpC8946lQ9ypFn4gLpdwr5a01aQ/odiIJeL9EbgZDMgbZjjT/XzTqJvDfTmnE1kHdbG20sAeNlpc91/wbg==", "cpu": [ "ia32" ], @@ -2026,9 +2026,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.3.1.tgz", - "integrity": "sha512-2cRSO5SflYT21SKh1G+2zchLUotL2g7/jhYxbeFpJ8gfVU6CMd2YiIfN++Rs8kzTsuwaTqrE8CAK8GORqoVOeQ==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.5.1.tgz", + "integrity": "sha512-5I3Nz4Sb9TYOtkRwlH0ow+BhMH2vnh38tZ4J4mggE48M/YyJyp/0sPSxhw1UeS1+oBgQ8q7maFtSeKpeRJu41Q==", "cpu": [ "x64" ], @@ -2087,6 +2087,15 @@ "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", "dev": true }, + "node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -2106,15 +2115,24 @@ "dev": true }, "node_modules/@types/markdown-it": { - "version": "13.0.6", - "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-13.0.6.tgz", - "integrity": "sha512-0VqpvusJn1/lwRegCxcHVdmLfF+wIsprsKMC9xW8UPcTxhFcQtoN/fBU1zMe8pH7D/RuueMh2CaBaNv+GrLqTw==", + "version": "13.0.7", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-13.0.7.tgz", + "integrity": "sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==", "dev": true, "dependencies": { "@types/linkify-it": "*", "@types/mdurl": "*" } }, + "node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, "node_modules/@types/mdurl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz", @@ -2128,9 +2146,9 @@ "dev": true }, "node_modules/@types/mocha": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.4.tgz", - "integrity": "sha512-xKU7bUjiFTIttpWaIZ9qvgg+22O1nmbA+HRxdlR+u6TWsGfmFdXrheJoK4fFxrHNVIOBDvDNKZG+LYBpMHpX3w==", + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz", + "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==", "dev": true }, "node_modules/@types/node": { @@ -2162,9 +2180,15 @@ } }, "node_modules/@types/semver": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.5.tgz", - "integrity": "sha512-+d+WYC1BxJ6yVOgUgzK8gWvp5qF8ssV5r4nsDcZWKRWcDQLQ619tvWAxJQYGgBrO1MnLJC7a5GtiYsAoQ47dJg==", + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", + "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", + "dev": true + }, + "node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", "dev": true }, "node_modules/@types/web-bluetooth": { @@ -2190,16 +2214,16 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.10.0.tgz", - "integrity": "sha512-uoLj4g2OTL8rfUQVx2AFO1hp/zja1wABJq77P6IclQs6I/m9GLrm7jCdgzZkvWdDCQf1uEvoa8s8CupsgWQgVg==", + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.12.0.tgz", + "integrity": "sha512-XOpZ3IyJUIV1b15M7HVOpgQxPPF7lGXgsfcEIu3yDxFPaf/xZKt7s9QO/pbk7vpWQyVulpJbu4E5LwpZiQo4kA==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.10.0", - "@typescript-eslint/type-utils": "6.10.0", - "@typescript-eslint/utils": "6.10.0", - "@typescript-eslint/visitor-keys": "6.10.0", + "@typescript-eslint/scope-manager": "6.12.0", + "@typescript-eslint/type-utils": "6.12.0", + "@typescript-eslint/utils": "6.12.0", + "@typescript-eslint/visitor-keys": "6.12.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -2225,15 +2249,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.10.0.tgz", - "integrity": "sha512-+sZwIj+s+io9ozSxIWbNB5873OSdfeBEH/FR0re14WLI6BaKuSOnnwCJ2foUiu8uXf4dRp1UqHP0vrZ1zXGrog==", + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.12.0.tgz", + "integrity": "sha512-s8/jNFPKPNRmXEnNXfuo1gemBdVmpQsK1pcu+QIvuNJuhFzGrpD7WjOcvDc/+uEdfzSYpNu7U/+MmbScjoQ6vg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.10.0", - "@typescript-eslint/types": "6.10.0", - "@typescript-eslint/typescript-estree": "6.10.0", - "@typescript-eslint/visitor-keys": "6.10.0", + "@typescript-eslint/scope-manager": "6.12.0", + "@typescript-eslint/types": "6.12.0", + "@typescript-eslint/typescript-estree": "6.12.0", + "@typescript-eslint/visitor-keys": "6.12.0", "debug": "^4.3.4" }, "engines": { @@ -2253,13 +2277,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.10.0.tgz", - "integrity": "sha512-TN/plV7dzqqC2iPNf1KrxozDgZs53Gfgg5ZHyw8erd6jd5Ta/JIEcdCheXFt9b1NYb93a1wmIIVW/2gLkombDg==", + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.12.0.tgz", + "integrity": "sha512-5gUvjg+XdSj8pcetdL9eXJzQNTl3RD7LgUiYTl8Aabdi8hFkaGSYnaS6BLc0BGNaDH+tVzVwmKtWvu0jLgWVbw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.10.0", - "@typescript-eslint/visitor-keys": "6.10.0" + "@typescript-eslint/types": "6.12.0", + "@typescript-eslint/visitor-keys": "6.12.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -2270,13 +2294,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.10.0.tgz", - "integrity": "sha512-wYpPs3hgTFblMYwbYWPT3eZtaDOjbLyIYuqpwuLBBqhLiuvJ+9sEp2gNRJEtR5N/c9G1uTtQQL5AhV0fEPJYcg==", + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.12.0.tgz", + "integrity": "sha512-WWmRXxhm1X8Wlquj+MhsAG4dU/Blvf1xDgGaYCzfvStP2NwPQh6KBvCDbiOEvaE0filhranjIlK/2fSTVwtBng==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.10.0", - "@typescript-eslint/utils": "6.10.0", + "@typescript-eslint/typescript-estree": "6.12.0", + "@typescript-eslint/utils": "6.12.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -2297,9 +2321,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.10.0.tgz", - "integrity": "sha512-36Fq1PWh9dusgo3vH7qmQAj5/AZqARky1Wi6WpINxB6SkQdY5vQoT2/7rW7uBIsPDcvvGCLi4r10p0OJ7ITAeg==", + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.12.0.tgz", + "integrity": "sha512-MA16p/+WxM5JG/F3RTpRIcuOghWO30//VEOvzubM8zuOOBYXsP+IfjoCXXiIfy2Ta8FRh9+IO9QLlaFQUU+10Q==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -2310,13 +2334,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.10.0.tgz", - "integrity": "sha512-ek0Eyuy6P15LJVeghbWhSrBCj/vJpPXXR+EpaRZqou7achUWL8IdYnMSC5WHAeTWswYQuP2hAZgij/bC9fanBg==", + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.12.0.tgz", + "integrity": "sha512-vw9E2P9+3UUWzhgjyyVczLWxZ3GuQNT7QpnIY3o5OMeLO/c8oHljGc8ZpryBMIyympiAAaKgw9e5Hl9dCWFOYw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.10.0", - "@typescript-eslint/visitor-keys": "6.10.0", + "@typescript-eslint/types": "6.12.0", + "@typescript-eslint/visitor-keys": "6.12.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -2337,17 +2361,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.10.0.tgz", - "integrity": "sha512-v+pJ1/RcVyRc0o4wAGux9x42RHmAjIGzPRo538Z8M1tVx6HOnoQBCX/NoadHQlZeC+QO2yr4nNSFWOoraZCAyg==", + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.12.0.tgz", + "integrity": "sha512-LywPm8h3tGEbgfyjYnu3dauZ0U7R60m+miXgKcZS8c7QALO9uWJdvNoP+duKTk2XMWc7/Q3d/QiCuLN9X6SWyQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.10.0", - "@typescript-eslint/types": "6.10.0", - "@typescript-eslint/typescript-estree": "6.10.0", + "@typescript-eslint/scope-manager": "6.12.0", + "@typescript-eslint/types": "6.12.0", + "@typescript-eslint/typescript-estree": "6.12.0", "semver": "^7.5.4" }, "engines": { @@ -2362,12 +2386,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.10.0.tgz", - "integrity": "sha512-xMGluxQIEtOM7bqFCo+rCMh5fqI+ZxV5RUUOa29iVPz1OgCZrtc7rFnz5cLUazlkPKYqX+75iuDq7m0HQ48nCg==", + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.12.0.tgz", + "integrity": "sha512-rg3BizTZHF1k3ipn8gfrzDXXSFKyOEB5zxYXInQ6z0hUvmQlhaZQzK+YmHmNViMA9HzW5Q9+bPPt90bU6GQwyw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.10.0", + "@typescript-eslint/types": "6.12.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -2385,15 +2409,15 @@ "dev": true }, "node_modules/@vitejs/plugin-vue": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.3.1.tgz", - "integrity": "sha512-tUBEtWcF7wFtII7ayNiLNDTCE1X1afySEo+XNVMNkFXaThENyCowIEX095QqbJZGTgoOcSVDJGlnde2NG4jtbQ==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.5.0.tgz", + "integrity": "sha512-a2WSpP8X8HTEww/U00bU4mX1QpLINNuz/2KMNpLsdu3BzOpak3AGI1CJYBTXcc4SPhaD0eNRUp7IyQK405L5dQ==", "dev": true, "engines": { "node": "^14.18.0 || >=16.0.0" }, "peerDependencies": { - "vite": "^4.0.0", + "vite": "^4.0.0 || ^5.0.0", "vue": "^3.2.25" } }, @@ -2566,14 +2590,14 @@ "dev": true }, "node_modules/@vueuse/core": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.6.0.tgz", - "integrity": "sha512-+Yee+g9+9BEbvkyGdn4Bf4yZx9EfocAytpV2ZlrlP7xcz+qznLmZIDqDroTvc5vtMkWZicisgEv8dt3+jL+HQg==", + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.6.1.tgz", + "integrity": "sha512-Pc26IJbqgC9VG1u6VY/xrXXfxD33hnvxBnKrLlA2LJlyHII+BSrRoTPJgGYq7qZOu61itITFUnm6QbacwZ4H8Q==", "dev": true, "dependencies": { "@types/web-bluetooth": "^0.0.20", - "@vueuse/metadata": "10.6.0", - "@vueuse/shared": "10.6.0", + "@vueuse/metadata": "10.6.1", + "@vueuse/shared": "10.6.1", "vue-demi": ">=0.14.6" }, "funding": { @@ -2607,13 +2631,13 @@ } }, "node_modules/@vueuse/integrations": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-10.6.0.tgz", - "integrity": "sha512-4RsM5+HF2IUOCFngdyQyvhDEFjus2gzOnPR2FbX4l+pQ4KPMMqzic1AFIq4bMYaVp32p/HF+pidTXwLJIZSQtA==", + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-10.6.1.tgz", + "integrity": "sha512-mPDupuofMJ4DPmtX/FfP1MajmWRzYDv8WSaTCo8LQ5kFznjWgmUQ16ApjYqgMquqffNY6+IRMdMgosLDRZOSZA==", "dev": true, "dependencies": { - "@vueuse/core": "10.6.0", - "@vueuse/shared": "10.6.0", + "@vueuse/core": "10.6.1", + "@vueuse/shared": "10.6.1", "vue-demi": ">=0.14.6" }, "funding": { @@ -2699,18 +2723,18 @@ } }, "node_modules/@vueuse/metadata": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.6.0.tgz", - "integrity": "sha512-mzKHkHoiK6xVz01VzQjM2l6ofUanEaofgEGPgDHcAzlvOTccPRTIdEuzneOUTYxgfm1vkDikS6rtrEw/NYlaTQ==", + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.6.1.tgz", + "integrity": "sha512-qhdwPI65Bgcj23e5lpGfQsxcy0bMjCAsUGoXkJ7DsoeDUdasbZ2DBa4dinFCOER3lF4gwUv+UD2AlA11zdzMFw==", "dev": true, "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@vueuse/shared": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.6.0.tgz", - "integrity": "sha512-0t4MVE18sO+/4Gh0jfeOXBTjKeV4606N9kIrDOLPjFl8Rwnlodn+QC5A4LfJuysK7aOsTMjF3KnzNeueaI0xlQ==", + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.6.1.tgz", + "integrity": "sha512-TECVDTIedFlL0NUfHWncf3zF9Gc4VfdxfQc8JFwoVZQmxpONhLxFrlm0eHQeidHj4rdTPL3KXJa0TZCk1wnc5Q==", "dev": true, "dependencies": { "vue-demi": ">=0.14.6" @@ -2883,12 +2907,6 @@ "node": ">=8" } }, - "node_modules/ansi-sequence-parser": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz", - "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==", - "dev": true - }, "node_modules/ansi-styles": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", @@ -3083,9 +3101,9 @@ } }, "node_modules/axios": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.1.tgz", - "integrity": "sha512-vfBmhDpKafglh0EldBEbVuoe7DyAavGSLWhuSm5ZSEKQnHhBf0xAAwybbNH1IkrJNGnS/VG4I5yxig1pCEXE4g==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", + "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", "dev": true, "dependencies": { "follow-redirects": "^1.15.0", @@ -3120,9 +3138,9 @@ ] }, "node_modules/big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", "dev": true, "engines": { "node": ">=0.6" @@ -3459,9 +3477,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001561", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001561.tgz", - "integrity": "sha512-NTt0DNoKe958Q0BE0j0c1V9jbUzhBxHIEJy7asmGrpE0yG63KTV7PLHPnK2E1O9RsQrQ081I3NLuXGS6zht3cw==", + "version": "1.0.30001564", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001564.tgz", + "integrity": "sha512-DqAOf+rhof+6GVx1y+xzbFPeOumfQnhYzVnZD6LAXijR77yPtm9mfOcqOnT3mpnJiZVT+kwLAFnRlZcIz+c6bg==", "dev": true, "funding": [ { @@ -3478,6 +3496,16 @@ } ] }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/chalk": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", @@ -3490,6 +3518,26 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", @@ -3791,6 +3839,16 @@ "node": ">= 0.8" } }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/commander": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", @@ -3913,9 +3971,9 @@ "dev": true }, "node_modules/core-js": { - "version": "3.33.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.2.tgz", - "integrity": "sha512-XeBzWI6QL3nJQiHmdzbAOiMYqjrb7hwU7A39Qhvd/POSa/t9E1AeZyEZx3fNvp/vtM8zXwhoL0FsiS0hD0pruQ==", + "version": "3.33.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.3.tgz", + "integrity": "sha512-lo0kOocUlLKmm6kv/FswQL8zbkH7mVsLJ/FULClOhv8WRVmKLVcs6XPNQAzstfeJTCHMyButEwG+z1kHxHoDZw==", "dev": true, "hasInstallScript": true, "funding": { @@ -4223,6 +4281,28 @@ "node": ">=0.4.0" } }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "dev": true, + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/devtools-protocol": { "version": "0.0.1107588", "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1107588.tgz", @@ -4269,9 +4349,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.580", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.580.tgz", - "integrity": "sha512-T5q3pjQon853xxxHUq3ZP68ZpvJHuSMY2+BZaW3QzjS4HvNuvsMmZ/+lU+nCrftre1jFZ+OSlExynXWBihnXzw==", + "version": "1.4.593", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.593.tgz", + "integrity": "sha512-c7+Hhj87zWmdpmjDONbvNKNo24tvmD4mjal1+qqTYTrlF0/sNpAcDlU0Ki84ftA/5yj3BF2QhSGEC0Rky6larg==", "dev": true }, "node_modules/emoji-regex": { @@ -4295,6 +4375,18 @@ "integrity": "sha512-VWU0/zXzVbeJNXvME/5EmLuEj2TauvoaTz6aFYK1Z92JCBlDlZ3Gu0tuGR42kpW1754ywTs+QB0g5TP0oj9Zaw==", "dev": true }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -4419,9 +4511,9 @@ "dev": true }, "node_modules/esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.7.tgz", + "integrity": "sha512-6brbTZVqxhqgbpqBR5MzErImcpA0SQdoKOkcWK/U30HtQxnokIpG3TX2r0IJqbFUzqLjhU/zC1S5ndgakObVCQ==", "dev": true, "hasInstallScript": true, "bin": { @@ -4431,28 +4523,28 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" + "@esbuild/android-arm": "0.19.7", + "@esbuild/android-arm64": "0.19.7", + "@esbuild/android-x64": "0.19.7", + "@esbuild/darwin-arm64": "0.19.7", + "@esbuild/darwin-x64": "0.19.7", + "@esbuild/freebsd-arm64": "0.19.7", + "@esbuild/freebsd-x64": "0.19.7", + "@esbuild/linux-arm": "0.19.7", + "@esbuild/linux-arm64": "0.19.7", + "@esbuild/linux-ia32": "0.19.7", + "@esbuild/linux-loong64": "0.19.7", + "@esbuild/linux-mips64el": "0.19.7", + "@esbuild/linux-ppc64": "0.19.7", + "@esbuild/linux-riscv64": "0.19.7", + "@esbuild/linux-s390x": "0.19.7", + "@esbuild/linux-x64": "0.19.7", + "@esbuild/netbsd-x64": "0.19.7", + "@esbuild/openbsd-x64": "0.19.7", + "@esbuild/sunos-x64": "0.19.7", + "@esbuild/win32-arm64": "0.19.7", + "@esbuild/win32-ia32": "0.19.7", + "@esbuild/win32-x64": "0.19.7" } }, "node_modules/escalade": { @@ -4477,15 +4569,15 @@ } }, "node_modules/eslint": { - "version": "8.53.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.53.0.tgz", - "integrity": "sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.54.0.tgz", + "integrity": "sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.3", - "@eslint/js": "8.53.0", + "@eslint/js": "8.54.0", "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -5163,9 +5255,9 @@ } }, "node_modules/flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, "dependencies": { "flatted": "^3.2.9", @@ -5173,7 +5265,7 @@ "rimraf": "^3.0.2" }, "engines": { - "node": ">=12.0.0" + "node": "^10.12.0 || >=12.0.0" } }, "node_modules/flatted": { @@ -5752,6 +5844,137 @@ "node": ">= 0.4" } }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", + "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^8.0.0", + "property-information": "^6.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.1.tgz", + "integrity": "sha512-5m1gmba658Q+lO5uqL5YNGQWeh1MYWZbZmWrM5lncdcuiXuo5E2HT/CIOp0rLF8ksfSwiCVJ3twlgVRyTGThGA==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.0.tgz", + "integrity": "sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-raw": "^9.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", + "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", + "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -5773,6 +5996,16 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", @@ -5843,9 +6076,9 @@ ] }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", "dev": true, "engines": { "node": ">= 4" @@ -6573,12 +6806,6 @@ "node": ">=6" } }, - "node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, "node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -6629,9 +6856,9 @@ "dev": true }, "node_modules/lint-staged": { - "version": "15.0.2", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.0.2.tgz", - "integrity": "sha512-vnEy7pFTHyVuDmCAIFKR5QDO8XLVlPFQQyujQ/STOxe40ICWqJ6knS2wSJ/ffX/Lw0rz83luRDh+ET7toN+rOw==", + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.1.0.tgz", + "integrity": "sha512-ZPKXWHVlL7uwVpy8OZ7YQjYDAuO5X4kMh0XgZvPNxLcCCngd0PO5jKQyy3+s4TL2EnHoIXIzP1422f/l3nZKMw==", "dev": true, "dependencies": { "chalk": "5.3.0", @@ -6643,7 +6870,7 @@ "micromatch": "4.0.5", "pidtree": "0.6.0", "string-argv": "0.3.2", - "yaml": "2.3.3" + "yaml": "2.3.4" }, "bin": { "lint-staged": "bin/lint-staged.js" @@ -7105,6 +7332,26 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/mdast-util-to-hast": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz", + "integrity": "sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -7120,6 +7367,95 @@ "node": ">= 8" } }, + "node_modules/micromark-util-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, "node_modules/micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -7206,9 +7542,9 @@ } }, "node_modules/minisearch": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-6.2.0.tgz", - "integrity": "sha512-BECkorDF1TY2rGKt9XHdSeP9TP29yUbrAaCh/C03wpyf1vx3uYcP/+8XlMcpTkgoU0rBVnHMAOaP83Rc9Tm+TQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-6.3.0.tgz", + "integrity": "sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==", "dev": true }, "node_modules/minizlib": { @@ -7474,6 +7810,15 @@ "node": "*" } }, + "node_modules/mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -7534,9 +7879,9 @@ } }, "node_modules/node-gyp-build": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", - "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==", + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.7.1.tgz", + "integrity": "sha512-wTSrZ+8lsRRa3I3H8Xr65dLWSgCvY2l4AOnaeKdPA9TB/WYMPaTcrzf3rXvFoVvjKNVnu0CcWSx54qq9GKRUYg==", "dev": true, "bin": { "node-gyp-build": "bin.js", @@ -8168,6 +8513,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -8431,9 +8788,9 @@ } }, "node_modules/preact": { - "version": "10.18.2", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.18.2.tgz", - "integrity": "sha512-X/K43vocUHDg0XhWVmTTMbec4LT/iBMh+csCEqJk+pJqegaXsvjdqN80ZZ3L+93azWCnWCZ+WGwYb8SplxeNjA==", + "version": "10.19.2", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.19.2.tgz", + "integrity": "sha512-UA9DX/OJwv6YwP9Vn7Ti/vF80XL+YA5H2l7BpCtUr3ya8LWHFzpiO5R+N7dN16ujpIxhekRFuOOF82bXX7K/lg==", "dev": true, "funding": { "type": "opencollective", @@ -8450,9 +8807,9 @@ } }, "node_modules/prettier": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", - "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz", + "integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" @@ -8524,6 +8881,16 @@ "node": ">=0.4.0" } }, + "node_modules/property-information": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.4.0.tgz", + "integrity": "sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", @@ -9039,9 +9406,9 @@ } }, "node_modules/rollup": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.3.1.tgz", - "integrity": "sha512-gkvK/OnwbyacmUVjxNzuMMqSihBVQSdX9OtZkThN946cpMHA7izVzc03tHg3NVAeWXUNPzkrP7RW/rV68a42BA==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.5.1.tgz", + "integrity": "sha512-0EQribZoPKpb5z1NW/QYm3XSR//Xr8BeEXU49Lc/mQmpmVVG5jPUVrpc2iptup/0WMrY9mzas0fxH+TjYvG2CA==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -9051,18 +9418,18 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.3.1", - "@rollup/rollup-android-arm64": "4.3.1", - "@rollup/rollup-darwin-arm64": "4.3.1", - "@rollup/rollup-darwin-x64": "4.3.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.3.1", - "@rollup/rollup-linux-arm64-gnu": "4.3.1", - "@rollup/rollup-linux-arm64-musl": "4.3.1", - "@rollup/rollup-linux-x64-gnu": "4.3.1", - "@rollup/rollup-linux-x64-musl": "4.3.1", - "@rollup/rollup-win32-arm64-msvc": "4.3.1", - "@rollup/rollup-win32-ia32-msvc": "4.3.1", - "@rollup/rollup-win32-x64-msvc": "4.3.1", + "@rollup/rollup-android-arm-eabi": "4.5.1", + "@rollup/rollup-android-arm64": "4.5.1", + "@rollup/rollup-darwin-arm64": "4.5.1", + "@rollup/rollup-darwin-x64": "4.5.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.5.1", + "@rollup/rollup-linux-arm64-gnu": "4.5.1", + "@rollup/rollup-linux-arm64-musl": "4.5.1", + "@rollup/rollup-linux-x64-gnu": "4.5.1", + "@rollup/rollup-linux-x64-musl": "4.5.1", + "@rollup/rollup-win32-arm64-msvc": "4.5.1", + "@rollup/rollup-win32-ia32-msvc": "4.5.1", + "@rollup/rollup-win32-x64-msvc": "4.5.1", "fsevents": "~2.3.2" } }, @@ -9364,9 +9731,9 @@ "dev": true }, "node_modules/search-insights": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.10.0.tgz", - "integrity": "sha512-pQGrOE56QuTRmq4NzliRZe9rv914hBMBjOviuDliDHoIhmBGoyZRlFsPd4RprGGNC4PKdD2Jz54YN4Cmkb44mA==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.11.0.tgz", + "integrity": "sha512-Uin2J8Bpm3xaZi9Y8QibSys6uJOFZ+REMrf42v20AA3FUDUrshKkMEP6liJbMAHCm71wO6ls4mwAf7a3gFVxLw==", "dev": true, "peer": true }, @@ -9524,16 +9891,22 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/shiki": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.5.tgz", - "integrity": "sha512-1gCAYOcmCFONmErGTrS1fjzJLA7MGZmKzrBNX7apqSwhyITJg2O102uFzXUeBxNnEkDA9vHIKLyeKq0V083vIw==", + "node_modules/shikiji": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/shikiji/-/shikiji-0.7.4.tgz", + "integrity": "sha512-N5dmPvyhH/zfcsuWysUEAMwRJDMz26LUns2VEUs5y4Ozbf5jkAODU0Yswjcf/tZAwpFnk5x3y34dupFMnF2+NA==", "dev": true, "dependencies": { - "ansi-sequence-parser": "^1.1.0", - "jsonc-parser": "^3.2.0", - "vscode-oniguruma": "^1.7.0", - "vscode-textmate": "^8.0.0" + "hast-util-to-html": "^9.0.0" + } + }, + "node_modules/shikiji-transformers": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/shikiji-transformers/-/shikiji-transformers-0.7.4.tgz", + "integrity": "sha512-oykilNekcW2FnRGbvZm+RNWHYroSeCVMOaMMwAbxozZgpTdcJtHoA+1+MDFw6/o2hCkX88kKbxG6FwAZoUZ6WQ==", + "dev": true, + "dependencies": { + "shikiji": "0.7.4" } }, "node_modules/shx": { @@ -9656,6 +10029,16 @@ "deprecated": "Please use @jridgewell/sourcemap-codec instead", "dev": true }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/spawn-command": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", @@ -9846,6 +10229,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/stringify-entities": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", + "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", + "dev": true, + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -10178,6 +10575,16 @@ "tree-kill": "cli.js" } }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/ts-api-utils": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", @@ -10328,9 +10735,9 @@ } }, "node_modules/typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz", + "integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -10405,6 +10812,74 @@ "node": ">=4" } }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/universalify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", @@ -10493,30 +10968,73 @@ "spdx-expression-parse": "^3.0.0" } }, + "node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz", + "integrity": "sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/vite": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz", - "integrity": "sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.2.tgz", + "integrity": "sha512-6CCq1CAJCNM1ya2ZZA7+jS2KgnhbzvxakmlIjN24cF/PXhRMzpM/z8QgsVJA/Dm5fWUWnVEsmtBoMhmerPxT0g==", "dev": true, "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.27", - "rollup": "^3.27.1" + "esbuild": "^0.19.3", + "postcss": "^8.4.31", + "rollup": "^4.2.0" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": "^18.0.0 || >=20.0.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" }, "optionalDependencies": { - "fsevents": "~2.3.2" + "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": ">= 14", + "@types/node": "^18.0.0 || >=20.0.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", @@ -10548,41 +11066,27 @@ } } }, - "node_modules/vite/node_modules/rollup": { - "version": "3.29.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", - "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", - "dev": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, "node_modules/vitepress": { - "version": "1.0.0-rc.25", - "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.0.0-rc.25.tgz", - "integrity": "sha512-1dqWiHNThNrVZ08ixmfEDBEH+764KOgnev9oXga/x6cN++Vb9pnuu8p3K6DQP+KZrYcG+WiX7jxal0iSNpAWuQ==", + "version": "1.0.0-rc.30", + "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.0.0-rc.30.tgz", + "integrity": "sha512-OolAbFU2hjs0KuIpPq0wRd4vJlTMvrFgHSh/hB+XQid7U31KtB6F1NxWihMwKkwncpxu9mt2Somet5AGiyTgPA==", "dev": true, "dependencies": { "@docsearch/css": "^3.5.2", "@docsearch/js": "^3.5.2", - "@types/markdown-it": "^13.0.4", - "@vitejs/plugin-vue": "4.3.1", + "@types/markdown-it": "^13.0.7", + "@vitejs/plugin-vue": "^4.5.0", "@vue/devtools-api": "^6.5.1", - "@vueuse/core": "^10.5.0", - "@vueuse/integrations": "^10.5.0", + "@vueuse/core": "^10.6.1", + "@vueuse/integrations": "^10.6.1", "focus-trap": "^7.5.4", "mark.js": "8.11.1", - "minisearch": "^6.1.0", - "shiki": "^0.14.5", - "vite": "^4.5.0", - "vue": "^3.3.6" + "minisearch": "^6.3.0", + "mrmime": "^1.0.1", + "shikiji": "^0.7.2", + "shikiji-transformers": "^0.7.2", + "vite": "^5.0.2", + "vue": "^3.3.8" }, "bin": { "vitepress": "bin/vitepress.js" @@ -10600,18 +11104,6 @@ } } }, - "node_modules/vscode-oniguruma": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", - "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", - "dev": true - }, - "node_modules/vscode-textmate": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", - "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==", - "dev": true - }, "node_modules/vue": { "version": "3.3.8", "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.8.tgz", @@ -10712,6 +11204,16 @@ "setimmediate-napi": "^1.0.3" } }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", @@ -10907,9 +11409,9 @@ "dev": true }, "node_modules/yaml": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.3.tgz", - "integrity": "sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", "dev": true, "engines": { "node": ">= 14" @@ -11002,6 +11504,16 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } } } } diff --git a/package.json b/package.json index 9ed0afc9c..76c698abb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rollup", - "version": "4.4.1", + "version": "4.5.2", "description": "Next-generation ES module bundler", "main": "dist/rollup.js", "module": "dist/es/rollup.js", @@ -112,7 +112,7 @@ "@codemirror/state": "^6.3.1", "@codemirror/view": "^6.22.0", "@jridgewell/sourcemap-codec": "^1.4.15", - "@mermaid-js/mermaid-cli": "^10.6.0", + "@mermaid-js/mermaid-cli": "^10.6.1", "@napi-rs/cli": "^2.16.5", "@rollup/plugin-alias": "^5.0.1", "@rollup/plugin-buble": "^1.0.3", @@ -124,11 +124,11 @@ "@rollup/plugin-typescript": "11.1.5", "@rollup/pluginutils": "^5.0.5", "@types/estree": "1.0.5", - "@types/mocha": "^10.0.3", + "@types/mocha": "^10.0.5", "@types/node": "18.0.0", - "@types/yargs-parser": "^21.0.2", - "@typescript-eslint/eslint-plugin": "^6.10.0", - "@typescript-eslint/parser": "^6.10.0", + "@types/yargs-parser": "^21.0.3", + "@typescript-eslint/eslint-plugin": "^6.12.0", + "@typescript-eslint/parser": "^6.12.0", "@vue/eslint-config-prettier": "^8.0.0", "@vue/eslint-config-typescript": "^12.0.0", "acorn": "^8.11.2", @@ -138,11 +138,11 @@ "chokidar": "^3.5.3", "colorette": "^2.0.20", "concurrently": "^8.2.2", - "core-js": "^3.33.2", + "core-js": "^3.33.3", "date-time": "^4.0.0", "es5-shim": "^4.6.7", "es6-shim": "^0.35.8", - "eslint": "^8.53.0", + "eslint": "^8.54.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-import": "^2.29.0", "eslint-plugin-prettier": "^5.0.1", @@ -153,19 +153,19 @@ "fs-extra": "^11.1.1", "github-api": "^3.4.0", "husky": "^8.0.3", - "inquirer": "^9.2.11", + "inquirer": "^9.2.12", "is-reference": "^3.0.2", - "lint-staged": "^15.0.2", + "lint-staged": "^15.1.0", "locate-character": "^3.0.0", "magic-string": "^0.30.5", "mocha": "^10.2.0", "nyc": "^15.1.0", "pinia": "^2.1.7", - "prettier": "^3.0.3", + "prettier": "^3.1.0", "pretty-bytes": "^6.1.1", "pretty-ms": "^8.0.0", "requirejs": "^2.3.6", - "rollup": "^4.3.1", + "rollup": "^4.5.0", "rollup-plugin-license": "^3.2.0", "rollup-plugin-string": "^3.0.0", "rollup-plugin-thatworks": "^1.0.4", @@ -177,16 +177,16 @@ "systemjs": "^6.14.2", "terser": "^5.24.0", "tslib": "^2.6.2", - "typescript": "^5.2.2", - "vite": "^4.5.0", - "vitepress": "^1.0.0-rc.25", + "typescript": "^5.3.2", + "vite": "^5.0.0", + "vitepress": "^1.0.0-rc.29", "vue": "^3.3.8", "wasm-pack": "^0.12.1", "weak-napi": "^2.0.2", "yargs-parser": "^21.1.1" }, "overrides": { - "axios": "^1.6.0", + "axios": "^1.6.2", "semver": "^7.5.4" }, "files": [ diff --git a/rust/Cargo.lock b/rust/Cargo.lock index a443fc34f..c671cf6b7 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -182,9 +182,9 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" +checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" [[package]] name = "debugid" @@ -216,9 +216,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "form_urlencoded" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ "percent-encoding", ] @@ -274,16 +274,16 @@ checksum = "de90d3db62411eb62eddabe402d706ac4970f7ac8d088c05f11069cad9be9857" dependencies = [ "new_debug_unreachable", "once_cell", - "phf 0.11.2", + "phf", "rustc-hash", "smallvec", ] [[package]] name = "idna" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -409,9 +409,9 @@ dependencies = [ [[package]] name = "napi" -version = "2.14.0" +version = "2.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d90182620f32fe34b6ac9b52cba898af26e94c7f5abc01eb4094c417ae2e6c" +checksum = "1133249c46e92da921bafc8aba4912bf84d6c475f7625183772ed2d0844dc3a7" dependencies = [ "bitflags 2.4.1", "ctor", @@ -428,9 +428,9 @@ checksum = "d4b4532cf86bfef556348ac65e561e3123879f0e7566cca6d43a6ff5326f13df" [[package]] name = "napi-derive" -version = "2.14.1" +version = "2.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3619fa472d23cd5af94d63a2bae454a77a8863251f40230fbf59ce20eafa8a86" +checksum = "a0cca5738c6e81eb5ffd2c8ff2b4f05ece9c4c60c7e2b36cec6524492cf7f330" dependencies = [ "cfg-if", "convert_case", @@ -442,9 +442,9 @@ dependencies = [ [[package]] name = "napi-derive-backend" -version = "1.0.54" +version = "1.0.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd3ea4b54020c73d591a49cd192f6334c5f37f71a63ead54dbc851fa991ef00" +checksum = "35960e5f33228192a9b661447d0dfe8f5a3790ff5b4058c4d67680ded4f65b91" dependencies = [ "convert_case", "once_cell", @@ -561,9 +561,9 @@ checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" [[package]] name = "percent-encoding" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "petgraph" @@ -575,35 +575,14 @@ dependencies = [ "indexmap 2.1.0", ] -[[package]] -name = "phf" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" -dependencies = [ - "phf_macros 0.10.0", - "phf_shared 0.10.0", - "proc-macro-hack", -] - [[package]] name = "phf" version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" dependencies = [ - "phf_macros 0.11.2", - "phf_shared 0.11.2", -] - -[[package]] -name = "phf_generator" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" -dependencies = [ - "phf_shared 0.10.0", - "rand", + "phf_macros", + "phf_shared", ] [[package]] @@ -612,46 +591,23 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" dependencies = [ - "phf_shared 0.11.2", + "phf_shared", "rand", ] -[[package]] -name = "phf_macros" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" -dependencies = [ - "phf_generator 0.10.0", - "phf_shared 0.10.0", - "proc-macro-hack", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "phf_macros" version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" dependencies = [ - "phf_generator 0.11.2", - "phf_shared 0.11.2", + "phf_generator", + "phf_shared", "proc-macro2", "quote", "syn 2.0.39", ] -[[package]] -name = "phf_shared" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" -dependencies = [ - "siphasher", -] - [[package]] name = "phf_shared" version = "0.11.2" @@ -678,24 +634,6 @@ dependencies = [ "syn 2.0.39", ] -[[package]] -name = "ppv-lite86" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" - -[[package]] -name = "precomputed-hash" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" - -[[package]] -name = "proc-macro-hack" -version = "0.5.20+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" - [[package]] name = "proc-macro2" version = "1.0.69" @@ -735,18 +673,6 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ - "libc", - "rand_chacha", - "rand_core", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", "rand_core", ] @@ -755,9 +681,6 @@ name = "rand_core" version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom", -] [[package]] name = "redox_syscall" @@ -859,18 +782,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.192" +version = "1.0.193" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001" +checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.192" +version = "1.0.193" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1" +checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" dependencies = [ "proc-macro2", "quote", @@ -946,20 +869,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -[[package]] -name = "string_cache" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" -dependencies = [ - "new_debug_unreachable", - "once_cell", - "parking_lot", - "phf_shared 0.10.0", - "precomputed-hash", - "serde", -] - [[package]] name = "string_enum" version = "0.4.1" @@ -1001,9 +910,9 @@ dependencies = [ [[package]] name = "swc_common" -version = "0.33.8" +version = "0.33.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49fba1ce1d44f142b9e8212a6360fc7818e2c99c7f5ebe8b4fa4061c5764e48e" +checksum = "5ccb656cd57c93614e4e8b33a60e75ca095383565c1a8d2bbe6a1103942831e0" dependencies = [ "ahash", "ast_node", @@ -1019,7 +928,6 @@ dependencies = [ "serde", "siphasher", "sourcemap", - "string_cache", "swc_atoms", "swc_eq_ignore_macros", "swc_visit", @@ -1030,9 +938,9 @@ dependencies = [ [[package]] name = "swc_compiler_base" -version = "0.3.44" +version = "0.3.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51be8e8f4c3072d52063656d73071817918e86348ce930d8bf901fd9c2eb104f" +checksum = "5bd30888901957f40f900145d5af9bf2c26aae887bf730e128d84bcfb5f988be" dependencies = [ "anyhow", "base64 0.13.1", @@ -1077,14 +985,14 @@ dependencies = [ [[package]] name = "swc_ecma_ast" -version = "0.110.9" +version = "0.110.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cefcc1c71bf00e48da7b65801d1fccf7eed2b7fa1fc5c4848ed09801bfe2403" +checksum = "2c3d416121da2d56bcbd1b1623725a68890af4552fef0c6d1e4bfa92776ccd6a" dependencies = [ "bitflags 2.4.1", "is-macro", "num-bigint", - "phf 0.11.2", + "phf", "scoped-tls", "serde", "string_enum", @@ -1095,9 +1003,9 @@ dependencies = [ [[package]] name = "swc_ecma_codegen" -version = "0.146.21" +version = "0.146.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21fe48cf2d01ae24426191e138d7185bba39a4d181e3f8c2f4f09f8f5adfd913" +checksum = "0f73ea71b6e5c636bf667a892754037ed146dbda64e8fe5d12a5d2623f8d0bdd" dependencies = [ "memchr", "num-bigint", @@ -1127,9 +1035,9 @@ dependencies = [ [[package]] name = "swc_ecma_minifier" -version = "0.189.39" +version = "0.189.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "295563e210ec68e05f080b46d6e4a5e602e0e8859fa314ca8a6713ae1a9e3449" +checksum = "0b485e75481234b542d9b87f547e8adf1fe07cc682e4c58fb908dca9f89c7395" dependencies = [ "arrayvec", "indexmap 1.9.3", @@ -1161,15 +1069,15 @@ dependencies = [ [[package]] name = "swc_ecma_parser" -version = "0.141.18" +version = "0.141.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4aee08d307d2d4719715e9917a05cde1eee980667939854939443c583bc41823" +checksum = "5c01ab163c83f4e8c0d82382478d142ceecf897e5b2822707fec662a22208287" dependencies = [ "either", "new_debug_unreachable", "num-bigint", "num-traits", - "phf 0.11.2", + "phf", "serde", "smallvec", "smartstring", @@ -1183,15 +1091,15 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_base" -version = "0.134.27" +version = "0.134.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda12bac8c634293688dcde2347d38ce67b6249f0b7cbdec04a3e4fd08db7316" +checksum = "84a880cd951f82c4f1bf970e12e8fab616ea7feb41c97203d2d0cfa063d775bb" dependencies = [ "better_scoped_tls", "bitflags 2.4.1", "indexmap 1.9.3", "once_cell", - "phf 0.10.1", + "phf", "rustc-hash", "serde", "smallvec", @@ -1219,9 +1127,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_optimization" -version = "0.195.35" +version = "0.195.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea9dea37971b8b63621e3e7491fab4963070e7a13b137e53eb061b501846413c" +checksum = "721dbf997879ad84fbee1deaf196fc55c0d0a47943b6958bc1af4ee447dba4f7" dependencies = [ "dashmap", "indexmap 1.9.3", @@ -1243,9 +1151,9 @@ dependencies = [ [[package]] name = "swc_ecma_usage_analyzer" -version = "0.20.24" +version = "0.20.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7803ba485e53c1988096d42eb57c863ea37fd7fd890aadb2e365355d5044f915" +checksum = "163c7cce74915619fba4c7967937d1b1470a3acd2d44e149842cfadf5e5cea0b" dependencies = [ "indexmap 1.9.3", "rustc-hash", @@ -1260,9 +1168,9 @@ dependencies = [ [[package]] name = "swc_ecma_utils" -version = "0.124.23" +version = "0.124.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45f418621edc2eee974901df082ff575680c784340172d6ba4a2ffc93c11ce32" +checksum = "cd7f189c68e7aa895a19afd5c61eeeb4f4e71d80123b3b42f32e80c1f6641928" dependencies = [ "indexmap 1.9.3", "num_cpus", @@ -1278,9 +1186,9 @@ dependencies = [ [[package]] name = "swc_ecma_visit" -version = "0.96.9" +version = "0.96.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21305b130986e771206c9f447c8040f9b3be47c9fbbb1f659904e223b8e1c007" +checksum = "ba962f0becf83bab12a17365dface5a4f636c9e1743d479e292b96910a753743" dependencies = [ "num-bigint", "swc_atoms", @@ -1304,9 +1212,9 @@ dependencies = [ [[package]] name = "swc_fast_graph" -version = "0.21.8" +version = "0.21.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "392047ce047ab6f9c02ef17e7e19627c0050fe6dbb0bccd2350a92664a859c62" +checksum = "8117f6d10bbcb30cb3e549d6fa7637cb6d7c713cb71b2ce1808105a6825c788d" dependencies = [ "indexmap 1.9.3", "petgraph", @@ -1328,9 +1236,9 @@ dependencies = [ [[package]] name = "swc_timer" -version = "0.21.10" +version = "0.21.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388d9d8a67d907c9a5f69250a32134b80fa01c2c03b7fbfcdbb9e8d4ed18b3ed" +checksum = "5a200243f3c296f74f52a562342ec0e972376377f4c202b0fa84a0e860a3bff7" dependencies = [ "tracing", ] @@ -1474,9 +1382,9 @@ checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" [[package]] name = "url" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" dependencies = [ "form_urlencoded", "idna", @@ -1485,9 +1393,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.5.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc" +checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" [[package]] name = "version_check" @@ -1659,18 +1567,18 @@ checksum = "9828b178da53440fa9c766a3d2f73f7cf5d0ac1fe3980c1e5018d899fd19e07b" [[package]] name = "zerocopy" -version = "0.7.25" +version = "0.7.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cd369a67c0edfef15010f980c3cbe45d7f651deac2cd67ce097cd801de16557" +checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.25" +version = "0.7.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2f140bda219a26ccc0cdb03dba58af72590c53b22642577d88a927bc5c87d6b" +checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f" dependencies = [ "proc-macro2", "quote", diff --git a/rust/bindings_napi/Cargo.toml b/rust/bindings_napi/Cargo.toml index a2e4b74b8..d54c200d2 100644 --- a/rust/bindings_napi/Cargo.toml +++ b/rust/bindings_napi/Cargo.toml @@ -10,8 +10,8 @@ crate-type = ["cdylib"] [dependencies] # Default enable napi4 feature, see https://nodejs.org/api/n-api.html#node-api-version-matrix -napi = { version = "2.14.0", default-features = false, features = ["napi4"] } -napi-derive = "2.14.1" +napi = { version = "2.14.1", default-features = false, features = ["napi4"] } +napi-derive = "2.14.2" parse_ast = { path = "../parse_ast" } xxhash = { path = "../xxhash" } diff --git a/rust/parse_ast/Cargo.toml b/rust/parse_ast/Cargo.toml index 2d06ad455..bb8083344 100644 --- a/rust/parse_ast/Cargo.toml +++ b/rust/parse_ast/Cargo.toml @@ -8,8 +8,8 @@ edition = "2021" [dependencies] anyhow = "1.0.75" swc_atoms = "0.6.4" -swc_compiler_base = "0.3.44" -swc_common = { version = "0.33.8", features = ["ahash", "parking_lot"] } -swc_ecma_ast = "0.110.9" -swc_ecma_parser = "0.141.18" +swc_compiler_base = "0.3.73" +swc_common = { version = "0.33.9", features = ["ahash", "parking_lot"] } +swc_ecma_ast = "0.110.10" +swc_ecma_parser = "0.141.27" parking_lot = "0.12.1" diff --git a/scripts/prepare-release.js b/scripts/prepare-release.js index eebfaee32..78744deb7 100755 --- a/scripts/prepare-release.js +++ b/scripts/prepare-release.js @@ -83,8 +83,8 @@ async function getNewVersion(mainPackage, isMainBranch) { const availableIncrements = isMainBranch ? ['patch', 'minor'] : semverPreRelease(version) - ? ['prerelease'] - : ['premajor', 'preminor', 'prepatch']; + ? ['prerelease'] + : ['premajor', 'preminor', 'prepatch']; const { newVersion } = await inquirer.prompt([ { diff --git a/src/Bundle.ts b/src/Bundle.ts index 32ae59271..878b582d8 100644 --- a/src/Bundle.ts +++ b/src/Bundle.ts @@ -184,13 +184,13 @@ export default class Bundle { for (const { alias, modules } of inlineDynamicImports ? [{ alias: null, modules: includedModules }] : preserveModules - ? includedModules.map(module => ({ alias: null, modules: [module] })) - : getChunkAssignments( - this.graph.entryModules, - manualChunkAliasByEntry, - experimentalMinChunkSize, - this.inputOptions.onLog - )) { + ? includedModules.map(module => ({ alias: null, modules: [module] })) + : getChunkAssignments( + this.graph.entryModules, + manualChunkAliasByEntry, + experimentalMinChunkSize, + this.inputOptions.onLog + )) { sortByExecutionOrder(modules); const chunk = new Chunk( modules, diff --git a/src/Chunk.ts b/src/Chunk.ts index 116704417..6c766e153 100644 --- a/src/Chunk.ts +++ b/src/Chunk.ts @@ -1023,14 +1023,14 @@ export default class Chunk { resolution } : resolution instanceof ExternalModule - ? { - chunk: null, - externalChunk: this.externalChunkByModule.get(resolution)!, - facadeChunk: null, - node, - resolution - } - : { chunk: null, externalChunk: null, facadeChunk: null, node, resolution } + ? { + chunk: null, + externalChunk: this.externalChunkByModule.get(resolution)!, + facadeChunk: null, + node, + resolution + } + : { chunk: null, externalChunk: null, facadeChunk: null, node, resolution } ); } } diff --git a/src/Module.ts b/src/Module.ts index c859831a9..0609b7fef 100644 --- a/src/Module.ts +++ b/src/Module.ts @@ -183,8 +183,8 @@ function getAndExtendSideEffectModules(variable: Variable, module: Module): Set< currentVariable instanceof ExportDefaultVariable ? currentVariable.getDirectOriginalVariable() : currentVariable instanceof SyntheticNamedExportVariable - ? currentVariable.syntheticNamespace - : null; + ? currentVariable.syntheticNamespace + : null; if (!currentVariable || referencedVariables.has(currentVariable)) { break; } @@ -810,10 +810,6 @@ export default class Module { const shebangEndPosition = code.indexOf('\n'); this.shebang = code.slice(2, shebangEndPosition); } - /* eslint-disable-next-line unicorn/number-literal-case */ - if (code.charCodeAt(0) === 0xfe_ff) { - code = code.slice(1); - } timeStart('generate ast', 3); @@ -1101,10 +1097,10 @@ export default class Module { specifier instanceof ImportDefaultSpecifier ? 'default' : specifier instanceof ImportNamespaceSpecifier - ? '*' - : specifier.imported instanceof Identifier - ? specifier.imported.name - : specifier.imported.value; + ? '*' + : specifier.imported instanceof Identifier + ? specifier.imported.name + : specifier.imported.value; this.importDescriptions.set(localName, { module: null as never, // filled in later name, diff --git a/src/ModuleLoader.ts b/src/ModuleLoader.ts index 12a899e17..932cd847f 100644 --- a/src/ModuleLoader.ts +++ b/src/ModuleLoader.ts @@ -294,8 +294,13 @@ export class ModuleLoader { typeof source === 'string' ? { code: source } : source != null && typeof source === 'object' && typeof source.code === 'string' - ? source - : error(logBadLoader(id)); + ? source + : error(logBadLoader(id)); + const code = sourceDescription.code; + /* eslint-disable-next-line unicorn/number-literal-case */ + if (code.charCodeAt(0) === 0xfe_ff) { + sourceDescription.code = code.slice(1); + } const cachedModule = this.graph.cachedModules.get(id); if ( cachedModule && diff --git a/src/ast/nodes/ArrowFunctionExpression.ts b/src/ast/nodes/ArrowFunctionExpression.ts index 68140c2b9..2d03dd12e 100644 --- a/src/ast/nodes/ArrowFunctionExpression.ts +++ b/src/ast/nodes/ArrowFunctionExpression.ts @@ -1,8 +1,8 @@ import type { HasEffectsContext, InclusionContext } from '../ExecutionContext'; import type { NodeInteraction } from '../NodeInteractions'; import { INTERACTION_CALLED } from '../NodeInteractions'; +import type ChildScope from '../scopes/ChildScope'; import ReturnValueScope from '../scopes/ReturnValueScope'; -import type Scope from '../scopes/Scope'; import { type ObjectPath } from '../utils/PathTracker'; import type BlockStatement from './BlockStatement'; import Identifier from './Identifier'; @@ -21,8 +21,8 @@ export default class ArrowFunctionExpression extends FunctionBase { declare type: NodeType.tArrowFunctionExpression; protected objectEntity: ObjectEntity | null = null; - createScope(parentScope: Scope): void { - this.scope = new ReturnValueScope(parentScope, this.scope.context, false); + createScope(parentScope: ChildScope): void { + this.scope = new ReturnValueScope(parentScope, false); } hasEffects(): boolean { diff --git a/src/ast/nodes/BlockStatement.ts b/src/ast/nodes/BlockStatement.ts index bb7343fe2..4441d8195 100644 --- a/src/ast/nodes/BlockStatement.ts +++ b/src/ast/nodes/BlockStatement.ts @@ -37,7 +37,7 @@ export default class BlockStatement extends StatementBase { createScope(parentScope: ChildScope): void { this.scope = (this.parent as Node).preventChildBlockScope ? (parentScope as ChildScope) - : new BlockScope(parentScope, this.scope.context); + : new BlockScope(parentScope); } hasEffects(context: HasEffectsContext): boolean { diff --git a/src/ast/nodes/CatchClause.ts b/src/ast/nodes/CatchClause.ts index 34c27c015..b453da32b 100644 --- a/src/ast/nodes/CatchClause.ts +++ b/src/ast/nodes/CatchClause.ts @@ -15,7 +15,7 @@ export default class CatchClause extends NodeBase { declare type: NodeType.tCatchClause; createScope(parentScope: ChildScope): void { - this.scope = new ParameterScope(parentScope, this.scope.context, true); + this.scope = new ParameterScope(parentScope, true); } parseNode(esTreeNode: GenericEsTreeNode): void { diff --git a/src/ast/nodes/ClassBody.ts b/src/ast/nodes/ClassBody.ts index 325b2f327..e5cf6e914 100644 --- a/src/ast/nodes/ClassBody.ts +++ b/src/ast/nodes/ClassBody.ts @@ -14,7 +14,7 @@ export default class ClassBody extends NodeBase { declare type: NodeType.tClassBody; createScope(parentScope: ChildScope): void { - this.scope = new ClassBodyScope(parentScope, this.parent as ClassNode, this.scope.context); + this.scope = new ClassBodyScope(parentScope, this.parent as ClassNode); } include(context: InclusionContext, includeChildrenRecursively: IncludeChildren): void { diff --git a/src/ast/nodes/ForInStatement.ts b/src/ast/nodes/ForInStatement.ts index 1a32c8dd4..178414cef 100644 --- a/src/ast/nodes/ForInStatement.ts +++ b/src/ast/nodes/ForInStatement.ts @@ -24,7 +24,7 @@ export default class ForInStatement extends StatementBase { declare type: NodeType.tForInStatement; createScope(parentScope: ChildScope): void { - this.scope = new BlockScope(parentScope, this.scope.context); + this.scope = new BlockScope(parentScope); } hasEffects(context: HasEffectsContext): boolean { diff --git a/src/ast/nodes/ForOfStatement.ts b/src/ast/nodes/ForOfStatement.ts index 434ca9355..39b4d9bf0 100644 --- a/src/ast/nodes/ForOfStatement.ts +++ b/src/ast/nodes/ForOfStatement.ts @@ -32,7 +32,7 @@ export default class ForOfStatement extends StatementBase { } createScope(parentScope: ChildScope): void { - this.scope = new BlockScope(parentScope, this.scope.context); + this.scope = new BlockScope(parentScope); } hasEffects(): boolean { diff --git a/src/ast/nodes/ForStatement.ts b/src/ast/nodes/ForStatement.ts index d3c134f35..1fe86e73e 100644 --- a/src/ast/nodes/ForStatement.ts +++ b/src/ast/nodes/ForStatement.ts @@ -21,7 +21,7 @@ export default class ForStatement extends StatementBase { declare update: ExpressionNode | null; createScope(parentScope: ChildScope): void { - this.scope = new BlockScope(parentScope, this.scope.context); + this.scope = new BlockScope(parentScope); } hasEffects(context: HasEffectsContext): boolean { diff --git a/src/ast/nodes/FunctionExpression.ts b/src/ast/nodes/FunctionExpression.ts index 23b96f50f..429ecfa1c 100644 --- a/src/ast/nodes/FunctionExpression.ts +++ b/src/ast/nodes/FunctionExpression.ts @@ -1,11 +1,27 @@ import type MagicString from 'magic-string'; import { BLANK } from '../../utils/blank'; import type { NodeRenderOptions, RenderOptions } from '../../utils/renderHelpers'; +import ChildScope from '../scopes/ChildScope'; +import type { IdentifierWithVariable } from './Identifier'; +import Identifier from './Identifier'; import * as NodeType from './NodeType'; import FunctionNode from './shared/FunctionNode'; +import type { GenericEsTreeNode } from './shared/Node'; export default class FunctionExpression extends FunctionNode { declare type: NodeType.tFunctionExpression; + declare idScope: ChildScope; + + createScope(parentScope: ChildScope) { + super.createScope((this.idScope = new ChildScope(parentScope, parentScope.context))); + } + + parseNode(esTreeNode: GenericEsTreeNode) { + if (esTreeNode.id !== null) { + this.id = new Identifier(esTreeNode.id, this, this.idScope) as IdentifierWithVariable; + } + super.parseNode(esTreeNode); + } render( code: MagicString, diff --git a/src/ast/nodes/IfStatement.ts b/src/ast/nodes/IfStatement.ts index 845cc4130..b8de64126 100644 --- a/src/ast/nodes/IfStatement.ts +++ b/src/ast/nodes/IfStatement.ts @@ -67,14 +67,14 @@ export default class IfStatement extends StatementBase implements DeoptimizableE } parseNode(esTreeNode: GenericEsTreeNode): void { - this.consequentScope = new TrackingScope(this.scope, this.scope.context); + this.consequentScope = new TrackingScope(this.scope); this.consequent = new (this.scope.context.getNodeConstructor(esTreeNode.consequent.type))( esTreeNode.consequent, this, this.consequentScope ); if (esTreeNode.alternate) { - this.alternateScope = new TrackingScope(this.scope, this.scope.context); + this.alternateScope = new TrackingScope(this.scope); this.alternate = new (this.scope.context.getNodeConstructor(esTreeNode.alternate.type))( esTreeNode.alternate, this, diff --git a/src/ast/nodes/ImportExpression.ts b/src/ast/nodes/ImportExpression.ts index 8ce6a9693..b94e54ef1 100644 --- a/src/ast/nodes/ImportExpression.ts +++ b/src/ast/nodes/ImportExpression.ts @@ -376,8 +376,8 @@ function getInteropHelper( interop(resolution instanceof ExternalModule ? resolution.id : null) ] : exportMode === 'default' - ? INTEROP_NAMESPACE_DEFAULT_ONLY_VARIABLE - : null; + ? INTEROP_NAMESPACE_DEFAULT_ONLY_VARIABLE + : null; } const accessedImportGlobals: Record = { diff --git a/src/ast/nodes/MemberExpression.ts b/src/ast/nodes/MemberExpression.ts index 045a0e921..4a5e04472 100644 --- a/src/ast/nodes/MemberExpression.ts +++ b/src/ast/nodes/MemberExpression.ts @@ -440,8 +440,8 @@ export default class MemberExpression value === SymbolToStringTag ? value : typeof value === 'symbol' - ? UnknownKey - : String(value)); + ? UnknownKey + : String(value)); } return this.propertyKey; } diff --git a/src/ast/nodes/MetaProperty.ts b/src/ast/nodes/MetaProperty.ts index 8d7476433..e3a287fb3 100644 --- a/src/ast/nodes/MetaProperty.ts +++ b/src/ast/nodes/MetaProperty.ts @@ -168,8 +168,8 @@ const getGenericImportMetaMechanism = return property === null ? `({ url: ${urlMechanism} })` : property === 'url' - ? urlMechanism - : 'undefined'; + ? urlMechanism + : 'undefined'; }; const getFileUrlFromFullPath = (path: string) => `require('u' + 'rl').pathToFileURL(${path}).href`; diff --git a/src/ast/nodes/StaticBlock.ts b/src/ast/nodes/StaticBlock.ts index 934009157..ae4e821ec 100644 --- a/src/ast/nodes/StaticBlock.ts +++ b/src/ast/nodes/StaticBlock.ts @@ -15,7 +15,7 @@ export default class StaticBlock extends StatementBase { declare type: NodeType.tStaticBlock; createScope(parentScope: ChildScope): void { - this.scope = new BlockScope(parentScope, this.scope.context); + this.scope = new BlockScope(parentScope); } hasEffects(context: HasEffectsContext): boolean { diff --git a/src/ast/nodes/SwitchStatement.ts b/src/ast/nodes/SwitchStatement.ts index 6646ba52d..1393ada74 100644 --- a/src/ast/nodes/SwitchStatement.ts +++ b/src/ast/nodes/SwitchStatement.ts @@ -22,7 +22,7 @@ export default class SwitchStatement extends StatementBase { createScope(parentScope: ChildScope): void { this.parentScope = parentScope; - this.scope = new BlockScope(parentScope, this.scope.context); + this.scope = new BlockScope(parentScope); } hasEffects(context: HasEffectsContext): boolean { diff --git a/src/ast/nodes/shared/ClassNode.ts b/src/ast/nodes/shared/ClassNode.ts index 4889e40e5..12e3b85a1 100644 --- a/src/ast/nodes/shared/ClassNode.ts +++ b/src/ast/nodes/shared/ClassNode.ts @@ -30,7 +30,7 @@ export default class ClassNode extends NodeBase implements DeoptimizableEntity { private objectEntity: ObjectEntity | null = null; createScope(parentScope: ChildScope): void { - this.scope = new ChildScope(parentScope, this.scope.context); + this.scope = new ChildScope(parentScope, parentScope.context); } deoptimizeArgumentsOnInteractionAtPath( diff --git a/src/ast/nodes/shared/FunctionNode.ts b/src/ast/nodes/shared/FunctionNode.ts index 13151d1d2..99f8f9ecd 100644 --- a/src/ast/nodes/shared/FunctionNode.ts +++ b/src/ast/nodes/shared/FunctionNode.ts @@ -1,6 +1,7 @@ import { type HasEffectsContext, type InclusionContext } from '../../ExecutionContext'; import type { NodeInteraction } from '../../NodeInteractions'; import { INTERACTION_CALLED } from '../../NodeInteractions'; +import type ChildScope from '../../scopes/ChildScope'; import FunctionScope from '../../scopes/FunctionScope'; import type { ObjectPath, PathTracker } from '../../utils/PathTracker'; import type BlockStatement from '../BlockStatement'; @@ -23,8 +24,8 @@ export default class FunctionNode extends FunctionBase { protected objectEntity: ObjectEntity | null = null; private declare constructedEntity: ObjectEntity; - createScope(parentScope: FunctionScope): void { - this.scope = new FunctionScope(parentScope, this.scope.context); + createScope(parentScope: ChildScope): void { + this.scope = new FunctionScope(parentScope); this.constructedEntity = new ObjectEntity(Object.create(null), OBJECT_PROTOTYPE); // This makes sure that all deoptimizations of "this" are applied to the // constructed entity. diff --git a/src/ast/nodes/shared/ObjectEntity.ts b/src/ast/nodes/shared/ObjectEntity.ts index bc28f4d66..cf14b4bc1 100644 --- a/src/ast/nodes/shared/ObjectEntity.ts +++ b/src/ast/nodes/shared/ObjectEntity.ts @@ -137,8 +137,8 @@ export class ObjectEntity extends ExpressionEntity { this.unmatchablePropertiesAndGetters ] : type === INTERACTION_ACCESSED - ? [this.propertiesAndGettersByKey, this.gettersByKey, this.unmatchableGetters] - : [this.propertiesAndSettersByKey, this.settersByKey, this.unmatchableSetters]; + ? [this.propertiesAndGettersByKey, this.gettersByKey, this.unmatchableGetters] + : [this.propertiesAndSettersByKey, this.settersByKey, this.unmatchableSetters]; if (typeof key === 'string') { if (propertiesForExactMatchByKey[key]) { diff --git a/src/ast/scopes/BlockScope.ts b/src/ast/scopes/BlockScope.ts index 1723b9f82..c4146818f 100644 --- a/src/ast/scopes/BlockScope.ts +++ b/src/ast/scopes/BlockScope.ts @@ -7,6 +7,10 @@ import type LocalVariable from '../variables/LocalVariable'; import ChildScope from './ChildScope'; export default class BlockScope extends ChildScope { + constructor(parent: ChildScope) { + super(parent, parent.context); + } + addDeclaration( identifier: Identifier, context: AstContext, diff --git a/src/ast/scopes/CatchBodyScope.ts b/src/ast/scopes/CatchBodyScope.ts index 172ff3c06..3d8f72d1a 100644 --- a/src/ast/scopes/CatchBodyScope.ts +++ b/src/ast/scopes/CatchBodyScope.ts @@ -10,11 +10,8 @@ import ChildScope from './ChildScope'; import type ParameterScope from './ParameterScope'; export default class CatchBodyScope extends ChildScope { - constructor( - readonly parent: ParameterScope, - readonly context: AstContext - ) { - super(parent, context); + constructor(readonly parent: ParameterScope) { + super(parent, parent.context); } addDeclaration( diff --git a/src/ast/scopes/ClassBodyScope.ts b/src/ast/scopes/ClassBodyScope.ts index 65ee7350e..cf9721c04 100644 --- a/src/ast/scopes/ClassBodyScope.ts +++ b/src/ast/scopes/ClassBodyScope.ts @@ -1,16 +1,15 @@ -import type { AstContext } from '../../Module'; import type ClassNode from '../nodes/shared/ClassNode'; import { VariableKind } from '../nodes/shared/VariableKinds'; import LocalVariable from '../variables/LocalVariable'; import ThisVariable from '../variables/ThisVariable'; import ChildScope from './ChildScope'; -import type Scope from './Scope'; export default class ClassBodyScope extends ChildScope { readonly instanceScope: ChildScope; readonly thisVariable: LocalVariable; - constructor(parent: Scope, classNode: ClassNode, context: AstContext) { + constructor(parent: ChildScope, classNode: ClassNode) { + const { context } = parent; super(parent, context); this.variables.set( 'this', diff --git a/src/ast/scopes/FunctionBodyScope.ts b/src/ast/scopes/FunctionBodyScope.ts index 060460e42..d9b750945 100644 --- a/src/ast/scopes/FunctionBodyScope.ts +++ b/src/ast/scopes/FunctionBodyScope.ts @@ -8,11 +8,8 @@ import ChildScope from './ChildScope'; import type ParameterScope from './ParameterScope'; export default class FunctionBodyScope extends ChildScope { - constructor( - readonly parent: ParameterScope, - readonly context: AstContext - ) { - super(parent, context); + constructor(parent: ParameterScope) { + super(parent, parent.context); } // There is stuff that is only allowed in function scopes, i.e. functions can diff --git a/src/ast/scopes/FunctionScope.ts b/src/ast/scopes/FunctionScope.ts index 9467ee789..ed1d91863 100644 --- a/src/ast/scopes/FunctionScope.ts +++ b/src/ast/scopes/FunctionScope.ts @@ -1,4 +1,3 @@ -import type { AstContext } from '../../Module'; import type { InclusionContext } from '../ExecutionContext'; import type SpreadElement from '../nodes/SpreadElement'; import type { ExpressionEntity } from '../nodes/shared/Expression'; @@ -11,8 +10,9 @@ export default class FunctionScope extends ReturnValueScope { readonly argumentsVariable: ArgumentsVariable; readonly thisVariable: ThisVariable; - constructor(parent: ChildScope, context: AstContext) { - super(parent, context, false); + constructor(parent: ChildScope) { + const { context } = parent; + super(parent, false); this.variables.set('arguments', (this.argumentsVariable = new ArgumentsVariable(context))); this.variables.set('this', (this.thisVariable = new ThisVariable(context))); } diff --git a/src/ast/scopes/ParameterScope.ts b/src/ast/scopes/ParameterScope.ts index ea3cc5e72..8cc03c02c 100644 --- a/src/ast/scopes/ParameterScope.ts +++ b/src/ast/scopes/ParameterScope.ts @@ -1,4 +1,3 @@ -import type { AstContext } from '../../Module'; import { logDuplicateArgumentNameError } from '../../utils/logs'; import type { InclusionContext } from '../ExecutionContext'; import type Identifier from '../nodes/Identifier'; @@ -8,7 +7,6 @@ import ParameterVariable from '../variables/ParameterVariable'; import CatchBodyScope from './CatchBodyScope'; import ChildScope from './ChildScope'; import FunctionBodyScope from './FunctionBodyScope'; -import type Scope from './Scope'; export default class ParameterScope extends ChildScope { readonly bodyScope: ChildScope; @@ -16,11 +14,9 @@ export default class ParameterScope extends ChildScope { private hasRest = false; - constructor(parent: Scope, context: AstContext, isCatchScope: boolean) { - super(parent, context); - this.bodyScope = isCatchScope - ? new CatchBodyScope(this, context) - : new FunctionBodyScope(this, context); + constructor(parent: ChildScope, isCatchScope: boolean) { + super(parent, parent.context); + this.bodyScope = isCatchScope ? new CatchBodyScope(this) : new FunctionBodyScope(this); } /** diff --git a/src/finalisers/system.ts b/src/finalisers/system.ts index 090a44360..986122018 100644 --- a/src/finalisers/system.ts +++ b/src/finalisers/system.ts @@ -39,8 +39,8 @@ export default function system( const wrapperParameters = accessedGlobals.has('module') ? ['exports', 'module'] : hasExports - ? ['exports'] - : []; + ? ['exports'] + : []; // factory function should be wrapped by parentheses to avoid lazy parsing, // cf. https://v8.dev/blog/preparser#pife @@ -63,8 +63,8 @@ export default function system( name: null })}{${n}${t}${t}${t}${setter}${n}${t}${t}}` : systemNullSetters - ? `null` - : `${getFunctionIntro([], { isAsync: false, name: null })}{}` + ? `null` + : `${getFunctionIntro([], { isAsync: false, name: null })}{}` ) .join(`,${_}`)}],` : '' diff --git a/src/utils/options/normalizeOutputOptions.ts b/src/utils/options/normalizeOutputOptions.ts index 4ba7cd521..8d4a279d7 100644 --- a/src/utils/options/normalizeOutputOptions.ts +++ b/src/utils/options/normalizeOutputOptions.ts @@ -87,8 +87,8 @@ export async function normalizeOutputOptions( typeof config.sanitizeFileName === 'function' ? config.sanitizeFileName : config.sanitizeFileName === false - ? id => id - : defaultSanitizeFileName, + ? id => id + : defaultSanitizeFileName, sourcemap: config.sourcemap || false, sourcemapBaseUrl: getSourcemapBaseUrl(config), sourcemapExcludeSources: config.sourcemapExcludeSources || false, @@ -98,8 +98,8 @@ export async function normalizeOutputOptions( typeof config.sourcemapIgnoreList === 'function' ? config.sourcemapIgnoreList : config.sourcemapIgnoreList === false - ? () => false - : relativeSourcePath => relativeSourcePath.includes('node_modules'), + ? () => false + : relativeSourcePath => relativeSourcePath.includes('node_modules'), sourcemapPathTransform: config.sourcemapPathTransform as | SourcemapPathTransformOption | undefined, @@ -391,8 +391,8 @@ const getInterop = (config: OutputOptions): NormalizedOutputOptions['interop'] = id === null ? defaultInterop || validateInterop((defaultInterop = configInterop(id))) : id in interopPerId - ? interopPerId[id] - : validateInterop((interopPerId[id] = configInterop(id))); + ? interopPerId[id] + : validateInterop((interopPerId[id] = configInterop(id))); } return configInterop === undefined ? () => 'default' : () => validateInterop(configInterop); }; diff --git a/src/utils/options/options.ts b/src/utils/options/options.ts index d7de5e3db..0a6d38f3c 100644 --- a/src/utils/options/options.ts +++ b/src/utils/options/options.ts @@ -70,8 +70,8 @@ export const normalizeLog = (log: RollupLog | string | (() => RollupLog | string typeof log === 'string' ? { message: log } : typeof log === 'function' - ? normalizeLog(log()) - : log; + ? normalizeLog(log()) + : log; const getExtendedLogMessage = (log: RollupLog): string => { let prefix = ''; diff --git a/test/form/index.js b/test/form/index.js index c14e97413..594708e0d 100644 --- a/test/form/index.js +++ b/test/form/index.js @@ -53,10 +53,10 @@ runTestSuiteWithSamples( config.verifyAst === false ? config.options?.plugins : config.options?.plugins === undefined - ? verifyAstPlugin - : Array.isArray(config.options.plugins) - ? [...config.options.plugins, verifyAstPlugin] - : config.options.plugins + ? verifyAstPlugin + : Array.isArray(config.options.plugins) + ? [...config.options.plugins, verifyAstPlugin] + : config.options.plugins })); await generateAndTestBundle( bundle, diff --git a/test/form/samples/function-id-as-parameter/_config.js b/test/form/samples/function-id-as-parameter/_config.js new file mode 100644 index 000000000..66b9b447d --- /dev/null +++ b/test/form/samples/function-id-as-parameter/_config.js @@ -0,0 +1,3 @@ +module.exports = defineTest({ + description: 'allows function expression parameters to shadow their id' +}); diff --git a/test/form/samples/function-id-as-parameter/_expected.js b/test/form/samples/function-id-as-parameter/_expected.js new file mode 100644 index 000000000..f28b0525e --- /dev/null +++ b/test/form/samples/function-id-as-parameter/_expected.js @@ -0,0 +1,5 @@ +const foo = function foo(foo) { + console.log(foo); +}; + +foo(42); diff --git a/test/form/samples/function-id-as-parameter/main.js b/test/form/samples/function-id-as-parameter/main.js new file mode 100644 index 000000000..5bf1dd60b --- /dev/null +++ b/test/form/samples/function-id-as-parameter/main.js @@ -0,0 +1,5 @@ +const foo = function foo(foo) { + console.log(foo); +} + +foo(42); diff --git a/test/form/samples/supports-core-js/_expected.js b/test/form/samples/supports-core-js/_expected.js index 86acd171d..eea62da0a 100644 --- a/test/form/samples/supports-core-js/_expected.js +++ b/test/form/samples/supports-core-js/_expected.js @@ -12,8 +12,9 @@ var global$16 = // eslint-disable-next-line no-restricted-globals -- safe check(typeof self == 'object' && self) || check(typeof commonjsGlobal == 'object' && commonjsGlobal) || + check(typeof commonjsGlobal == 'object' && commonjsGlobal) || // eslint-disable-next-line no-new-func -- fallback - (function () { return this; })() || commonjsGlobal || Function('return this')(); + (function () { return this; })() || Function('return this')(); var objectGetOwnPropertyDescriptor = {}; @@ -178,7 +179,7 @@ var aFunction = function (argument) { return isCallable$H(argument) ? argument : undefined; }; -var getBuiltIn$N = function (namespace, method) { +var getBuiltIn$M = function (namespace, method) { return arguments.length < 2 ? aFunction(global$15[namespace]) : global$15[namespace] && global$15[namespace][method]; }; @@ -242,7 +243,7 @@ var useSymbolAsUid = NATIVE_SYMBOL$7 && !Symbol.sham && typeof Symbol.iterator == 'symbol'; -var getBuiltIn$M = getBuiltIn$N; +var getBuiltIn$L = getBuiltIn$M; var isCallable$G = isCallable$J; var isPrototypeOf$e = objectIsPrototypeOf; var USE_SYMBOL_AS_UID$1 = useSymbolAsUid; @@ -252,7 +253,7 @@ var $Object$7 = Object; var isSymbol$8 = USE_SYMBOL_AS_UID$1 ? function (it) { return typeof it == 'symbol'; } : function (it) { - var $Symbol = getBuiltIn$M('Symbol'); + var $Symbol = getBuiltIn$L('Symbol'); return isCallable$G($Symbol) && isPrototypeOf$e($Symbol.prototype, $Object$7(it)); }; @@ -303,7 +304,7 @@ var ordinaryToPrimitive$2 = function (input, pref) { throw new $TypeError$G("Can't convert object to primitive value"); }; -var shared$b = {exports: {}}; +var shared$a = {exports: {}}; var isPure = false; @@ -330,17 +331,17 @@ var sharedStore = store$5; var store$4 = sharedStore; -(shared$b.exports = function (key, value) { +(shared$a.exports = function (key, value) { return store$4[key] || (store$4[key] = value !== undefined ? value : {}); })('versions', []).push({ - version: '3.33.2', + version: '3.33.3', mode: 'global', copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)', - license: 'https://github.com/zloirock/core-js/blob/v3.33.2/LICENSE', + license: 'https://github.com/zloirock/core-js/blob/v3.33.3/LICENSE', source: 'https://github.com/zloirock/core-js' }); -var sharedExports = shared$b.exports; +var sharedExports = shared$a.exports; var requireObjectCoercible$n = requireObjectCoercible$p; @@ -375,14 +376,14 @@ var uid$7 = function (key) { }; var global$10 = global$16; -var shared$a = sharedExports; +var shared$9 = sharedExports; var hasOwn$F = hasOwnProperty_1; var uid$6 = uid$7; var NATIVE_SYMBOL$6 = symbolConstructorDetection; var USE_SYMBOL_AS_UID = useSymbolAsUid; var Symbol$7 = global$10.Symbol; -var WellKnownSymbolsStore$2 = shared$a('wks'); +var WellKnownSymbolsStore$2 = shared$9('wks'); var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$7['for'] || Symbol$7 : Symbol$7 && Symbol$7.withoutSetter || uid$6; var wellKnownSymbol$S = function (name) { @@ -594,14 +595,14 @@ var inspectSource$4 = store$3.inspectSource; var global$_ = global$16; var isCallable$C = isCallable$J; -var WeakMap$5 = global$_.WeakMap; +var WeakMap$4 = global$_.WeakMap; -var weakMapBasicDetection = isCallable$C(WeakMap$5) && /native code/.test(String(WeakMap$5)); +var weakMapBasicDetection = isCallable$C(WeakMap$4) && /native code/.test(String(WeakMap$4)); -var shared$9 = sharedExports; +var shared$8 = sharedExports; var uid$5 = uid$7; -var keys$3 = shared$9('keys'); +var keys$3 = shared$8('keys'); var sharedKey$4 = function (key) { return keys$3[key] || (keys$3[key] = uid$5(key)); @@ -614,13 +615,13 @@ var global$Z = global$16; var isObject$F = isObject$K; var createNonEnumerableProperty$j = createNonEnumerableProperty$k; var hasOwn$C = hasOwnProperty_1; -var shared$8 = sharedStore; +var shared$7 = sharedStore; var sharedKey$3 = sharedKey$4; var hiddenKeys$5 = hiddenKeys$6; var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; var TypeError$9 = global$Z.TypeError; -var WeakMap$4 = global$Z.WeakMap; +var WeakMap$3 = global$Z.WeakMap; var set$b, get$6, has$d; var enforce = function (it) { @@ -636,8 +637,8 @@ var getterFor$2 = function (TYPE) { }; }; -if (NATIVE_WEAK_MAP$1 || shared$8.state) { - var store$2 = shared$8.state || (shared$8.state = new WeakMap$4()); +if (NATIVE_WEAK_MAP$1 || shared$7.state) { + var store$2 = shared$7.state || (shared$7.state = new WeakMap$3()); /* eslint-disable no-self-assign -- prototype methods protection */ store$2.get = store$2.get; store$2.has = store$2.has; @@ -901,7 +902,7 @@ var objectGetOwnPropertySymbols = {}; // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols; -var getBuiltIn$L = getBuiltIn$N; +var getBuiltIn$K = getBuiltIn$M; var uncurryThis$1M = functionUncurryThis; var getOwnPropertyNamesModule$2 = objectGetOwnPropertyNames; var getOwnPropertySymbolsModule$3 = objectGetOwnPropertySymbols; @@ -910,7 +911,7 @@ var anObject$1d = anObject$1f; var concat$4 = uncurryThis$1M([].concat); // all object keys, includes non-enumerable and symbols -var ownKeys$3 = getBuiltIn$L('Reflect', 'ownKeys') || function ownKeys(it) { +var ownKeys$3 = getBuiltIn$K('Reflect', 'ownKeys') || function ownKeys(it) { var keys = getOwnPropertyNamesModule$2.f(anObject$1d(it)); var getOwnPropertySymbols = getOwnPropertySymbolsModule$3.f; return getOwnPropertySymbols ? concat$4(keys, getOwnPropertySymbols(it)) : keys; @@ -1092,9 +1093,9 @@ objectDefineProperties.f = DESCRIPTORS$L && !V8_PROTOTYPE_DEFINE_BUG ? Object.de return O; }; -var getBuiltIn$K = getBuiltIn$N; +var getBuiltIn$J = getBuiltIn$M; -var html$2 = getBuiltIn$K('document', 'documentElement'); +var html$2 = getBuiltIn$J('document', 'documentElement'); /* global ActiveXObject -- old IE, WSH */ var anObject$1b = anObject$1f; @@ -1266,12 +1267,12 @@ var wellKnownSymbolDefine = function (NAME) { }; var call$1e = functionCall; -var getBuiltIn$J = getBuiltIn$N; +var getBuiltIn$I = getBuiltIn$M; var wellKnownSymbol$N = wellKnownSymbol$S; var defineBuiltIn$s = defineBuiltIn$u; var symbolDefineToPrimitive = function () { - var Symbol = getBuiltIn$J('Symbol'); + var Symbol = getBuiltIn$I('Symbol'); var SymbolPrototype = Symbol && Symbol.prototype; var valueOf = SymbolPrototype && SymbolPrototype.valueOf; var TO_PRIMITIVE = wellKnownSymbol$N('toPrimitive'); @@ -1336,12 +1337,12 @@ var uncurryThis$1J = functionUncurryThis; var fails$1l = fails$1u; var isCallable$x = isCallable$J; var classof$m = classof$q; -var getBuiltIn$I = getBuiltIn$N; +var getBuiltIn$H = getBuiltIn$M; var inspectSource$2 = inspectSource$4; var noop = function () { /* empty */ }; var empty = []; -var construct$1 = getBuiltIn$I('Reflect', 'construct'); +var construct$1 = getBuiltIn$H('Reflect', 'construct'); var constructorRegExp = /^\s*(?:class|function)\b/; var exec$g = uncurryThis$1J(constructorRegExp.exec); var INCORRECT_TO_STRING$2 = !constructorRegExp.test(noop); @@ -1515,7 +1516,7 @@ var definePropertiesModule = objectDefineProperties; var propertyIsEnumerableModule$1 = objectPropertyIsEnumerable; var defineBuiltIn$r = defineBuiltIn$u; var defineBuiltInAccessor$n = defineBuiltInAccessor$o; -var shared$7 = sharedExports; +var shared$6 = sharedExports; var sharedKey$1 = sharedKey$4; var hiddenKeys$1 = hiddenKeys$6; var uid$4 = uid$7; @@ -1546,9 +1547,9 @@ var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; var nativePropertyIsEnumerable = propertyIsEnumerableModule$1.f; var push$q = uncurryThis$1H([].push); -var AllSymbols = shared$7('symbols'); -var ObjectPrototypeSymbols = shared$7('op-symbols'); -var WellKnownSymbolsStore$1 = shared$7('wks'); +var AllSymbols = shared$6('symbols'); +var ObjectPrototypeSymbols = shared$6('op-symbols'); +var WellKnownSymbolsStore$1 = shared$6('wks'); // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 var USE_SETTER = !QObject || !QObject[PROTOTYPE$1] || !QObject[PROTOTYPE$1].findChild; @@ -1758,14 +1759,14 @@ var NATIVE_SYMBOL$4 = symbolConstructorDetection; var symbolRegistryDetection = NATIVE_SYMBOL$4 && !!Symbol['for'] && !!Symbol.keyFor; var $$5q = _export; -var getBuiltIn$H = getBuiltIn$N; +var getBuiltIn$G = getBuiltIn$M; var hasOwn$v = hasOwnProperty_1; var toString$I = toString$J; -var shared$6 = sharedExports; +var shared$5 = sharedExports; var NATIVE_SYMBOL_REGISTRY$1 = symbolRegistryDetection; -var StringToSymbolRegistry = shared$6('string-to-symbol-registry'); -var SymbolToStringRegistry$1 = shared$6('symbol-to-string-registry'); +var StringToSymbolRegistry = shared$5('string-to-symbol-registry'); +var SymbolToStringRegistry$1 = shared$5('symbol-to-string-registry'); // `Symbol.for` method // https://tc39.es/ecma262/#sec-symbol.for @@ -1773,7 +1774,7 @@ $$5q({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY$1 }, { 'for': function (key) { var string = toString$I(key); if (hasOwn$v(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string]; - var symbol = getBuiltIn$H('Symbol')(string); + var symbol = getBuiltIn$G('Symbol')(string); StringToSymbolRegistry[string] = symbol; SymbolToStringRegistry$1[symbol] = string; return symbol; @@ -1784,10 +1785,10 @@ var $$5p = _export; var hasOwn$u = hasOwnProperty_1; var isSymbol$5 = isSymbol$8; var tryToString$5 = tryToString$7; -var shared$5 = sharedExports; +var shared$4 = sharedExports; var NATIVE_SYMBOL_REGISTRY = symbolRegistryDetection; -var SymbolToStringRegistry = shared$5('symbol-to-string-registry'); +var SymbolToStringRegistry = shared$4('symbol-to-string-registry'); // `Symbol.keyFor` method // https://tc39.es/ecma262/#sec-symbol.keyfor @@ -1844,7 +1845,7 @@ var getJsonReplacerFunction = function (replacer) { }; var $$5o = _export; -var getBuiltIn$G = getBuiltIn$N; +var getBuiltIn$F = getBuiltIn$M; var apply$d = functionApply$1; var call$1b = functionCall; var uncurryThis$1E = functionUncurryThis; @@ -1856,7 +1857,7 @@ var getReplacerFunction$1 = getJsonReplacerFunction; var NATIVE_SYMBOL$3 = symbolConstructorDetection; var $String$4 = String; -var $stringify$1 = getBuiltIn$G('JSON', 'stringify'); +var $stringify$1 = getBuiltIn$F('JSON', 'stringify'); var exec$f = uncurryThis$1E(/./.exec); var charAt$k = uncurryThis$1E(''.charAt); var charCodeAt$9 = uncurryThis$1E(''.charCodeAt); @@ -1868,7 +1869,7 @@ var low = /^[\uD800-\uDBFF]$/; var hi = /^[\uDC00-\uDFFF]$/; var WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL$3 || fails$1j(function () { - var symbol = getBuiltIn$G('Symbol')('stringify detection'); + var symbol = getBuiltIn$F('Symbol')('stringify detection'); // MS Edge converts symbol values to JSON as {} return $stringify$1([symbol]) !== '[null]' // WebKit converts symbol values to JSON as null @@ -2063,7 +2064,7 @@ defineWellKnownSymbol$a('toPrimitive'); // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive defineSymbolToPrimitive(); -var getBuiltIn$F = getBuiltIn$N; +var getBuiltIn$E = getBuiltIn$M; var defineWellKnownSymbol$9 = wellKnownSymbolDefine; var setToStringTag$b = setToStringTag$d; @@ -2073,7 +2074,7 @@ defineWellKnownSymbol$9('toStringTag'); // `Symbol.prototype[@@toStringTag]` property // https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag -setToStringTag$b(getBuiltIn$F('Symbol'), 'Symbol'); +setToStringTag$b(getBuiltIn$E('Symbol'), 'Symbol'); var defineWellKnownSymbol$8 = wellKnownSymbolDefine; @@ -2215,7 +2216,7 @@ var errorStackInstall = function (error, C, stack, dropEntries) { } }; -var getBuiltIn$E = getBuiltIn$N; +var getBuiltIn$D = getBuiltIn$M; var hasOwn$s = hasOwnProperty_1; var createNonEnumerableProperty$f = createNonEnumerableProperty$k; var isPrototypeOf$b = objectIsPrototypeOf; @@ -2233,7 +2234,7 @@ var wrapErrorConstructorWithCause$2 = function (FULL_NAME, wrapper, FORCED, IS_A var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1; var path = FULL_NAME.split('.'); var ERROR_NAME = path[path.length - 1]; - var OriginalError = getBuiltIn$E.apply(null, path); + var OriginalError = getBuiltIn$D.apply(null, path); if (!OriginalError) return; @@ -2244,7 +2245,7 @@ var wrapErrorConstructorWithCause$2 = function (FULL_NAME, wrapper, FORCED, IS_A if (!FORCED) return OriginalError; - var BaseError = getBuiltIn$E('Error'); + var BaseError = getBuiltIn$D('Error'); var WrappedError = wrapper(function (a, b) { var message = normalizeStringArgument$5(IS_AGGREGATE_ERROR ? b : a, undefined); @@ -2594,13 +2595,13 @@ $$5k({ global: true, constructor: true, arity: 2 }, { }); var $$5j = _export; -var getBuiltIn$D = getBuiltIn$N; +var getBuiltIn$C = getBuiltIn$M; var apply$b = functionApply$1; var fails$1e = fails$1u; var wrapErrorConstructorWithCause = wrapErrorConstructorWithCause$2; var AGGREGATE_ERROR = 'AggregateError'; -var $AggregateError = getBuiltIn$D(AGGREGATE_ERROR); +var $AggregateError = getBuiltIn$C(AGGREGATE_ERROR); var FORCED$C = !fails$1e(function () { return $AggregateError([1]).errors[0] !== 1; @@ -3968,7 +3969,7 @@ $$4S({ target: 'Array', proto: true, forced: FORCED$u }, { } }); -var getBuiltIn$C = getBuiltIn$N; +var getBuiltIn$B = getBuiltIn$M; var defineBuiltInAccessor$l = defineBuiltInAccessor$o; var wellKnownSymbol$z = wellKnownSymbol$S; var DESCRIPTORS$E = descriptors; @@ -3976,7 +3977,7 @@ var DESCRIPTORS$E = descriptors; var SPECIES$3 = wellKnownSymbol$z('species'); var setSpecies$7 = function (CONSTRUCTOR_NAME) { - var Constructor = getBuiltIn$C(CONSTRUCTOR_NAME); + var Constructor = getBuiltIn$B(CONSTRUCTOR_NAME); if (DESCRIPTORS$E && Constructor && !Constructor[SPECIES$3]) { defineBuiltInAccessor$l(Constructor, SPECIES$3, { @@ -6445,30 +6446,30 @@ var toString$y = toString$J; var trim = stringTrim.trim; var whitespaces$3 = whitespaces$6; -var $parseInt$2 = global$I.parseInt; +var $parseInt$3 = global$I.parseInt; var Symbol$5 = global$I.Symbol; var ITERATOR$5 = Symbol$5 && Symbol$5.iterator; var hex = /^[+-]?0x/i; var exec$d = uncurryThis$1e(hex.exec); -var FORCED$h = $parseInt$2(whitespaces$3 + '08') !== 8 || $parseInt$2(whitespaces$3 + '0x16') !== 22 +var FORCED$h = $parseInt$3(whitespaces$3 + '08') !== 8 || $parseInt$3(whitespaces$3 + '0x16') !== 22 // MS Edge 18- broken with boxed symbols - || (ITERATOR$5 && !fails$U(function () { $parseInt$2(Object(ITERATOR$5)); })); + || (ITERATOR$5 && !fails$U(function () { $parseInt$3(Object(ITERATOR$5)); })); // `parseInt` method // https://tc39.es/ecma262/#sec-parseint-string-radix var numberParseInt = FORCED$h ? function parseInt(string, radix) { var S = trim(toString$y(string)); - return $parseInt$2(S, (radix >>> 0) || (exec$d(hex, S) ? 16 : 10)); -} : $parseInt$2; + return $parseInt$3(S, (radix >>> 0) || (exec$d(hex, S) ? 16 : 10)); +} : $parseInt$3; var $$46 = _export; -var parseInt$3 = numberParseInt; +var parseInt$2 = numberParseInt; // `Number.parseInt` method // https://tc39.es/ecma262/#sec-number.parseint // eslint-disable-next-line es/no-number-parseint -- required for testing -$$46({ target: 'Number', stat: true, forced: Number.parseInt !== parseInt$3 }, { - parseInt: parseInt$3 +$$46({ target: 'Number', stat: true, forced: Number.parseInt !== parseInt$2 }, { + parseInt: parseInt$2 }); var $$45 = _export; @@ -7296,12 +7297,12 @@ $$3F({ global: true, forced: parseFloat !== $parseFloat }, { }); var $$3E = _export; -var $parseInt$1 = numberParseInt; +var $parseInt$2 = numberParseInt; // `parseInt` method // https://tc39.es/ecma262/#sec-parseint-string-radix -$$3E({ global: true, forced: parseInt !== $parseInt$1 }, { - parseInt: $parseInt$1 +$$3E({ global: true, forced: parseInt !== $parseInt$2 }, { + parseInt: $parseInt$2 }); var $TypeError$s = TypeError; @@ -7981,7 +7982,7 @@ $$3C({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATIO var $$3B = _export; var FORCED_PROMISE_CONSTRUCTOR$2 = promiseConstructorDetection.CONSTRUCTOR; var NativePromiseConstructor$1 = promiseNativeConstructor; -var getBuiltIn$B = getBuiltIn$N; +var getBuiltIn$A = getBuiltIn$M; var isCallable$i = isCallable$J; var defineBuiltIn$g = defineBuiltIn$u; @@ -7997,7 +7998,7 @@ $$3B({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR$2, rea // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then` if (isCallable$i(NativePromiseConstructor$1)) { - var method$1 = getBuiltIn$B('Promise').prototype['catch']; + var method$1 = getBuiltIn$A('Promise').prototype['catch']; if (NativePromisePrototype$1['catch'] !== method$1) { defineBuiltIn$g(NativePromisePrototype$1, 'catch', method$1, { unsafe: true }); } @@ -8058,11 +8059,11 @@ var promiseResolve$2 = function (C, x) { }; var $$3y = _export; -var getBuiltIn$A = getBuiltIn$N; +var getBuiltIn$z = getBuiltIn$M; var FORCED_PROMISE_CONSTRUCTOR = promiseConstructorDetection.CONSTRUCTOR; var promiseResolve$1 = promiseResolve$2; -getBuiltIn$A('Promise'); +getBuiltIn$z('Promise'); // `Promise.resolve` method // https://tc39.es/ecma262/#sec-promise.resolve @@ -8119,7 +8120,7 @@ $$3x({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATIO var $$3w = _export; var call$$ = functionCall; var aCallable$w = aCallable$N; -var getBuiltIn$z = getBuiltIn$N; +var getBuiltIn$y = getBuiltIn$M; var newPromiseCapabilityModule$2 = newPromiseCapability$2; var perform$2 = perform$7; var iterate$y = iterate$G; @@ -8132,7 +8133,7 @@ var PROMISE_ANY_ERROR = 'No one promise resolved'; $$3w({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { any: function any(iterable) { var C = this; - var AggregateError = getBuiltIn$z('AggregateError'); + var AggregateError = getBuiltIn$y('AggregateError'); var capability = newPromiseCapabilityModule$2.f(C); var resolve = capability.resolve; var reject = capability.reject; @@ -8167,7 +8168,7 @@ $$3w({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATIO var $$3v = _export; var NativePromiseConstructor = promiseNativeConstructor; var fails$D = fails$1u; -var getBuiltIn$y = getBuiltIn$N; +var getBuiltIn$x = getBuiltIn$M; var isCallable$h = isCallable$J; var speciesConstructor$3 = speciesConstructor$6; var promiseResolve = promiseResolve$2; @@ -8185,7 +8186,7 @@ var NON_GENERIC = !!NativePromiseConstructor && fails$D(function () { // https://tc39.es/ecma262/#sec-promise.prototype.finally $$3v({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, { 'finally': function (onFinally) { - var C = speciesConstructor$3(this, getBuiltIn$y('Promise')); + var C = speciesConstructor$3(this, getBuiltIn$x('Promise')); var isFunction = isCallable$h(onFinally); return this.then( isFunction ? function (x) { @@ -8200,7 +8201,7 @@ $$3v({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, { // makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then` if (isCallable$h(NativePromiseConstructor)) { - var method = getBuiltIn$y('Promise').prototype['finally']; + var method = getBuiltIn$x('Promise').prototype['finally']; if (NativePromisePrototype['finally'] !== method) { defineBuiltIn$f(NativePromisePrototype, 'finally', method, { unsafe: true }); } @@ -8227,7 +8228,7 @@ $$3u({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, { }); var $$3t = _export; -var getBuiltIn$x = getBuiltIn$N; +var getBuiltIn$w = getBuiltIn$M; var apply$8 = functionApply$1; var bind$k = functionBind; var aConstructor$3 = aConstructor$5; @@ -8236,7 +8237,7 @@ var isObject$j = isObject$K; var create$c = objectCreate$1; var fails$B = fails$1u; -var nativeConstruct = getBuiltIn$x('Reflect', 'construct'); +var nativeConstruct = getBuiltIn$w('Reflect', 'construct'); var ObjectPrototype = Object.prototype; var push$l = [].push; @@ -8415,7 +8416,7 @@ $$3l({ target: 'Reflect', stat: true }, { }); var $$3k = _export; -var getBuiltIn$w = getBuiltIn$N; +var getBuiltIn$v = getBuiltIn$M; var anObject$T = anObject$1f; var FREEZING$3 = freezing; @@ -8425,7 +8426,7 @@ $$3k({ target: 'Reflect', stat: true, sham: !FREEZING$3 }, { preventExtensions: function preventExtensions(target) { anObject$T(target); try { - var objectPreventExtensions = getBuiltIn$w('Object', 'preventExtensions'); + var objectPreventExtensions = getBuiltIn$v('Object', 'preventExtensions'); if (objectPreventExtensions) objectPreventExtensions(target); return true; } catch (error) { @@ -8836,13 +8837,13 @@ var uncurryThis$17 = functionUncurryThis; var toString$v = toString$J; var regexpFlags = regexpFlags$1; var stickyHelpers$1 = regexpStickyHelpers; -var shared$4 = sharedExports; +var shared$3 = sharedExports; var create$b = objectCreate$1; var getInternalState$b = internalState.get; var UNSUPPORTED_DOT_ALL = regexpUnsupportedDotAll; var UNSUPPORTED_NCG = regexpUnsupportedNcg; -var nativeReplace = shared$4('native-string-replace', String.prototype.replace); +var nativeReplace = shared$3('native-string-replace', String.prototype.replace); var nativeExec = RegExp.prototype.exec; var patchedExec = nativeExec; var charAt$g = uncurryThis$17(''.charAt); @@ -11938,7 +11939,7 @@ $$2H({ global: true, constructor: true, arity: 3 }, { }); var global$n = global$16; -var shared$3 = sharedStore; +var shared$2 = sharedStore; var isCallable$c = isCallable$J; var getPrototypeOf$5 = objectGetPrototypeOf$2; var defineBuiltIn$a = defineBuiltIn$u; @@ -11947,14 +11948,14 @@ var wellKnownSymbol$k = wellKnownSymbol$S; var USE_FUNCTION_CONSTRUCTOR = 'USE_FUNCTION_CONSTRUCTOR'; var ASYNC_ITERATOR$3 = wellKnownSymbol$k('asyncIterator'); var AsyncIterator = global$n.AsyncIterator; -var PassedAsyncIteratorPrototype = shared$3.AsyncIteratorPrototype; +var PassedAsyncIteratorPrototype = shared$2.AsyncIteratorPrototype; var AsyncIteratorPrototype$5, prototype; if (PassedAsyncIteratorPrototype) { AsyncIteratorPrototype$5 = PassedAsyncIteratorPrototype; } else if (isCallable$c(AsyncIterator)) { AsyncIteratorPrototype$5 = AsyncIterator.prototype; -} else if (shared$3[USE_FUNCTION_CONSTRUCTOR] || global$n[USE_FUNCTION_CONSTRUCTOR]) { +} else if (shared$2[USE_FUNCTION_CONSTRUCTOR] || global$n[USE_FUNCTION_CONSTRUCTOR]) { try { // eslint-disable-next-line no-new-func -- we have no alternatives without usage of modern syntax prototype = getPrototypeOf$5(getPrototypeOf$5(getPrototypeOf$5(Function('return async function*(){}()')()))); @@ -11978,11 +11979,11 @@ var create$8 = objectCreate$1; var getMethod$b = getMethod$l; var defineBuiltIns$6 = defineBuiltIns$b; var InternalStateModule$c = internalState; -var getBuiltIn$v = getBuiltIn$N; +var getBuiltIn$u = getBuiltIn$M; var AsyncIteratorPrototype$4 = asyncIteratorPrototype; var createIterResultObject$c = createIterResultObject$h; -var Promise$5 = getBuiltIn$v('Promise'); +var Promise$5 = getBuiltIn$u('Promise'); var ASYNC_FROM_SYNC_ITERATOR = 'AsyncFromSyncIterator'; var setInternalState$d = InternalStateModule$c.set; @@ -12047,14 +12048,14 @@ var getAsyncIterator$1 = function (it, usingIterator) { }; var call$H = functionCall; -var getBuiltIn$u = getBuiltIn$N; +var getBuiltIn$t = getBuiltIn$M; var getMethod$9 = getMethod$l; var asyncIteratorClose = function (iterator, method, argument, reject) { try { var returnMethod = getMethod$9(iterator, 'return'); if (returnMethod) { - return getBuiltIn$u('Promise').resolve(call$H(returnMethod, iterator)).then(function () { + return getBuiltIn$t('Promise').resolve(call$H(returnMethod, iterator)).then(function () { method(argument); }, function (error) { reject(error); @@ -12072,7 +12073,7 @@ var aCallable$s = aCallable$N; var anObject$E = anObject$1f; var isObject$c = isObject$K; var doesNotExceedSafeInteger = doesNotExceedSafeInteger$7; -var getBuiltIn$t = getBuiltIn$N; +var getBuiltIn$s = getBuiltIn$M; var getIteratorDirect$m = getIteratorDirect$o; var closeAsyncIteration$4 = asyncIteratorClose; @@ -12086,7 +12087,7 @@ var createMethod = function (TYPE) { var MAPPING = fn !== undefined; if (MAPPING || !IS_TO_ARRAY) aCallable$s(fn); var record = getIteratorDirect$m(object); - var Promise = getBuiltIn$t('Promise'); + var Promise = getBuiltIn$s('Promise'); var iterator = record.iterator; var next = record.next; var counter = 0; @@ -12164,7 +12165,7 @@ var getIterator$2 = getIterator$7; var getIteratorDirect$l = getIteratorDirect$o; var getIteratorMethod$3 = getIteratorMethod$8; var getMethod$8 = getMethod$l; -var getBuiltIn$s = getBuiltIn$N; +var getBuiltIn$r = getBuiltIn$M; var getBuiltInPrototypeMethod = getBuiltInPrototypeMethod$2; var wellKnownSymbol$i = wellKnownSymbol$S; var AsyncFromSyncIterator$2 = asyncFromSyncIterator; @@ -12193,7 +12194,7 @@ var arrayFromAsync$1 = function fromAsync(asyncItems /* , mapfn = undefined, thi var argumentsLength = arguments.length; var mapfn = argumentsLength > 1 ? arguments[1] : undefined; var thisArg = argumentsLength > 2 ? arguments[2] : undefined; - return new (getBuiltIn$s('Promise'))(function (resolve) { + return new (getBuiltIn$r('Promise'))(function (resolve) { var O = toObject$9(asyncItems); if (mapfn !== undefined) mapfn = bind$i(mapfn, thisArg); var usingAsyncIterator = getMethod$8(O, ASYNC_ITERATOR$1); @@ -12774,7 +12775,7 @@ var addDisposableResource$2 = function (disposable, V, hint, method) { // https://github.com/tc39/proposal-async-explicit-resource-management var $$2v = _export; var DESCRIPTORS$c = descriptors; -var getBuiltIn$r = getBuiltIn$N; +var getBuiltIn$q = getBuiltIn$M; var aCallable$p = aCallable$N; var anInstance$8 = anInstance$f; var defineBuiltIn$9 = defineBuiltIn$u; @@ -12784,8 +12785,8 @@ var wellKnownSymbol$g = wellKnownSymbol$S; var InternalStateModule$b = internalState; var addDisposableResource$1 = addDisposableResource$2; -var Promise$4 = getBuiltIn$r('Promise'); -var SuppressedError$1 = getBuiltIn$r('SuppressedError'); +var Promise$4 = getBuiltIn$q('Promise'); +var SuppressedError$1 = getBuiltIn$q('SuppressedError'); var $ReferenceError$1 = ReferenceError; var ASYNC_DISPOSE$1 = wellKnownSymbol$g('asyncDispose'); @@ -12943,13 +12944,13 @@ var createNonEnumerableProperty$5 = createNonEnumerableProperty$k; var defineBuiltIns$4 = defineBuiltIns$b; var wellKnownSymbol$e = wellKnownSymbol$S; var InternalStateModule$a = internalState; -var getBuiltIn$q = getBuiltIn$N; +var getBuiltIn$p = getBuiltIn$M; var getMethod$6 = getMethod$l; var AsyncIteratorPrototype$2 = asyncIteratorPrototype; var createIterResultObject$b = createIterResultObject$h; var iteratorClose$5 = iteratorClose$8; -var Promise$3 = getBuiltIn$q('Promise'); +var Promise$3 = getBuiltIn$p('Promise'); var TO_STRING_TAG$4 = wellKnownSymbol$e('toStringTag'); var ASYNC_ITERATOR_HELPER = 'AsyncIteratorHelper'; @@ -13123,14 +13124,14 @@ $$2t({ target: 'AsyncIterator', name: 'indexed', proto: true, real: true, forced // https://github.com/tc39/proposal-async-explicit-resource-management var call$A = functionCall; var defineBuiltIn$8 = defineBuiltIn$u; -var getBuiltIn$p = getBuiltIn$N; +var getBuiltIn$o = getBuiltIn$M; var getMethod$5 = getMethod$l; var hasOwn$d = hasOwnProperty_1; var wellKnownSymbol$d = wellKnownSymbol$S; var AsyncIteratorPrototype$1 = asyncIteratorPrototype; var ASYNC_DISPOSE = wellKnownSymbol$d('asyncDispose'); -var Promise$2 = getBuiltIn$p('Promise'); +var Promise$2 = getBuiltIn$o('Promise'); if (!hasOwn$d(AsyncIteratorPrototype$1, ASYNC_DISPOSE)) { defineBuiltIn$8(AsyncIteratorPrototype$1, ASYNC_DISPOSE, function () { @@ -13474,11 +13475,11 @@ var call$u = functionCall; var aCallable$l = aCallable$N; var anObject$w = anObject$1f; var isObject$8 = isObject$K; -var getBuiltIn$o = getBuiltIn$N; +var getBuiltIn$n = getBuiltIn$M; var getIteratorDirect$f = getIteratorDirect$o; var closeAsyncIteration = asyncIteratorClose; -var Promise$1 = getBuiltIn$o('Promise'); +var Promise$1 = getBuiltIn$n('Promise'); var $TypeError$h = TypeError; // `AsyncIterator.prototype.reduce` method @@ -13728,14 +13729,14 @@ if (typeof BigInt == 'function') { // TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` -var getBuiltIn$n = getBuiltIn$N; +var getBuiltIn$m = getBuiltIn$M; var create$6 = objectCreate$1; var isObject$6 = isObject$K; var $Object$2 = Object; var $TypeError$f = TypeError; -var Map$8 = getBuiltIn$n('Map'); -var WeakMap$3 = getBuiltIn$n('WeakMap'); +var Map$8 = getBuiltIn$m('Map'); +var WeakMap$2 = getBuiltIn$m('WeakMap'); var Node$1 = function () { // keys @@ -13752,7 +13753,7 @@ Node$1.prototype.get = function (key, initializer) { Node$1.prototype.next = function (i, it, IS_OBJECT) { var store = IS_OBJECT - ? this.objectsByIndex[i] || (this.objectsByIndex[i] = new WeakMap$3()) + ? this.objectsByIndex[i] || (this.objectsByIndex[i] = new WeakMap$2()) : this.primitives || (this.primitives = new Map$8()); var entry = store.get(it); if (!entry) store.set(it, entry = new Node$1()); @@ -13778,13 +13779,13 @@ var compositeKey = function () { var $$2e = _export; var apply$3 = functionApply$1; var getCompositeKeyNode$1 = compositeKey; -var getBuiltIn$m = getBuiltIn$N; +var getBuiltIn$l = getBuiltIn$M; var create$5 = objectCreate$1; var $Object$1 = Object; var initializer = function () { - var freeze = getBuiltIn$m('Object', 'freeze'); + var freeze = getBuiltIn$l('Object', 'freeze'); return freeze ? freeze(create$5(null)) : create$5(null); }; @@ -13797,14 +13798,14 @@ $$2e({ global: true, forced: true }, { var $$2d = _export; var getCompositeKeyNode = compositeKey; -var getBuiltIn$l = getBuiltIn$N; +var getBuiltIn$k = getBuiltIn$M; var apply$2 = functionApply$1; // https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey $$2d({ global: true, forced: true }, { compositeSymbol: function compositeSymbol() { - if (arguments.length === 1 && typeof arguments[0] == 'string') return getBuiltIn$l('Symbol')['for'](arguments[0]); - return apply$2(getCompositeKeyNode, null, arguments).get('symbol', getBuiltIn$l('Symbol')); + if (arguments.length === 1 && typeof arguments[0] == 'string') return getBuiltIn$k('Symbol')['for'](arguments[0]); + return apply$2(getCompositeKeyNode, null, arguments).get('symbol', getBuiltIn$k('Symbol')); } }); @@ -13895,7 +13896,7 @@ $$29({ target: 'DataView', proto: true, forced: true }, { // https://github.com/tc39/proposal-explicit-resource-management var $$28 = _export; var DESCRIPTORS$a = descriptors; -var getBuiltIn$k = getBuiltIn$N; +var getBuiltIn$j = getBuiltIn$M; var aCallable$k = aCallable$N; var anInstance$6 = anInstance$f; var defineBuiltIn$7 = defineBuiltIn$u; @@ -13905,7 +13906,7 @@ var wellKnownSymbol$b = wellKnownSymbol$S; var InternalStateModule$8 = internalState; var addDisposableResource = addDisposableResource$2; -var SuppressedError = getBuiltIn$k('SuppressedError'); +var SuppressedError = getBuiltIn$j('SuppressedError'); var $ReferenceError = ReferenceError; var DISPOSE$1 = wellKnownSymbol$b('dispose'); @@ -14665,7 +14666,7 @@ var uncurryThis$s = functionUncurryThis; var hasOwn$9 = hasOwnProperty_1; var $SyntaxError$2 = SyntaxError; -var $parseInt = parseInt; +var $parseInt$1 = parseInt; var fromCharCode$3 = String.fromCharCode; var at$2 = uncurryThis$s(''.charAt); var slice$2 = uncurryThis$s(''.slice); @@ -14700,7 +14701,7 @@ var parseJsonString = function (source, i) { i += 2; var fourHexDigits = slice$2(source, i, i + 4); if (!exec$7(IS_4_HEX_DIGITS, fourHexDigits)) throw new $SyntaxError$2('Bad Unicode escape at: ' + i); - value += fromCharCode$3($parseInt(fourHexDigits, 16)); + value += fromCharCode$3($parseInt$1(fourHexDigits, 16)); i += 4; } else throw new $SyntaxError$2('Unknown escape sequence: "' + twoChars + '"'); } else if (chr === '"') { @@ -14720,7 +14721,7 @@ var parseJsonString = function (source, i) { var $$1N = _export; var DESCRIPTORS$8 = descriptors; var global$i = global$16; -var getBuiltIn$j = getBuiltIn$N; +var getBuiltIn$i = getBuiltIn$M; var uncurryThis$r = functionUncurryThis; var call$i = functionCall; var isCallable$9 = isCallable$J; @@ -14738,7 +14739,7 @@ var JSON$1 = global$i.JSON; var Number$1 = global$i.Number; var SyntaxError$1 = global$i.SyntaxError; var nativeParse = JSON$1 && JSON$1.parse; -var enumerableOwnProperties = getBuiltIn$j('Object', 'keys'); +var enumerableOwnProperties = getBuiltIn$i('Object', 'keys'); // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var getOwnPropertyDescriptor$3 = Object.getOwnPropertyDescriptor; var at$1 = uncurryThis$r(''.charAt); @@ -14971,7 +14972,7 @@ $$1N({ target: 'JSON', stat: true, forced: NO_SOURCE_SUPPORT }, { var $$1M = _export; var FREEZING$1 = freezing; var NATIVE_RAW_JSON = nativeRawJson; -var getBuiltIn$i = getBuiltIn$N; +var getBuiltIn$h = getBuiltIn$M; var call$h = functionCall; var uncurryThis$q = functionUncurryThis; var isCallable$8 = isCallable$J; @@ -14985,10 +14986,10 @@ var setInternalState$7 = internalState.set; var $String = String; var $SyntaxError$1 = SyntaxError; -var parse$1 = getBuiltIn$i('JSON', 'parse'); -var $stringify = getBuiltIn$i('JSON', 'stringify'); -var create$3 = getBuiltIn$i('Object', 'create'); -var freeze$1 = getBuiltIn$i('Object', 'freeze'); +var parse$1 = getBuiltIn$h('JSON', 'parse'); +var $stringify = getBuiltIn$h('JSON', 'stringify'); +var create$3 = getBuiltIn$h('Object', 'create'); +var freeze$1 = getBuiltIn$h('Object', 'freeze'); var at = uncurryThis$q(''.charAt); var slice = uncurryThis$q(''.slice); var exec$5 = uncurryThis$q(/./.exec); @@ -15731,13 +15732,13 @@ $$1e({ target: 'Math', stat: true, forced: true }, { var $$1d = _export; var uncurryThis$o = functionUncurryThis; var toIntegerOrInfinity$3 = toIntegerOrInfinity$p; -var parseInt$2 = numberParseInt; var INVALID_NUMBER_REPRESENTATION = 'Invalid number representation'; var INVALID_RADIX = 'Invalid radix'; var $RangeError$2 = RangeError; var $SyntaxError = SyntaxError; var $TypeError$5 = TypeError; +var $parseInt = parseInt; var pow$1 = Math.pow; var valid = /^[\d.a-z]+$/; var charAt$8 = uncurryThis$o(''.charAt); @@ -15762,8 +15763,8 @@ $$1d({ target: 'Number', stat: true, forced: true }, { if (R < 2 || R > 36) throw new $RangeError$2(INVALID_RADIX); if (!exec$4(valid, string)) throw new $SyntaxError(INVALID_NUMBER_REPRESENTATION); var parts = split$4(string, '.'); - var mathNum = parseInt$2(parts[0], R); - if (parts.length > 1) mathNum += parseInt$2(parts[1], R) / pow$1(R, parts[1].length); + var mathNum = $parseInt(parts[0], R); + if (parts.length > 1) mathNum += $parseInt(parts[1], R) / pow$1(R, parts[1].length); if (numberToString$1(mathNum, R) !== string) throw new $SyntaxError(INVALID_NUMBER_REPRESENTATION); return sign * mathNum; } @@ -15856,14 +15857,14 @@ $$19({ target: 'Object', stat: true, forced: true }, { }); var $$18 = _export; -var getBuiltIn$h = getBuiltIn$N; +var getBuiltIn$g = getBuiltIn$M; var uncurryThis$n = functionUncurryThis; var aCallable$4 = aCallable$N; var requireObjectCoercible$2 = requireObjectCoercible$p; var toPropertyKey = toPropertyKey$a; var iterate$b = iterate$G; -var create$2 = getBuiltIn$h('Object', 'create'); +var create$2 = getBuiltIn$g('Object', 'create'); var push$8 = uncurryThis$n([].push); // `Object.groupBy` method @@ -16073,7 +16074,7 @@ $$17({ global: true, constructor: true, forced: true }, { setSpecies(OBSERVABLE); var $$16 = _export; -var getBuiltIn$g = getBuiltIn$N; +var getBuiltIn$f = getBuiltIn$M; var call$c = functionCall; var anObject$e = anObject$1f; var isConstructor$2 = isConstructor$a; @@ -16088,7 +16089,7 @@ var $$OBSERVABLE = wellKnownSymbol$5('observable'); // https://github.com/tc39/proposal-observable $$16({ target: 'Observable', stat: true, forced: true }, { from: function from(x) { - var C = isConstructor$2(this) ? this : getBuiltIn$g('Observable'); + var C = isConstructor$2(this) ? this : getBuiltIn$f('Observable'); var observableMethod = getMethod(anObject$e(x), $$OBSERVABLE); if (observableMethod) { var observable = anObject$e(call$c(observableMethod, x)); @@ -16108,16 +16109,16 @@ $$16({ target: 'Observable', stat: true, forced: true }, { }); var $$15 = _export; -var getBuiltIn$f = getBuiltIn$N; +var getBuiltIn$e = getBuiltIn$M; var isConstructor$1 = isConstructor$a; -var Array$2 = getBuiltIn$f('Array'); +var Array$2 = getBuiltIn$e('Array'); // `Observable.of` method // https://github.com/tc39/proposal-observable $$15({ target: 'Observable', stat: true, forced: true }, { of: function of() { - var C = isConstructor$1(this) ? this : getBuiltIn$f('Observable'); + var C = isConstructor$1(this) ? this : getBuiltIn$e('Observable'); var length = arguments.length; var items = Array$2(length); var index = 0; @@ -16166,16 +16167,16 @@ $$13({ target: 'Promise', stat: true }, { // TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` -var getBuiltIn$e = getBuiltIn$N; +var getBuiltIn$d = getBuiltIn$M; var uncurryThis$m = functionUncurryThis; -var shared$2 = sharedExports; +var shared$1 = sharedExports; -var Map$2 = getBuiltIn$e('Map'); -var WeakMap$2 = getBuiltIn$e('WeakMap'); +var Map$2 = getBuiltIn$d('Map'); +var WeakMap$1 = getBuiltIn$d('WeakMap'); var push$7 = uncurryThis$m([].push); -var metadata = shared$2('metadata'); -var store$1 = metadata.store || (metadata.store = new WeakMap$2()); +var metadata = shared$1('metadata'); +var store$1 = metadata.store || (metadata.store = new WeakMap$1()); var getOrCreateMetadataMap$1 = function (target, targetKey, create) { var targetMetadata = store$1.get(target); @@ -16594,7 +16595,7 @@ var setDifference = function difference(other) { return result; }; -var getBuiltIn$d = getBuiltIn$N; +var getBuiltIn$c = getBuiltIn$M; var createSetLike = function (size) { return { @@ -16613,7 +16614,7 @@ var createSetLike = function (size) { }; var setMethodAcceptSetLike$7 = function (name) { - var Set = getBuiltIn$d('Set'); + var Set = getBuiltIn$c('Set'); try { new Set()[name](createSetLike(0)); try { @@ -16656,12 +16657,12 @@ var isIterable$1 = function (it) { || hasOwn$6(Iterators, classof$2(O)); }; -var getBuiltIn$c = getBuiltIn$N; +var getBuiltIn$b = getBuiltIn$M; var isCallable$4 = isCallable$J; var isIterable = isIterable$1; var isObject$2 = isObject$K; -var Set$5 = getBuiltIn$c('Set'); +var Set$5 = getBuiltIn$b('Set'); var isSetLike = function (it) { return isObject$2(it) @@ -17231,16 +17232,30 @@ $$t({ target: 'String', proto: true, forced: true }, { } }); -// adapted from https://github.com/jridgewell/string-dedent -var getBuiltIn$b = getBuiltIn$N; var uncurryThis$f = functionUncurryThis; +// eslint-disable-next-line es/no-weak-map -- safe +var WeakMapPrototype = WeakMap.prototype; + +var weakMapHelpers = { + // eslint-disable-next-line es/no-weak-map -- safe + WeakMap: WeakMap, + set: uncurryThis$f(WeakMapPrototype.set), + get: uncurryThis$f(WeakMapPrototype.get), + has: uncurryThis$f(WeakMapPrototype.has), + remove: uncurryThis$f(WeakMapPrototype['delete']) +}; + +// adapted from https://github.com/jridgewell/string-dedent +var getBuiltIn$a = getBuiltIn$M; +var uncurryThis$e = functionUncurryThis; + var fromCharCode$2 = String.fromCharCode; -var fromCodePoint = getBuiltIn$b('String', 'fromCodePoint'); -var charAt$5 = uncurryThis$f(''.charAt); -var charCodeAt$2 = uncurryThis$f(''.charCodeAt); -var stringIndexOf = uncurryThis$f(''.indexOf); -var stringSlice$3 = uncurryThis$f(''.slice); +var fromCodePoint = getBuiltIn$a('String', 'fromCodePoint'); +var charAt$5 = uncurryThis$e(''.charAt); +var charCodeAt$2 = uncurryThis$e(''.charCodeAt); +var stringIndexOf = uncurryThis$e(''.indexOf); +var stringSlice$3 = uncurryThis$e(''.slice); var ZERO_CODE = 48; var NINE_CODE = 57; @@ -17352,10 +17367,8 @@ var stringParse = function (raw) { var FREEZING = freezing; var $$s = _export; -var shared$1 = sharedExports; -var getBuiltIn$a = getBuiltIn$N; var makeBuiltIn = makeBuiltInExports; -var uncurryThis$e = functionUncurryThis; +var uncurryThis$d = functionUncurryThis; var apply$1 = functionApply$1; var anObject$3 = anObject$1f; var toObject = toObject$D; @@ -17363,18 +17376,15 @@ var isCallable$3 = isCallable$J; var lengthOfArrayLike$2 = lengthOfArrayLike$C; var defineProperty$5 = objectDefineProperty.f; var createArrayFromList = arraySliceSimple; +var WeakMapHelpers$1 = weakMapHelpers; var cooked = stringCooked; var parse = stringParse; var whitespaces$1 = whitespaces$6; -var WeakMap$1 = getBuiltIn$a('WeakMap'); -var globalDedentRegistry = shared$1('GlobalDedentRegistry', new WeakMap$1()); - -/* eslint-disable no-self-assign -- prototype methods protection */ -globalDedentRegistry.has = globalDedentRegistry.has; -globalDedentRegistry.get = globalDedentRegistry.get; -globalDedentRegistry.set = globalDedentRegistry.set; -/* eslint-enable no-self-assign -- prototype methods protection */ +var DedentMap = new WeakMapHelpers$1.WeakMap(); +var weakMapGet = WeakMapHelpers$1.get; +var weakMapHas = WeakMapHelpers$1.has; +var weakMapSet = WeakMapHelpers$1.set; var $Array = Array; var $TypeError$1 = TypeError; @@ -17383,10 +17393,10 @@ var freeze = Object.freeze || Object; // eslint-disable-next-line es/no-object-isfrozen -- safe var isFrozen = Object.isFrozen; var min$1 = Math.min; -var charAt$4 = uncurryThis$e(''.charAt); -var stringSlice$2 = uncurryThis$e(''.slice); -var split$3 = uncurryThis$e(''.split); -var exec$3 = uncurryThis$e(/./.exec); +var charAt$4 = uncurryThis$d(''.charAt); +var stringSlice$2 = uncurryThis$d(''.slice); +var split$3 = uncurryThis$d(''.split); +var exec$3 = uncurryThis$d(/./.exec); var NEW_LINE = /([\n\u2028\u2029]|\r\n?)/g; var LEADING_WHITESPACE = RegExp('^[' + whitespaces$1 + ']*'); @@ -17399,14 +17409,14 @@ var dedentTemplateStringsArray = function (template) { var rawInput = template.raw; // https://github.com/tc39/proposal-string-dedent/issues/75 if (FREEZING && !isFrozen(rawInput)) throw new $TypeError$1('Raw template should be frozen'); - if (globalDedentRegistry.has(rawInput)) return globalDedentRegistry.get(rawInput); + if (weakMapHas(DedentMap, rawInput)) return weakMapGet(DedentMap, rawInput); var raw = dedentStringsArray(rawInput); var cookedArr = cookStrings(raw); defineProperty$5(cookedArr, 'raw', { value: freeze(raw) }); freeze(cookedArr); - globalDedentRegistry.set(rawInput, cookedArr); + weakMapSet(DedentMap, rawInput, cookedArr); return cookedArr; }; @@ -17549,12 +17559,12 @@ if (Symbol$3) { } } -var getBuiltIn$9 = getBuiltIn$N; -var uncurryThis$d = functionUncurryThis; +var getBuiltIn$9 = getBuiltIn$M; +var uncurryThis$c = functionUncurryThis; var Symbol$2 = getBuiltIn$9('Symbol'); var keyFor = Symbol$2.keyFor; -var thisSymbolValue$1 = uncurryThis$d(Symbol$2.prototype.valueOf); +var thisSymbolValue$1 = uncurryThis$c(Symbol$2.prototype.valueOf); // `Symbol.isRegisteredSymbol` method // https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol @@ -17585,15 +17595,15 @@ $$q({ target: 'Symbol', stat: true, name: 'isRegisteredSymbol' }, { }); var shared = sharedExports; -var getBuiltIn$8 = getBuiltIn$N; -var uncurryThis$c = functionUncurryThis; +var getBuiltIn$8 = getBuiltIn$M; +var uncurryThis$b = functionUncurryThis; var isSymbol$1 = isSymbol$8; var wellKnownSymbol$3 = wellKnownSymbol$S; var Symbol$1 = getBuiltIn$8('Symbol'); var $isWellKnownSymbol = Symbol$1.isWellKnownSymbol; var getOwnPropertyNames = getBuiltIn$8('Object', 'getOwnPropertyNames'); -var thisSymbolValue = uncurryThis$c(Symbol$1.prototype.valueOf); +var thisSymbolValue = uncurryThis$b(Symbol$1.prototype.valueOf); var WellKnownSymbolsStore = shared('wks'); for (var i = 0, symbolKeys = getOwnPropertyNames(Symbol$1), symbolKeysLength = symbolKeys.length; i < symbolKeysLength; i++) { @@ -17677,7 +17687,7 @@ var defineWellKnownSymbol = wellKnownSymbolDefine; defineWellKnownSymbol('replaceAll'); // TODO: Remove from `core-js@4` -var getBuiltIn$7 = getBuiltIn$N; +var getBuiltIn$7 = getBuiltIn$M; var aConstructor = aConstructor$5; var arrayFromAsync = arrayFromAsync$1; var ArrayBufferViewCore$5 = arrayBufferViewCore; @@ -17813,7 +17823,7 @@ exportTypedArrayMethod$1('toSpliced', function toSpliced(start, deleteCount /* , return A; }, !PROPER_ORDER); -var uncurryThis$b = functionUncurryThis; +var uncurryThis$a = functionUncurryThis; var ArrayBufferViewCore = arrayBufferViewCore; var arrayFromConstructorAndList = arrayFromConstructorAndList$6; var $arrayUniqueBy = arrayUniqueBy$2; @@ -17821,7 +17831,7 @@ var $arrayUniqueBy = arrayUniqueBy$2; var aTypedArray = ArrayBufferViewCore.aTypedArray; var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; -var arrayUniqueBy = uncurryThis$b($arrayUniqueBy); +var arrayUniqueBy = uncurryThis$a($arrayUniqueBy); // `%TypedArray%.prototype.uniqueBy` method // https://github.com/tc39/proposal-array-unique @@ -17830,20 +17840,6 @@ exportTypedArrayMethod('uniqueBy', function uniqueBy(resolver) { return arrayFromConstructorAndList(getTypedArrayConstructor(this), arrayUniqueBy(this, resolver)); }, true); -var uncurryThis$a = functionUncurryThis; - -// eslint-disable-next-line es/no-weak-map -- safe -var WeakMapPrototype = WeakMap.prototype; - -var weakMapHelpers = { - // eslint-disable-next-line es/no-weak-map -- safe - WeakMap: WeakMap, - set: uncurryThis$a(WeakMapPrototype.set), - get: uncurryThis$a(WeakMapPrototype.get), - has: uncurryThis$a(WeakMapPrototype.has), - remove: uncurryThis$a(WeakMapPrototype['delete']) -}; - var has$2 = weakMapHelpers.has; // Perform ? RequireInternalSlot(M, [[WeakMapData]]) @@ -18009,7 +18005,7 @@ var base64Map = { var $$e = _export; var global$f = global$16; -var getBuiltIn$6 = getBuiltIn$N; +var getBuiltIn$6 = getBuiltIn$M; var uncurryThis$8 = functionUncurryThis; var call$3 = functionCall; var fails$5 = fails$1u; @@ -18071,7 +18067,7 @@ $$e({ global: true, bind: true, enumerable: true, forced: NO_SPACES_IGNORE || NO var $$d = _export; var global$e = global$16; -var getBuiltIn$5 = getBuiltIn$N; +var getBuiltIn$5 = getBuiltIn$M; var uncurryThis$7 = functionUncurryThis; var call$2 = functionCall; var fails$4 = fails$1u; @@ -18252,7 +18248,7 @@ var domExceptionConstants = { var $$c = _export; var tryNodeRequire = tryNodeRequire$2; -var getBuiltIn$4 = getBuiltIn$N; +var getBuiltIn$4 = getBuiltIn$M; var fails$3 = fails$1u; var create$1 = objectCreate$1; var createPropertyDescriptor$2 = createPropertyDescriptor$d; @@ -18396,7 +18392,7 @@ for (var key$1 in DOMExceptionConstants$1) if (hasOwn$4(DOMExceptionConstants$1, var $$b = _export; var global$b = global$16; -var getBuiltIn$3 = getBuiltIn$N; +var getBuiltIn$3 = getBuiltIn$M; var createPropertyDescriptor$1 = createPropertyDescriptor$d; var defineProperty$1 = objectDefineProperty.f; var hasOwn$3 = hasOwnProperty_1; @@ -18461,7 +18457,7 @@ if (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) { } } -var getBuiltIn$2 = getBuiltIn$N; +var getBuiltIn$2 = getBuiltIn$M; var setToStringTag$2 = setToStringTag$d; var DOM_EXCEPTION = 'DOMException'; @@ -18479,7 +18475,7 @@ $$a({ global: true, bind: true, enumerable: true, forced: global$a.clearImmediat clearImmediate: clearImmediate }); -/* global Bun -- Deno case */ +/* global Bun -- Bun case */ var engineIsBun = typeof Bun == 'function' && Bun && typeof Bun.version == 'string'; var global$9 = global$16; @@ -18590,7 +18586,7 @@ try { var $$6 = _export; var global$5 = global$16; -var getBuiltIn$1 = getBuiltIn$N; +var getBuiltIn$1 = getBuiltIn$M; var uncurryThis$6 = functionUncurryThis; var fails$2 = fails$1u; var uid = uid$7; @@ -18747,6 +18743,7 @@ var cloneBuffer = function (value, map, $type) { } else { length = value.byteLength; options = 'maxByteLength' in value ? { maxByteLength: value.maxByteLength } : undefined; + // eslint-disable-next-line es/no-resizable-and-growable-arraybuffers -- safe clone = new ArrayBuffer(length, options); source = new DataView(value); target = new DataView(clone); @@ -20836,7 +20833,7 @@ $$2({ global: true, constructor: true, forced: !USE_NATIVE_URL$1, sham: !DESCRIP }); var $$1 = _export; -var getBuiltIn = getBuiltIn$N; +var getBuiltIn = getBuiltIn$M; var fails = fails$1u; var validateArgumentsLength$2 = validateArgumentsLength$b; var toString$2 = toString$J; diff --git a/test/function/index.js b/test/function/index.js index ddf4fbaa8..aa8a5ebad 100644 --- a/test/function/index.js +++ b/test/function/index.js @@ -76,10 +76,10 @@ runTestSuiteWithSamples( config.verifyAst === false ? config.options?.plugins : config.options?.plugins === undefined - ? verifyAstPlugin - : Array.isArray(config.options.plugins) - ? [...config.options.plugins, verifyAstPlugin] - : config.options.plugins; + ? verifyAstPlugin + : Array.isArray(config.options.plugins) + ? [...config.options.plugins, verifyAstPlugin] + : config.options.plugins; return rollup .rollup({ diff --git a/test/function/samples/strip-bom-1/_config.js b/test/function/samples/strip-bom-1/_config.js new file mode 100644 index 000000000..de3ab53cf --- /dev/null +++ b/test/function/samples/strip-bom-1/_config.js @@ -0,0 +1,8 @@ +const commonjs = require('@rollup/plugin-commonjs'); + +module.exports = defineTest({ + description: 'Works correctly with BOM files and the @rollup/plugin-commonjs plugin.', + options: { + plugins: [commonjs()] + } +}); diff --git a/test/function/samples/strip-bom-1/main.js b/test/function/samples/strip-bom-1/main.js new file mode 100644 index 000000000..5fef25043 --- /dev/null +++ b/test/function/samples/strip-bom-1/main.js @@ -0,0 +1,12 @@ +(function () { + const foo = 'foo'; + if (typeof define === 'function' && define.amd) { + define([], function () { + return foo; + }); + } else if (typeof module !== 'undefined' && module.exports) { + module.exports = foo; + } else { + this.foo = foo; + } +})(); diff --git a/test/utils.js b/test/utils.js index d44e2e677..d4968f096 100644 --- a/test/utils.js +++ b/test/utils.js @@ -463,10 +463,10 @@ const replaceStringifyValues = (key, value) => { return key.startsWith('_') ? undefined : typeof value == 'bigint' - ? `~BigInt${value.toString()}` - : value instanceof RegExp - ? `~RegExp${JSON.stringify({ flags: value.flags, source: value.source })}` - : value; + ? `~BigInt${value.toString()}` + : value instanceof RegExp + ? `~RegExp${JSON.stringify({ flags: value.flags, source: value.source })}` + : value; }; const reviveStringifyValues = (_, value) => @@ -474,6 +474,6 @@ const reviveStringifyValues = (_, value) => ? value.startsWith('~BigInt') ? BigInt(value.slice(7)) : value.startsWith('~RegExp') - ? new RegExp(JSON.parse(value.slice(7)).source, JSON.parse(value.slice(7)).flags) - : value + ? new RegExp(JSON.parse(value.slice(7)).source, JSON.parse(value.slice(7)).flags) + : value : value;