diff --git a/.changeset/tame-berries-exercise.md b/.changeset/tame-berries-exercise.md new file mode 100644 index 000000000000..04961b190953 --- /dev/null +++ b/.changeset/tame-berries-exercise.md @@ -0,0 +1,8 @@ +--- +'@modern-js/builder-rspack-provider': patch +--- + +feat(builder): support output.enableAssetManifest in Rspack + + +feat(builder): 在使用 Rspack 构建时支持 output.enableAssetManifest 配置项 diff --git a/packages/builder/builder-rspack-provider/package.json b/packages/builder/builder-rspack-provider/package.json index e361c1b68547..25b78ab91b35 100644 --- a/packages/builder/builder-rspack-provider/package.json +++ b/packages/builder/builder-rspack-provider/package.json @@ -61,6 +61,7 @@ "@rspack/dev-middleware": "0.0.0-canary-22b006c-20230517164249", "@rspack/plugin-html": "0.0.0-canary-22b006c-20230517164249", "@rspack/postcss-loader": "0.0.0-canary-22b006c-20230517164249", + "rspack-manifest-plugin": "5.0.0-alpha0", "caniuse-lite": "^1.0.30001451", "core-js": "~3.30.0", "rspack-plugin-virtual-module": "0.1.0" diff --git a/packages/builder/builder-rspack-provider/src/plugins/manifest.ts b/packages/builder/builder-rspack-provider/src/plugins/manifest.ts new file mode 100644 index 000000000000..3ec274a0db6f --- /dev/null +++ b/packages/builder/builder-rspack-provider/src/plugins/manifest.ts @@ -0,0 +1,27 @@ +import type { BuilderPlugin } from '../types'; +import { generateManifest } from '@modern-js/builder-shared'; + +export const builderPluginManifest = (): BuilderPlugin => ({ + name: 'builder-plugin-manifest', + + setup(api) { + api.modifyBundlerChain(async (chain, { CHAIN_ID }) => { + const config = api.getNormalizedConfig(); + + if (!config.output.enableAssetManifest) { + return; + } + + const { WebpackManifestPlugin } = await import('rspack-manifest-plugin'); + const publicPath = chain.output.get('publicPath'); + + chain.plugin(CHAIN_ID.PLUGIN.MANIFEST).use(WebpackManifestPlugin, [ + { + fileName: 'asset-manifest.json', + publicPath, + generate: generateManifest, + }, + ]); + }); + }, +}); diff --git a/packages/builder/builder-rspack-provider/src/shared/plugin.ts b/packages/builder/builder-rspack-provider/src/shared/plugin.ts index 3912d344d6fc..3dfa302a5797 100644 --- a/packages/builder/builder-rspack-provider/src/shared/plugin.ts +++ b/packages/builder/builder-rspack-provider/src/shared/plugin.ts @@ -28,6 +28,7 @@ export const applyDefaultPlugins = (plugins: Plugins) => import('../plugins/less').then(m => m.builderPluginLess()), import('../plugins/sass').then(m => m.builderPluginSass()), import('../plugins/minimize').then(m => m.builderPluginMinimize()), + import('../plugins/manifest').then(m => m.builderPluginManifest()), // rem should after css/less/sass/stylus import('../plugins/rem').then(m => m.builderPluginRem()), import('../plugins/hmr').then(m => m.builderPluginHMR()), diff --git a/packages/builder/builder-shared/src/index.ts b/packages/builder/builder-shared/src/index.ts index 9af7a8b92fbe..0b5c72becdf7 100644 --- a/packages/builder/builder-shared/src/index.ts +++ b/packages/builder/builder-shared/src/index.ts @@ -26,3 +26,4 @@ export * from './fallback'; export * from './getLoaderOptions'; export * from './svgo'; export * from './patch'; +export * from './manifest'; diff --git a/packages/builder/builder-shared/src/manifest.ts b/packages/builder/builder-shared/src/manifest.ts new file mode 100644 index 000000000000..89f61f087e28 --- /dev/null +++ b/packages/builder/builder-shared/src/manifest.ts @@ -0,0 +1,29 @@ +import type { Chunk } from 'webpack'; + +export const generateManifest = ( + seed: Record, + files: Array<{ + chunk?: Chunk; + name: string; + path: string; + }>, + entries: Record, +) => { + const manifestFiles = files.reduce((manifest, file) => { + manifest[file.name] = file.path; + return manifest; + }, seed); + + const entrypointFiles = Object.keys(entries).reduce( + (previous, name) => + previous.concat( + entries[name].filter(fileName => !fileName.endsWith('.map')), + ), + [], + ); + + return { + files: manifestFiles, + entrypoints: entrypointFiles, + }; +}; diff --git a/packages/builder/builder-webpack-provider/src/plugins/manifest.ts b/packages/builder/builder-webpack-provider/src/plugins/manifest.ts index 09ea42144e4e..76d523ef7c6b 100644 --- a/packages/builder/builder-webpack-provider/src/plugins/manifest.ts +++ b/packages/builder/builder-webpack-provider/src/plugins/manifest.ts @@ -1,4 +1,5 @@ import type { BuilderPlugin } from '../types'; +import { generateManifest } from '@modern-js/builder-shared'; export const builderPluginManifest = (): BuilderPlugin => ({ name: 'builder-plugin-manifest', @@ -20,25 +21,7 @@ export const builderPluginManifest = (): BuilderPlugin => ({ { fileName: 'asset-manifest.json', publicPath, - generate: (seed, files, entries) => { - const manifestFiles = files.reduce((manifest, file) => { - manifest[file.name] = file.path; - return manifest; - }, seed); - - const entrypointFiles = Object.keys(entries).reduce( - (previous, name) => - previous.concat( - entries[name].filter(fileName => !fileName.endsWith('.map')), - ), - [], - ); - - return { - files: manifestFiles, - entrypoints: entrypointFiles, - }; - }, + generate: generateManifest, }, ]); }); diff --git a/packages/document/builder-doc/docs/en/config/output/enableAssetManifest.md b/packages/document/builder-doc/docs/en/config/output/enableAssetManifest.md index 70f924e4c7b0..ea8e1bd666c7 100644 --- a/packages/document/builder-doc/docs/en/config/output/enableAssetManifest.md +++ b/packages/document/builder-doc/docs/en/config/output/enableAssetManifest.md @@ -1,6 +1,5 @@ - **Type:** `boolean` - **Default:** `false` -- **Bundler:** `only support webpack` Whether to generate a manifest file that contains information of all assets. diff --git a/packages/document/builder-doc/docs/en/guide/advanced/rspack-start.mdx b/packages/document/builder-doc/docs/en/guide/advanced/rspack-start.mdx index 4709746de446..9c98a34e45b7 100644 --- a/packages/document/builder-doc/docs/en/guide/advanced/rspack-start.mdx +++ b/packages/document/builder-doc/docs/en/guide/advanced/rspack-start.mdx @@ -110,7 +110,6 @@ Unsupported configurations and capabilities include: - [output.disableCssExtract](/api/config-output.html#outputdisablecssextract) - [output.disableSourcemap.css](/api/config-output.html#outputdisablesourcemap) -- [output.enableAssetManifest](/api/config-output.html#outputenableassetmanifest) - [output.enableCssModuleTSDeclaration](/api/config-output.html#outputenablecssmoduletsdeclaration) - [output.enableInlineScripts](/api/config-output.html#outputenableinlinescripts) - [output.legalComments.inline](/api/config-output.html#outputlegalcomments) diff --git a/packages/document/builder-doc/docs/zh/config/output/enableAssetManifest.md b/packages/document/builder-doc/docs/zh/config/output/enableAssetManifest.md index d6b1b8eeaaeb..2bc2b7a7b237 100644 --- a/packages/document/builder-doc/docs/zh/config/output/enableAssetManifest.md +++ b/packages/document/builder-doc/docs/zh/config/output/enableAssetManifest.md @@ -1,6 +1,5 @@ - **类型:** `boolean` - **默认值:** `false` -- **打包工具:** `仅支持 webpack` 是否生成 manifest 文件,该文件包含所有构建产物的信息。 diff --git a/packages/document/builder-doc/docs/zh/guide/advanced/rspack-start.mdx b/packages/document/builder-doc/docs/zh/guide/advanced/rspack-start.mdx index eaa24ec4c930..762a3969d973 100644 --- a/packages/document/builder-doc/docs/zh/guide/advanced/rspack-start.mdx +++ b/packages/document/builder-doc/docs/zh/guide/advanced/rspack-start.mdx @@ -109,7 +109,6 @@ Builder 旨在消除不同打包工具之间的主要差异,帮助用户以较 - [output.disableCssExtract](/api/config-output.html#outputdisablecssextract) - [output.disableSourcemap.css](/api/config-output.html#outputdisablesourcemap) -- [output.enableAssetManifest](/api/config-output.html#outputenableassetmanifest) - [output.enableCssModuleTSDeclaration](/api/config-output.html#outputenablecssmoduletsdeclaration) - [output.enableInlineScripts](/api/config-output.html#outputenableinlinescripts) - [output.legalComments.inline](/api/config-output.html#outputlegalcomments) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 38e031702b06..c36a869102b4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -92,6 +92,7 @@ importers: postcss: 8.4.21 react: ^18 react-dom: ^18 + rspack-manifest-plugin: 5.0.0-alpha0 rspack-plugin-virtual-module: 0.1.0 typescript: ^5 dependencies: @@ -107,6 +108,7 @@ importers: '@rspack/postcss-loader': 0.0.0-canary-22b006c-20230517164249 caniuse-lite: 1.0.30001451 core-js: 3.30.0 + rspack-manifest-plugin: 5.0.0-alpha0 rspack-plugin-virtual-module: 0.1.0 devDependencies: '@modern-js/e2e': link:../../toolkit/e2e @@ -6003,8 +6005,7 @@ packages: resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.18.6 - dev: true + '@babel/highlight': 7.17.12 /@babel/code-frame/7.18.6: resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} @@ -6018,11 +6019,6 @@ packages: dependencies: '@babel/highlight': 7.18.6 - /@babel/compat-data/7.20.1: - resolution: {integrity: sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==} - engines: {node: '>=6.9.0'} - dev: false - /@babel/compat-data/7.21.7: resolution: {integrity: sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==} engines: {node: '>=6.9.0'} @@ -6409,10 +6405,6 @@ packages: transitivePeerDependencies: - supports-color - /@babel/helper-environment-visitor/7.18.9: - resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} - engines: {node: '>=6.9.0'} - /@babel/helper-environment-visitor/7.21.5: resolution: {integrity: sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==} engines: {node: '>=6.9.0'} @@ -6461,7 +6453,7 @@ packages: dependencies: '@babel/helper-environment-visitor': 7.21.5 '@babel/helper-module-imports': 7.21.4 - '@babel/helper-simple-access': 7.21.5 + '@babel/helper-simple-access': 7.20.2 '@babel/helper-split-export-declaration': 7.18.6 '@babel/helper-validator-identifier': 7.19.1 '@babel/template': 7.20.7 @@ -6551,7 +6543,6 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.21.5 - dev: true /@babel/helper-simple-access/7.21.5: resolution: {integrity: sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==} @@ -6614,6 +6605,14 @@ packages: transitivePeerDependencies: - supports-color + /@babel/highlight/7.17.12: + resolution: {integrity: sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + chalk: 2.4.2 + js-tokens: 4.0.0 + /@babel/highlight/7.18.6: resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} engines: {node: '>=6.9.0'} @@ -6648,8 +6647,8 @@ packages: '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.18.9_@babel+core@7.20.5: - resolution: {integrity: sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.20.7_@babel+core@7.20.5: + resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 @@ -6671,8 +6670,8 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 '@babel/plugin-proposal-optional-chaining': 7.21.0_@babel+core@7.21.8 - /@babel/plugin-proposal-async-generator-functions/7.20.1_@babel+core@7.20.5: - resolution: {integrity: sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==} + /@babel/plugin-proposal-async-generator-functions/7.20.7_@babel+core@7.20.5: + resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -6725,8 +6724,8 @@ packages: transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-class-static-block/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==} + /@babel/plugin-proposal-class-static-block/7.21.0_@babel+core@7.20.5: + resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 @@ -6840,8 +6839,8 @@ packages: '@babel/helper-plugin-utils': 7.21.5 '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.21.8 - /@babel/plugin-proposal-logical-assignment-operators/7.18.9_@babel+core@7.20.5: - resolution: {integrity: sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==} + /@babel/plugin-proposal-logical-assignment-operators/7.20.7_@babel+core@7.20.5: + resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -6914,32 +6913,32 @@ packages: '@babel/plugin-transform-parameters': 7.21.3_@babel+core@7.12.9 dev: false - /@babel/plugin-proposal-object-rest-spread/7.20.2_@babel+core@7.20.5: + /@babel/plugin-proposal-object-rest-spread/7.20.2_@babel+core@7.21.8: resolution: {integrity: sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.21.7 - '@babel/core': 7.20.5 - '@babel/helper-compilation-targets': 7.21.5_@babel+core@7.20.5 + '@babel/core': 7.21.8 + '@babel/helper-compilation-targets': 7.21.5_@babel+core@7.21.8 '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.5 - '@babel/plugin-transform-parameters': 7.21.3_@babel+core@7.20.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.21.8 + '@babel/plugin-transform-parameters': 7.21.3_@babel+core@7.21.8 dev: false - /@babel/plugin-proposal-object-rest-spread/7.20.2_@babel+core@7.21.8: - resolution: {integrity: sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==} + /@babel/plugin-proposal-object-rest-spread/7.20.7_@babel+core@7.20.5: + resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.21.7 - '@babel/core': 7.21.8 - '@babel/helper-compilation-targets': 7.21.5_@babel+core@7.21.8 + '@babel/core': 7.20.5 + '@babel/helper-compilation-targets': 7.21.5_@babel+core@7.20.5 '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.21.8 - '@babel/plugin-transform-parameters': 7.21.3_@babel+core@7.21.8 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.5 + '@babel/plugin-transform-parameters': 7.21.3_@babel+core@7.20.5 dev: false /@babel/plugin-proposal-object-rest-spread/7.20.7_@babel+core@7.21.8: @@ -6976,18 +6975,6 @@ packages: '@babel/helper-plugin-utils': 7.21.5 '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.21.8 - /@babel/plugin-proposal-optional-chaining/7.18.9_@babel+core@7.20.5: - resolution: {integrity: sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.5 - dev: false - /@babel/plugin-proposal-optional-chaining/7.18.9_@babel+core@7.21.8: resolution: {integrity: sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==} engines: {node: '>=6.9.0'} @@ -7070,32 +7057,32 @@ packages: transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-private-property-in-object/7.18.6_@babel+core@7.20.5: + /@babel/plugin-proposal-private-property-in-object/7.18.6_@babel+core@7.21.8: resolution: {integrity: sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.5 + '@babel/core': 7.21.8 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.21.8_@babel+core@7.20.5 + '@babel/helper-create-class-features-plugin': 7.21.8_@babel+core@7.21.8 '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.21.8 transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-proposal-private-property-in-object/7.18.6_@babel+core@7.21.8: - resolution: {integrity: sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==} + /@babel/plugin-proposal-private-property-in-object/7.21.0_@babel+core@7.20.5: + resolution: {integrity: sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 + '@babel/core': 7.20.5 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.21.8_@babel+core@7.21.8 + '@babel/helper-create-class-features-plugin': 7.21.8_@babel+core@7.20.5 '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.21.8 + '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.5 transitivePeerDependencies: - supports-color dev: false @@ -7536,23 +7523,23 @@ packages: '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-arrow-functions/7.18.6_@babel+core@7.20.5: + /@babel/plugin-transform-arrow-functions/7.18.6_@babel+core@7.21.8: resolution: {integrity: sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 dev: false - /@babel/plugin-transform-arrow-functions/7.18.6_@babel+core@7.21.8: - resolution: {integrity: sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==} + /@babel/plugin-transform-arrow-functions/7.21.5_@babel+core@7.20.5: + resolution: {integrity: sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 + '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.21.5 dev: false @@ -7565,8 +7552,8 @@ packages: '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-async-to-generator/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==} + /@babel/plugin-transform-async-to-generator/7.20.7_@babel+core@7.20.5: + resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -7611,23 +7598,23 @@ packages: '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-block-scoping/7.20.2_@babel+core@7.20.5: + /@babel/plugin-transform-block-scoping/7.20.2_@babel+core@7.21.8: resolution: {integrity: sha512-y5V15+04ry69OV2wULmwhEA6jwSWXO1TwAtIwiPXcvHcoOQUqpyMVd2bDsQJMW8AurjulIyUV8kDqtjSwHy1uQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 dev: false - /@babel/plugin-transform-block-scoping/7.20.2_@babel+core@7.21.8: - resolution: {integrity: sha512-y5V15+04ry69OV2wULmwhEA6jwSWXO1TwAtIwiPXcvHcoOQUqpyMVd2bDsQJMW8AurjulIyUV8kDqtjSwHy1uQ==} + /@babel/plugin-transform-block-scoping/7.21.0_@babel+core@7.20.5: + resolution: {integrity: sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 + '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.21.5 dev: false @@ -7649,7 +7636,7 @@ packages: '@babel/core': 7.20.5 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-compilation-targets': 7.21.5_@babel+core@7.20.5 - '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-environment-visitor': 7.21.5 '@babel/helper-function-name': 7.21.0 '@babel/helper-optimise-call-expression': 7.18.6 '@babel/helper-plugin-utils': 7.21.5 @@ -7669,7 +7656,7 @@ packages: '@babel/core': 7.21.8 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-compilation-targets': 7.21.5_@babel+core@7.21.8 - '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-environment-visitor': 7.21.5 '@babel/helper-function-name': 7.21.0 '@babel/helper-optimise-call-expression': 7.18.6 '@babel/helper-plugin-utils': 7.21.5 @@ -7679,14 +7666,15 @@ packages: transitivePeerDependencies: - supports-color - /@babel/plugin-transform-computed-properties/7.18.9_@babel+core@7.20.5: - resolution: {integrity: sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==} + /@babel/plugin-transform-computed-properties/7.21.5_@babel+core@7.20.5: + resolution: {integrity: sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.21.5 + '@babel/template': 7.20.7 dev: false /@babel/plugin-transform-computed-properties/7.21.5_@babel+core@7.21.8: @@ -7699,23 +7687,23 @@ packages: '@babel/helper-plugin-utils': 7.21.5 '@babel/template': 7.20.7 - /@babel/plugin-transform-destructuring/7.20.2_@babel+core@7.20.5: + /@babel/plugin-transform-destructuring/7.20.2_@babel+core@7.21.8: resolution: {integrity: sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 dev: false - /@babel/plugin-transform-destructuring/7.20.2_@babel+core@7.21.8: - resolution: {integrity: sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==} + /@babel/plugin-transform-destructuring/7.21.3_@babel+core@7.20.5: + resolution: {integrity: sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 + '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.21.5 dev: false @@ -7800,23 +7788,23 @@ packages: '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.21.8 dev: false - /@babel/plugin-transform-for-of/7.18.8_@babel+core@7.20.5: + /@babel/plugin-transform-for-of/7.18.8_@babel+core@7.21.8: resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 dev: false - /@babel/plugin-transform-for-of/7.18.8_@babel+core@7.21.8: - resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==} + /@babel/plugin-transform-for-of/7.21.5_@babel+core@7.20.5: + resolution: {integrity: sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 + '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.21.5 dev: false @@ -7890,8 +7878,8 @@ packages: '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-modules-amd/7.19.6_@babel+core@7.20.5: - resolution: {integrity: sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==} + /@babel/plugin-transform-modules-amd/7.20.11_@babel+core@7.20.5: + resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -7969,8 +7957,8 @@ packages: transitivePeerDependencies: - supports-color - /@babel/plugin-transform-modules-systemjs/7.19.6_@babel+core@7.20.5: - resolution: {integrity: sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==} + /@babel/plugin-transform-modules-systemjs/7.20.11_@babel+core@7.20.5: + resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -8023,8 +8011,8 @@ packages: transitivePeerDependencies: - supports-color - /@babel/plugin-transform-named-capturing-groups-regex/7.19.1_@babel+core@7.20.5: - resolution: {integrity: sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==} + /@babel/plugin-transform-named-capturing-groups-regex/7.20.5_@babel+core@7.20.5: + resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -8088,16 +8076,6 @@ packages: transitivePeerDependencies: - supports-color - /@babel/plugin-transform-parameters/7.20.3_@babel+core@7.20.5: - resolution: {integrity: sha512-oZg/Fpx0YDrj13KsLyO8I/CX3Zdw7z0O9qOd95SqcoIzuqy/WTGWvePeHAnZCN54SfdyjHcb1S30gc8zlzlHcA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.21.5 - dev: false - /@babel/plugin-transform-parameters/7.20.3_@babel+core@7.21.8: resolution: {integrity: sha512-oZg/Fpx0YDrj13KsLyO8I/CX3Zdw7z0O9qOd95SqcoIzuqy/WTGWvePeHAnZCN54SfdyjHcb1S30gc8zlzlHcA==} engines: {node: '>=6.9.0'} @@ -8256,8 +8234,8 @@ packages: '@babel/helper-plugin-utils': 7.21.5 dev: false - /@babel/plugin-transform-regenerator/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==} + /@babel/plugin-transform-regenerator/7.21.5_@babel+core@7.20.5: + resolution: {integrity: sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -8332,24 +8310,24 @@ packages: '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-spread/7.19.0_@babel+core@7.20.5: + /@babel/plugin-transform-spread/7.19.0_@babel+core@7.21.8: resolution: {integrity: sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 dev: false - /@babel/plugin-transform-spread/7.19.0_@babel+core@7.21.8: - resolution: {integrity: sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==} + /@babel/plugin-transform-spread/7.20.7_@babel+core@7.20.5: + resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 + '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.21.5 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 dev: false @@ -8464,8 +8442,8 @@ packages: transitivePeerDependencies: - supports-color - /@babel/plugin-transform-unicode-escapes/7.18.10_@babel+core@7.20.5: - resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} + /@babel/plugin-transform-unicode-escapes/7.21.5_@babel+core@7.20.5: + resolution: {integrity: sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -8510,27 +8488,27 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.20.1 + '@babel/compat-data': 7.21.7 '@babel/core': 7.20.5 - '@babel/helper-compilation-targets': 7.20.0_@babel+core@7.20.5 + '@babel/helper-compilation-targets': 7.21.5_@babel+core@7.20.5 '@babel/helper-plugin-utils': 7.21.5 '@babel/helper-validator-option': 7.21.0 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.18.9_@babel+core@7.20.5 - '@babel/plugin-proposal-async-generator-functions': 7.20.1_@babel+core@7.20.5 + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7_@babel+core@7.20.5 + '@babel/plugin-proposal-async-generator-functions': 7.20.7_@babel+core@7.20.5 '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-proposal-class-static-block': 7.18.6_@babel+core@7.20.5 + '@babel/plugin-proposal-class-static-block': 7.21.0_@babel+core@7.20.5 '@babel/plugin-proposal-dynamic-import': 7.18.6_@babel+core@7.20.5 '@babel/plugin-proposal-export-namespace-from': 7.18.9_@babel+core@7.20.5 '@babel/plugin-proposal-json-strings': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-proposal-logical-assignment-operators': 7.18.9_@babel+core@7.20.5 + '@babel/plugin-proposal-logical-assignment-operators': 7.20.7_@babel+core@7.20.5 '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.20.5 '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-proposal-object-rest-spread': 7.20.2_@babel+core@7.20.5 + '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.20.5 '@babel/plugin-proposal-optional-catch-binding': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-proposal-optional-chaining': 7.18.9_@babel+core@7.20.5 + '@babel/plugin-proposal-optional-chaining': 7.21.0_@babel+core@7.20.5 '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-proposal-private-property-in-object': 7.18.6_@babel+core@7.20.5 + '@babel/plugin-proposal-private-property-in-object': 7.21.0_@babel+core@7.20.5 '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.20.5 '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.5 '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.20.5 @@ -8547,37 +8525,37 @@ packages: '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.5 '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.5 '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.20.5 - '@babel/plugin-transform-arrow-functions': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-transform-async-to-generator': 7.18.6_@babel+core@7.20.5 + '@babel/plugin-transform-arrow-functions': 7.21.5_@babel+core@7.20.5 + '@babel/plugin-transform-async-to-generator': 7.20.7_@babel+core@7.20.5 '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-transform-block-scoping': 7.20.2_@babel+core@7.20.5 + '@babel/plugin-transform-block-scoping': 7.21.0_@babel+core@7.20.5 '@babel/plugin-transform-classes': 7.21.0_@babel+core@7.20.5 - '@babel/plugin-transform-computed-properties': 7.18.9_@babel+core@7.20.5 - '@babel/plugin-transform-destructuring': 7.20.2_@babel+core@7.20.5 + '@babel/plugin-transform-computed-properties': 7.21.5_@babel+core@7.20.5 + '@babel/plugin-transform-destructuring': 7.21.3_@babel+core@7.20.5 '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.20.5 '@babel/plugin-transform-duplicate-keys': 7.18.9_@babel+core@7.20.5 '@babel/plugin-transform-exponentiation-operator': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-transform-for-of': 7.18.8_@babel+core@7.20.5 + '@babel/plugin-transform-for-of': 7.21.5_@babel+core@7.20.5 '@babel/plugin-transform-function-name': 7.18.9_@babel+core@7.20.5 '@babel/plugin-transform-literals': 7.18.9_@babel+core@7.20.5 '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-transform-modules-amd': 7.19.6_@babel+core@7.20.5 + '@babel/plugin-transform-modules-amd': 7.20.11_@babel+core@7.20.5 '@babel/plugin-transform-modules-commonjs': 7.21.5_@babel+core@7.20.5 - '@babel/plugin-transform-modules-systemjs': 7.19.6_@babel+core@7.20.5 + '@babel/plugin-transform-modules-systemjs': 7.20.11_@babel+core@7.20.5 '@babel/plugin-transform-modules-umd': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-transform-named-capturing-groups-regex': 7.19.1_@babel+core@7.20.5 + '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5_@babel+core@7.20.5 '@babel/plugin-transform-new-target': 7.18.6_@babel+core@7.20.5 '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-transform-parameters': 7.20.3_@babel+core@7.20.5 + '@babel/plugin-transform-parameters': 7.21.3_@babel+core@7.20.5 '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-transform-regenerator': 7.18.6_@babel+core@7.20.5 + '@babel/plugin-transform-regenerator': 7.21.5_@babel+core@7.20.5 '@babel/plugin-transform-reserved-words': 7.18.6_@babel+core@7.20.5 '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-transform-spread': 7.19.0_@babel+core@7.20.5 + '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.20.5 '@babel/plugin-transform-sticky-regex': 7.18.6_@babel+core@7.20.5 '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.20.5 '@babel/plugin-transform-typeof-symbol': 7.18.9_@babel+core@7.20.5 - '@babel/plugin-transform-unicode-escapes': 7.18.10_@babel+core@7.20.5 + '@babel/plugin-transform-unicode-escapes': 7.21.5_@babel+core@7.20.5 '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.20.5 '@babel/preset-modules': 0.1.5_@babel+core@7.20.5 '@babel/types': 7.21.5 @@ -8743,31 +8721,33 @@ packages: '@babel/plugin-transform-react-pure-annotations': 7.18.6_@babel+core@7.21.8 dev: false - /@babel/preset-typescript/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==} + /@babel/preset-typescript/7.21.5: + resolution: {integrity: sha512-iqe3sETat5EOrORXiQ6rWfoOg2y68Cs75B9wNxdPW4kixJxh7aXQE1KPdWLDniC24T/6dSnguF33W9j/ZZQcmA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.21.5 '@babel/helper-validator-option': 7.21.0 - '@babel/plugin-transform-typescript': 7.21.3_@babel+core@7.20.5 + '@babel/plugin-syntax-jsx': 7.21.4 + '@babel/plugin-transform-modules-commonjs': 7.21.5 + '@babel/plugin-transform-typescript': 7.21.3 transitivePeerDependencies: - supports-color dev: false - /@babel/preset-typescript/7.21.5: + /@babel/preset-typescript/7.21.5_@babel+core@7.20.5: resolution: {integrity: sha512-iqe3sETat5EOrORXiQ6rWfoOg2y68Cs75B9wNxdPW4kixJxh7aXQE1KPdWLDniC24T/6dSnguF33W9j/ZZQcmA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.21.5 '@babel/helper-validator-option': 7.21.0 - '@babel/plugin-syntax-jsx': 7.21.4 - '@babel/plugin-transform-modules-commonjs': 7.21.5 - '@babel/plugin-transform-typescript': 7.21.3 + '@babel/plugin-syntax-jsx': 7.21.4_@babel+core@7.20.5 + '@babel/plugin-transform-modules-commonjs': 7.21.5_@babel+core@7.20.5 + '@babel/plugin-transform-typescript': 7.21.3_@babel+core@7.20.5 transitivePeerDependencies: - supports-color dev: false @@ -13558,7 +13538,7 @@ packages: '@babel/plugin-transform-react-constant-elements': 7.20.2_@babel+core@7.20.5 '@babel/preset-env': 7.20.2_@babel+core@7.20.5 '@babel/preset-react': 7.18.6_@babel+core@7.20.5 - '@babel/preset-typescript': 7.18.6_@babel+core@7.20.5 + '@babel/preset-typescript': 7.21.5_@babel+core@7.20.5 '@svgr/core': 6.5.1 '@svgr/plugin-jsx': 6.5.1_@svgr+core@6.5.1 '@svgr/plugin-svgo': 6.5.1_@svgr+core@6.5.1 @@ -23619,7 +23599,7 @@ packages: resolution: {integrity: sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/code-frame': 7.21.4 + '@babel/code-frame': 7.18.6 '@jest/types': 29.5.0 '@types/stack-utils': 2.0.1 chalk: 4.1.2 @@ -26555,7 +26535,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.21.4 + '@babel/code-frame': 7.16.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -30096,6 +30076,16 @@ packages: fsevents: 2.3.2 dev: true + /rspack-manifest-plugin/5.0.0-alpha0: + resolution: {integrity: sha512-a84H6P/lK0x3kb0I8Qdiwxrnjt1oNW0j+7kwPMWcODJu8eYFBrTXa1t+14n18Jvg9RKIR6llCH16mYxf2d0s8A==} + engines: {node: '>=14'} + peerDependencies: + webpack: ^5.75.0 + dependencies: + tapable: 2.2.1 + webpack-sources: 2.3.1 + dev: false + /rspack-plugin-virtual-module/0.1.0: resolution: {integrity: sha512-v+TD289c/zHBTXgqlLIwxa7V/RdFKOEPaIFIrZ4eUQzkiI6uxHRp+bqOukO8u7RYoYhOgrLLspwNPcpJYrHBRg==} dependencies: @@ -30331,7 +30321,6 @@ packages: /semver/6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} - hasBin: true /semver/7.3.7: resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} @@ -31328,7 +31317,7 @@ packages: mime: 2.6.0 qs: 6.11.0 readable-stream: 3.6.0 - semver: 7.3.7 + semver: 7.3.8 transitivePeerDependencies: - supports-color @@ -33744,7 +33733,6 @@ packages: dependencies: source-list-map: 2.0.1 source-map: 0.6.1 - dev: true /webpack-sources/3.2.3: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} diff --git a/tests/e2e/builder/cases/manifest/index.test.ts b/tests/e2e/builder/cases/manifest/index.test.ts new file mode 100644 index 000000000000..160aa1a5d1d1 --- /dev/null +++ b/tests/e2e/builder/cases/manifest/index.test.ts @@ -0,0 +1,48 @@ +import { join } from 'path'; +import { expect } from '@modern-js/e2e/playwright'; +import { build } from '@scripts/shared'; +import { allProviderTest } from '@scripts/helper'; + +const fixtures = __dirname; + +allProviderTest('enableAssetManifest', async () => { + const buildOpts = { + cwd: fixtures, + entry: { + main: join(fixtures, 'src/index.jsx'), + }, + }; + + const builder = await build( + buildOpts, + { + output: { + enableAssetManifest: true, + legalComments: 'none', + }, + performance: { + chunkSplit: { + strategy: 'all-in-one', + }, + }, + }, + false, + ); + + const files = await builder.unwrapOutputJSON(); + + const manifestContent = + files[ + Object.keys(files).find(file => file.endsWith('asset-manifest.json'))! + ]; + + expect(manifestContent).toBeDefined(); + + const manifest = JSON.parse(manifestContent); + + // main.js、index.html、main.js.map + expect(Object.keys(manifest.files).length).toBe(3); + expect(manifest.entrypoints.length).toBe(1); + + builder.close(); +}); diff --git a/tests/e2e/builder/cases/manifest/src/index.jsx b/tests/e2e/builder/cases/manifest/src/index.jsx new file mode 100644 index 000000000000..5514ed259617 --- /dev/null +++ b/tests/e2e/builder/cases/manifest/src/index.jsx @@ -0,0 +1,14 @@ +// eslint-disable-next-line eslint-comments/disable-enable-pair +/* eslint-disable no-undef */ +import React from 'react'; +import { render } from 'react-dom'; + +function App() { + return ( +
+
Hello Builder!
+
+ ); +} + +render(React.createElement(App), document.getElementById('root')); diff --git a/tests/integration/mwa-app/modern.config.ts b/tests/integration/mwa-app/modern.config.ts index cb584b9e6ffe..6387cc436e47 100644 --- a/tests/integration/mwa-app/modern.config.ts +++ b/tests/integration/mwa-app/modern.config.ts @@ -7,5 +7,12 @@ export default defineConfig({ output: { disableTsChecker: true, }, - plugins: [appTools()], + plugins: [ + appTools({ + bundler: + process.env.PROVIDE_TYPE === 'rspack' + ? 'experimental-rspack' + : 'webpack', + }), + ], });