From 5000a177e19cab7a179d427766d4ec68714f44ee Mon Sep 17 00:00:00 2001 From: fi3ework Date: Fri, 2 Aug 2024 01:19:09 +0800 Subject: [PATCH] fix: browserslist query and rspack target --- CONTRIBUTING.md | 2 +- .../alias/__snapshots__/index.test.ts.snap | 1 - e2e/cases/target/config/index.test.ts | 17 ++ e2e/cases/target/config/rslib.config.ts | 26 +++ e2e/cases/target/config/src/index.ts | 1 + e2e/cases/target/config/tsconfig.json | 10 ++ e2e/cases/target/default/index.test.ts | 21 +++ e2e/cases/target/default/rslib.config.ts | 11 ++ e2e/cases/target/default/src/index.ts | 1 + e2e/cases/target/default/tsconfig.json | 10 ++ e2e/scripts/shared.ts | 28 +++- package.json | 2 +- packages/core/src/config.ts | 85 +++++++--- packages/core/src/utils/syntax.ts | 6 +- .../tests/__snapshots__/config.test.ts.snap | 148 ++++++++++++------ packages/core/tests/syntax.test.ts | 24 +-- pnpm-lock.yaml | 100 ++++++------ 17 files changed, 351 insertions(+), 142 deletions(-) create mode 100644 e2e/cases/target/config/index.test.ts create mode 100644 e2e/cases/target/config/rslib.config.ts create mode 100644 e2e/cases/target/config/src/index.ts create mode 100644 e2e/cases/target/config/tsconfig.json create mode 100644 e2e/cases/target/default/index.test.ts create mode 100644 e2e/cases/target/default/rslib.config.ts create mode 100644 e2e/cases/target/default/src/index.ts create mode 100644 e2e/cases/target/default/tsconfig.json diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3b7a1ace5..2f76ac614 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,4 +12,4 @@ Current unstable versions are: | Package | Link | | ------------ | ------------------------------------------------------- | -| @rspack/core | [PR](https://github.com/web-infra-dev/rspack/pull/7210) | +| @rspack/core | [PR](https://github.com/web-infra-dev/rspack/pull/7394) | diff --git a/e2e/cases/alias/__snapshots__/index.test.ts.snap b/e2e/cases/alias/__snapshots__/index.test.ts.snap index 8f21725b5..ec282d3e4 100644 --- a/e2e/cases/alias/__snapshots__/index.test.ts.snap +++ b/e2e/cases/alias/__snapshots__/index.test.ts.snap @@ -9,7 +9,6 @@ const a = 'hello world'; console.info(a); -export { a }; " `; diff --git a/e2e/cases/target/config/index.test.ts b/e2e/cases/target/config/index.test.ts new file mode 100644 index 000000000..ac4fae846 --- /dev/null +++ b/e2e/cases/target/config/index.test.ts @@ -0,0 +1,17 @@ +import { expect, test } from 'vitest'; +import { buildAndGetResults } from '#shared'; + +test('target should be set to the default value in Rspack', async () => { + const fixturePath = __dirname; + const { rspackConfig: bundlerConfigs } = + await buildAndGetResults(fixturePath); + + expect(bundlerConfigs.map((c) => c.target)).toMatchInlineSnapshot(` + [ + [ + "es5", + "node", + ], + ] + `); +}); diff --git a/e2e/cases/target/config/rslib.config.ts b/e2e/cases/target/config/rslib.config.ts new file mode 100644 index 000000000..57afd76d9 --- /dev/null +++ b/e2e/cases/target/config/rslib.config.ts @@ -0,0 +1,26 @@ +import { defineConfig } from '@rslib/core'; +import { generateBundleCjsConfig, generateBundleEsmConfig } from '#shared'; + +export default defineConfig({ + lib: [ + generateBundleEsmConfig(__dirname, { + output: { + target: 'node', + syntax: 'es2015', + }, + }), + // TODO: `target` is inheriting from Rsbuild now, that supports + // 'web', 'node' and 'web-worker'. Option of 'neutral' is not available. + // generateBundleCjsConfig(__dirname, { + // output: { + // target: 'neutral', + // syntax: ['node 20'], + // }, + // }), + ], + source: { + entry: { + main: './src/index.ts', + }, + }, +}); diff --git a/e2e/cases/target/config/src/index.ts b/e2e/cases/target/config/src/index.ts new file mode 100644 index 000000000..3329a7d97 --- /dev/null +++ b/e2e/cases/target/config/src/index.ts @@ -0,0 +1 @@ +export const foo = 'foo'; diff --git a/e2e/cases/target/config/tsconfig.json b/e2e/cases/target/config/tsconfig.json new file mode 100644 index 000000000..ae0b87df5 --- /dev/null +++ b/e2e/cases/target/config/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "@rslib/tsconfig/base", + "compilerOptions": { + "baseUrl": "./", + "paths": { + "@src/*": ["./src/*"] + } + }, + "include": ["src"] +} diff --git a/e2e/cases/target/default/index.test.ts b/e2e/cases/target/default/index.test.ts new file mode 100644 index 000000000..7831ef267 --- /dev/null +++ b/e2e/cases/target/default/index.test.ts @@ -0,0 +1,21 @@ +import { expect, test } from 'vitest'; +import { buildAndGetResults } from '#shared'; + +test('target should be set to the default value in Rspack', async () => { + const fixturePath = __dirname; + const { rspackConfig: bundlerConfigs } = + await buildAndGetResults(fixturePath); + + expect(bundlerConfigs.map((c) => c.target)).toMatchInlineSnapshot(` + [ + [ + "es2022", + "web", + ], + [ + "es2022", + "web", + ], + ] + `); +}); diff --git a/e2e/cases/target/default/rslib.config.ts b/e2e/cases/target/default/rslib.config.ts new file mode 100644 index 000000000..db7071fce --- /dev/null +++ b/e2e/cases/target/default/rslib.config.ts @@ -0,0 +1,11 @@ +import { defineConfig } from '@rslib/core'; +import { generateBundleCjsConfig, generateBundleEsmConfig } from '#shared'; + +export default defineConfig({ + lib: [generateBundleEsmConfig(__dirname), generateBundleCjsConfig(__dirname)], + source: { + entry: { + main: './src/index.ts', + }, + }, +}); diff --git a/e2e/cases/target/default/src/index.ts b/e2e/cases/target/default/src/index.ts new file mode 100644 index 000000000..3329a7d97 --- /dev/null +++ b/e2e/cases/target/default/src/index.ts @@ -0,0 +1 @@ +export const foo = 'foo'; diff --git a/e2e/cases/target/default/tsconfig.json b/e2e/cases/target/default/tsconfig.json new file mode 100644 index 000000000..ae0b87df5 --- /dev/null +++ b/e2e/cases/target/default/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "@rslib/tsconfig/base", + "compilerOptions": { + "baseUrl": "./", + "paths": { + "@src/*": ["./src/*"] + } + }, + "include": ["src"] +} diff --git a/e2e/scripts/shared.ts b/e2e/scripts/shared.ts index cb2535399..bfeb0fb87 100644 --- a/e2e/scripts/shared.ts +++ b/e2e/scripts/shared.ts @@ -1,9 +1,16 @@ import { join } from 'node:path'; -import { mergeRsbuildConfig as mergeConfig } from '@rsbuild/core'; +import { + type InspectConfigResult, + type Rspack, + mergeRsbuildConfig as mergeConfig, +} from '@rsbuild/core'; import type { LibConfig, RslibConfig } from '@rslib/core'; import { globContentJSON } from '#helper'; import { build } from '../../packages/core/src/build'; -import { loadConfig } from '../../packages/core/src/config'; +import { + composeCreateRsbuildConfig, + loadConfig, +} from '../../packages/core/src/config'; export function generateBundleEsmConfig( cwd: string, @@ -103,15 +110,28 @@ export async function getResults( export const buildAndGetResults = async ( fixturePath: string, type: 'js' | 'dts' = 'js', -) => { +): Promise<{ + contents: Record>; + files: Record; + entries: Record; + entryFiles: Record; + rspackConfig: InspectConfigResult['origin']['bundlerConfigs']; + rsbuildConfig: InspectConfigResult['origin']['rsbuildConfig']; +}> => { const rslibConfig = await loadConfig(join(fixturePath, 'rslib.config.ts')); process.chdir(fixturePath); - await build(rslibConfig); + const rsbuildInstance = await build(rslibConfig); + const { + origin: { bundlerConfigs, rsbuildConfig }, + } = await rsbuildInstance.inspectConfig({ verbose: true }); + const results = await getResults(rslibConfig, fixturePath, type); return { contents: results.contents, files: results.files, entries: results.entries, entryFiles: results.entryFiles, + rspackConfig: bundlerConfigs, + rsbuildConfig: rsbuildConfig, }; }; diff --git a/package.json b/package.json index 4a3a7ee2d..04af2a9f1 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ }, "pnpm": { "overrides": { - "@rspack/core": "npm:@rspack/core-canary@1.0.0-canary-d77b591-20240718094414" + "@rspack/core": "npm:@rspack/core-canary@1.0.0-canary-338cfbe-20240731183605" } } } diff --git a/packages/core/src/config.ts b/packages/core/src/config.ts index b99b640dd..87a48c0f5 100644 --- a/packages/core/src/config.ts +++ b/packages/core/src/config.ts @@ -4,6 +4,7 @@ import { type RsbuildConfig, createRsbuild, defineConfig as defineRsbuildConfig, + loadConfig as loadRsbuildConfig, mergeRsbuildConfig, } from '@rsbuild/core'; import glob from 'fast-glob'; @@ -66,8 +67,7 @@ export async function loadConfig( ): Promise { const root = process.cwd(); const configFilePath = resolveConfigPath(root, customConfig)!; - const { loadConfig } = await import('@rsbuild/core'); - const { content } = await loadConfig({ + const { content } = await loadRsbuildConfig({ cwd: dirname(configFilePath), path: configFilePath, envMode, @@ -185,26 +185,48 @@ const getDefaultAutoExtensionConfig = ( const getDefaultSyntaxConfig = (syntax?: Syntax): RsbuildConfig => { // Defaults to ESNext, Rslib will assume all of the latest JavaScript and CSS features are supported. - return syntax === undefined - ? { - tools: { - rspack: { - // The highest is 2022 in Rspack - target: 'es2022', - }, - swc(config) { - config.jsc ??= {}; - config.jsc.target = 'esnext'; - delete config.env; - return config; - }, - }, - } - : { - output: { - overrideBrowserslist: transformSyntaxToBrowserslist(syntax), + + if (syntax) { + const browserslist = + syntax === undefined + ? ['latest 2 versions', 'not dead', 'not ie 11'] + : transformSyntaxToBrowserslist(syntax); + + return { + tools: { + rspack: (config) => { + // TODO: Rspack should could resolve `browserslist:{query}` like webpack. + // https://webpack.js.org/configuration/target/#browserslist + // Using 'es5' as a temporary solution for compatibility. + config.target = ['es5']; + return config; }, - }; + }, + output: { + overrideBrowserslist: browserslist, + }, + }; + } + + return { + tools: { + rspack: (config) => { + config.target = ['es2022']; + return config; + }, + }, + output: { + // If no browserslist query is provided, Rslib will assume + overrideBrowserslist: [ + 'last 1 Chrome versions', + 'last 1 Firefox versions', + 'last 1 Edge versions', + 'last 1 Safari versions', + 'last 1 ios_saf versions', + 'not dead', + ], + }, + }; }; const getDefaultEntryConfig = async ( @@ -368,9 +390,20 @@ async function postUpdateRsbuildConfig( const getDefaultTargetConfig = (target: string): RsbuildConfig => { switch (target) { case 'web': - return {}; + return { + tools: { + rspack: { + target: ['web'], + }, + }, + }; case 'node': return { + tools: { + rspack: { + target: ['node'], + }, + }, output: { // When output.target is 'node', Node.js's built-in will be treated as externals of type `node-commonjs`. // Simply override the built-in modules to make them external. @@ -380,7 +413,13 @@ const getDefaultTargetConfig = (target: string): RsbuildConfig => { }, }; case 'neutral': - return {}; + return { + tools: { + rspack: { + target: ['web', 'node'], + }, + }, + }; default: throw new Error(`Unsupported platform: ${target}`); } diff --git a/packages/core/src/utils/syntax.ts b/packages/core/src/utils/syntax.ts index ad152ad52..88bb069f4 100644 --- a/packages/core/src/utils/syntax.ts +++ b/packages/core/src/utils/syntax.ts @@ -122,7 +122,9 @@ const ESX_TO_BROWSERSLIST: Record< export const transformSyntaxToBrowserslist = ( syntax: Syntax, -): NonNullable['overrideBrowserslist'] => { +): NonNullable< + NonNullable['overrideBrowserslist'] +> => { // only single esX is allowed if (typeof syntax === 'string' && syntax.toLowerCase().startsWith('es')) { if (syntax.toLowerCase() in ESX_TO_BROWSERSLIST) { @@ -132,7 +134,7 @@ export const transformSyntaxToBrowserslist = ( return version; } - return `${engine} ${version}`; + return `${engine} >= ${version}`; }, ); } diff --git a/packages/core/tests/__snapshots__/config.test.ts.snap b/packages/core/tests/__snapshots__/config.test.ts.snap index efd126ee9..5313a25e0 100644 --- a/packages/core/tests/__snapshots__/config.test.ts.snap +++ b/packages/core/tests/__snapshots__/config.test.ts.snap @@ -15,6 +15,14 @@ exports[`Should compose create Rsbuild config correctly > Merge Rsbuild config 1 }, "filenameHash": false, "minify": false, + "overrideBrowserslist": [ + "last 1 Chrome versions", + "last 1 Firefox versions", + "last 1 Edge versions", + "last 1 Safari versions", + "last 1 ios_saf versions", + "not dead", + ], }, "source": { "alias": { @@ -30,28 +38,36 @@ exports[`Should compose create Rsbuild config correctly > Merge Rsbuild config 1 }, "tools": { "htmlPlugin": false, - "rspack": { - "experiments": { - "rspackFuture": { - "bundlerInfo": { - "force": false, + "rspack": [ + { + "externalsType": "commonjs", + "output": { + "chunkFormat": "commonjs", + "iife": false, + "library": { + "type": "commonjs", }, }, }, - "externalsType": "commonjs", - "optimization": { - "moduleIds": "named", + [Function], + { + "target": [ + "web", + ], }, - "output": { - "chunkFormat": "commonjs", - "iife": false, - "library": { - "type": "commonjs", + { + "experiments": { + "rspackFuture": { + "bundlerInfo": { + "force": false, + }, + }, + }, + "optimization": { + "moduleIds": "named", }, }, - "target": "es2022", - }, - "swc": [Function], + ], }, }, "esm": { @@ -67,6 +83,14 @@ exports[`Should compose create Rsbuild config correctly > Merge Rsbuild config 1 }, "filenameHash": false, "minify": false, + "overrideBrowserslist": [ + "last 1 Chrome versions", + "last 1 Firefox versions", + "last 1 Edge versions", + "last 1 Safari versions", + "last 1 ios_saf versions", + "not dead", + ], }, "source": { "alias": { @@ -78,30 +102,42 @@ exports[`Should compose create Rsbuild config correctly > Merge Rsbuild config 1 }, "tools": { "htmlPlugin": false, - "rspack": { - "experiments": { - "outputModule": true, - "rspackFuture": { - "bundlerInfo": { - "force": false, + "rspack": [ + { + "experiments": { + "outputModule": true, + }, + "externalsType": "module", + "optimization": { + "concatenateModules": true, + }, + "output": { + "chunkFormat": "module", + "library": { + "type": "modern-module", }, + "module": true, }, }, - "externalsType": "module", - "optimization": { - "concatenateModules": true, - "moduleIds": "named", + [Function], + { + "target": [ + "web", + ], }, - "output": { - "chunkFormat": "module", - "library": { - "type": "modern-module", + { + "experiments": { + "rspackFuture": { + "bundlerInfo": { + "force": false, + }, + }, + }, + "optimization": { + "moduleIds": "named", }, - "module": true, }, - "target": "es2022", - }, - "swc": [Function], + ], }, }, "umd": { @@ -117,6 +153,14 @@ exports[`Should compose create Rsbuild config correctly > Merge Rsbuild config 1 }, "filenameHash": false, "minify": false, + "overrideBrowserslist": [ + "last 1 Chrome versions", + "last 1 Firefox versions", + "last 1 Edge versions", + "last 1 Safari versions", + "last 1 ios_saf versions", + "not dead", + ], }, "source": { "alias": { @@ -128,26 +172,34 @@ exports[`Should compose create Rsbuild config correctly > Merge Rsbuild config 1 }, "tools": { "htmlPlugin": false, - "rspack": { - "experiments": { - "rspackFuture": { - "bundlerInfo": { - "force": false, + "rspack": [ + { + "externalsType": "umd", + "output": { + "library": { + "type": "umd", }, }, }, - "externalsType": "umd", - "optimization": { - "moduleIds": "named", + [Function], + { + "target": [ + "web", + ], }, - "output": { - "library": { - "type": "umd", + { + "experiments": { + "rspackFuture": { + "bundlerInfo": { + "force": false, + }, + }, + }, + "optimization": { + "moduleIds": "named", }, }, - "target": "es2022", - }, - "swc": [Function], + ], }, }, } diff --git a/packages/core/tests/syntax.test.ts b/packages/core/tests/syntax.test.ts index e33b1a120..9c5326a84 100644 --- a/packages/core/tests/syntax.test.ts +++ b/packages/core/tests/syntax.test.ts @@ -5,28 +5,28 @@ describe('Correctly resolve syntax', () => { test('esX', async () => { expect(transformSyntaxToBrowserslist('es6')).toMatchInlineSnapshot(` [ - "Chrome 63.0.0", - "Edge 79.0.0", - "Firefox 67.0.0", - "iOS 13.0.0", + "Chrome >= 63.0.0", + "Edge >= 79.0.0", + "Firefox >= 67.0.0", + "iOS >= 13.0.0", "node > 12.20.0 and node < 13.0.0", "node > 13.2.0", - "Opera 50.0.0", - "Safari 13.0.0", + "Opera >= 50.0.0", + "Safari >= 13.0.0", ] `); expect(transformSyntaxToBrowserslist('es2018')).toMatchInlineSnapshot(` [ - "Chrome 64.0.0", - "Edge 79.0.0", - "Firefox 78.0.0", - "iOS 16.4.0", + "Chrome >= 64.0.0", + "Edge >= 79.0.0", + "Firefox >= 78.0.0", + "iOS >= 16.4.0", "node > 18.20.0 and node < 19.0.0", "node > 20.12.0 and node < 21.0.0", "node > 21.3.0", - "Opera 51.0.0", - "Safari 16.4.0", + "Opera >= 51.0.0", + "Safari >= 16.4.0", ] `); }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eea2e69b6..f8f055ba6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,7 +5,7 @@ settings: excludeLinksFromLockfile: false overrides: - '@rspack/core': npm:@rspack/core-canary@1.0.0-canary-d77b591-20240718094414 + '@rspack/core': npm:@rspack/core-canary@1.0.0-canary-338cfbe-20240731183605 importers: @@ -1168,56 +1168,56 @@ packages: engines: {node: '>=16.7.0'} hasBin: true - '@rspack/binding-canary@1.0.0-canary-d77b591-20240718094414': - resolution: {integrity: sha512-0DTf4WeXs8mcoZ8maeuD8kZCnPmvZxY8VCED3bL5oMRM8VT9ons8dggn1UFDBaiUoqyD7Ko2OFKb3n1VYHboYw==} + '@rspack/binding-canary@1.0.0-canary-338cfbe-20240731183605': + resolution: {integrity: sha512-lFl8Xt8QcNX0I1Kb/NfJYOa3B8iLBqw9T6CGylWbu0wQQ5TUnspGPfL7MIzi+mZ/eOaEcpIafUlCk+mcd5nC9Q==} - '@rspack/binding-darwin-arm64-canary@1.0.0-canary-d77b591-20240718094414': - resolution: {integrity: sha512-7Drn6VzjpkBvmeMmV+SjZFN1IxtiNvVGzzLERH3SuRyYT6lv/WthgiOocCtcPQxTbCbBS67NGTglPndWZIOuDg==} + '@rspack/binding-darwin-arm64-canary@1.0.0-canary-338cfbe-20240731183605': + resolution: {integrity: sha512-tO1ps4zfEk+3Sn4vKdn4RNcFqWl5IaNyYXZRHQtQXzJNAEBuSYeL9EDZMngjHQ7ymVfgwKR5Q+Tm0+SfPqO3cA==} cpu: [arm64] os: [darwin] - '@rspack/binding-darwin-x64-canary@1.0.0-canary-d77b591-20240718094414': - resolution: {integrity: sha512-XfBueryD7RHweNJlpXbk0+mswCJFhiey3Cw+RZuO8SJnur+u66ePeH2OF3Atuk8ToKMsXEX81vkcGrZ2LwntIg==} + '@rspack/binding-darwin-x64-canary@1.0.0-canary-338cfbe-20240731183605': + resolution: {integrity: sha512-puZ3ShmJZfj+wanaD6QX0sE3DFYDiSr3tHopLUPtDi2ogPR4EhhFmrHMHhZYcUetAxo9EDCVNolGn3hxIrpwcw==} cpu: [x64] os: [darwin] - '@rspack/binding-linux-arm64-gnu-canary@1.0.0-canary-d77b591-20240718094414': - resolution: {integrity: sha512-6f5OSeprOAx0fdyKAdtUnZJvI1NoesPZtcutbuounYr8EBnWU9OcC795iSzLj9lsbsZ6ZcWwaRb45vLcJRd9vw==} + '@rspack/binding-linux-arm64-gnu-canary@1.0.0-canary-338cfbe-20240731183605': + resolution: {integrity: sha512-JHh3W3l3dIbOtB8raKANqHn8L60IBTXx5CvjgoWHxqVlHeH8Szp7Uwnzf/7obWUbwONafOB9TBgqsKiRXtEn3w==} cpu: [arm64] os: [linux] - '@rspack/binding-linux-arm64-musl-canary@1.0.0-canary-d77b591-20240718094414': - resolution: {integrity: sha512-Ajx3GNSOO5eeth9FLY9DMmLEaTiijT5SybTV2nibzb5DLXz41ZjNWCiK2VqlJAf7nodF9QZPsEO/T3V0Ky6Q7Q==} + '@rspack/binding-linux-arm64-musl-canary@1.0.0-canary-338cfbe-20240731183605': + resolution: {integrity: sha512-/hkCF7w2ijmn260uPb49e3aaPjH/QWxymfLPI5nvC4+/Bk1XdYawIiy4A35Bv8kOuZciYYH3TMgkbXblqdamFA==} cpu: [arm64] os: [linux] - '@rspack/binding-linux-x64-gnu-canary@1.0.0-canary-d77b591-20240718094414': - resolution: {integrity: sha512-nkdF/E3h8H9dKGKmIOkEv+yn8i7gH9E2WRcfsBdNxHAxS+XUEZFc9xNbSsk6auf/1Crznb+umc6hvQ5nQrTUDQ==} + '@rspack/binding-linux-x64-gnu-canary@1.0.0-canary-338cfbe-20240731183605': + resolution: {integrity: sha512-Vpnqu3knK6YTmgvgIEFvEs1DbyVjyghdIrzIdkiJwhRF4AntZe3kxuM+x8fN94iDFHfRhWHTb1OkAooySaEGaw==} cpu: [x64] os: [linux] - '@rspack/binding-linux-x64-musl-canary@1.0.0-canary-d77b591-20240718094414': - resolution: {integrity: sha512-Cpezgks1pBD1ZBfi3g2Lz8u3LCYVa/jfnrOxEzs0KXaFskKtehZpJQBFx4m0iOaJRIVL/CEz3P8yhbU0Uzhi4g==} + '@rspack/binding-linux-x64-musl-canary@1.0.0-canary-338cfbe-20240731183605': + resolution: {integrity: sha512-ALlBgaoRXzYLeBfJLjVF9BpegYDD3wFk7Dtfnk/Ij9kTbzPmhYN5+5FIlTpANBbXfrknp+XqYoPRLsXI1EXtog==} cpu: [x64] os: [linux] - '@rspack/binding-win32-arm64-msvc-canary@1.0.0-canary-d77b591-20240718094414': - resolution: {integrity: sha512-iSHftYqDPMQOoNTN0Rnadi0cYnvJGSGNuHB0rhnRJysFlkwQWdwLnJXHigqwxQQT0a2fSjuUdeXnobf8f0uMwQ==} + '@rspack/binding-win32-arm64-msvc-canary@1.0.0-canary-338cfbe-20240731183605': + resolution: {integrity: sha512-ZH1F1zDnjRBPjfO1JzEwa9Wivy8oH81VFQVny0EWhqkzybjldrecAAp51+tsHcEiq8Tuc4c6BhJMfk2QWzQ+BQ==} cpu: [arm64] os: [win32] - '@rspack/binding-win32-ia32-msvc-canary@1.0.0-canary-d77b591-20240718094414': - resolution: {integrity: sha512-edtlZ9NnufE2DKVcQgMpTNTCjp8BDsHgWfN6YsoJjzjHJvtWiubShnp2/1wrwxmbYzCS09w9v6+Sy8apRz6OeA==} + '@rspack/binding-win32-ia32-msvc-canary@1.0.0-canary-338cfbe-20240731183605': + resolution: {integrity: sha512-ww0uq30GTb33UpQ5fP07elvfCedlH+CM9BKpNidPci97/mSLcn823/jCBW2yzLauxFbcAdTWabaV5UhvmTfkAQ==} cpu: [ia32] os: [win32] - '@rspack/binding-win32-x64-msvc-canary@1.0.0-canary-d77b591-20240718094414': - resolution: {integrity: sha512-q8+CKpTbwtXDYnWIsLlMKGjO00pEOHBhbhmOrcO0qKHrVGBP5brb6WA37tYAN330fErsLT0FTppa3LV8Vd0nCQ==} + '@rspack/binding-win32-x64-msvc-canary@1.0.0-canary-338cfbe-20240731183605': + resolution: {integrity: sha512-W2rL0V0S2KL9yUKSy493In/gWBPCcNIn9Ry1xegTbpNMU/++F5T9ZqI/whHets0uQMU9cKWFfQZmsSzCrIXiTg==} cpu: [x64] os: [win32] - '@rspack/core-canary@1.0.0-canary-d77b591-20240718094414': - resolution: {integrity: sha512-JgmIq1GUdi8e93dQBI1JQFKg3szLBhar1lZCodH3Mqyht+C0wGSRaoy+QegHLkgpx+00qUWLDf3M3eLP4lqntA==} + '@rspack/core-canary@1.0.0-canary-338cfbe-20240731183605': + resolution: {integrity: sha512-gPjYRA29rstYJHkcWmLuIgRq2mCknj22A1E65tg4i/K5yI6nCUxi+nvGVBBvNWKky+5ikGZxWK5O2I0IyH7hsQ==} engines: {node: '>=16.0.0'} peerDependencies: '@swc/helpers': '>=0.5.1' @@ -1225,8 +1225,8 @@ packages: '@swc/helpers': optional: true - '@rspack/lite-tapable-canary@1.0.0-canary-d77b591-20240718094414': - resolution: {integrity: sha512-rTGAkDCbq7pyVV2BhkYx0xgK65XEhv4VAkZB5HBhbs2HeB2qkP0yT8NZEgkAtMg5R6Q54dndeZGLFboqYtlF5w==} + '@rspack/lite-tapable-canary@1.0.0-canary-338cfbe-20240731183605': + resolution: {integrity: sha512-emikuiIbELsdO28IxMgjkcw8sovk9/BF+L7V3Ix75NLFc2+5MZ8LGteUFrhxfuXr/7eFY1eje858ZmeRPNr4fw==} engines: {node: '>=16.0.0'} '@rspack/lite-tapable@1.0.0-beta.1': @@ -3784,7 +3784,7 @@ snapshots: '@rsbuild/core@1.0.1-beta.8': dependencies: - '@rspack/core': '@rspack/core-canary@1.0.0-canary-d77b591-20240718094414(@swc/helpers@0.5.11)' + '@rspack/core': '@rspack/core-canary@1.0.0-canary-338cfbe-20240731183605(@swc/helpers@0.5.11)' '@rspack/lite-tapable': 1.0.0-beta.1 '@swc/helpers': 0.5.11 caniuse-lite: 1.0.30001643 @@ -3792,55 +3792,55 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - '@rspack/binding-canary@1.0.0-canary-d77b591-20240718094414': + '@rspack/binding-canary@1.0.0-canary-338cfbe-20240731183605': optionalDependencies: - '@rspack/binding-darwin-arm64': '@rspack/binding-darwin-arm64-canary@1.0.0-canary-d77b591-20240718094414' - '@rspack/binding-darwin-x64': '@rspack/binding-darwin-x64-canary@1.0.0-canary-d77b591-20240718094414' - '@rspack/binding-linux-arm64-gnu': '@rspack/binding-linux-arm64-gnu-canary@1.0.0-canary-d77b591-20240718094414' - '@rspack/binding-linux-arm64-musl': '@rspack/binding-linux-arm64-musl-canary@1.0.0-canary-d77b591-20240718094414' - '@rspack/binding-linux-x64-gnu': '@rspack/binding-linux-x64-gnu-canary@1.0.0-canary-d77b591-20240718094414' - '@rspack/binding-linux-x64-musl': '@rspack/binding-linux-x64-musl-canary@1.0.0-canary-d77b591-20240718094414' - '@rspack/binding-win32-arm64-msvc': '@rspack/binding-win32-arm64-msvc-canary@1.0.0-canary-d77b591-20240718094414' - '@rspack/binding-win32-ia32-msvc': '@rspack/binding-win32-ia32-msvc-canary@1.0.0-canary-d77b591-20240718094414' - '@rspack/binding-win32-x64-msvc': '@rspack/binding-win32-x64-msvc-canary@1.0.0-canary-d77b591-20240718094414' - - '@rspack/binding-darwin-arm64-canary@1.0.0-canary-d77b591-20240718094414': + '@rspack/binding-darwin-arm64': '@rspack/binding-darwin-arm64-canary@1.0.0-canary-338cfbe-20240731183605' + '@rspack/binding-darwin-x64': '@rspack/binding-darwin-x64-canary@1.0.0-canary-338cfbe-20240731183605' + '@rspack/binding-linux-arm64-gnu': '@rspack/binding-linux-arm64-gnu-canary@1.0.0-canary-338cfbe-20240731183605' + '@rspack/binding-linux-arm64-musl': '@rspack/binding-linux-arm64-musl-canary@1.0.0-canary-338cfbe-20240731183605' + '@rspack/binding-linux-x64-gnu': '@rspack/binding-linux-x64-gnu-canary@1.0.0-canary-338cfbe-20240731183605' + '@rspack/binding-linux-x64-musl': '@rspack/binding-linux-x64-musl-canary@1.0.0-canary-338cfbe-20240731183605' + '@rspack/binding-win32-arm64-msvc': '@rspack/binding-win32-arm64-msvc-canary@1.0.0-canary-338cfbe-20240731183605' + '@rspack/binding-win32-ia32-msvc': '@rspack/binding-win32-ia32-msvc-canary@1.0.0-canary-338cfbe-20240731183605' + '@rspack/binding-win32-x64-msvc': '@rspack/binding-win32-x64-msvc-canary@1.0.0-canary-338cfbe-20240731183605' + + '@rspack/binding-darwin-arm64-canary@1.0.0-canary-338cfbe-20240731183605': optional: true - '@rspack/binding-darwin-x64-canary@1.0.0-canary-d77b591-20240718094414': + '@rspack/binding-darwin-x64-canary@1.0.0-canary-338cfbe-20240731183605': optional: true - '@rspack/binding-linux-arm64-gnu-canary@1.0.0-canary-d77b591-20240718094414': + '@rspack/binding-linux-arm64-gnu-canary@1.0.0-canary-338cfbe-20240731183605': optional: true - '@rspack/binding-linux-arm64-musl-canary@1.0.0-canary-d77b591-20240718094414': + '@rspack/binding-linux-arm64-musl-canary@1.0.0-canary-338cfbe-20240731183605': optional: true - '@rspack/binding-linux-x64-gnu-canary@1.0.0-canary-d77b591-20240718094414': + '@rspack/binding-linux-x64-gnu-canary@1.0.0-canary-338cfbe-20240731183605': optional: true - '@rspack/binding-linux-x64-musl-canary@1.0.0-canary-d77b591-20240718094414': + '@rspack/binding-linux-x64-musl-canary@1.0.0-canary-338cfbe-20240731183605': optional: true - '@rspack/binding-win32-arm64-msvc-canary@1.0.0-canary-d77b591-20240718094414': + '@rspack/binding-win32-arm64-msvc-canary@1.0.0-canary-338cfbe-20240731183605': optional: true - '@rspack/binding-win32-ia32-msvc-canary@1.0.0-canary-d77b591-20240718094414': + '@rspack/binding-win32-ia32-msvc-canary@1.0.0-canary-338cfbe-20240731183605': optional: true - '@rspack/binding-win32-x64-msvc-canary@1.0.0-canary-d77b591-20240718094414': + '@rspack/binding-win32-x64-msvc-canary@1.0.0-canary-338cfbe-20240731183605': optional: true - '@rspack/core-canary@1.0.0-canary-d77b591-20240718094414(@swc/helpers@0.5.11)': + '@rspack/core-canary@1.0.0-canary-338cfbe-20240731183605(@swc/helpers@0.5.11)': dependencies: '@module-federation/runtime-tools': 0.2.3 - '@rspack/binding': '@rspack/binding-canary@1.0.0-canary-d77b591-20240718094414' - '@rspack/lite-tapable': '@rspack/lite-tapable-canary@1.0.0-canary-d77b591-20240718094414' + '@rspack/binding': '@rspack/binding-canary@1.0.0-canary-338cfbe-20240731183605' + '@rspack/lite-tapable': '@rspack/lite-tapable-canary@1.0.0-canary-338cfbe-20240731183605' caniuse-lite: 1.0.30001643 optionalDependencies: '@swc/helpers': 0.5.11 - '@rspack/lite-tapable-canary@1.0.0-canary-d77b591-20240718094414': {} + '@rspack/lite-tapable-canary@1.0.0-canary-338cfbe-20240731183605': {} '@rspack/lite-tapable@1.0.0-beta.1': {}