diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 21154e50fa88..34fb6fe9d57c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -84,7 +84,7 @@ jobs: with: target: aarch64-apple-darwin profile: "ci" - runner: ${{ vars.MACOS_RUNNER_LABELS || '"macos-latest"' }} + runner: ${{ vars.MAC_SELF_HOSTED_RUNNER_LABELS || '"macos-latest"' }} test: true test-wasm: diff --git a/package.json b/package.json index 3f76f2c8a2df..a1e949f644a6 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "prepare": "is-ci || husky", "test:diff": "pnpm --filter \"@rspack/*\" test:diff", "test:hot": "pnpm --filter \"@rspack/*\" test:hot", - "test:unit": "pnpm --parallel --filter \"@rspack/*\" test", + "test:unit": "pnpm --sequential --filter \"@rspack/*\" test", "test:e2e": "pnpm --filter \"e2e-test\" test", "test:ci": "cross-env NODE_OPTIONS=--max_old_space_size=8192 pnpm run build:js && pnpm run test:unit && pnpm test:webpack", "test:webpack": "pnpm --filter \"webpack-test\" test:metric", @@ -104,4 +104,4 @@ "esbuild" ] } -} +} \ No newline at end of file diff --git a/packages/rspack-test-tools/etc/test-tools.api.md b/packages/rspack-test-tools/etc/test-tools.api.md index 3dcb512f86e5..f1634ed9177d 100644 --- a/packages/rspack-test-tools/etc/test-tools.api.md +++ b/packages/rspack-test-tools/etc/test-tools.api.md @@ -20,8 +20,12 @@ import type { Stats } from '@rspack/core'; import type { Stats as Stats_2 } from 'webpack'; import type { StatsCompilation } from '@rspack/core'; import type { StatsCompilation as StatsCompilation_2 } from 'webpack'; +import type { StatsError } from '@rspack/core'; import type { WebpackOptionsNormalized } from 'webpack'; +// @public (undocumented) +export function basename(filename: string): string; + // @public (undocumented) export class BasicCaseCreator { constructor(_options: IBasicCaseCreatorOptions); @@ -61,6 +65,9 @@ export class BasicCaseCreator { protected tryRunTask(concurrent?: number): void; } +// @public (undocumented) +export function casename(filename: string): string; + // @public (undocumented) export function checkChunkModules(statsJson: any, chunkModulesMap: any, strict?: boolean): boolean; @@ -82,24 +89,15 @@ export function createBuiltinCase(name: string, src: string, dist: string): void // @public (undocumented) export function createCacheCase(name: string, src: string, dist: string, target: TCompilerOptions["target"], temp: string): void; -// @public (undocumented) -export function createCompilerCase(name: string, src: string, dist: string, testConfig: string): void; - // @public (undocumented) export function createConfigCase(name: string, src: string, dist: string): void; -// @public (undocumented) -export function createDefaultsCase(name: string, src: string): void; - // @public (undocumented) export function createDiagnosticCase(name: string, src: string, dist: string): void; // @public (undocumented) export function createDiffCase(name: string, src: string, dist: string): void; -// @public (undocumented) -export function createErrorCase(name: string, src: string, dist: string, testConfig: string): void; - // @public (undocumented) export function createHashCase(name: string, src: string, dist: string): void; @@ -127,9 +125,6 @@ export function createNormalCase(name: string, src: string, dist: string): void; // @public (undocumented) export function createSerialCase(name: string, src: string, dist: string): void; -// @public (undocumented) -export function createStatsAPICase(name: string, src: string, dist: string, testConfig: string): void; - // @public (undocumented) export function createStatsOutputCase(name: string, src: string, dist: string): void; @@ -142,6 +137,18 @@ export function createWatchCase(name: string, src: string, dist: string, temp: s // @public (undocumented) export function createWatchIncrementalCase(name: string, src: string, dist: string, temp: string, options?: WatchIncrementalOptions): void; +// @public (undocumented) +export function defineCompileCase(name: string, caseConfigList: TCompilerCaseConfig | TCompilerCaseConfig[]): void; + +// @public (undocumented) +export function defineDefaultsCase(name: string, caseConfig: TDefaultsCaseConfig): void; + +// @public (undocumented) +export function defineErrorCase(name: string, caseConfig: TErrorCaseConfig): void; + +// @public (undocumented) +export function defineStatsAPICase(name: string, caseConfig: TStatsAPICaseConfig): void; + // @public (undocumented) export function describeByWalk(testFile: string, createCase: (name: string, src: string, dist: string) => void, options?: { type?: "file" | "directory"; @@ -233,7 +240,7 @@ export function escapeSep(str: string): string; export function formatCode(name: string, raw: string, options: IFormatCodeOptions): string; // @public (undocumented) -export function getRspackDefaultConfig(cwd: string, config: TCompilerOptions): TCompilerOptions; +export function getRspackDefaultConfig(context: string, config: TCompilerOptions): TCompilerOptions; // @public (undocumented) export interface IBasicCaseCreatorOptions { @@ -248,8 +255,6 @@ export interface IBasicCaseCreatorOptions { // (undocumented) createContext?: (config: ITesterConfig) => ITestContext; // (undocumented) - describe?: boolean; - // (undocumented) description?: (name: string, step: number) => string; // (undocumented) runner?: TTestRunnerCreator; @@ -501,6 +506,8 @@ export interface ITester { // (undocumented) check(env: ITestEnv): Promise; // (undocumented) + close(): Promise; + // (undocumented) compile(): Promise; // (undocumented) getContext(): ITestContext; @@ -672,6 +679,22 @@ export class RspackDiffConfigPlugin implements RspackPluginInstance { name: string; } +// @public (undocumented) +class RspackStatsDiagnostics { + constructor(errors: StatsError[], warnings: StatsError[]); + // (undocumented) + errors: StatsError[]; + // (undocumented) + warnings: StatsError[]; +} + +// @public (undocumented) +class RspackTestDiff { + constructor(value: string); + // (undocumented) + value: string; +} + // @public (undocumented) export type TCaseSummary = Record; @@ -700,6 +723,24 @@ export type TCompilation = T extends ECompilerType.Rspack ? Compilation : Com // @public (undocumented) export type TCompiler = T extends ECompilerType.Rspack ? Compiler : Compiler_2; +// @public (undocumented) +type TCompilerCaseConfig = { + description: string; + error?: boolean; + skip?: boolean; + options?: (context: ITestContext) => TCompilerOptions; + compiler?: (context: ITestContext, compiler: TCompiler) => Promise; + build?: (context: ITestContext, compiler: TCompiler) => Promise; + check?: ({ context, stats, files, compiler, compilation }: { + context: ITestContext; + stats?: TCompilerStatsCompilation; + files?: Record; + compiler: TCompiler; + compilation?: TCompilation; + }) => Promise; + compilerCallback?: (error: Error | null, stats: TCompilerStats | null) => void; +}; + // @public (undocumented) export type TCompilerFactories = Record>; @@ -721,6 +762,14 @@ export type TCompilerStatsCompilation = T extends ECompilerType.Rspack ? Stat // @public (undocumented) export type TCompilerTypeId = ECompilerType.Rspack | ECompilerType.Webpack | "common"; +// @public (undocumented) +type TDefaultsCaseConfig = { + options?: (context: ITestContext) => TCompilerOptions; + cwd?: string; + diff: (diff: jest.JestMatchers, defaults: jest.JestMatchers>) => Promise; + description: string; +}; + // @public (undocumented) export type TDiffStats = { root: string; @@ -738,6 +787,15 @@ export type TDiffStatsItem = { // @public (undocumented) export type TDimenTypeId = "modules" | "lines" | "lines-in-common"; +// @public (undocumented) +type TErrorCaseConfig = { + description: string; + options?: (context: ITestContext) => TCompilerOptions; + compiler?: (context: ITestContext, compiler: TCompiler) => Promise; + build?: (context: ITestContext, compiler: TCompiler) => Promise; + check?: (stats: RspackStatsDiagnostics) => Promise; +}; + // @public (undocumented) export class TestContext implements ITestContext { constructor(config: TTestContextOptions); @@ -785,6 +843,8 @@ export class Tester implements ITester { // (undocumented) check(env: ITestEnv): Promise; // (undocumented) + close(): Promise; + // (undocumented) compile(): Promise; // (undocumented) getContext(): ITestContext; @@ -848,6 +908,16 @@ export type TRunnerRequirer = (currentDirectory: string, modulePath: string[] | esmMode?: EEsmMode; }) => Object | Promise; +// @public (undocumented) +type TStatsAPICaseConfig = { + description: string; + options?: (context: ITestContext) => TCompilerOptions; + snapshotName?: string; + compiler?: (context: ITestContext, compiler: TCompiler) => Promise; + build?: (context: ITestContext, compiler: TCompiler) => Promise; + check?: (stats: TCompilerStats, compiler: TCompiler) => Promise; +}; + // @public (undocumented) export type TTestConfig = { documentType?: EDocumentType; diff --git a/packages/rspack-test-tools/package.json b/packages/rspack-test-tools/package.json index 516b4e1bef26..c1eef07020c7 100644 --- a/packages/rspack-test-tools/package.json +++ b/packages/rspack-test-tools/package.json @@ -12,6 +12,7 @@ "./setup-expect": "./dist/helper/setup-expect.js", "./setup-env": "./dist/helper/setup-env.js", "./setup-wasm": "./dist/helper/setup-wasm.js", + "./setup": "./dist/setup.js", "./package.json": "./package.json", "./helper/*": "./dist/helper/*.js", "./helper/legacy/*": "./dist/helper/legacy/*.js", @@ -109,4 +110,4 @@ "peerDependencies": { "@rspack/core": ">=1.0.0" } -} +} \ No newline at end of file diff --git a/packages/rspack-test-tools/src/case/builtin.ts b/packages/rspack-test-tools/src/case/builtin.ts index 5750fb287caa..d6a8d1529a89 100644 --- a/packages/rspack-test-tools/src/case/builtin.ts +++ b/packages/rspack-test-tools/src/case/builtin.ts @@ -14,7 +14,6 @@ import { build, checkSnapshot, compiler, getCompiler } from "./common"; const creator = new BasicCaseCreator({ clean: true, - describe: false, description(name) { return `${name} should match snapshot`; }, diff --git a/packages/rspack-test-tools/src/case/cache.ts b/packages/rspack-test-tools/src/case/cache.ts index dac6a9fc5638..e07ffbd92146 100644 --- a/packages/rspack-test-tools/src/case/cache.ts +++ b/packages/rspack-test-tools/src/case/cache.ts @@ -80,7 +80,6 @@ function getCreator(target: TTarget) { target, new BasicCaseCreator({ clean: true, - describe: true, target, steps: ({ name, src, target, temp }) => [ createCacheProcessor(name, src, temp!, target as TTarget) diff --git a/packages/rspack-test-tools/src/case/compiler.ts b/packages/rspack-test-tools/src/case/compiler.ts index 78257a62b0be..23727e4e67ef 100644 --- a/packages/rspack-test-tools/src/case/compiler.ts +++ b/packages/rspack-test-tools/src/case/compiler.ts @@ -1,3 +1,4 @@ +import path from "node:path"; import type { OutputFileSystem } from "@rspack/core"; import { BasicCaseCreator } from "../test/creator"; import type { @@ -142,31 +143,30 @@ function createCompilerProcessor( compiler: c }); } - }, - after: async (context: ITestContext) => { - await context.closeCompiler(name); } } as ITestProcessor; } const creator = new BasicCaseCreator({ clean: true, - describe: false, steps: ({ name, caseConfig }) => { return [createCompilerProcessor(name, caseConfig as TCompilerCaseConfig)]; }, concurrent: false }); -export function createCompilerCase( +const srcDir = path.resolve( + __dirname, + "../../../../tests/rspack-test/fixtures" +); +const distDir = path.resolve( + __dirname, + "../../../../tests/rspack-test/js/compiler" +); +export function defineCompileCase( name: string, - src: string, - dist: string, - testConfig: string + caseConfigList: TCompilerCaseConfig | TCompilerCaseConfig[] ) { - let caseConfigList: TCompilerCaseConfig | TCompilerCaseConfig[] = require( - testConfig - ); if (!Array.isArray(caseConfigList)) { caseConfigList = [caseConfigList]; } @@ -176,10 +176,16 @@ export function createCompilerCase( it.skip(`${name}[${i}]`, () => {}); continue; } - creator.create(`${name}[${i}]`, src, dist, undefined, { - caseConfig, - description: () => caseConfig.description - }); + creator.create( + `${name}[${i}]`, + srcDir, + path.join(distDir, name), + undefined, + { + caseConfig, + description: () => caseConfig.description + } + ); } } diff --git a/packages/rspack-test-tools/src/case/config.ts b/packages/rspack-test-tools/src/case/config.ts index b55fef933ae9..9f174bc623fd 100644 --- a/packages/rspack-test-tools/src/case/config.ts +++ b/packages/rspack-test-tools/src/case/config.ts @@ -55,7 +55,6 @@ export function createConfigProcessor(name: string): ITestProcessor { const creator = new BasicCaseCreator({ clean: true, - describe: false, testConfig: testConfig => { const oldModuleScope = testConfig.moduleScope; testConfig.moduleScope = (ms, stats, compilerOptions) => { diff --git a/packages/rspack-test-tools/src/case/defaults.ts b/packages/rspack-test-tools/src/case/defaults.ts index c34d31002c36..04b8b940e108 100644 --- a/packages/rspack-test-tools/src/case/defaults.ts +++ b/packages/rspack-test-tools/src/case/defaults.ts @@ -1,49 +1,69 @@ import path from "node:path"; import { stripVTControlCharacters as stripAnsi } from "node:util"; import { diff as jestDiff } from "jest-diff"; - -import { TestContext } from "../test/context"; +import { BasicCaseCreator } from "../test/creator"; import type { ECompilerType, ITestContext, ITestEnv, - ITestProcessor, TCompilerOptions } from "../type"; import { getCompiler } from "./common"; const CURRENT_CWD = process.cwd(); -export function createDefaultsCase(name: string, src: string) { - const caseConfig = require(src) as TDefaultsCaseConfig; - it(`should generate the correct defaults from ${caseConfig.description}`, async () => { - await run(name, { - config: async (context: ITestContext) => { - const compiler = getCompiler(context, name); - compiler.setOptions(options(context, caseConfig.options)); - }, - compiler: async (context: ITestContext) => { - const compiler = getCompiler(context, name); - compiler.createCompiler(); - }, - build: async (context: ITestContext) => { - // no need to build, just check the snapshot of compiler options - }, - run: async (env: ITestEnv, context: ITestContext) => { - // no need to run, just check the snapshot of compiler options - }, - check: async (env: ITestEnv, context: ITestContext) => { - await check(env, context, name, caseConfig); +const creator = new BasicCaseCreator({ + clean: true, + steps: ({ name, caseConfig: _caseConfig }) => { + const caseConfig = _caseConfig as TDefaultsCaseConfig; + return [ + { + config: async (context: ITestContext) => { + const compiler = getCompiler(context, name); + compiler.setOptions(options(context, caseConfig.options)); + }, + compiler: async (context: ITestContext) => { + // no need to create compiler, just check the snapshot of compiler options + }, + build: async (context: ITestContext) => { + // no need to build, just check the snapshot of compiler options + }, + run: async (env: ITestEnv, context: ITestContext) => { + // no need to run, just check the snapshot of compiler options + }, + check: async (env: ITestEnv, context: ITestContext) => { + await check(env, context, name, caseConfig); + } } - }); + ]; + }, + concurrent: false +}); + +const srcDir = path.resolve( + __dirname, + "../../../../tests/rspack-test/fixtures" +); +const distDir = path.resolve( + __dirname, + "../../../../tests/rspack-test/js/defaults" +); + +export function defineDefaultsCase( + name: string, + caseConfig: TDefaultsCaseConfig +) { + creator.create(name, srcDir, path.join(distDir, name), undefined, { + caseConfig, + description: () => caseConfig.description }); } export function getRspackDefaultConfig( - cwd: string, + context: string, config: TCompilerOptions ): TCompilerOptions { - process.chdir(cwd); + process.chdir(context); const { applyWebpackOptionsDefaults, getNormalizedWebpackOptions } = require("@rspack/core").config; const normalizedConfig = getNormalizedWebpackOptions(config); @@ -65,14 +85,6 @@ export type TDefaultsCaseConfig = { description: string; }; -const srcDir = path.resolve(__dirname, "../../tests/fixtures"); -const distDir = path.resolve(__dirname, "../../tests/js/defaults"); - -const context = new TestContext({ - src: srcDir, - dist: distDir -}); - function options( context: ITestContext, custom?: (context: ITestContext) => TCompilerOptions @@ -86,6 +98,9 @@ function options( if (!("mode" in res)) { res.mode = "none"; } + if (!("context" in res)) { + res.context = context.getSource(); + } return res; } @@ -107,10 +122,10 @@ async function check( ) { const compiler = getCompiler(context, name); const config = getRspackDefaultConfig( - options.cwd || CURRENT_CWD, + context.getSource(), compiler.getOptions() ); - const defaultConfig = getRspackDefaultConfig(options.cwd || CURRENT_CWD, { + const defaultConfig = getRspackDefaultConfig(context.getSource(), { mode: "none" }); const diff = stripAnsi( @@ -121,18 +136,3 @@ async function check( env.expect(defaultConfig) ); } - -async function run(name: string, processor: ITestProcessor) { - try { - await processor.before?.(context); - await processor.config?.(context); - } catch (e: unknown) { - context.emitError(name, e as Error); - } finally { - await processor.check?.( - { expect, it, beforeEach, afterEach, jest }, - context - ); - await processor.after?.(context); - } -} diff --git a/packages/rspack-test-tools/src/case/diagnostic.ts b/packages/rspack-test-tools/src/case/diagnostic.ts index 8bba5098eccc..e348cfbda3a6 100644 --- a/packages/rspack-test-tools/src/case/diagnostic.ts +++ b/packages/rspack-test-tools/src/case/diagnostic.ts @@ -14,7 +14,6 @@ import { getCompiler } from "./common"; const creator = new BasicCaseCreator({ clean: true, - describe: false, steps: ({ name }) => [ { config: async (context: ITestContext) => { diff --git a/packages/rspack-test-tools/src/case/error.ts b/packages/rspack-test-tools/src/case/error.ts index 58f12e6f938a..ca767a127860 100644 --- a/packages/rspack-test-tools/src/case/error.ts +++ b/packages/rspack-test-tools/src/case/error.ts @@ -16,7 +16,6 @@ let addedSerializer = false; const creator = new BasicCaseCreator({ clean: true, - describe: true, steps: ({ name, caseConfig }) => { const config = caseConfig as TErrorCaseConfig; return [ @@ -50,20 +49,28 @@ const creator = new BasicCaseCreator({ concurrent: true }); -export function createErrorCase( - name: string, - src: string, - dist: string, - testConfig: string -) { +const srcDir = path.resolve( + __dirname, + "../../../../tests/rspack-test/fixtures" +); +const distDir = path.resolve( + __dirname, + "../../../../tests/rspack-test/js/error" +); +export function defineErrorCase(name: string, caseConfig: TErrorCaseConfig) { if (!addedSerializer) { addedSerializer = true; } - const caseConfig = require(testConfig); - creator.create(name, src, dist, undefined, { - caseConfig, - description: () => caseConfig.description - }); + creator.create( + name, + path.resolve(srcDir, "errors"), + path.join(distDir, name), + undefined, + { + caseConfig, + description: () => caseConfig.description + } + ); } function options( @@ -74,10 +81,7 @@ function options( ) => TCompilerOptions ): TCompilerOptions { let options = { - context: path.resolve( - __dirname, - "../../../../tests/rspack-test/fixtures/errors" - ), + context: context.getSource(), mode: "none", devtool: false, optimization: { diff --git a/packages/rspack-test-tools/src/case/hook.ts b/packages/rspack-test-tools/src/case/hook.ts index f5f688dd4ae3..9de11dd2ad31 100644 --- a/packages/rspack-test-tools/src/case/hook.ts +++ b/packages/rspack-test-tools/src/case/hook.ts @@ -30,7 +30,6 @@ const distDir = path.resolve( const creator = new BasicCaseCreator({ clean: true, - describe: true, createContext: (config: ITesterConfig) => new HookCasesContext(config.src, config.name, config), steps: ({ name, caseConfig: _caseConfig, src }) => { diff --git a/packages/rspack-test-tools/src/case/hot-step.ts b/packages/rspack-test-tools/src/case/hot-step.ts index fbe4c0e2e420..634bf8161252 100644 --- a/packages/rspack-test-tools/src/case/hot-step.ts +++ b/packages/rspack-test-tools/src/case/hot-step.ts @@ -426,7 +426,6 @@ function getCreator(target: TTarget) { target, new BasicCaseCreator({ clean: true, - describe: false, target, steps: ({ name, target }) => [ createHotStepProcessor(name, target as TTarget) diff --git a/packages/rspack-test-tools/src/case/hot.ts b/packages/rspack-test-tools/src/case/hot.ts index 78451fadff20..831b871a8ae9 100644 --- a/packages/rspack-test-tools/src/case/hot.ts +++ b/packages/rspack-test-tools/src/case/hot.ts @@ -94,7 +94,6 @@ function getCreator(target: TTarget) { target, new BasicCaseCreator({ clean: true, - describe: true, target, steps: ({ name, target }) => [ createHotProcessor(name, target as TTarget) diff --git a/packages/rspack-test-tools/src/case/incremental.ts b/packages/rspack-test-tools/src/case/incremental.ts index 106c017b0963..a5ac3d0d64eb 100644 --- a/packages/rspack-test-tools/src/case/incremental.ts +++ b/packages/rspack-test-tools/src/case/incremental.ts @@ -57,7 +57,6 @@ function getHotCreator(target: TTarget, webpackCases: boolean) { key, new BasicCaseCreator({ clean: true, - describe: true, target, steps: ({ name, target }) => [ createHotIncrementalProcessor(name, target as TTarget, webpackCases) @@ -109,7 +108,6 @@ function getWatchCreator(options: WatchIncrementalOptions) { ? `${name} should compile` : `should compile step ${index}`; }, - describe: false, steps: ({ name, src, temp }) => { const watchState = {}; const runs = fs diff --git a/packages/rspack-test-tools/src/case/index.ts b/packages/rspack-test-tools/src/case/index.ts index 900863e9f751..aafd05db1849 100644 --- a/packages/rspack-test-tools/src/case/index.ts +++ b/packages/rspack-test-tools/src/case/index.ts @@ -1,11 +1,11 @@ export { createBuiltinCase } from "./builtin"; export { createCacheCase } from "./cache"; -export { createCompilerCase } from "./compiler"; +export { defineCompileCase } from "./compiler"; export { createConfigCase } from "./config"; -export { createDefaultsCase, getRspackDefaultConfig } from "./defaults"; +export { defineDefaultsCase, getRspackDefaultConfig } from "./defaults"; export { createDiagnosticCase } from "./diagnostic"; export { createDiffCase } from "./diff"; -export { createErrorCase } from "./error"; +export { defineErrorCase } from "./error"; export { createHashCase } from "./hash"; export { createHookCase } from "./hook"; export { createHotCase } from "./hot"; @@ -17,7 +17,7 @@ export { export { createNativeWatcher } from "./native-watcher"; export { createHotNormalCase, createNormalCase } from "./normal"; export { createSerialCase } from "./serial"; -export { createStatsAPICase } from "./stats-api"; +export { defineStatsAPICase } from "./stats-api"; export { createStatsOutputCase } from "./stats-output"; export { createTreeShakingCase } from "./treeshaking"; export { createWatchCase } from "./watch"; diff --git a/packages/rspack-test-tools/src/case/native-watcher.ts b/packages/rspack-test-tools/src/case/native-watcher.ts index 200539e8a6ab..82231a7cd63d 100644 --- a/packages/rspack-test-tools/src/case/native-watcher.ts +++ b/packages/rspack-test-tools/src/case/native-watcher.ts @@ -20,7 +20,6 @@ const creator = new BasicCaseCreator({ ? `${name} should compile` : `should compile step ${index}`; }, - describe: false, steps: ({ name, src, temp }) => { const watchState = {}; const runs = fs diff --git a/packages/rspack-test-tools/src/case/normal.ts b/packages/rspack-test-tools/src/case/normal.ts index ac5e6dcd2976..197590618e42 100644 --- a/packages/rspack-test-tools/src/case/normal.ts +++ b/packages/rspack-test-tools/src/case/normal.ts @@ -25,7 +25,6 @@ const createCaseOptions = ( ): IBasicCaseCreatorOptions => { return { clean: true, - describe: false, steps: ({ name }) => [ { config: async (context: ITestContext) => { diff --git a/packages/rspack-test-tools/src/case/serial.ts b/packages/rspack-test-tools/src/case/serial.ts index c807b71ae415..325353347d02 100644 --- a/packages/rspack-test-tools/src/case/serial.ts +++ b/packages/rspack-test-tools/src/case/serial.ts @@ -10,7 +10,6 @@ export type TSerialCaseConfig = Omit< const creator = new BasicCaseCreator({ clean: true, - describe: false, testConfig: testConfig => { const oldModuleScope = testConfig.moduleScope; testConfig.moduleScope = (ms, stats, compilerOptions) => { diff --git a/packages/rspack-test-tools/src/case/stats-api.ts b/packages/rspack-test-tools/src/case/stats-api.ts index cb3176690eff..443f90af94b6 100644 --- a/packages/rspack-test-tools/src/case/stats-api.ts +++ b/packages/rspack-test-tools/src/case/stats-api.ts @@ -1,4 +1,5 @@ import type fs from "node:fs"; +import path from "node:path"; import { createFsFromVolume, Volume } from "memfs"; import { BasicCaseCreator } from "../test/creator"; import type { @@ -33,7 +34,6 @@ type TStatsAPICaseConfig = { const creator = new BasicCaseCreator({ clean: true, - describe: true, steps: ({ name, caseConfig }) => { const config = caseConfig as TStatsAPICaseConfig; return [ @@ -67,17 +67,22 @@ const creator = new BasicCaseCreator({ concurrent: true }); -export function createStatsAPICase( +const srcDir = path.resolve( + __dirname, + "../../../../tests/rspack-test/fixtures" +); +const distDir = path.resolve( + __dirname, + "../../../../tests/rspack-test/js/stats-api" +); +export function defineStatsAPICase( name: string, - src: string, - dist: string, - testConfig: string + caseConfig: TStatsAPICaseConfig ) { if (!addedSerializer) { addedSerializer = true; } - const caseConfig: TStatsAPICaseConfig = require(testConfig); - creator.create(name, src, dist, undefined, { + creator.create(name, srcDir, path.join(distDir, name), undefined, { caseConfig, description: () => caseConfig.description }); diff --git a/packages/rspack-test-tools/src/case/stats-output.ts b/packages/rspack-test-tools/src/case/stats-output.ts index 1e7c90a77918..5d26a1714205 100644 --- a/packages/rspack-test-tools/src/case/stats-output.ts +++ b/packages/rspack-test-tools/src/case/stats-output.ts @@ -53,7 +53,6 @@ function createStatsProcessor(name: string) { const creator = new BasicCaseCreator({ clean: true, - describe: false, steps: ({ name }) => [createStatsProcessor(name)], description: () => "should print correct stats for" }); diff --git a/packages/rspack-test-tools/src/case/treeshaking.ts b/packages/rspack-test-tools/src/case/treeshaking.ts index 296675a2fa50..f96e76436a68 100644 --- a/packages/rspack-test-tools/src/case/treeshaking.ts +++ b/packages/rspack-test-tools/src/case/treeshaking.ts @@ -10,7 +10,6 @@ import { build, checkSnapshot, compiler, getCompiler } from "./common"; const creator = new BasicCaseCreator({ clean: true, - describe: false, description(name, step) { return `${name} with newTreeshaking should match snapshot`; }, diff --git a/packages/rspack-test-tools/src/case/watch.ts b/packages/rspack-test-tools/src/case/watch.ts index ac5406178818..f6d5924c3801 100644 --- a/packages/rspack-test-tools/src/case/watch.ts +++ b/packages/rspack-test-tools/src/case/watch.ts @@ -313,7 +313,6 @@ const creator = new BasicCaseCreator({ ? `${name} should compile` : `should compile step ${index}`; }, - describe: false, steps: ({ name, src, temp }) => { const watchState = {}; const runs = fs diff --git a/packages/rspack-test-tools/src/helper/directory.ts b/packages/rspack-test-tools/src/helper/directory.ts index 2af6fdf85615..901f071a0083 100644 --- a/packages/rspack-test-tools/src/helper/directory.ts +++ b/packages/rspack-test-tools/src/helper/directory.ts @@ -90,3 +90,13 @@ export function describeByWalk( describeDirectory("", level); }); } + +export function basename(filename: string) { + return path.basename(filename, ".js"); +} + +export function casename(filename: string) { + const catName = path.basename(path.dirname(filename)); + const caseName = path.basename(filename, ".js"); + return `${catName}/${caseName}`; +} diff --git a/packages/rspack-test-tools/src/runner/node/index.ts b/packages/rspack-test-tools/src/runner/node/index.ts index c6e5b7958ead..bcf5bf37f5c4 100644 --- a/packages/rspack-test-tools/src/runner/node/index.ts +++ b/packages/rspack-test-tools/src/runner/node/index.ts @@ -174,6 +174,8 @@ export class NodeRunner Symbol, Buffer, setImmediate, + __SOURCE__: this._options.source, + __DIST__: this._options.dist, __MODE__: this._options.compilerOptions.mode, __SNAPSHOT__: path.join(this._options.source, "__snapshot__"), ...this._options.env diff --git a/packages/rspack-test-tools/src/setup.ts b/packages/rspack-test-tools/src/setup.ts new file mode 100644 index 000000000000..3b3e69bf1677 --- /dev/null +++ b/packages/rspack-test-tools/src/setup.ts @@ -0,0 +1,18 @@ +import { + defineCompileCase, + defineDefaultsCase, + defineErrorCase, + defineStatsAPICase +} from "./case"; +import { basename, casename } from "./helper"; + +const Utils = { + basename, + casename +}; + +(globalThis as any).defineCompileCase = defineCompileCase; +(globalThis as any).defineErrorCase = defineErrorCase; +(globalThis as any).defineStatsAPICase = defineStatsAPICase; +(globalThis as any).defineDefaultsCase = defineDefaultsCase; +(globalThis as any).Utils = Utils; diff --git a/packages/rspack-test-tools/src/test/context.ts b/packages/rspack-test-tools/src/test/context.ts index e9ef477c0a83..4a026564f459 100644 --- a/packages/rspack-test-tools/src/test/context.ts +++ b/packages/rspack-test-tools/src/test/context.ts @@ -1,14 +1,14 @@ import path from "node:path"; import { TestCompilerManager } from "../compiler"; -import { +import type { ECompilerType, - type ITestCompilerManager, - type ITestContext, - type ITestEnv, - type ITesterConfig, - type ITestRunner, - type TTestConfig + ITestCompilerManager, + ITestContext, + ITestEnv, + ITesterConfig, + ITestRunner, + TTestConfig } from "../type"; export type TTestContextOptions = Omit; @@ -125,13 +125,10 @@ export class TestContext implements ITestContext { } } async closeCompiler(name: string) { - const rspackCompiler = this.getCompiler(name, ECompilerType.Rspack); - if (rspackCompiler) { - await rspackCompiler.close(); - } - const webpackCompiler = this.getCompiler(name, ECompilerType.Webpack); - if (webpackCompiler) { - await webpackCompiler.close(); + const compiler = this.compilers.get(name); + if (compiler) { + await compiler.close(); + this.compilers.delete(name); } } } diff --git a/packages/rspack-test-tools/src/test/creator.ts b/packages/rspack-test-tools/src/test/creator.ts index 787b928872bd..45265c344f2e 100644 --- a/packages/rspack-test-tools/src/test/creator.ts +++ b/packages/rspack-test-tools/src/test/creator.ts @@ -26,7 +26,6 @@ interface IConcurrentTestEnv { export interface IBasicCaseCreatorOptions { clean?: boolean; - describe?: boolean; timeout?: number; contextValue?: Record; steps: ( @@ -90,32 +89,18 @@ export class BasicCaseCreator { const concurrent = process.env.WASM ? false : testConfig.concurrent || options.concurrent; - if (options.describe) { - if (run) { - if (concurrent) { - describe(name, () => - this.describeConcurrent(name, tester, testConfig, options) - ); - } else { - describe(name, () => - this.describe(name, tester, testConfig, options) - ); - } + if (run) { + if (concurrent) { + describe(name, () => + this.describeConcurrent(name, tester, testConfig, options) + ); } else { - describe.skip(name, () => { - it.skip("skipped", () => {}); - }); + describe(name, () => this.describe(name, tester, testConfig, options)); } } else { - if (run) { - if (concurrent) { - this.describeConcurrent(name, tester, testConfig, options); - } else { - this.describe(name, tester, testConfig, options); - } - } else { + describe.skip(name, () => { it.skip("skipped", () => {}); - } + }); } return tester; @@ -214,6 +199,7 @@ export class BasicCaseCreator { afterAll(async () => { await tester.resume(); + await tester.close(); }); } diff --git a/packages/rspack-test-tools/src/test/tester.ts b/packages/rspack-test-tools/src/test/tester.ts index 68ed42ae4f61..1b67b60254c3 100644 --- a/packages/rspack-test-tools/src/test/tester.ts +++ b/packages/rspack-test-tools/src/test/tester.ts @@ -9,7 +9,7 @@ import type { import { TestContext } from "./context"; export class Tester implements ITester { - private context: ITestContext; + private context: ITestContext | null = null; private steps: ITestProcessor[] = []; step = 0; total = 0; @@ -30,17 +30,17 @@ export class Tester implements ITester { } } getContext(): ITestContext { - return this.context; + return this.context!; } async prepare() { - fs.mkdirSync(this.context.getDist(), { recursive: true }); - const tempDir = this.context.getTemp(); + fs.mkdirSync(this.context!.getDist(), { recursive: true }); + const tempDir = this.context!.getTemp(); if (tempDir) { fs.mkdirSync(tempDir, { recursive: true }); } for (const i of this.steps) { if (typeof i.beforeAll === "function") { - await i.beforeAll(this.context); + await i.beforeAll(this.context!); } } } @@ -62,13 +62,13 @@ export class Tester implements ITester { await this.runCheckStepMethods( currentStep, env, - this.context.hasError() ? ["check"] : ["run", "check"] + this.context!.hasError() ? ["check"] : ["run", "check"] ); await this.runStepMethods(currentStep, ["after"], true); } next() { - if (this.context.hasError()) { + if (this.context!.hasError()) { return false; } if (this.steps[this.step + 1]) { @@ -81,10 +81,15 @@ export class Tester implements ITester { async resume() { for (const i of this.steps) { if (typeof i.afterAll === "function") { - await i.afterAll(this.context); + await i.afterAll(this.context!); } } - await this.context.closeCompiler(this.config.name); + await this.context!.closeCompiler(this.config.name); + } + + async close() { + this.steps = []; + this.context = null; } private async runStepMethods( @@ -93,12 +98,12 @@ export class Tester implements ITester { force = false ) { for (const i of methods) { - if (!force && this.context.hasError()) return; + if (!force && this.context!.hasError()) return; if (typeof step[i] === "function") { try { - await step[i]!(this.context); + await step[i]!(this.context!); } catch (e) { - this.context.emitError(this.config.name, e as Error); + this.context!.emitError(this.config.name, e as Error); } } } @@ -111,7 +116,7 @@ export class Tester implements ITester { ) { for (const i of methods) { if (typeof step[i] === "function") { - await step[i]!(env, this.context); + await step[i]!(env, this.context!); } } } diff --git a/packages/rspack-test-tools/src/type.ts b/packages/rspack-test-tools/src/type.ts index 4c5d42f4d61b..d50e45f8c97e 100644 --- a/packages/rspack-test-tools/src/type.ts +++ b/packages/rspack-test-tools/src/type.ts @@ -111,6 +111,7 @@ export interface ITester { check(env: ITestEnv): Promise; next(): boolean; resume(): Promise; + close(): Promise; } export interface ITestProcessor { diff --git a/tests/rspack-test/Compiler.test.js b/tests/rspack-test/Compiler.test.js deleted file mode 100644 index 90fce39c7fd8..000000000000 --- a/tests/rspack-test/Compiler.test.js +++ /dev/null @@ -1,14 +0,0 @@ -const path = require("path"); -const { createCompilerCase, describeByWalk } = require("@rspack/test-tools"); -const srcDir = path.resolve(__dirname, "./fixtures"); - -describeByWalk( - __filename, - (name, testConfig, dist) => { - createCompilerCase(name, srcDir, dist, testConfig); - }, - { - level: 1, - type: "file" - } -); diff --git a/tests/rspack-test/Defaults.test.js b/tests/rspack-test/Defaults.test.js deleted file mode 100644 index 8685e79e4d99..000000000000 --- a/tests/rspack-test/Defaults.test.js +++ /dev/null @@ -1,130 +0,0 @@ -const path = require("path"); -const fs = require("fs"); -const { - getRspackDefaultConfig, - createDefaultsCase, - describeByWalk -} = require("@rspack/test-tools"); - -function getWebpackDefaultConfig(cwd, config) { - const { applyWebpackOptionsDefaults, getNormalizedWebpackOptions } = - require("webpack").config; - config = getNormalizedWebpackOptions(config); - applyWebpackOptionsDefaults(config); - process.chdir(cwd); - return config; -} - -function getObjectPaths(obj, parentPaths = []) { - return Object.keys(obj).reduce((paths, key) => { - const fullPath = [...parentPaths, key]; - if ( - typeof obj[key] === "object" && - obj[key] !== null && - !Array.isArray(obj[key]) - ) { - return [...paths, fullPath, ...getObjectPaths(obj[key], fullPath)]; - } else { - return [...paths, fullPath]; - } - }, []); -} - -function deleteObjectPaths(obj, predicate, parentPaths = []) { - for (const key of Object.keys(obj)) { - const fullPath = [...parentPaths, key]; - if (predicate(fullPath)) { - delete obj[key]; - continue; - } - if ( - typeof obj[key] === "object" && - obj[key] !== null && - !Array.isArray(obj[key]) - ) { - deleteObjectPaths(obj[key], predicate, fullPath); - } - } -} - -function filterObjectPaths(obj, paths) { - return deleteObjectPaths( - obj, - fullPath => - !paths.some( - p => - p.length === fullPath.length && p.every((e, i) => e === fullPath[i]) - ) - ); -} - -function trimObjectPaths(obj, paths) { - return deleteObjectPaths(obj, fullPath => - paths.some( - p => p.length === fullPath.length && p.every((e, i) => e === fullPath[i]) - ) - ); -} - -const cwd = __dirname; - -function assertWebpackConfig(config) { - const rspackBaseConfig = getRspackDefaultConfig( - cwd, - config - ); - const webpackBaseConfig = getWebpackDefaultConfig(cwd, config); - const rspackSupportedConfig = getObjectPaths(rspackBaseConfig); - const defaultsPath = path.resolve( - __dirname, - "../../packages/rspack/src/config/defaults.ts" - ); - const defaultsContent = fs.readFileSync(defaultsPath, "utf-8"); - const regex = /\/\/\sIGNORE\((.+?)\):\s/g; - const ignoredPaths = []; - let matches; - while ((matches = regex.exec(defaultsContent))) { - ignoredPaths.push(matches[1].split(".")); - } - trimObjectPaths(rspackBaseConfig, ignoredPaths); - trimObjectPaths(webpackBaseConfig, ignoredPaths); - filterObjectPaths(webpackBaseConfig, rspackSupportedConfig); - expect(rspackBaseConfig).toEqual(webpackBaseConfig); -} - -describe("Base Defaults Snapshot", () => { - const baseConfig = getRspackDefaultConfig(cwd, { - mode: "none" - }); - - it("should be align to webpack base config for mode: none", () => { - assertWebpackConfig({ mode: "none" }); - }); - - it("should be align to webpack base config for mode: development", () => { - assertWebpackConfig({ mode: "development" }); - }); - - it("should be align to webpack base config for mode: production", () => { - assertWebpackConfig({ mode: "production" }); - }); - - it("should be align to webpack base config for experiments.futureDefaults: true", () => { - assertWebpackConfig({ - mode: "production", - experiments: { - futureDefaults: true - } - }); - }); -}); - -describeByWalk( - __filename, - (name, src, dist) => { - createDefaultsCase(name, src); - }, - { - type: "file" - } -); diff --git a/tests/rspack-test/Error.test.js b/tests/rspack-test/Error.test.js deleted file mode 100644 index c43f7502bdfe..000000000000 --- a/tests/rspack-test/Error.test.js +++ /dev/null @@ -1,14 +0,0 @@ -const path = require("path"); -const { createErrorCase, describeByWalk } = require("@rspack/test-tools"); -const caseDir = path.resolve(__dirname, "./errorCases"); - -describeByWalk( - __filename, - (name, testConfig, dist) => { - createErrorCase(name, caseDir, dist, testConfig); - }, - { - level: 1, - type: "file" - } -); diff --git a/tests/rspack-test/StatsAPI.test.js b/tests/rspack-test/StatsAPI.test.js deleted file mode 100644 index 113154d4b544..000000000000 --- a/tests/rspack-test/StatsAPI.test.js +++ /dev/null @@ -1,14 +0,0 @@ -const { createStatsAPICase, describeByWalk } = require("@rspack/test-tools"); -const srcDir = __dirname; - -describeByWalk( - __filename, - (name, testConfig, dist) => { - createStatsAPICase(name, srcDir, "none", testConfig); - }, - { - absoluteDist: false, - level: 1, - type: "file" - } -); diff --git a/tests/rspack-test/compilerCases/after-done-hook.js b/tests/rspack-test/compilerCases/after-done-hook.js index 4aa6e99a957a..242d0d6d8e6a 100644 --- a/tests/rspack-test/compilerCases/after-done-hook.js +++ b/tests/rspack-test/compilerCases/after-done-hook.js @@ -1,8 +1,6 @@ const { createFsFromVolume, Volume } = require("memfs"); - -/** @type {import('@rspack/core').TCompilerCaseConfig[]} */ -module.exports = [(() => { +defineCompileCase(Utils.basename(__filename), [(() => { const runCb = jest.fn(); const doneHookCb = jest.fn(); return { @@ -135,4 +133,4 @@ module.exports = [(() => { }); }, }; -})()]; +})()]); diff --git a/tests/rspack-test/compilerCases/asm-constants.js b/tests/rspack-test/compilerCases/asm-constants.js index 3aaeb8299e56..39f63499bc64 100644 --- a/tests/rspack-test/compilerCases/asm-constants.js +++ b/tests/rspack-test/compilerCases/asm-constants.js @@ -1,6 +1,6 @@ -/** @type {import('@rspack/core').TCompilerCaseConfig} */ -module.exports = { + +defineCompileCase(Utils.basename(__filename), { skip: true, description: "should not evaluate constants in asm.js", options(context) { @@ -23,4 +23,4 @@ module.exports = { expect(bundle).toMatch("109"); expect(bundle).toMatch("110"); } -}; +}); diff --git a/tests/rspack-test/compilerCases/assets.js b/tests/rspack-test/compilerCases/assets.js index 8883a278f74b..58ffcd2654b2 100644 --- a/tests/rspack-test/compilerCases/assets.js +++ b/tests/rspack-test/compilerCases/assets.js @@ -1,6 +1,7 @@ +const { basename, defineCompileCase } = require("@rspack/test-tools"); const { createFsFromVolume, Volume } = require("memfs"); /** @type {import('@rspack/core').TCompilerCaseConfig[]} */ -module.exports = [{ +defineCompileCase(Utils.basename(__filename), [{ description: "should get assets with both `getAssets` and `assets`(getter)", options(context) { return { @@ -209,4 +210,4 @@ module.exports = [{ }] }; } -}]; +}]); diff --git a/tests/rspack-test/compilerCases/bubble-bail.js b/tests/rspack-test/compilerCases/bubble-bail.js index a7b0c773f004..b4545881f045 100644 --- a/tests/rspack-test/compilerCases/bubble-bail.js +++ b/tests/rspack-test/compilerCases/bubble-bail.js @@ -1,7 +1,8 @@ + let error; -/** @type {import('@rspack/core').TCompilerCaseConfig} */ -module.exports = { + +defineCompileCase(Utils.basename(__filename), { description: "should bubble up errors when wrapped in a promise and bail is true (empty dependency)", options(context) { @@ -47,4 +48,4 @@ module.exports = { ╰──── `); } -}; +}); diff --git a/tests/rspack-test/compilerCases/cache-compilation.js b/tests/rspack-test/compilerCases/cache-compilation.js index 8d481f80c044..cf138fbc2312 100644 --- a/tests/rspack-test/compilerCases/cache-compilation.js +++ b/tests/rspack-test/compilerCases/cache-compilation.js @@ -1,3 +1,4 @@ + const mockFn = jest.fn(); const PLUGIN_NAME = "MyPlugin"; @@ -20,7 +21,7 @@ class MyPlugin { } /** @type {import('@rspack/test-tools').TCompilerCaseConfig} */ -module.exports = { +defineCompileCase(Utils.basename(__filename), { description: "should share cache cross compilations", options(context) { return { @@ -41,4 +42,4 @@ module.exports = { async check() { expect(mockFn).toBeCalledTimes(2); } -}; +}); diff --git a/tests/rspack-test/compilerCases/cache-second-run.js b/tests/rspack-test/compilerCases/cache-second-run.js index 6d07b8b8fa03..27bb99c45d2a 100644 --- a/tests/rspack-test/compilerCases/cache-second-run.js +++ b/tests/rspack-test/compilerCases/cache-second-run.js @@ -1,7 +1,8 @@ +const { basename, defineCompileCase } = require("@rspack/test-tools"); const { createFsFromVolume, Volume } = require("memfs"); -/** @type {import('@rspack/core').TCompilerCaseConfig} */ -module.exports = { + +defineCompileCase(Utils.basename(__filename), { description: "should use cache on second run call", options(context) { return { @@ -31,4 +32,4 @@ module.exports = { }); }); }, -}; +}); diff --git a/tests/rspack-test/compilerCases/child-compiler.js b/tests/rspack-test/compilerCases/child-compiler.js index c32e6a3f990b..119488d36f50 100644 --- a/tests/rspack-test/compilerCases/child-compiler.js +++ b/tests/rspack-test/compilerCases/child-compiler.js @@ -1,3 +1,4 @@ +const { basename, defineCompileCase } = require("@rspack/test-tools"); const path = require("path"); const { createFsFromVolume, Volume } = require("memfs"); const { EntryPlugin } = require("@rspack/core"); @@ -48,8 +49,8 @@ class MyPlugin { const outputFileSystem = createFsFromVolume(new Volume()); -/** @type {import('@rspack/core').TCompilerCaseConfig} */ -module.exports = { + +defineCompileCase(Utils.basename(__filename), { description: "should pass the new compiler and compilation instance in loader", options(context) { @@ -85,4 +86,4 @@ module.exports = { expect(stubCompiler).toHaveBeenCalledWith(cachedChildCompiler); expect(stubCompilation).toHaveBeenCalledWith(cachedChildCompilation); } -}; +}); diff --git a/tests/rspack-test/compilerCases/compare-before-emit.js b/tests/rspack-test/compilerCases/compare-before-emit.js index c50c151dc665..d13cfcbaa0fb 100644 --- a/tests/rspack-test/compilerCases/compare-before-emit.js +++ b/tests/rspack-test/compilerCases/compare-before-emit.js @@ -1,3 +1,4 @@ +const { basename, defineCompileCase } = require("@rspack/test-tools"); const path = require("path"); const fs = require("fs"); const { rimrafSync } = require("rimraf"); @@ -5,7 +6,7 @@ const { rimrafSync } = require("rimraf"); let first_asset_mtime; /** @type {import('@rspack/core').TCompilerCaseConfig[]} */ -module.exports = [{ +defineCompileCase(Utils.basename(__filename), [{ description: "should write emit same content to same file", options(context) { return { @@ -72,4 +73,4 @@ module.exports = [{ )?.mtime; expect(first_asset_mtime).not.toEqual(second_asset_mtime); } -}]; +}]); diff --git a/tests/rspack-test/compilerCases/compilation.js b/tests/rspack-test/compilerCases/compilation.js index 0ca031773f18..9cd4ddee3067 100644 --- a/tests/rspack-test/compilerCases/compilation.js +++ b/tests/rspack-test/compilerCases/compilation.js @@ -1,3 +1,4 @@ +const { basename, defineCompileCase } = require("@rspack/test-tools"); const mockFn = jest.fn(); class MyPlugin { @@ -8,8 +9,8 @@ class MyPlugin { } } -/** @type {import('@rspack/core').TCompilerCaseConfig} */ -module.exports = { + +defineCompileCase(Utils.basename(__filename), { description: "should be called every compilation", options(context) { return { @@ -30,4 +31,4 @@ module.exports = { async check() { expect(mockFn).toBeCalledTimes(2); } -}; +}); diff --git a/tests/rspack-test/compilerCases/consistent.js b/tests/rspack-test/compilerCases/consistent.js index deaa0b1005d9..1b43d40d1df1 100644 --- a/tests/rspack-test/compilerCases/consistent.js +++ b/tests/rspack-test/compilerCases/consistent.js @@ -1,7 +1,8 @@ + const stats = []; /** @type {import('@rspack/test-tools').TCompilerCaseConfig} */ -module.exports = { +defineCompileCase(Utils.basename(__filename), { description: "should be called every compilation", options(context) { return { @@ -42,4 +43,4 @@ module.exports = { const stats3 = stats[2].reduce((acc, curr) => acc + curr.name, '') expect(stats1 === stats2 === stats3); } -}; +}); diff --git a/tests/rspack-test/compilerCases/error-stack.js b/tests/rspack-test/compilerCases/error-stack.js index b5345e9b5175..5d8d5eb53cf7 100644 --- a/tests/rspack-test/compilerCases/error-stack.js +++ b/tests/rspack-test/compilerCases/error-stack.js @@ -1,7 +1,9 @@ + + let error; /** @type {import('@rspack/core').TCompilerCaseConfig[]} */ -module.exports = [{ +defineCompileCase(Utils.basename(__filename), [{ description: "should print error with stack information with sync callback", error: true, options(context) { @@ -65,4 +67,4 @@ module.exports = [{ expect(error).toBeTruthy(); expect(error.message).toContain("Failed to handle process assets from JS"); } -}]; +}]); diff --git a/tests/rspack-test/compilerCases/failed-hook.js b/tests/rspack-test/compilerCases/failed-hook.js index ef12d1106749..2353a80c6619 100644 --- a/tests/rspack-test/compilerCases/failed-hook.js +++ b/tests/rspack-test/compilerCases/failed-hook.js @@ -1,8 +1,9 @@ +const { basename, defineCompileCase } = require("@rspack/test-tools"); const { createFsFromVolume, Volume } = require("memfs"); const failedSpy = jest.fn(); -/** @type {import('@rspack/core').TCompilerCaseConfig} */ -module.exports = { + +defineCompileCase(Utils.basename(__filename), { description: "should call the failed-hook on error", options(context) { return { @@ -24,4 +25,4 @@ module.exports = { }); }); }, -}; +}); diff --git a/tests/rspack-test/compilerCases/get-cache.js b/tests/rspack-test/compilerCases/get-cache.js index dc58bac9998f..dd6de281f418 100644 --- a/tests/rspack-test/compilerCases/get-cache.js +++ b/tests/rspack-test/compilerCases/get-cache.js @@ -1,3 +1,4 @@ +const { basename, defineCompileCase } = require("@rspack/test-tools"); class MyPlugin { apply(compiler) { compiler.hooks.compilation.tap("MyPlugin", compilation => { @@ -7,8 +8,8 @@ class MyPlugin { } } -/** @type {import('@rspack/core').TCompilerCaseConfig} */ -module.exports = { + +defineCompileCase(Utils.basename(__filename), { description: "should call getCache function correctly", options(context) { return { @@ -17,4 +18,4 @@ module.exports = { plugins: [new MyPlugin()] }; } -}; +}); diff --git a/tests/rspack-test/compilerCases/hooks-closure.js b/tests/rspack-test/compilerCases/hooks-closure.js index 2e8db292f5a3..b9448cd267de 100644 --- a/tests/rspack-test/compilerCases/hooks-closure.js +++ b/tests/rspack-test/compilerCases/hooks-closure.js @@ -1,3 +1,5 @@ + + let globalId = 0; const buildModule = jest.fn(); @@ -85,8 +87,8 @@ class MyPlugin { } } -/** @type {import('@rspack/core').TCompilerCaseConfig} */ -module.exports = { + +defineCompileCase(Utils.basename(__filename), { description: "The hooks should access the correct closure", options(context) { return { @@ -131,4 +133,4 @@ module.exports = { expect(seal.mock.calls.length).toBeGreaterThanOrEqual(2); expect(afterSeal.mock.calls.length).toBeGreaterThanOrEqual(2); } -}; +}); diff --git a/tests/rspack-test/compilerCases/hooks-optimize-modules.js b/tests/rspack-test/compilerCases/hooks-optimize-modules.js index 261b0839f33f..d6d13bc7fd7a 100644 --- a/tests/rspack-test/compilerCases/hooks-optimize-modules.js +++ b/tests/rspack-test/compilerCases/hooks-optimize-modules.js @@ -1,6 +1,6 @@ /** @type {import('@rspack/core').TCompilerCaseConfig[]} */ -module.exports = [{ +defineCompileCase(Utils.basename(__filename), [{ description: "should call optimizeModules hook correctly", options(context) { return { @@ -44,4 +44,4 @@ module.exports = [{ }] }; } -}]; +}]); diff --git a/tests/rspack-test/compilerCases/infrastructure-logging.js b/tests/rspack-test/compilerCases/infrastructure-logging.js index 0f8ae20dfab9..d176956439c9 100644 --- a/tests/rspack-test/compilerCases/infrastructure-logging.js +++ b/tests/rspack-test/compilerCases/infrastructure-logging.js @@ -1,3 +1,4 @@ +const { basename, defineCompileCase } = require("@rspack/test-tools"); const captureStdio = require("@rspack/test-tools/helper/legacy/captureStdio"); const { createFsFromVolume, Volume } = require("memfs"); @@ -28,7 +29,7 @@ const escapeAnsi = stringRaw => let capture; /** @type {import('@rspack/core').TCompilerCaseConfig[]} */ -module.exports = [ +defineCompileCase(Utils.basename(__filename), [ { description: "should log to the console (verbose)", options(context) { @@ -180,4 +181,4 @@ module.exports = [ capture.restore(); } } -]; +]); diff --git a/tests/rspack-test/compilerCases/invalidation-multi-times.js b/tests/rspack-test/compilerCases/invalidation-multi-times.js index 10c9df2dab69..f15f2c949508 100644 --- a/tests/rspack-test/compilerCases/invalidation-multi-times.js +++ b/tests/rspack-test/compilerCases/invalidation-multi-times.js @@ -1,3 +1,4 @@ +const { basename, defineCompileCase } = require("@rspack/test-tools"); const path = require('path'); const mockWatchRunFn = jest.fn(() => { }); @@ -11,7 +12,7 @@ class MyPlugin { } /** @type {import('@rspack/test-tools').TCompilerCaseConfig} */ -module.exports = { +defineCompileCase(Utils.basename(__filename), { description: "should be invalidated correctly", options(context) { return { @@ -34,7 +35,7 @@ module.exports = { compiler.watching.invalidateWithChangesAndRemovals(new Set([path.resolve(__dirname, "../fixtures/b.js")])); setTimeout(() => { resolve(); - }, 500) + }, 2000) } }); }); @@ -46,4 +47,4 @@ module.exports = { expect(mockWatchRunFn).toHaveBeenCalledTimes(3); expect(mockInvalidFn).toHaveBeenCalledTimes(2); } -}; +}); diff --git a/tests/rspack-test/compilerCases/is-child.js b/tests/rspack-test/compilerCases/is-child.js index d38d1b0fdab7..03bbb7cd9ea9 100644 --- a/tests/rspack-test/compilerCases/is-child.js +++ b/tests/rspack-test/compilerCases/is-child.js @@ -1,5 +1,5 @@ -/** @type {import('@rspack/core').TCompilerCaseConfig} */ -module.exports = { + +defineCompileCase(Utils.basename(__filename), { skip: true, description: "returns booleanized this.parentCompilation", options(context) { @@ -46,4 +46,4 @@ module.exports = { const response9 = compiler.isChild(); expect(response9).toBe(false); }, -}; +}); diff --git a/tests/rspack-test/compilerCases/multiple-chunks.js b/tests/rspack-test/compilerCases/multiple-chunks.js index 62b28fbdef32..f4b511080855 100644 --- a/tests/rspack-test/compilerCases/multiple-chunks.js +++ b/tests/rspack-test/compilerCases/multiple-chunks.js @@ -1,6 +1,6 @@ -/** @type {import('@rspack/core').TCompilerCaseConfig} */ -module.exports = { + +defineCompileCase(Utils.basename(__filename), { description: "should compile a file with multiple chunks", options(context) { return { @@ -29,4 +29,4 @@ module.exports = { expect(bundle).toMatch("webpackChunk"); expect(chunk).toMatch('self["webpackChunk"] || []).push'); } -}; +}); diff --git a/tests/rspack-test/compilerCases/named-chunk.js b/tests/rspack-test/compilerCases/named-chunk.js index fa075634e527..5b09b661ce5d 100644 --- a/tests/rspack-test/compilerCases/named-chunk.js +++ b/tests/rspack-test/compilerCases/named-chunk.js @@ -1,3 +1,4 @@ +const { basename, defineCompileCase } = require("@rspack/test-tools"); const mockFn = jest.fn(); class MyPlugin { @@ -10,8 +11,8 @@ class MyPlugin { } } -/** @type {import('@rspack/core').TCompilerCaseConfig} */ -module.exports = { + +defineCompileCase(Utils.basename(__filename), { description: "should work with `namedChunks`", options(context) { return { @@ -25,4 +26,4 @@ module.exports = { async check() { expect(mockFn).toBeCalled(); } -}; +}); diff --git a/tests/rspack-test/compilerCases/no-emit-errors.js b/tests/rspack-test/compilerCases/no-emit-errors.js index a65bd66efc21..2d4bb406c0a6 100644 --- a/tests/rspack-test/compilerCases/no-emit-errors.js +++ b/tests/rspack-test/compilerCases/no-emit-errors.js @@ -1,10 +1,11 @@ +const { basename, defineCompileCase } = require("@rspack/test-tools"); const { createFsFromVolume, Volume } = require("memfs"); const { Stats } = require("@rspack/core"); let watchStats = null; /** @type {import('@rspack/core').TCompilerCaseConfig[]} */ -module.exports = [{ +defineCompileCase(Utils.basename(__filename), [{ description: "should not emit on errors", error: true, options(context) { @@ -76,4 +77,4 @@ module.exports = [{ async check() { expect(watchStats).toBeInstanceOf(Stats); } -}]; +}]); diff --git a/tests/rspack-test/compilerCases/persist-build-info.js b/tests/rspack-test/compilerCases/persist-build-info.js index a1bf7aebedb5..a7154fff1e4f 100644 --- a/tests/rspack-test/compilerCases/persist-build-info.js +++ b/tests/rspack-test/compilerCases/persist-build-info.js @@ -1,3 +1,4 @@ +const { basename, defineCompileCase } = require("@rspack/test-tools"); const customFieldValues = []; class MyPlugin { @@ -12,8 +13,8 @@ class MyPlugin { } } -/** @type {import('@rspack/core').TCompilerCaseConfig} */ -module.exports = { + +defineCompileCase(Utils.basename(__filename), { description: "should persist build info custom fields", options(context) { return { @@ -55,4 +56,4 @@ module.exports = { expect(foo).toBeTruthy(); }); } -}; +}); diff --git a/tests/rspack-test/compilerCases/purge-input-filesystem.js b/tests/rspack-test/compilerCases/purge-input-filesystem.js index 50059a05e103..d34ceb2719e4 100644 --- a/tests/rspack-test/compilerCases/purge-input-filesystem.js +++ b/tests/rspack-test/compilerCases/purge-input-filesystem.js @@ -1,5 +1,5 @@ /** @type {import('@rspack/core').TCompilerCaseConfig[]} */ -module.exports = [(() => { +defineCompileCase(Utils.basename(__filename), [(() => { const mockPurge = jest.fn(); return { description: "invokes purge() if inputFileSystem.purge", @@ -35,4 +35,4 @@ module.exports = [(() => { expect(mockPurge.mock.calls.length).toBe(0); } }; -})()]; +})()]); diff --git a/tests/rspack-test/compilerCases/resolver-api.js b/tests/rspack-test/compilerCases/resolver-api.js index 6349d95f5816..9eaad4f092fc 100644 --- a/tests/rspack-test/compilerCases/resolver-api.js +++ b/tests/rspack-test/compilerCases/resolver-api.js @@ -1,5 +1,5 @@ -/** @type {import('@rspack/core').TCompilerCaseConfig} */ -module.exports = { + +defineCompileCase(Utils.basename(__filename), { description: "should successfully resolve module paths", options(context) { return { @@ -24,4 +24,4 @@ module.exports = { testResolver(".", "react") ]); } -} +}); diff --git a/tests/rspack-test/compilerCases/run-again.js b/tests/rspack-test/compilerCases/run-again.js index 0c842a2d961e..6d57e04be468 100644 --- a/tests/rspack-test/compilerCases/run-again.js +++ b/tests/rspack-test/compilerCases/run-again.js @@ -1,7 +1,8 @@ +const { basename, defineCompileCase } = require("@rspack/test-tools"); const { createFsFromVolume, Volume } = require("memfs"); /** @type {import('@rspack/core').TCompilerCaseConfig[]} */ -module.exports = [{ +defineCompileCase(Utils.basename(__filename), [{ description: "should run again correctly after first compilation", options(context) { return { @@ -120,4 +121,4 @@ module.exports = [{ }); }); }, -}]; +}]); diff --git a/tests/rspack-test/compilerCases/run-twice.js b/tests/rspack-test/compilerCases/run-twice.js index 1dd5731e8c19..8b663f35d161 100644 --- a/tests/rspack-test/compilerCases/run-twice.js +++ b/tests/rspack-test/compilerCases/run-twice.js @@ -1,7 +1,8 @@ +const { basename, defineCompileCase } = require("@rspack/test-tools"); const { createFsFromVolume, Volume } = require("memfs"); /** @type {import('@rspack/core').TCompilerCaseConfig[]} */ -module.exports = [{ +defineCompileCase(Utils.basename(__filename), [{ description: "should not be running twice at a time (run)", options(context) { return { @@ -105,4 +106,4 @@ module.exports = [{ }) }); }, -}]; +}]); diff --git a/tests/rspack-test/compilerCases/single-file.js b/tests/rspack-test/compilerCases/single-file.js index ae414bb05f12..49501feb25eb 100644 --- a/tests/rspack-test/compilerCases/single-file.js +++ b/tests/rspack-test/compilerCases/single-file.js @@ -1,6 +1,6 @@ /** @type {import('@rspack/core').TCompilerCaseConfig[]} */ -module.exports = [{ +defineCompileCase(Utils.basename(__filename), [{ description: "should compile a single file", options(context) { return { @@ -46,4 +46,4 @@ module.exports = [{ expect(bundle).not.toMatch("jsonp"); expect(bundle).not.toMatch("fixtures"); } -}]; +}]); diff --git a/tests/rspack-test/compilerCases/splitchunks-minchunks.js b/tests/rspack-test/compilerCases/splitchunks-minchunks.js index 67094da08dbc..5227779241ad 100644 --- a/tests/rspack-test/compilerCases/splitchunks-minchunks.js +++ b/tests/rspack-test/compilerCases/splitchunks-minchunks.js @@ -1,5 +1,5 @@ -/** @type {import('@rspack/core').TCompilerCaseConfig} */ -module.exports = { + +defineCompileCase(Utils.basename(__filename), { description: "splitChunks.minChunks equals 0", options(context) { return { @@ -30,4 +30,4 @@ module.exports = { ); context.clearError(name); } -}; +}); diff --git a/tests/rspack-test/compilerCases/stats.js b/tests/rspack-test/compilerCases/stats.js index efccdb07fc79..6ed9773c53a3 100644 --- a/tests/rspack-test/compilerCases/stats.js +++ b/tests/rspack-test/compilerCases/stats.js @@ -1,3 +1,4 @@ +const { basename, defineCompileCase } = require("@rspack/test-tools"); class MyPlugin { apply(compiler) { compiler.hooks.compilation.tap("Plugin", compilation => { @@ -14,8 +15,8 @@ class MyPlugin { } } -/** @type {import('@rspack/core').TCompilerCaseConfig} */ -module.exports = { + +defineCompileCase(Utils.basename(__filename), { description: "should not panic get stats when chunkGraphModule is not available", options(context) { return { @@ -24,4 +25,4 @@ module.exports = { plugins: [new MyPlugin()] }; } -}; \ No newline at end of file +}); \ No newline at end of file diff --git a/tests/rspack-test/compilerCases/swc-api.js b/tests/rspack-test/compilerCases/swc-api.js index 82ef20be0eb1..4f0ec0d23e13 100644 --- a/tests/rspack-test/compilerCases/swc-api.js +++ b/tests/rspack-test/compilerCases/swc-api.js @@ -1,5 +1,5 @@ /** @type {import('@rspack/core').TCompilerCaseConfig[]} */ -module.exports = [{ +defineCompileCase(Utils.basename(__filename), [{ description: "should load @swc/plugin-remove-console successfully and transform code using rspack inner swc api", async check({ compiler }) { let swc = compiler.rspack.experiments.swc; @@ -63,4 +63,4 @@ module.exports = [{ check_transform_sourcemap(swc.transformSync) ]); } -}] +}]); diff --git a/tests/rspack-test/compilerCases/tracing.js b/tests/rspack-test/compilerCases/tracing.js index 7581fd6999db..803818a16be5 100644 --- a/tests/rspack-test/compilerCases/tracing.js +++ b/tests/rspack-test/compilerCases/tracing.js @@ -1,5 +1,5 @@ -/** @type {import('@rspack/core').TCompilerCaseConfig} */ -module.exports = { + +defineCompileCase(Utils.basename(__filename), { description: "support call register global trace and cleanup global trace multi times", async check({ compiler }) { await compiler.rspack.experiments.globalTrace.register('info', 'logger', 'stdout'); @@ -8,6 +8,5 @@ module.exports = { await compiler.rspack.experiments.globalTrace.cleanup(); await compiler.rspack.experiments.globalTrace.register('info', 'logger', 'stdout'); await compiler.rspack.experiments.globalTrace.cleanup(); - } -} +}); diff --git a/tests/rspack-test/compilerCases/transitive-dependencies.js b/tests/rspack-test/compilerCases/transitive-dependencies.js index 22eb194aa1ea..66bc2ec11989 100644 --- a/tests/rspack-test/compilerCases/transitive-dependencies.js +++ b/tests/rspack-test/compilerCases/transitive-dependencies.js @@ -1,6 +1,6 @@ -/** @type {import('@rspack/core').TCompilerCaseConfig} */ -module.exports = { + +defineCompileCase(Utils.basename(__filename), { description: "should compile a file with transitive dependencies", options(context) { return { @@ -27,4 +27,4 @@ module.exports = { expect(bundle).not.toMatch("jsonp"); expect(bundle).not.toMatch("fixtures"); } -}; +}); diff --git a/tests/rspack-test/compilerCases/watching.js b/tests/rspack-test/compilerCases/watching.js index df00dc8c6550..00a5617ed320 100644 --- a/tests/rspack-test/compilerCases/watching.js +++ b/tests/rspack-test/compilerCases/watching.js @@ -1,9 +1,10 @@ +const { basename, defineCompileCase } = require("@rspack/test-tools"); const { createFsFromVolume, Volume } = require("memfs"); const deprecationTracking = require("@rspack/test-tools/helper/legacy/deprecationTracking"); let tracker = null; /** @type {import('@rspack/core').TCompilerCaseConfig[]} */ -module.exports = [{ +defineCompileCase(Utils.basename(__filename), [{ description: "should set compiler.watching correctly", options(context) { return { @@ -63,4 +64,4 @@ module.exports = [{ expect(deprecations).toHaveLength(1); expect(deprecations[0].message).toContain("A 'callback' argument needs to be provided"); } -}]; +}]); diff --git a/tests/rspack-test/defaultsCases/cache/cache-filesystem-dev.js b/tests/rspack-test/defaultsCases/cache/cache-filesystem-dev.js index 27093d67420f..a641cbf48ace 100644 --- a/tests/rspack-test/defaultsCases/cache/cache-filesystem-dev.js +++ b/tests/rspack-test/defaultsCases/cache/cache-filesystem-dev.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "cache filesystem development", options: () => ({ mode: "development", cache: { type: "filesystem" } }), diff: e => @@ -39,4 +38,4 @@ module.exports = { - "production", + "development", `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/cache/cache-filesystem.js b/tests/rspack-test/defaultsCases/cache/cache-filesystem.js index 20295cf28c99..6893ce9e90a7 100644 --- a/tests/rspack-test/defaultsCases/cache/cache-filesystem.js +++ b/tests/rspack-test/defaultsCases/cache/cache-filesystem.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "cache filesystem", options: () => ({ cache: { type: "filesystem" } }), diff: e => @@ -13,4 +12,4 @@ module.exports = { + "type": "filesystem", + }, `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/cache/cache.js b/tests/rspack-test/defaultsCases/cache/cache.js index 86e075b802df..d71fdaab52f5 100644 --- a/tests/rspack-test/defaultsCases/cache/cache.js +++ b/tests/rspack-test/defaultsCases/cache/cache.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "cache true", options: () => ({ cache: true }), diff: e => @@ -11,4 +10,4 @@ module.exports = { - "cache": false, + "cache": true, `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/cache/non-root.js b/tests/rspack-test/defaultsCases/cache/non-root.js index 47cad5245c29..b46acaf5e9a5 100644 --- a/tests/rspack-test/defaultsCases/cache/non-root.js +++ b/tests/rspack-test/defaultsCases/cache/non-root.js @@ -1,6 +1,5 @@ const path = require("path"); -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "non-root directory", options: () => ({ cache: { @@ -19,4 +18,4 @@ module.exports = { + "type": "filesystem", + }, `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/config/array-defaults.js b/tests/rspack-test/defaultsCases/config/array-defaults.js index dfb07e260f90..55b4ae62753e 100644 --- a/tests/rspack-test/defaultsCases/config/array-defaults.js +++ b/tests/rspack-test/defaultsCases/config/array-defaults.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "array defaults", options: () => ({ output: { @@ -17,4 +16,4 @@ module.exports = { @@ ... @@ + "async-node", `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/config/browserslist.js b/tests/rspack-test/defaultsCases/config/browserslist.js index 2e28bee35cfa..fa72e7f183e2 100644 --- a/tests/rspack-test/defaultsCases/config/browserslist.js +++ b/tests/rspack-test/defaultsCases/config/browserslist.js @@ -1,32 +1,92 @@ const path = require("path"); -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "browserslist", - options: context => ({ - context: path.resolve(context.getSource(), "./browserslist") - }), + options: context => { + return { + context: path.resolve(context.getSource(), "./browserslist") + }; + }, diff: e => e.toMatchInlineSnapshot(` - Expected + Received @@ ... @@ - - "context": "", - + "context": "-test-tools/tests/fixtures/browserslist", + - "context": "/fixtures", + + "context": "/fixtures/browserslist", @@ ... @@ - - "chunkLoadingGlobal": "webpackChunk_rspack_tests", - + "chunkLoadingGlobal": "webpackChunk", + - "arrowFunction": true, + - "asyncFunction": true, + - "bigIntLiteral": true, + - "const": true, + - "destructuring": true, + + "arrowFunction": false, + + "asyncFunction": false, + + "bigIntLiteral": false, + + "const": false, + + "destructuring": false, @@ ... @@ - - "devtoolNamespace": "@rspack/tests", - + "devtoolNamespace": "", + - "dynamicImport": undefined, + - "dynamicImportInWorker": undefined, + - "forOf": true, + - "globalThis": undefined, + - "module": undefined, + - "nodePrefixForCoreModules": true, + - "optionalChaining": true, + - "templateLiteral": true, + + "dynamicImport": false, + + "dynamicImportInWorker": false, + + "forOf": false, + + "globalThis": false, + + "module": false, + + "nodePrefixForCoreModules": false, + + "optionalChaining": false, + + "templateLiteral": false, @@ ... @@ - - "hotUpdateGlobal": "webpackHotUpdate_rspack_tests", - + "hotUpdateGlobal": "webpackHotUpdate", + - "chunkLoadingGlobal": "webpackChunk", + + "chunkLoadingGlobal": "webpackChunkbrowserslist_test", @@ ... @@ - - "uniqueName": "@rspack/tests", - + "uniqueName": "", + - "devtoolNamespace": "", + + "devtoolNamespace": "browserslist-test", @@ ... @@ - - "", - + "-test-tools/tests/fixtures/browserslist", + - "arrowFunction": true, + - "asyncFunction": true, + - "bigIntLiteral": true, + - "const": true, + - "destructuring": true, + + "arrowFunction": false, + + "asyncFunction": false, + + "bigIntLiteral": false, + + "const": false, + + "destructuring": false, + @@ ... @@ + - "dynamicImport": undefined, + - "dynamicImportInWorker": undefined, + - "forOf": true, + - "globalThis": undefined, + - "module": undefined, + - "nodePrefixForCoreModules": true, + - "optionalChaining": true, + - "templateLiteral": true, + + "dynamicImport": false, + + "dynamicImportInWorker": false, + + "forOf": false, + + "globalThis": false, + + "module": false, + + "nodePrefixForCoreModules": false, + + "optionalChaining": false, + + "templateLiteral": false, + @@ ... @@ + - "hotUpdateGlobal": "webpackHotUpdate", + + "hotUpdateGlobal": "webpackHotUpdatebrowserslist_test", + @@ ... @@ + - "uniqueName": "", + + "uniqueName": "browserslist-test", + @@ ... @@ + - "/fixtures", + + "/fixtures/browserslist", + @@ ... @@ + - "target": "web", + + "target": "browserslist", `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/config/records-path.js b/tests/rspack-test/defaultsCases/config/records-path.js index d7e3100208c4..6452035aeea5 100644 --- a/tests/rspack-test/defaultsCases/config/records-path.js +++ b/tests/rspack-test/defaultsCases/config/records-path.js @@ -1,7 +1,6 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "records", options: () => ({ recordsPath: "some-path" }), diff: e => e.toMatchInlineSnapshot(`Compared values have no visual difference.`) -}; +}); diff --git a/tests/rspack-test/defaultsCases/default/base.js b/tests/rspack-test/defaultsCases/default/base.js index 203121415fa2..00b33ea4d4d8 100644 --- a/tests/rspack-test/defaultsCases/default/base.js +++ b/tests/rspack-test/defaultsCases/default/base.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "cache true", options: () => ({}), diff: (_, defaults) => @@ -8,7 +7,7 @@ module.exports = { amd: undefined, bail: false, cache: false, - context: , + context: /fixtures, dependencies: undefined, devServer: undefined, devtool: false, @@ -293,7 +292,7 @@ module.exports = { chunkFormat: array-push, chunkLoadTimeout: 120000, chunkLoading: jsonp, - chunkLoadingGlobal: webpackChunk_rspack_tests, + chunkLoadingGlobal: webpackChunk, clean: false, compareBeforeEmit: true, crossOriginLoading: false, @@ -301,7 +300,7 @@ module.exports = { cssFilename: [name].css, devtoolFallbackModuleFilenameTemplate: undefined, devtoolModuleFilenameTemplate: undefined, - devtoolNamespace: @rspack/tests, + devtoolNamespace: , enabledChunkLoadingTypes: Array [ jsonp, import-scripts, @@ -333,21 +332,21 @@ module.exports = { hashFunction: xxhash64, hashSalt: undefined, hotUpdateChunkFilename: [id].[fullhash].hot-update.js, - hotUpdateGlobal: webpackHotUpdate_rspack_tests, + hotUpdateGlobal: webpackHotUpdate, hotUpdateMainFilename: [runtime].[fullhash].hot-update.json, iife: true, importFunctionName: import, importMetaName: import.meta, library: undefined, module: false, - path: /dist, + path: /fixtures/dist, pathinfo: false, publicPath: auto, scriptType: false, sourceMapFilename: [file].map[query], strictModuleErrorHandling: false, trustedTypes: undefined, - uniqueName: @rspack/tests, + uniqueName: , wasmLoading: fetch, webassemblyModuleFilename: [hash].module.wasm, workerChunkLoading: import-scripts, @@ -548,7 +547,7 @@ module.exports = { ], pnp: false, roots: Array [ - , + /fixtures, ], }, resolveLoader: Object { @@ -578,4 +577,4 @@ module.exports = { watchOptions: Object {}, } `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/experiments/async-wasm.js b/tests/rspack-test/defaultsCases/experiments/async-wasm.js index bd02a28f9a67..5a4da7a8e1bb 100644 --- a/tests/rspack-test/defaultsCases/experiments/async-wasm.js +++ b/tests/rspack-test/defaultsCases/experiments/async-wasm.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "async wasm", options: () => ({ experiments: { asyncWebAssembly: true } }), diff: e => @@ -40,4 +39,4 @@ module.exports = { + ], + "type": "webassembly/async", `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/experiments/both-wasm.js b/tests/rspack-test/defaultsCases/experiments/both-wasm.js index 9bee2971b6bd..77ad88770c80 100644 --- a/tests/rspack-test/defaultsCases/experiments/both-wasm.js +++ b/tests/rspack-test/defaultsCases/experiments/both-wasm.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "both wasm", options: () => ({ experiments: { syncWebAssembly: true, asyncWebAssembly: true } @@ -44,4 +43,4 @@ module.exports = { + ], + "type": "webassembly/async", `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/experiments/future-defaults-with-css.js b/tests/rspack-test/defaultsCases/experiments/future-defaults-with-css.js index 7349b6fd801a..a57901e92ebd 100644 --- a/tests/rspack-test/defaultsCases/experiments/future-defaults-with-css.js +++ b/tests/rspack-test/defaultsCases/experiments/future-defaults-with-css.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "experiments.futureDefaults w/ experiments.css disabled", options: () => ({ experiments: { @@ -55,4 +54,4 @@ module.exports = { - "charset": true, + "charset": false, `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/experiments/future-defaults.js b/tests/rspack-test/defaultsCases/experiments/future-defaults.js index 87dd9b30a8f2..0299175b89ca 100644 --- a/tests/rspack-test/defaultsCases/experiments/future-defaults.js +++ b/tests/rspack-test/defaultsCases/experiments/future-defaults.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "experiments.futureDefaults", options: () => ({ experiments: { @@ -128,4 +127,4 @@ module.exports = { + "mainFiles": Array [], + "preferRelative": true, `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/experiments/output-module.js b/tests/rspack-test/defaultsCases/experiments/output-module.js index ae32a8778b5b..46df4e2c36a4 100644 --- a/tests/rspack-test/defaultsCases/experiments/output-module.js +++ b/tests/rspack-test/defaultsCases/experiments/output-module.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "output module", options: () => ({ experiments: { outputModule: true } }), diff: e => @@ -61,4 +60,4 @@ module.exports = { - "workerChunkLoading": "import-scripts", + "workerChunkLoading": "import", `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/experiments/sync-wasm.js b/tests/rspack-test/defaultsCases/experiments/sync-wasm.js index 7f4c5819fb16..53cc3ffdd310 100644 --- a/tests/rspack-test/defaultsCases/experiments/sync-wasm.js +++ b/tests/rspack-test/defaultsCases/experiments/sync-wasm.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "sync wasm", options: () => ({ experiments: { syncWebAssembly: true } }), diff: e => @@ -10,4 +9,4 @@ module.exports = { @@ ... @@ + "syncWebAssembly": true, `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/filename/const.js b/tests/rspack-test/defaultsCases/filename/const.js index ad743b4030b0..ad064cdd7172 100644 --- a/tests/rspack-test/defaultsCases/filename/const.js +++ b/tests/rspack-test/defaultsCases/filename/const.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "const filename", options: () => ({ output: { filename: "bundle.js" } }), diff: e => @@ -19,4 +18,4 @@ module.exports = { - "filename": "[name].js", + "filename": "bundle.js", `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/filename/function.js b/tests/rspack-test/defaultsCases/filename/function.js index 8eb12e24bd71..41c3859096d8 100644 --- a/tests/rspack-test/defaultsCases/filename/function.js +++ b/tests/rspack-test/defaultsCases/filename/function.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "function filename", options: () => ({ output: { filename: () => "bundle.js" } }), diff: e => @@ -19,4 +18,4 @@ module.exports = { - "filename": "[name].js", + "filename": [Function filename], `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/library/library.js b/tests/rspack-test/defaultsCases/library/library.js index f64d1796219d..5169fd6941f0 100644 --- a/tests/rspack-test/defaultsCases/library/library.js +++ b/tests/rspack-test/defaultsCases/library/library.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "library", options: () => ({ output: { library: ["myLib", "awesome"] } }), diff: e => @@ -11,10 +10,10 @@ module.exports = { - "force": true, + "force": false, @@ ... @@ - - "chunkLoadingGlobal": "webpackChunk_rspack_tests", + - "chunkLoadingGlobal": "webpackChunk", + "chunkLoadingGlobal": "webpackChunkmyLib_awesome", @@ ... @@ - - "devtoolNamespace": "@rspack/tests", + - "devtoolNamespace": "", + "devtoolNamespace": "myLib.awesome", @@ ... @@ - "enabledLibraryTypes": Array [], @@ -22,7 +21,7 @@ module.exports = { + "var", + ], @@ ... @@ - - "hotUpdateGlobal": "webpackHotUpdate_rspack_tests", + - "hotUpdateGlobal": "webpackHotUpdate", + "hotUpdateGlobal": "webpackHotUpdatemyLib_awesome", @@ ... @@ - "library": undefined, @@ -38,7 +37,7 @@ module.exports = { + "umdNamedDefine": undefined, + }, @@ ... @@ - - "uniqueName": "@rspack/tests", + - "uniqueName": "", + "uniqueName": "myLib.awesome", `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/library/name-placeholder.js b/tests/rspack-test/defaultsCases/library/name-placeholder.js index 96589fcacc68..14ef61d71e5e 100644 --- a/tests/rspack-test/defaultsCases/library/name-placeholder.js +++ b/tests/rspack-test/defaultsCases/library/name-placeholder.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "library.name contains [name] placeholder", options: () => ({ output: { @@ -18,10 +17,10 @@ module.exports = { - "force": true, + "force": false, @@ ... @@ - - "chunkLoadingGlobal": "webpackChunk_rspack_tests", + - "chunkLoadingGlobal": "webpackChunk", + "chunkLoadingGlobal": "webpackChunkmyLib_lib", @@ ... @@ - - "devtoolNamespace": "@rspack/tests", + - "devtoolNamespace": "", + "devtoolNamespace": "myLib.lib", @@ ... @@ - "enabledLibraryTypes": Array [], @@ -29,7 +28,7 @@ module.exports = { + "var", + ], @@ ... @@ - - "hotUpdateGlobal": "webpackHotUpdate_rspack_tests", + - "hotUpdateGlobal": "webpackHotUpdate", + "hotUpdateGlobal": "webpackHotUpdatemyLib_lib", @@ ... @@ - "library": undefined, @@ -46,7 +45,7 @@ module.exports = { + "umdNamedDefine": undefined, + }, @@ ... @@ - - "uniqueName": "@rspack/tests", + - "uniqueName": "", + "uniqueName": "myLib.lib", `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/library/name-root-placeholder.js b/tests/rspack-test/defaultsCases/library/name-root-placeholder.js index 0c5df5035751..b23bff334442 100644 --- a/tests/rspack-test/defaultsCases/library/name-root-placeholder.js +++ b/tests/rspack-test/defaultsCases/library/name-root-placeholder.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "library.name.root contains escaped placeholder", options: () => ({ output: { @@ -20,10 +19,10 @@ module.exports = { - "force": true, + "force": false, @@ ... @@ - - "chunkLoadingGlobal": "webpackChunk_rspack_tests", + - "chunkLoadingGlobal": "webpackChunk", + "chunkLoadingGlobal": "webpackChunk_name_my_name_Lib_name_", @@ ... @@ - - "devtoolNamespace": "@rspack/tests", + - "devtoolNamespace": "", + "devtoolNamespace": "[name].my[name]Lib.[name]", @@ ... @@ - "enabledLibraryTypes": Array [], @@ -31,7 +30,7 @@ module.exports = { + "var", + ], @@ ... @@ - - "hotUpdateGlobal": "webpackHotUpdate_rspack_tests", + - "hotUpdateGlobal": "webpackHotUpdate", + "hotUpdateGlobal": "webpackHotUpdate_name_my_name_Lib_name_", @@ ... @@ - "library": undefined, @@ -50,7 +49,7 @@ module.exports = { + "umdNamedDefine": undefined, + }, @@ ... @@ - - "uniqueName": "@rspack/tests", + - "uniqueName": "", + "uniqueName": "[name].my[name]Lib.[name]", `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/library/placeholder.js b/tests/rspack-test/defaultsCases/library/placeholder.js index 9779e6e59a7f..5199dad71534 100644 --- a/tests/rspack-test/defaultsCases/library/placeholder.js +++ b/tests/rspack-test/defaultsCases/library/placeholder.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "library contains [name] placeholder", options: () => ({ output: { @@ -15,10 +14,10 @@ module.exports = { - "force": true, + "force": false, @@ ... @@ - - "chunkLoadingGlobal": "webpackChunk_rspack_tests", + - "chunkLoadingGlobal": "webpackChunk", + "chunkLoadingGlobal": "webpackChunkmyLib", @@ ... @@ - - "devtoolNamespace": "@rspack/tests", + - "devtoolNamespace": "", + "devtoolNamespace": "myLib", @@ ... @@ - "enabledLibraryTypes": Array [], @@ -26,7 +25,7 @@ module.exports = { + "var", + ], @@ ... @@ - - "hotUpdateGlobal": "webpackHotUpdate_rspack_tests", + - "hotUpdateGlobal": "webpackHotUpdate", + "hotUpdateGlobal": "webpackHotUpdatemyLib", @@ ... @@ - "library": undefined, @@ -42,7 +41,7 @@ module.exports = { + "umdNamedDefine": undefined, + }, @@ ... @@ - - "uniqueName": "@rspack/tests", + - "uniqueName": "", + "uniqueName": "myLib", `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/library/root-placeholder.js b/tests/rspack-test/defaultsCases/library/root-placeholder.js index d418fc7baa53..150ee004d19d 100644 --- a/tests/rspack-test/defaultsCases/library/root-placeholder.js +++ b/tests/rspack-test/defaultsCases/library/root-placeholder.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "library.name.root contains [name] placeholder", options: () => ({ output: { @@ -20,10 +19,10 @@ module.exports = { - "force": true, + "force": false, @@ ... @@ - - "chunkLoadingGlobal": "webpackChunk_rspack_tests", + - "chunkLoadingGlobal": "webpackChunk", + "chunkLoadingGlobal": "webpackChunkmyLib", @@ ... @@ - - "devtoolNamespace": "@rspack/tests", + - "devtoolNamespace": "", + "devtoolNamespace": "myLib", @@ ... @@ - "enabledLibraryTypes": Array [], @@ -31,7 +30,7 @@ module.exports = { + "var", + ], @@ ... @@ - - "hotUpdateGlobal": "webpackHotUpdate_rspack_tests", + - "hotUpdateGlobal": "webpackHotUpdate", + "hotUpdateGlobal": "webpackHotUpdatemyLib", @@ ... @@ - "library": undefined, @@ -49,7 +48,7 @@ module.exports = { + "umdNamedDefine": undefined, + }, @@ ... @@ - - "uniqueName": "@rspack/tests", + - "uniqueName": "", + "uniqueName": "myLib", `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/mode/development.js b/tests/rspack-test/defaultsCases/mode/development.js index 7095b8a29133..9c8fdaf2f0d2 100644 --- a/tests/rspack-test/defaultsCases/mode/development.js +++ b/tests/rspack-test/defaultsCases/mode/development.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "development", options: () => ({ mode: "development" }), diff: e => @@ -37,4 +36,4 @@ module.exports = { - "production", + "development", `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/mode/empty.js b/tests/rspack-test/defaultsCases/mode/empty.js index a6bf6e1e77d7..5c6a443c35f6 100644 --- a/tests/rspack-test/defaultsCases/mode/empty.js +++ b/tests/rspack-test/defaultsCases/mode/empty.js @@ -1,7 +1,6 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "empty config", options: () => ({}), diff: e => e.toMatchInlineSnapshot(`Compared values have no visual difference.`) -}; +}); diff --git a/tests/rspack-test/defaultsCases/mode/none.js b/tests/rspack-test/defaultsCases/mode/none.js index 4b3fe8610865..7de807324c58 100644 --- a/tests/rspack-test/defaultsCases/mode/none.js +++ b/tests/rspack-test/defaultsCases/mode/none.js @@ -1,7 +1,6 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "none mode", options: () => ({ mode: "none" }), diff: e => e.toMatchInlineSnapshot(`Compared values have no visual difference.`) -}; +}); diff --git a/tests/rspack-test/defaultsCases/mode/production.js b/tests/rspack-test/defaultsCases/mode/production.js index 12902196b27b..5130f96281bd 100644 --- a/tests/rspack-test/defaultsCases/mode/production.js +++ b/tests/rspack-test/defaultsCases/mode/production.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "production", options: () => ({ mode: "production" }), diff: e => @@ -58,4 +57,4 @@ module.exports = { + "maxEntrypointSize": 250000, + }, `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/mode/undefined.js b/tests/rspack-test/defaultsCases/mode/undefined.js index 6fc1e2e27677..4daad27e5dca 100644 --- a/tests/rspack-test/defaultsCases/mode/undefined.js +++ b/tests/rspack-test/defaultsCases/mode/undefined.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "no mode provided", options: () => ({ mode: undefined }), diff: e => @@ -58,4 +57,4 @@ module.exports = { + "maxEntrypointSize": 250000, + }, `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/optimization/multi-runtime-chunk.js b/tests/rspack-test/defaultsCases/optimization/multi-runtime-chunk.js index af278618c3fa..6db8b2dab32a 100644 --- a/tests/rspack-test/defaultsCases/optimization/multi-runtime-chunk.js +++ b/tests/rspack-test/defaultsCases/optimization/multi-runtime-chunk.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "multiple runtimeChunk", options: () => ({ optimization: { runtimeChunk: "multiple" } }), diff: e => @@ -13,4 +12,4 @@ module.exports = { + "name": "multiple", + }, `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/optimization/single-runtime-chunk.js b/tests/rspack-test/defaultsCases/optimization/single-runtime-chunk.js index 19f3d4c03568..532defb4e70c 100644 --- a/tests/rspack-test/defaultsCases/optimization/single-runtime-chunk.js +++ b/tests/rspack-test/defaultsCases/optimization/single-runtime-chunk.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "single runtimeChunk", options: () => ({ optimization: { runtimeChunk: "single" } }), diff: e => @@ -13,4 +12,4 @@ module.exports = { + "name": "single", + }, `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/optimization/true-runtime-chunk.js b/tests/rspack-test/defaultsCases/optimization/true-runtime-chunk.js index f415f15c9188..fcbe8fefe226 100644 --- a/tests/rspack-test/defaultsCases/optimization/true-runtime-chunk.js +++ b/tests/rspack-test/defaultsCases/optimization/true-runtime-chunk.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "true runtimeChunk", options: () => ({ optimization: { runtimeChunk: true } }), diff: e => @@ -13,4 +12,4 @@ module.exports = { + "name": "multiple", + }, `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/output/ecma-version.js b/tests/rspack-test/defaultsCases/output/ecma-version.js index 3f47d1be621e..ee021d521632 100644 --- a/tests/rspack-test/defaultsCases/output/ecma-version.js +++ b/tests/rspack-test/defaultsCases/output/ecma-version.js @@ -1,7 +1,6 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "ecmaVersion", options: () => ({ output: { ecmaVersion: 2020 } }), diff: e => e.toMatchInlineSnapshot(`Compared values have no visual difference.`) -}; +}); diff --git a/tests/rspack-test/defaultsCases/output/unique-name.js b/tests/rspack-test/defaultsCases/output/unique-name.js index f83ef6025c90..9ba2478db1d4 100644 --- a/tests/rspack-test/defaultsCases/output/unique-name.js +++ b/tests/rspack-test/defaultsCases/output/unique-name.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "uniqueName", options: () => ({ output: { @@ -13,21 +12,21 @@ module.exports = { + Received @@ ... @@ - - "chunkLoadingGlobal": "webpackChunk_rspack_tests", + - "chunkLoadingGlobal": "webpackChunk", + "chunkLoadingGlobal": "webpackChunk_Hello_World_", @@ ... @@ - - "devtoolNamespace": "@rspack/tests", + - "devtoolNamespace": "", + "devtoolNamespace": "@@@Hello World!", @@ ... @@ - - "hotUpdateGlobal": "webpackHotUpdate_rspack_tests", + - "hotUpdateGlobal": "webpackHotUpdate", + "hotUpdateGlobal": "webpackHotUpdate_Hello_World_", @@ ... @@ - "trustedTypes": undefined, - - "uniqueName": "@rspack/tests", + - "uniqueName": "", + "trustedTypes": Object { + "onPolicyCreationFailure": "stop", + "policyName": "@@@Hello_World_", + }, + "uniqueName": "@@@Hello World!", `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/stats/stats-false.js b/tests/rspack-test/defaultsCases/stats/stats-false.js index 7c0c14bc472c..1eb8f5d6ee44 100644 --- a/tests/rspack-test/defaultsCases/stats/stats-false.js +++ b/tests/rspack-test/defaultsCases/stats/stats-false.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "stats false", options: () => ({ stats: false }), diff: e => @@ -13,4 +12,4 @@ module.exports = { + "preset": "none", + }, `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/stats/stats-string.js b/tests/rspack-test/defaultsCases/stats/stats-string.js index ffd9092c8cad..58db6c2f689e 100644 --- a/tests/rspack-test/defaultsCases/stats/stats-string.js +++ b/tests/rspack-test/defaultsCases/stats/stats-string.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "stats string", options: () => ({ stats: "minimal" }), diff: e => @@ -13,4 +12,4 @@ module.exports = { + "preset": "minimal", + }, `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/stats/stats.js b/tests/rspack-test/defaultsCases/stats/stats.js index 1b8024e191c8..0629c875ef61 100644 --- a/tests/rspack-test/defaultsCases/stats/stats.js +++ b/tests/rspack-test/defaultsCases/stats/stats.js @@ -1,5 +1,4 @@ -/** @type {import('../../../../packages/rspack-test-tools/dist').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "stats true", options: () => ({ stats: true }), diff: e => @@ -13,4 +12,4 @@ module.exports = { + "preset": "normal", + }, `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/target_/electron-main.js b/tests/rspack-test/defaultsCases/target_/electron-main.js index 898d20715710..fd9430b6bb7f 100644 --- a/tests/rspack-test/defaultsCases/target_/electron-main.js +++ b/tests/rspack-test/defaultsCases/target_/electron-main.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "target electron-main", options: () => ({ target: "electron-main" }), diff: e => @@ -126,4 +125,4 @@ module.exports = { - "target": "web", + "target": "electron-main", `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/target_/electron-preload.js b/tests/rspack-test/defaultsCases/target_/electron-preload.js index 8cb56b750faa..402f444c4954 100644 --- a/tests/rspack-test/defaultsCases/target_/electron-preload.js +++ b/tests/rspack-test/defaultsCases/target_/electron-preload.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "target electron-preload", options: () => ({ target: "electron-preload" }), diff: e => @@ -124,4 +123,4 @@ module.exports = { - "target": "web", + "target": "electron-preload", `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/target_/node.js b/tests/rspack-test/defaultsCases/target_/node.js index fc38297d1450..e5e7a6ddf1c7 100644 --- a/tests/rspack-test/defaultsCases/target_/node.js +++ b/tests/rspack-test/defaultsCases/target_/node.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "target node", options: () => ({ target: "node" }), diff: e => @@ -120,4 +119,4 @@ module.exports = { - "target": "web", + "target": "node", `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/target_/nwjs.js b/tests/rspack-test/defaultsCases/target_/nwjs.js index 1d287c4dd3bf..b6594c5b56c3 100644 --- a/tests/rspack-test/defaultsCases/target_/nwjs.js +++ b/tests/rspack-test/defaultsCases/target_/nwjs.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "target nwjs", options: () => ({ target: "nwjs" }), diff: e => @@ -120,4 +119,4 @@ module.exports = { - "target": "web", + "target": "nwjs", `) -}; +}); diff --git a/tests/rspack-test/defaultsCases/target_/webworker.js b/tests/rspack-test/defaultsCases/target_/webworker.js index 0d01e701c3d5..33e95e98d243 100644 --- a/tests/rspack-test/defaultsCases/target_/webworker.js +++ b/tests/rspack-test/defaultsCases/target_/webworker.js @@ -1,5 +1,4 @@ -/** @type {import('../../..').TDefaultsCaseConfig} */ -module.exports = { +defineDefaultsCase(Utils.casename(__filename), { description: "target webworker", options: () => ({ target: "webworker" }), diff: e => @@ -24,4 +23,4 @@ module.exports = { - "target": "web", + "target": "webworker", `) -}; +}); diff --git a/tests/rspack-test/errorCases/error-map.js b/tests/rspack-test/errorCases/error-map.js index 5cce4bc3b3d6..c005fa3c99e5 100644 --- a/tests/rspack-test/errorCases/error-map.js +++ b/tests/rspack-test/errorCases/error-map.js @@ -1,7 +1,6 @@ let errors = []; -/** @type {import('../..').TErrorCaseConfig} */ -module.exports = { +defineErrorCase(Utils.basename(__filename), { description: "Testing map function on errors and warnings: test map of errors", options() { @@ -63,4 +62,4 @@ module.exports = { ] `); } -}; +}); diff --git a/tests/rspack-test/errorCases/error-test-filter.js b/tests/rspack-test/errorCases/error-test-filter.js index bd9f1c7d46a3..2f1c3ffc9803 100644 --- a/tests/rspack-test/errorCases/error-test-filter.js +++ b/tests/rspack-test/errorCases/error-test-filter.js @@ -1,7 +1,6 @@ let errors = []; -/** @type {import('../..').TErrorCaseConfig} */ -module.exports = { +defineErrorCase(Utils.basename(__filename), { description: "Testing map function on errors and warnings: test map of errors", options() { @@ -74,4 +73,4 @@ module.exports = { ] `); } -}; +}); diff --git a/tests/rspack-test/errorCases/error-test-pop.js b/tests/rspack-test/errorCases/error-test-pop.js index 86b0a8d1c08f..0bb884ab01b1 100644 --- a/tests/rspack-test/errorCases/error-test-pop.js +++ b/tests/rspack-test/errorCases/error-test-pop.js @@ -1,5 +1,4 @@ -/** @type {import('../..').TErrorCaseConfig} */ -module.exports = { +defineErrorCase(Utils.basename(__filename), { description: "Testing proxy methods on errors: test pop", options() { return { @@ -21,4 +20,4 @@ module.exports = { } `); } -}; +}); diff --git a/tests/rspack-test/errorCases/error-test-push.js b/tests/rspack-test/errorCases/error-test-push.js index 4dd0f576831f..6db1fa285949 100644 --- a/tests/rspack-test/errorCases/error-test-push.js +++ b/tests/rspack-test/errorCases/error-test-push.js @@ -1,5 +1,4 @@ -/** @type {import('../..').TErrorCaseConfig} */ -module.exports = { +defineErrorCase(Utils.basename(__filename), { description: "Testing proxy methods on errors: test push", options() { return { @@ -44,4 +43,4 @@ module.exports = { } `); } -}; +}); diff --git a/tests/rspack-test/errorCases/error-test-set-with-index.js b/tests/rspack-test/errorCases/error-test-set-with-index.js index 95021b1b4072..939812fb3c6c 100644 --- a/tests/rspack-test/errorCases/error-test-set-with-index.js +++ b/tests/rspack-test/errorCases/error-test-set-with-index.js @@ -1,5 +1,4 @@ -/** @type {import('../..').TErrorCaseConfig} */ -module.exports = { +defineErrorCase(Utils.basename(__filename), { description: "Testing set errors", options() { return { @@ -30,4 +29,4 @@ module.exports = { } `); } -}; +}); diff --git a/tests/rspack-test/errorCases/error-test-set.js b/tests/rspack-test/errorCases/error-test-set.js index 362c45d5b636..a9e8587e36f4 100644 --- a/tests/rspack-test/errorCases/error-test-set.js +++ b/tests/rspack-test/errorCases/error-test-set.js @@ -1,5 +1,4 @@ -/** @type {import('../..').TErrorCaseConfig} */ -module.exports = { +defineErrorCase(Utils.basename(__filename), { description: "Testing set errors", options() { return { @@ -34,4 +33,4 @@ module.exports = { } `); } -}; +}); diff --git a/tests/rspack-test/errorCases/error-test-shift.js b/tests/rspack-test/errorCases/error-test-shift.js index 258605448b76..ba9b2f27c71f 100644 --- a/tests/rspack-test/errorCases/error-test-shift.js +++ b/tests/rspack-test/errorCases/error-test-shift.js @@ -1,5 +1,4 @@ -/** @type {import('../..').TErrorCaseConfig} */ -module.exports = { +defineErrorCase(Utils.basename(__filename), { description: "Testing proxy methods on errors: test shift&unshift", options() { return { @@ -32,4 +31,4 @@ module.exports = { } `); } -}; +}); diff --git a/tests/rspack-test/errorCases/error-test-splice-1.js b/tests/rspack-test/errorCases/error-test-splice-1.js index 0226e138e240..9aac4a383a81 100644 --- a/tests/rspack-test/errorCases/error-test-splice-1.js +++ b/tests/rspack-test/errorCases/error-test-splice-1.js @@ -1,5 +1,4 @@ -/** @type {import('../..').TErrorCaseConfig} */ -module.exports = { +defineErrorCase(Utils.basename(__filename), { description: "Testing proxy methods on errors: test splice 1", options() { return { @@ -28,4 +27,4 @@ module.exports = { } `); } -}; +}); diff --git a/tests/rspack-test/errorCases/error-test-splice-2.js b/tests/rspack-test/errorCases/error-test-splice-2.js index 6157f4b8034b..027fc0948f7c 100644 --- a/tests/rspack-test/errorCases/error-test-splice-2.js +++ b/tests/rspack-test/errorCases/error-test-splice-2.js @@ -1,5 +1,4 @@ -/** @type {import('../..').TErrorCaseConfig} */ -module.exports = { +defineErrorCase(Utils.basename(__filename), { description: "Testing proxy methods on errors: test splice 2", options() { return { @@ -37,4 +36,4 @@ module.exports = { } `); } -}; +}); diff --git a/tests/rspack-test/errorCases/resolve-fail-esm.js b/tests/rspack-test/errorCases/resolve-fail-esm.js index c8465c82efed..e3a2eed67b70 100644 --- a/tests/rspack-test/errorCases/resolve-fail-esm.js +++ b/tests/rspack-test/errorCases/resolve-fail-esm.js @@ -1,5 +1,4 @@ -/** @type {import('../..').TErrorCaseConfig} */ -module.exports = { +defineErrorCase(Utils.basename(__filename), { description: "should emit warnings for resolve failure in esm", options() { return { @@ -24,4 +23,4 @@ module.exports = { } `); } -}; +}); diff --git a/tests/rspack-test/errorCases/warning-map.js b/tests/rspack-test/errorCases/warning-map.js index 942442b9d165..ee6af7203630 100644 --- a/tests/rspack-test/errorCases/warning-map.js +++ b/tests/rspack-test/errorCases/warning-map.js @@ -1,7 +1,6 @@ let warnings = []; -/** @type {import('../..').TErrorCaseConfig} */ -module.exports = { +defineErrorCase(Utils.basename(__filename), { description: "Testing map function on errors and warnings: test map of warnings", options() { @@ -56,4 +55,4 @@ module.exports = { ] `); } -}; +}); diff --git a/tests/rspack-test/errorCases/warning-test-pop.js b/tests/rspack-test/errorCases/warning-test-pop.js index ab7772f65436..df39661a52ea 100644 --- a/tests/rspack-test/errorCases/warning-test-pop.js +++ b/tests/rspack-test/errorCases/warning-test-pop.js @@ -1,5 +1,4 @@ -/** @type {import('../..').TErrorCaseConfig} */ -module.exports = { +defineErrorCase(Utils.basename(__filename), { description: "Testing proxy methods on warnings: test pop", options() { return { @@ -21,4 +20,4 @@ module.exports = { } `); } -}; +}); diff --git a/tests/rspack-test/errorCases/warning-test-push.js b/tests/rspack-test/errorCases/warning-test-push.js index 53de1d58aac1..b13aa0a40ae5 100644 --- a/tests/rspack-test/errorCases/warning-test-push.js +++ b/tests/rspack-test/errorCases/warning-test-push.js @@ -1,5 +1,4 @@ -/** @type {import('../..').TErrorCaseConfig} */ -module.exports = { +defineErrorCase(Utils.basename(__filename), { description: "Testing proxy methods on warnings: test push", options() { return { @@ -37,4 +36,4 @@ module.exports = { } `); } -}; +}); diff --git a/tests/rspack-test/errorCases/warning-test-set.js b/tests/rspack-test/errorCases/warning-test-set.js index c90642bd89dd..f42e524f9c13 100644 --- a/tests/rspack-test/errorCases/warning-test-set.js +++ b/tests/rspack-test/errorCases/warning-test-set.js @@ -1,5 +1,4 @@ -/** @type {import('../..').TErrorCaseConfig} */ -module.exports = { +defineErrorCase(Utils.basename(__filename), { description: "Testing set warnings", options() { return { @@ -37,4 +36,4 @@ module.exports = { } `); } -}; +}); diff --git a/tests/rspack-test/errorCases/warning-test-shift.js b/tests/rspack-test/errorCases/warning-test-shift.js index 8a0c4f922520..5c4d21559894 100644 --- a/tests/rspack-test/errorCases/warning-test-shift.js +++ b/tests/rspack-test/errorCases/warning-test-shift.js @@ -1,5 +1,4 @@ -/** @type {import('../..').TErrorCaseConfig} */ -module.exports = { +defineErrorCase(Utils.basename(__filename), { description: "Testing proxy methods on warnings: test shift&unshift", options() { return { @@ -32,4 +31,4 @@ module.exports = { } `); } -}; +}); diff --git a/tests/rspack-test/errorCases/warning-test-splice-1.js b/tests/rspack-test/errorCases/warning-test-splice-1.js index 692c2bf5b7c3..d24baa5d93c7 100644 --- a/tests/rspack-test/errorCases/warning-test-splice-1.js +++ b/tests/rspack-test/errorCases/warning-test-splice-1.js @@ -1,5 +1,4 @@ -/** @type {import('../..').TErrorCaseConfig} */ -module.exports = { +defineErrorCase(Utils.basename(__filename), { description: "Testing proxy methods on warnings: test splice 1", options() { return { @@ -28,4 +27,4 @@ module.exports = { } `); } -}; +}); diff --git a/tests/rspack-test/errorCases/warning-test-splice-2.js b/tests/rspack-test/errorCases/warning-test-splice-2.js index b7ac65f00b52..65c820347000 100644 --- a/tests/rspack-test/errorCases/warning-test-splice-2.js +++ b/tests/rspack-test/errorCases/warning-test-splice-2.js @@ -1,5 +1,4 @@ -/** @type {import('../../../packages/rspack-test-tools/dist').TErrorCaseConfig} */ -module.exports = { +defineErrorCase(Utils.basename(__filename), { description: "Testing proxy methods on warnings: test splice 2", options() { return { @@ -37,4 +36,4 @@ module.exports = { } `); } -}; +}); diff --git a/tests/rspack-test/jest.config.js b/tests/rspack-test/jest.config.js index 7eb2e047acd1..8f4725ac0654 100644 --- a/tests/rspack-test/jest.config.js +++ b/tests/rspack-test/jest.config.js @@ -3,24 +3,18 @@ const root = path.resolve(__dirname, "../../"); const setupFilesAfterEnv = [ "@rspack/test-tools/setup-expect", - "@rspack/test-tools/setup-env" + "@rspack/test-tools/setup-env", + "@rspack/test-tools/setup" ]; /** @type {import('jest').Config} */ const wasmConfig = process.env.WASM && { setupFilesAfterEnv: [...setupFilesAfterEnv, "@rspack/test-tools/setup-wasm"], testPathIgnorePatterns: [ - // Skip because they reply on snapshots - "Diagnostics.test.js", - "Error.test.js", - "StatsAPI.test.js", - "StatsOutput.test.js", - // Skip temporarily and should investigate in the future - "Defaults.test.js", "Cache.test.js", - "Compiler.test.js", "Serial.test.js", + "Normal-hot.test.js", "Incremental-node.test.js", "Incremental-watch-webpack.test.js", "Incremental-watch.test.js", @@ -45,9 +39,13 @@ const config = { testTimeout: process.env.CI ? 60000 : 30000, prettierPath: require.resolve("prettier-2"), testMatch: [ + !process.env.WASM && "/compilerCases/*.js", + !process.env.WASM && "/errorCases/*.js", + !process.env.WASM && "/statsAPICases/*.js", + !process.env.WASM && "/defaultsCases/*/*.js", "/*.test.js", "/legacy-test/*.test.js" - ], + ].filter(Boolean), moduleNameMapper: { // Fixed jest-serialize-path not working when non-ascii code contains. slash: path.join(__dirname, "../../scripts/test/slash.cjs"), @@ -74,8 +72,9 @@ const config = { : undefined, printLogger: process.argv.includes("--verbose") }, - ...(wasmConfig || {}), verbose: true, + maxWorkers: 5, + ...(wasmConfig || {}), }; module.exports = config; diff --git a/tests/rspack-test/normalCases/esm/import-meta-property/index.js b/tests/rspack-test/normalCases/esm/import-meta-property/index.js index f781a147f32e..6cec31262851 100644 --- a/tests/rspack-test/normalCases/esm/import-meta-property/index.js +++ b/tests/rspack-test/normalCases/esm/import-meta-property/index.js @@ -1,6 +1,6 @@ const { pathToFileURL } = require("url"); const url = pathToFileURL( - require("path").resolve("./normalCases/esm/import-meta-property/index.js") + require("path").resolve(__SOURCE__, "./index.js") ).toString(); it("import.meta.url.xxx", () => { expect(typeof import.meta.url.length).toBe("number"); diff --git a/tests/rspack-test/normalCases/esm/import-meta/index.js b/tests/rspack-test/normalCases/esm/import-meta/index.js index 0f96392c65e8..6f2527365a4b 100644 --- a/tests/rspack-test/normalCases/esm/import-meta/index.js +++ b/tests/rspack-test/normalCases/esm/import-meta/index.js @@ -1,8 +1,7 @@ const { pathToFileURL } = require("url"); const url = pathToFileURL( /// DIFF - // require("path").resolve("./test/cases/esm/import-meta/index.js") - require("path").resolve("./normalCases/esm/import-meta/index.js") + require("path").resolve(__SOURCE__, "./index.js") ).toString(); const webpackVersion = parseInt( /// DIFF diff --git a/tests/rspack-test/package.json b/tests/rspack-test/package.json index b1cbae3095dc..ecc444ab484f 100644 --- a/tests/rspack-test/package.json +++ b/tests/rspack-test/package.json @@ -1,6 +1,5 @@ { "name": "@rspack/tests", - "private": true, "version": "1.0.0", "private": true, "description": "this is generated to avoid lookup @rspack/core's package.json and affected by the exports field ", @@ -8,8 +7,8 @@ "author": "", "license": "ISC", "scripts": { - "test": "cross-env RUST_BACKTRACE=full pnpm run --stream /^test:.*/", - "testu": "pnpm run --stream /^test:.*/ -u", + "test": "cross-env RUST_BACKTRACE=full pnpm run --sequential --stream /^test:.*/", + "testu": "pnpm run --sequential --stream /^test:.*/ -u", "test:base": "cross-env node --no-warnings --expose-gc --max-old-space-size=8192 --experimental-vm-modules ../../node_modules/jest-cli/bin/jest --logHeapUsage --colors --config ./jest.config.js --passWithNoTests", "test:hot": "cross-env RSPACK_HOT_TEST=true node --no-warnings --expose-gc --max-old-space-size=8192 --experimental-vm-modules ../../node_modules/jest-cli/bin/jest --logHeapUsage --colors --config ./jest.config.hot.js --passWithNoTests", "test:diff": "cross-env RSPACK_DIFF=true node --no-warnings --expose-gc --max-old-space-size=8192 --experimental-vm-modules ../../node_modules/jest-cli/bin/jest --logHeapUsage --colors --config ./jest.config.diff.js --passWithNoTests" diff --git a/tests/rspack-test/statsAPICases/asset-info.js b/tests/rspack-test/statsAPICases/asset-info.js index ec8ee52d9b5c..c293e2a9b7a2 100644 --- a/tests/rspack-test/statsAPICases/asset-info.js +++ b/tests/rspack-test/statsAPICases/asset-info.js @@ -1,5 +1,4 @@ -/** @type {import('../..').TStatsAPICaseConfig} */ -module.exports = { +defineStatsAPICase(Utils.basename(__filename), { description: "should generate asset info", options(context) { return { @@ -9,7 +8,7 @@ module.exports = { minimize: false }, entry: { - main: "./fixtures/asset/index" + main: "./asset/index" }, output: {}, module: { @@ -42,7 +41,7 @@ module.exports = { immutable: true, isOverSizeLimit: false, related: {}, - sourceFilename: "fixtures/asset/image.png", + sourceFilename: "asset/image.png", }, { chunkhash: [], contenthash: [], @@ -56,4 +55,4 @@ module.exports = { }, }]); } -}; +}); diff --git a/tests/rspack-test/statsAPICases/basic.js b/tests/rspack-test/statsAPICases/basic.js index 1211cffd5345..a826b8d6a2e9 100644 --- a/tests/rspack-test/statsAPICases/basic.js +++ b/tests/rspack-test/statsAPICases/basic.js @@ -1,11 +1,10 @@ -/** @type {import('../..').TStatsAPICaseConfig} */ -module.exports = { +defineStatsAPICase(Utils.basename(__filename), { description: "should have stats", options(context) { return { context: context.getSource(), entry: { - main: "./fixtures/a" + main: "./a" } }; }, @@ -66,7 +65,7 @@ module.exports = { main.js, ], filteredModules: undefined, - hash: 8c119b10eb3bf1e9, + hash: 4ee9e6e51ec11d11, id: 889, idHints: Array [], initial: true, @@ -86,7 +85,7 @@ module.exports = { errors: 0, failed: false, filteredReasons: undefined, - id: 195, + id: 670, identifier: /fixtures/a.js, index: 0, index2: 0, @@ -96,10 +95,10 @@ module.exports = { issuerPath: undefined, layer: undefined, moduleType: javascript/auto, - name: ./fixtures/a.js, + name: ./a.js, nameForCondition: /fixtures/a.js, optimizationBailout: Array [ - Statement with side_effects in source code at ./fixtures/a.js, + Statement with side_effects in source code at ./a.js, ModuleConcatenation bailout: Module is not an ECMAScript module, ], optional: false, @@ -115,17 +114,17 @@ module.exports = { moduleId: null, resolvedModuleId: null, type: entry, - userRequest: ./fixtures/a, + userRequest: ./a, }, Object { active: true, explanation: undefined, loc: undefined, - moduleId: 195, + moduleId: 670, moduleIdentifier: /fixtures/a.js, - moduleName: ./fixtures/a.js, - resolvedModule: ./fixtures/a.js, - resolvedModuleId: 195, + moduleName: ./a.js, + resolvedModule: ./a.js, + resolvedModuleId: 670, resolvedModuleIdentifier: /fixtures/a.js, type: cjs self exports reference, userRequest: self, @@ -153,7 +152,7 @@ module.exports = { moduleId: undefined, moduleIdentifier: , moduleName: , - request: ./fixtures/a, + request: ./a, }, ], parents: Array [], @@ -196,7 +195,7 @@ module.exports = { errorsCount: 0, filteredAssets: undefined, filteredModules: undefined, - hash: 73a5752d7bf35dcd, + hash: 01bf851dd9d2b320, modules: Array [ Object { assets: Array [], @@ -213,7 +212,7 @@ module.exports = { errors: 0, failed: false, filteredReasons: undefined, - id: 195, + id: 670, identifier: /fixtures/a.js, index: 0, index2: 0, @@ -223,10 +222,10 @@ module.exports = { issuerPath: undefined, layer: undefined, moduleType: javascript/auto, - name: ./fixtures/a.js, + name: ./a.js, nameForCondition: /fixtures/a.js, optimizationBailout: Array [ - Statement with side_effects in source code at ./fixtures/a.js, + Statement with side_effects in source code at ./a.js, ModuleConcatenation bailout: Module is not an ECMAScript module, ], optional: false, @@ -242,17 +241,17 @@ module.exports = { moduleId: null, resolvedModuleId: null, type: entry, - userRequest: ./fixtures/a, + userRequest: ./a, }, Object { active: true, explanation: undefined, loc: undefined, - moduleId: 195, + moduleId: 670, moduleIdentifier: /fixtures/a.js, - moduleName: ./fixtures/a.js, - resolvedModule: ./fixtures/a.js, - resolvedModuleId: 195, + moduleName: ./a.js, + resolvedModule: ./a.js, + resolvedModuleId: 670, resolvedModuleIdentifier: /fixtures/a.js, type: cjs self exports reference, userRequest: self, @@ -302,21 +301,21 @@ module.exports = { asset main.js 204 bytes {889} [emitted] (name: main) Entrypoint main 204 bytes = main.js chunk {889} (runtime: main) main.js (main) 55 bytes [entry] [rendered] - > ./fixtures/a main - ./fixtures/a.js [195] 55 bytes {889} [depth 0] [built] [code generated] + > ./a main + ./a.js [670] 55 bytes {889} [depth 0] [built] [code generated] [used exports unknown] - Statement with side_effects in source code at ./fixtures/a.js + Statement with side_effects in source code at ./a.js ModuleConcatenation bailout: Module is not an ECMAScript module - entry ./fixtures/a - cjs self exports reference self [195] ./fixtures/a.js - ./fixtures/a.js [195] 55 bytes {889} [depth 0] [built] [code generated] + entry ./a + cjs self exports reference self [670] ./a.js + ./a.js [670] 55 bytes {889} [depth 0] [built] [code generated] [used exports unknown] - Statement with side_effects in source code at ./fixtures/a.js + Statement with side_effects in source code at ./a.js ModuleConcatenation bailout: Module is not an ECMAScript module - entry ./fixtures/a - cjs self exports reference self [195] ./fixtures/a.js + entry ./a + cjs self exports reference self [670] ./a.js - Rspack compiled successfully (73a5752d7bf35dcd) + Rspack compiled successfully (01bf851dd9d2b320) `); } -}; +}); diff --git a/tests/rspack-test/statsAPICases/build-time-executed-runtime.js b/tests/rspack-test/statsAPICases/build-time-executed-runtime.js index e4bcac1db7f8..b785f9bb4604 100644 --- a/tests/rspack-test/statsAPICases/build-time-executed-runtime.js +++ b/tests/rspack-test/statsAPICases/build-time-executed-runtime.js @@ -1,12 +1,11 @@ const { CssExtractRspackPlugin } = require("@rspack/core"); -/** @type {import('@rspack/test-tools').TStatsAPICaseConfig} */ -module.exports = { +defineStatsAPICase(Utils.basename(__filename), { description: "should have build time executed", options(context) { return { context: context.getSource(), - entry: "./fixtures/css/index", + entry: "./css/index", module: { rules: [ { @@ -49,4 +48,4 @@ module.exports = { ] `); } -}; +}); diff --git a/tests/rspack-test/statsAPICases/build-time-executed.js b/tests/rspack-test/statsAPICases/build-time-executed.js index 03ed1a877643..1b1cb3ee570c 100644 --- a/tests/rspack-test/statsAPICases/build-time-executed.js +++ b/tests/rspack-test/statsAPICases/build-time-executed.js @@ -1,12 +1,11 @@ const { CssExtractRspackPlugin } = require("@rspack/core"); -/** @type {import('../..').TStatsAPICaseConfig} */ -module.exports = { +defineStatsAPICase(Utils.basename(__filename), { description: "should have build time executed", options(context) { return { context: context.getSource(), - entry: "./fixtures/css/index", + entry: "./css/index", module: { rules: [ { @@ -47,4 +46,4 @@ module.exports = { ] `); } -}; +}); diff --git a/tests/rspack-test/statsAPICases/bundler-info.js b/tests/rspack-test/statsAPICases/bundler-info.js index 9813fe4a0b13..455d996cc443 100644 --- a/tests/rspack-test/statsAPICases/bundler-info.js +++ b/tests/rspack-test/statsAPICases/bundler-info.js @@ -1,10 +1,9 @@ -/** @type {import('@rspack/test-tools').TStatsAPICaseConfig} */ -module.exports = { +defineStatsAPICase(Utils.basename(__filename), { description: "should inject bundler info runtime modules", options(context) { return { context: context.getSource(), - entry: "./fixtures/index", + entry: "./index", experiments: { rspackFuture: { bundlerInfo: { @@ -24,4 +23,4 @@ module.exports = { expect(runtimeModules).toContain("webpack/runtime/rspack_unique_id"); expect(runtimeModules).toContain("webpack/runtime/rspack_version"); } -}; +}); diff --git a/tests/rspack-test/statsAPICases/cache-disabled.js b/tests/rspack-test/statsAPICases/cache-disabled.js index d2f4dfcd7fc4..9e6988cc406b 100644 --- a/tests/rspack-test/statsAPICases/cache-disabled.js +++ b/tests/rspack-test/statsAPICases/cache-disabled.js @@ -1,12 +1,11 @@ const { Stats } = require("@rspack/core"); -/** @type {import('../..').TStatsAPICaseConfig} */ -module.exports = { +defineStatsAPICase(Utils.basename(__filename), { description: "should not have any cache hits log when cache is disabled", options(context) { return { context: context.getSource(), - entry: "./fixtures/abc", + entry: "./abc", cache: false }; }, @@ -21,7 +20,7 @@ module.exports = { }); await new Promise((resolve, reject) => { compiler.__internal__rebuild( - new Set([context.getSource("./fixtures/a")]), + new Set([context.getSource("./a")]), new Set(), err => { if (err) { @@ -41,4 +40,4 @@ module.exports = { expect(stats).not.toContain("module factorize cache"); expect(stats).not.toContain("module code generation cache"); } -}; +}); diff --git a/tests/rspack-test/statsAPICases/cache-enabled.js b/tests/rspack-test/statsAPICases/cache-enabled.js index 6db94d40693f..e9b39bf7ce1b 100644 --- a/tests/rspack-test/statsAPICases/cache-enabled.js +++ b/tests/rspack-test/statsAPICases/cache-enabled.js @@ -1,13 +1,12 @@ const { Stats } = require("@rspack/core"); -/** @type {import('../..').TStatsAPICaseConfig} */ -module.exports = { +defineStatsAPICase(Utils.basename(__filename), { description: "should have any cache hits log of modules in incremental rebuild mode", options(context) { return { context: context.getSource(), - entry: "./fixtures/abc", + entry: "./abc", cache: true }; }, @@ -22,7 +21,7 @@ module.exports = { }); await new Promise((resolve, reject) => { compiler.__internal__rebuild( - new Set([context.getSource("./fixtures/a")]), + new Set([context.getSource("./a")]), new Set(), err => { if (err) { @@ -40,4 +39,4 @@ module.exports = { }); expect(stats).toContain("module code generation cache: 100.0% (4/4)"); } -}; +}); diff --git a/tests/rspack-test/statsAPICases/child-compiler.js b/tests/rspack-test/statsAPICases/child-compiler.js index 38c50c49011d..684b2ae35143 100644 --- a/tests/rspack-test/statsAPICases/child-compiler.js +++ b/tests/rspack-test/statsAPICases/child-compiler.js @@ -1,4 +1,3 @@ -const { createFsFromVolume, Volume } = require("memfs"); let statsJson; class TestPlugin { @@ -15,7 +14,7 @@ class TestPlugin { [ new compiler.webpack.EntryPlugin( compiler.context, - "./fixtures/abc", + "./abc", { name: "TestChild" } ) ] @@ -34,13 +33,12 @@ class TestPlugin { } } -/** @type {import('../..').TStatsAPICaseConfig} */ -module.exports = { +defineStatsAPICase(Utils.basename(__filename), { description: "should have children when using childCompiler", options(context) { return { context: context.getSource(), - entry: "./fixtures/a", + entry: "./a", plugins: [new TestPlugin()] }; }, @@ -58,4 +56,4 @@ module.exports = { expect(children[0].assets.length).toBe(1); expect(children[0].assets[0].name).toBe("TestChild.js"); } -}; +}); diff --git a/tests/rspack-test/statsAPICases/chunk-group.js b/tests/rspack-test/statsAPICases/chunk-group.js index 07fda350f986..46ebd4eae73a 100644 --- a/tests/rspack-test/statsAPICases/chunk-group.js +++ b/tests/rspack-test/statsAPICases/chunk-group.js @@ -1,11 +1,10 @@ -/** @type {import('../..').TStatsAPICaseConfig} */ -module.exports = { +defineStatsAPICase(Utils.basename(__filename), { description: "should generate chunk group asset", options(context) { return { context: context.getSource(), entry: { - main: "./fixtures/order/index" + main: "./order/index" }, optimization: { minimize: false @@ -24,15 +23,15 @@ module.exports = { const string = stats.toString(statsOptions); // entrypoints - expect(string).toContain(`Entrypoint main 13.6 KiB (15.7 KiB) = main.js 13.6 KiB (main.js.map 15.7 KiB)`); - expect(string).toContain(`prefetch: chunk.js 831 bytes {411} (name: chunk) (chunk.js.map 510 bytes)`); + expect(string).toContain(`Entrypoint main 13.4 KiB (15.2 KiB) = main.js 13.4 KiB (main.js.map 15.2 KiB)`); + expect(string).toContain(`prefetch: chunk.js 807 bytes {411} (name: chunk) (chunk.js.map 488 bytes)`); // chunk groups - expect(string).toContain(`Chunk Group chunk 831 bytes (510 bytes) = chunk.js 831 bytes (chunk.js.map 510 bytes)`); - expect(string).toContain(`preload: chunk-b.js 126 bytes {276} (name: chunk-b)`); - expect(string).toContain(`prefetch: chunk-c.js 125 bytes {467} (name: chunk-c), chunk-a.js 126 bytes {181} (name: chunk-a)`); - expect(string).toContain(`Chunk Group chunk-a 126 bytes = chunk-a.js`); - expect(string).toContain(`Chunk Group chunk-b 126 bytes = chunk-b.js`); - expect(string).toContain(`Chunk Group chunk-c 125 bytes = chunk-c.js`); + expect(string).toContain(`Chunk Group chunk 807 bytes (488 bytes) = chunk.js 807 bytes (chunk.js.map 488 bytes)`); + expect(string).toContain(`preload: chunk-b.js 100 bytes {276} (name: chunk-b)`); + expect(string).toContain(`prefetch: chunk-c.js 100 bytes {467} (name: chunk-c), chunk-a.js 100 bytes {181} (name: chunk-a)`); + expect(string).toContain(`Chunk Group chunk-a 100 bytes = chunk-a.js`); + expect(string).toContain(`Chunk Group chunk-b 100 bytes = chunk-b.js`); + expect(string).toContain(`Chunk Group chunk-c 100 bytes = chunk-c.js`); } -}; +}); diff --git a/tests/rspack-test/statsAPICases/chunks.js b/tests/rspack-test/statsAPICases/chunks.js index 2420caa55615..77be7216b6da 100644 --- a/tests/rspack-test/statsAPICases/chunks.js +++ b/tests/rspack-test/statsAPICases/chunks.js @@ -14,13 +14,12 @@ function deepReplace(obj) { } } -/** @type {import('@rspack/test-tools').TStatsAPICaseConfig} */ -module.exports = { +defineStatsAPICase(Utils.basename(__filename), { description: "should output the chunks", options(context) { return { context: context.getSource(), - entry: "./fixtures/chunk-b" + entry: "./chunk-b" }; }, async check(stats) { @@ -42,8 +41,8 @@ module.exports = { modulesSpace: 3 }); expect(string).toContain(`chunk (runtime: main) chunkB.js (chunkB) 94 bytes [rendered]`); - expect(string).toContain(`./fixtures/b.js 94 bytes [built] [code generated]`); - expect(string).toContain(`chunk (runtime: main) main.js (main) 85 bytes (javascript) 8.52 KiB (runtime) [entry] [rendered]`); - expect(string).toContain(`./fixtures/chunk-b.js 85 bytes [built] [code generated]`); + expect(string).toContain(`./b.js 94 bytes [built] [code generated]`); + expect(string).toContain(`chunk (runtime: main) main.js (main) 85 bytes (javascript) 8.33 KiB (runtime) [entry] [rendered]`); + expect(string).toContain(`./chunk-b.js 85 bytes [built] [code generated]`); } -}; +}); diff --git a/tests/rspack-test/statsAPICases/error-chunk.js b/tests/rspack-test/statsAPICases/error-chunk.js index 7b57787609ba..5dafa367b221 100644 --- a/tests/rspack-test/statsAPICases/error-chunk.js +++ b/tests/rspack-test/statsAPICases/error-chunk.js @@ -1,16 +1,15 @@ -/** @type {import('@rspack/test-tools').TStatsAPICaseConfig} */ -module.exports = { +defineStatsAPICase(Utils.basename(__filename), { description: "should output error chunk info", options(context) { return { context: context.getSource(), entry: { a: { - import: "./fixtures/a", + import: "./a", dependOn: "b" }, b: { - import: "./fixtures/b", + import: "./b", dependOn: "a" } } @@ -22,4 +21,4 @@ module.exports = { }); expect(string).toContain(`ERROR in × Entrypoints 'b' and 'a' use 'dependOn' to depend on each other in a circular way.`); } -}; +}); diff --git a/tests/rspack-test/statsAPICases/exports.js b/tests/rspack-test/statsAPICases/exports.js index ddd5e01ca00e..10176aa5e447 100644 --- a/tests/rspack-test/statsAPICases/exports.js +++ b/tests/rspack-test/statsAPICases/exports.js @@ -1,11 +1,10 @@ -/** @type {import('../..').TStatsAPICaseConfig} */ -module.exports = { +defineStatsAPICase(Utils.basename(__filename), { description: "should have usedExports and providedExports stats", options(context) { return { context: context.getSource(), entry: { - main: "./fixtures/esm/abc" + main: "./esm/abc" }, optimization: { usedExports: true, @@ -71,7 +70,7 @@ module.exports = { main.js, ], filteredModules: undefined, - hash: bd4c09fee5c62560, + hash: 28fc5ae2841dd4dd, id: 889, idHints: Array [], initial: true, @@ -92,8 +91,8 @@ module.exports = { failed: false, filteredModules: undefined, filteredReasons: undefined, - id: 720, - identifier: /fixtures/esm/abc.js|0e47874493fdefd960142324ecb88ecc, + id: 413, + identifier: /fixtures/esm/abc.js|c88be72072f63d1667b6e2f5ce14f105, index: 0, index2: 3, issuer: undefined, @@ -126,7 +125,7 @@ module.exports = { issuerPath: undefined, layer: undefined, moduleType: javascript/auto, - name: ./fixtures/esm/abc.js, + name: ./esm/abc.js, nameForCondition: /fixtures/esm/abc.js, optimizationBailout: Array [ ModuleConcatenation bailout: Module is an entry point, @@ -164,17 +163,17 @@ module.exports = { index2: 0, issuer: /fixtures/esm/abc.js, issuerId: undefined, - issuerName: ./fixtures/esm/abc.js, + issuerName: ./esm/abc.js, issuerPath: Array [ Object { id: undefined, identifier: /fixtures/esm/abc.js, - name: ./fixtures/esm/abc.js, + name: ./esm/abc.js, }, ], layer: undefined, moduleType: javascript/auto, - name: ./fixtures/esm/a.js, + name: ./esm/a.js, nameForCondition: /fixtures/esm/a.js, optimizationBailout: Array [], optional: false, @@ -192,8 +191,8 @@ module.exports = { loc: 1:0-24, moduleId: undefined, moduleIdentifier: /fixtures/esm/abc.js, - moduleName: ./fixtures/esm/abc.js, - resolvedModule: ./fixtures/esm/abc.js, + moduleName: ./esm/abc.js, + resolvedModule: ./esm/abc.js, resolvedModuleId: undefined, resolvedModuleIdentifier: /fixtures/esm/abc.js, type: esm import, @@ -205,8 +204,8 @@ module.exports = { loc: 5:0-1, moduleId: undefined, moduleIdentifier: /fixtures/esm/abc.js, - moduleName: ./fixtures/esm/abc.js, - resolvedModule: ./fixtures/esm/abc.js, + moduleName: ./esm/abc.js, + resolvedModule: ./esm/abc.js, resolvedModuleId: undefined, resolvedModuleIdentifier: /fixtures/esm/abc.js, type: esm import specifier, @@ -242,17 +241,17 @@ module.exports = { index2: 1, issuer: /fixtures/esm/abc.js, issuerId: undefined, - issuerName: ./fixtures/esm/abc.js, + issuerName: ./esm/abc.js, issuerPath: Array [ Object { id: undefined, identifier: /fixtures/esm/abc.js, - name: ./fixtures/esm/abc.js, + name: ./esm/abc.js, }, ], layer: undefined, moduleType: javascript/auto, - name: ./fixtures/esm/b.js, + name: ./esm/b.js, nameForCondition: /fixtures/esm/b.js, optimizationBailout: Array [], optional: false, @@ -270,8 +269,8 @@ module.exports = { loc: 2:0-20, moduleId: undefined, moduleIdentifier: /fixtures/esm/abc.js, - moduleName: ./fixtures/esm/abc.js, - resolvedModule: ./fixtures/esm/abc.js, + moduleName: ./esm/abc.js, + resolvedModule: ./esm/abc.js, resolvedModuleId: undefined, resolvedModuleIdentifier: /fixtures/esm/abc.js, type: esm import, @@ -283,8 +282,8 @@ module.exports = { loc: 5:3-4, moduleId: undefined, moduleIdentifier: /fixtures/esm/abc.js, - moduleName: ./fixtures/esm/abc.js, - resolvedModule: ./fixtures/esm/abc.js, + moduleName: ./esm/abc.js, + resolvedModule: ./esm/abc.js, resolvedModuleId: undefined, resolvedModuleIdentifier: /fixtures/esm/abc.js, type: esm import specifier, @@ -320,17 +319,17 @@ module.exports = { index2: 2, issuer: /fixtures/esm/abc.js, issuerId: undefined, - issuerName: ./fixtures/esm/abc.js, + issuerName: ./esm/abc.js, issuerPath: Array [ Object { id: undefined, identifier: /fixtures/esm/abc.js, - name: ./fixtures/esm/abc.js, + name: ./esm/abc.js, }, ], layer: undefined, moduleType: javascript/auto, - name: ./fixtures/esm/c.js, + name: ./esm/c.js, nameForCondition: /fixtures/esm/c.js, optimizationBailout: Array [], optional: false, @@ -348,8 +347,8 @@ module.exports = { loc: 3:0-25, moduleId: undefined, moduleIdentifier: /fixtures/esm/abc.js, - moduleName: ./fixtures/esm/abc.js, - resolvedModule: ./fixtures/esm/abc.js, + moduleName: ./esm/abc.js, + resolvedModule: ./esm/abc.js, resolvedModuleId: undefined, resolvedModuleIdentifier: /fixtures/esm/abc.js, type: esm import, @@ -361,8 +360,8 @@ module.exports = { loc: 5:6-7, moduleId: undefined, moduleIdentifier: /fixtures/esm/abc.js, - moduleName: ./fixtures/esm/abc.js, - resolvedModule: ./fixtures/esm/abc.js, + moduleName: ./esm/abc.js, + resolvedModule: ./esm/abc.js, resolvedModuleId: undefined, resolvedModuleIdentifier: /fixtures/esm/abc.js, type: esm import specifier, @@ -378,7 +377,7 @@ module.exports = { warnings: 0, }, ], - name: ./fixtures/esm/abc.js + 3 modules, + name: ./esm/abc.js + 3 modules, nameForCondition: /fixtures/esm/abc.js, optimizationBailout: Array [], optional: false, @@ -394,7 +393,7 @@ module.exports = { moduleId: null, resolvedModuleId: null, type: entry, - userRequest: ./fixtures/esm/abc, + userRequest: ./esm/abc, }, ], size: 192, @@ -416,7 +415,7 @@ module.exports = { moduleId: undefined, moduleIdentifier: , moduleName: , - request: ./fixtures/esm/abc, + request: ./esm/abc, }, ], parents: Array [], @@ -459,7 +458,7 @@ module.exports = { errorsCount: 0, filteredAssets: undefined, filteredModules: undefined, - hash: da45c190031e1cf4, + hash: 5d2e25c21139a83c, modules: Array [ Object { assets: Array [], @@ -484,7 +483,7 @@ module.exports = { issuerPath: undefined, layer: undefined, moduleType: javascript/auto, - name: ./fixtures/esm/abc.js, + name: ./esm/abc.js, nameForCondition: /fixtures/esm/abc.js, optimizationBailout: Array [ ModuleConcatenation bailout: Module is an entry point, @@ -519,8 +518,8 @@ module.exports = { failed: false, filteredModules: undefined, filteredReasons: undefined, - id: 720, - identifier: /fixtures/esm/abc.js|0e47874493fdefd960142324ecb88ecc, + id: 413, + identifier: /fixtures/esm/abc.js|c88be72072f63d1667b6e2f5ce14f105, index: 0, index2: 3, issuer: undefined, @@ -553,7 +552,7 @@ module.exports = { issuerPath: undefined, layer: undefined, moduleType: javascript/auto, - name: ./fixtures/esm/abc.js, + name: ./esm/abc.js, nameForCondition: /fixtures/esm/abc.js, optimizationBailout: Array [ ModuleConcatenation bailout: Module is an entry point, @@ -591,17 +590,17 @@ module.exports = { index2: 0, issuer: /fixtures/esm/abc.js, issuerId: undefined, - issuerName: ./fixtures/esm/abc.js, + issuerName: ./esm/abc.js, issuerPath: Array [ Object { id: undefined, identifier: /fixtures/esm/abc.js, - name: ./fixtures/esm/abc.js, + name: ./esm/abc.js, }, ], layer: undefined, moduleType: javascript/auto, - name: ./fixtures/esm/a.js, + name: ./esm/a.js, nameForCondition: /fixtures/esm/a.js, optimizationBailout: Array [], optional: false, @@ -619,8 +618,8 @@ module.exports = { loc: 1:0-24, moduleId: undefined, moduleIdentifier: /fixtures/esm/abc.js, - moduleName: ./fixtures/esm/abc.js, - resolvedModule: ./fixtures/esm/abc.js, + moduleName: ./esm/abc.js, + resolvedModule: ./esm/abc.js, resolvedModuleId: undefined, resolvedModuleIdentifier: /fixtures/esm/abc.js, type: esm import, @@ -632,8 +631,8 @@ module.exports = { loc: 5:0-1, moduleId: undefined, moduleIdentifier: /fixtures/esm/abc.js, - moduleName: ./fixtures/esm/abc.js, - resolvedModule: ./fixtures/esm/abc.js, + moduleName: ./esm/abc.js, + resolvedModule: ./esm/abc.js, resolvedModuleId: undefined, resolvedModuleIdentifier: /fixtures/esm/abc.js, type: esm import specifier, @@ -669,17 +668,17 @@ module.exports = { index2: 1, issuer: /fixtures/esm/abc.js, issuerId: undefined, - issuerName: ./fixtures/esm/abc.js, + issuerName: ./esm/abc.js, issuerPath: Array [ Object { id: undefined, identifier: /fixtures/esm/abc.js, - name: ./fixtures/esm/abc.js, + name: ./esm/abc.js, }, ], layer: undefined, moduleType: javascript/auto, - name: ./fixtures/esm/b.js, + name: ./esm/b.js, nameForCondition: /fixtures/esm/b.js, optimizationBailout: Array [], optional: false, @@ -697,8 +696,8 @@ module.exports = { loc: 2:0-20, moduleId: undefined, moduleIdentifier: /fixtures/esm/abc.js, - moduleName: ./fixtures/esm/abc.js, - resolvedModule: ./fixtures/esm/abc.js, + moduleName: ./esm/abc.js, + resolvedModule: ./esm/abc.js, resolvedModuleId: undefined, resolvedModuleIdentifier: /fixtures/esm/abc.js, type: esm import, @@ -710,8 +709,8 @@ module.exports = { loc: 5:3-4, moduleId: undefined, moduleIdentifier: /fixtures/esm/abc.js, - moduleName: ./fixtures/esm/abc.js, - resolvedModule: ./fixtures/esm/abc.js, + moduleName: ./esm/abc.js, + resolvedModule: ./esm/abc.js, resolvedModuleId: undefined, resolvedModuleIdentifier: /fixtures/esm/abc.js, type: esm import specifier, @@ -747,17 +746,17 @@ module.exports = { index2: 2, issuer: /fixtures/esm/abc.js, issuerId: undefined, - issuerName: ./fixtures/esm/abc.js, + issuerName: ./esm/abc.js, issuerPath: Array [ Object { id: undefined, identifier: /fixtures/esm/abc.js, - name: ./fixtures/esm/abc.js, + name: ./esm/abc.js, }, ], layer: undefined, moduleType: javascript/auto, - name: ./fixtures/esm/c.js, + name: ./esm/c.js, nameForCondition: /fixtures/esm/c.js, optimizationBailout: Array [], optional: false, @@ -775,8 +774,8 @@ module.exports = { loc: 3:0-25, moduleId: undefined, moduleIdentifier: /fixtures/esm/abc.js, - moduleName: ./fixtures/esm/abc.js, - resolvedModule: ./fixtures/esm/abc.js, + moduleName: ./esm/abc.js, + resolvedModule: ./esm/abc.js, resolvedModuleId: undefined, resolvedModuleIdentifier: /fixtures/esm/abc.js, type: esm import, @@ -788,8 +787,8 @@ module.exports = { loc: 5:6-7, moduleId: undefined, moduleIdentifier: /fixtures/esm/abc.js, - moduleName: ./fixtures/esm/abc.js, - resolvedModule: ./fixtures/esm/abc.js, + moduleName: ./esm/abc.js, + resolvedModule: ./esm/abc.js, resolvedModuleId: undefined, resolvedModuleIdentifier: /fixtures/esm/abc.js, type: esm import specifier, @@ -805,7 +804,7 @@ module.exports = { warnings: 0, }, ], - name: ./fixtures/esm/abc.js + 3 modules, + name: ./esm/abc.js + 3 modules, nameForCondition: /fixtures/esm/abc.js, optimizationBailout: Array [], optional: false, @@ -821,7 +820,7 @@ module.exports = { moduleId: null, resolvedModuleId: null, type: entry, - userRequest: ./fixtures/esm/abc, + userRequest: ./esm/abc, }, ], size: 192, @@ -851,17 +850,17 @@ module.exports = { index2: 0, issuer: /fixtures/esm/abc.js, issuerId: undefined, - issuerName: ./fixtures/esm/abc.js, + issuerName: ./esm/abc.js, issuerPath: Array [ Object { id: undefined, identifier: /fixtures/esm/abc.js, - name: ./fixtures/esm/abc.js, + name: ./esm/abc.js, }, ], layer: undefined, moduleType: javascript/auto, - name: ./fixtures/esm/a.js, + name: ./esm/a.js, nameForCondition: /fixtures/esm/a.js, optimizationBailout: Array [], optional: false, @@ -879,8 +878,8 @@ module.exports = { loc: 1:0-24, moduleId: undefined, moduleIdentifier: /fixtures/esm/abc.js, - moduleName: ./fixtures/esm/abc.js, - resolvedModule: ./fixtures/esm/abc.js, + moduleName: ./esm/abc.js, + resolvedModule: ./esm/abc.js, resolvedModuleId: undefined, resolvedModuleIdentifier: /fixtures/esm/abc.js, type: esm import, @@ -892,8 +891,8 @@ module.exports = { loc: 5:0-1, moduleId: undefined, moduleIdentifier: /fixtures/esm/abc.js, - moduleName: ./fixtures/esm/abc.js, - resolvedModule: ./fixtures/esm/abc.js, + moduleName: ./esm/abc.js, + resolvedModule: ./esm/abc.js, resolvedModuleId: undefined, resolvedModuleIdentifier: /fixtures/esm/abc.js, type: esm import specifier, @@ -929,17 +928,17 @@ module.exports = { index2: 1, issuer: /fixtures/esm/abc.js, issuerId: undefined, - issuerName: ./fixtures/esm/abc.js, + issuerName: ./esm/abc.js, issuerPath: Array [ Object { id: undefined, identifier: /fixtures/esm/abc.js, - name: ./fixtures/esm/abc.js, + name: ./esm/abc.js, }, ], layer: undefined, moduleType: javascript/auto, - name: ./fixtures/esm/b.js, + name: ./esm/b.js, nameForCondition: /fixtures/esm/b.js, optimizationBailout: Array [], optional: false, @@ -957,8 +956,8 @@ module.exports = { loc: 2:0-20, moduleId: undefined, moduleIdentifier: /fixtures/esm/abc.js, - moduleName: ./fixtures/esm/abc.js, - resolvedModule: ./fixtures/esm/abc.js, + moduleName: ./esm/abc.js, + resolvedModule: ./esm/abc.js, resolvedModuleId: undefined, resolvedModuleIdentifier: /fixtures/esm/abc.js, type: esm import, @@ -970,8 +969,8 @@ module.exports = { loc: 5:3-4, moduleId: undefined, moduleIdentifier: /fixtures/esm/abc.js, - moduleName: ./fixtures/esm/abc.js, - resolvedModule: ./fixtures/esm/abc.js, + moduleName: ./esm/abc.js, + resolvedModule: ./esm/abc.js, resolvedModuleId: undefined, resolvedModuleIdentifier: /fixtures/esm/abc.js, type: esm import specifier, @@ -1007,17 +1006,17 @@ module.exports = { index2: 2, issuer: /fixtures/esm/abc.js, issuerId: undefined, - issuerName: ./fixtures/esm/abc.js, + issuerName: ./esm/abc.js, issuerPath: Array [ Object { id: undefined, identifier: /fixtures/esm/abc.js, - name: ./fixtures/esm/abc.js, + name: ./esm/abc.js, }, ], layer: undefined, moduleType: javascript/auto, - name: ./fixtures/esm/c.js, + name: ./esm/c.js, nameForCondition: /fixtures/esm/c.js, optimizationBailout: Array [], optional: false, @@ -1035,8 +1034,8 @@ module.exports = { loc: 3:0-25, moduleId: undefined, moduleIdentifier: /fixtures/esm/abc.js, - moduleName: ./fixtures/esm/abc.js, - resolvedModule: ./fixtures/esm/abc.js, + moduleName: ./esm/abc.js, + resolvedModule: ./esm/abc.js, resolvedModuleId: undefined, resolvedModuleIdentifier: /fixtures/esm/abc.js, type: esm import, @@ -1048,8 +1047,8 @@ module.exports = { loc: 5:6-7, moduleId: undefined, moduleIdentifier: /fixtures/esm/abc.js, - moduleName: ./fixtures/esm/abc.js, - resolvedModule: ./fixtures/esm/abc.js, + moduleName: ./esm/abc.js, + resolvedModule: ./esm/abc.js, resolvedModuleId: undefined, resolvedModuleIdentifier: /fixtures/esm/abc.js, type: esm import specifier, @@ -1222,10 +1221,10 @@ module.exports = { asset main.js 412 bytes [emitted] (name: main) orphan modules 192 bytes [orphan] 4 modules runtime modules 647 bytes 3 modules - ./fixtures/esm/abc.js + 3 modules 192 bytes [code generated] + ./esm/abc.js + 3 modules 192 bytes [code generated] [no exports] [no exports used] Rspack compiled successfully `); } -}; +}); diff --git a/tests/rspack-test/statsAPICases/ids.js b/tests/rspack-test/statsAPICases/ids.js index 81569085af22..a842293f710c 100644 --- a/tests/rspack-test/statsAPICases/ids.js +++ b/tests/rspack-test/statsAPICases/ids.js @@ -1,10 +1,9 @@ -/** @type {import('../..').TStatsAPICaseConfig} */ -module.exports = { +defineStatsAPICase(Utils.basename(__filename), { description: "should have ids when ids is true", options(context) { return { context: context.getSource(), - entry: "./fixtures/a" + entry: "./a" }; }, async check(stats) { @@ -58,7 +57,7 @@ module.exports = { files: Array [ main.js, ], - hash: 8c119b10eb3bf1e9, + hash: 4ee9e6e51ec11d11, id: 889, idHints: Array [], initial: true, @@ -92,7 +91,7 @@ module.exports = { dependent: undefined, errors: 0, failed: false, - id: 195, + id: 670, identifier: /fixtures/a.js, index: 0, index2: 0, @@ -102,7 +101,7 @@ module.exports = { issuerPath: undefined, layer: undefined, moduleType: javascript/auto, - name: ./fixtures/a.js, + name: ./a.js, nameForCondition: /fixtures/a.js, optional: false, orphan: false, @@ -121,7 +120,7 @@ module.exports = { expect(stats?.toString(options)).toMatchInlineSnapshot(` asset main.js 204 bytes {889} [emitted] (name: main) chunk {889} (runtime: main) main.js (main) 55 bytes [entry] [rendered] - ./fixtures/a.js [195] 55 bytes {889} [built] [code generated] + ./a.js [670] 55 bytes {889} [built] [code generated] `); } -}; +}); diff --git a/tests/rspack-test/statsAPICases/layer-stats.js b/tests/rspack-test/statsAPICases/layer-stats.js index 6fca1ec7125c..3949bad6242d 100644 --- a/tests/rspack-test/statsAPICases/layer-stats.js +++ b/tests/rspack-test/statsAPICases/layer-stats.js @@ -1,16 +1,15 @@ -/** @type {import('@rspack/test-tools').TStatsAPICaseConfig} */ -module.exports = { +defineStatsAPICase(Utils.basename(__filename), { description: "should have module layer", options(context) { return { context: context.getSource(), entry: { main: { - import: "./fixtures/abc", + import: "./abc", layer: "test" }, legacy: { - import: "./fixtures/abc", + import: "./abc", layer: "legacy" } }, @@ -62,4 +61,4 @@ module.exports = { } `); } -}; +}); diff --git a/tests/rspack-test/statsAPICases/layer.js b/tests/rspack-test/statsAPICases/layer.js index 1b7a22d7466c..7ec5b85a99c4 100644 --- a/tests/rspack-test/statsAPICases/layer.js +++ b/tests/rspack-test/statsAPICases/layer.js @@ -1,5 +1,4 @@ -/** @type {import('../../../packages/rspack-test-tools/dist').TStatsAPICaseConfig} */ -module.exports = { +defineStatsAPICase(Utils.basename(__filename), { description: "should have module layer", options(context) { return { @@ -7,7 +6,7 @@ module.exports = { mode: "development", entry: { main: { - import: "./fixtures/abc", + import: "./abc", layer: "test" } }, @@ -29,10 +28,10 @@ module.exports = { expect(jsModules.every(m => m.layer === "test")).toBe(true); const string = stats?.toString(options); expect(string).toMatchInlineSnapshot(` - ./fixtures/abc.js (in test) 83 bytes [built] [code generated] - ./fixtures/a.js (in test) 55 bytes [built] [code generated] - ./fixtures/b.js (in test) 94 bytes [built] [code generated] - ./fixtures/c.js (in test) 72 bytes [built] [code generated] + ./abc.js (in test) 83 bytes [built] [code generated] + ./a.js (in test) 55 bytes [built] [code generated] + ./b.js (in test) 94 bytes [built] [code generated] + ./c.js (in test) 72 bytes [built] [code generated] `); } -}; +}); diff --git a/tests/rspack-test/statsAPICases/modules.js b/tests/rspack-test/statsAPICases/modules.js index 372b856328f5..e01bdf6e6e1f 100644 --- a/tests/rspack-test/statsAPICases/modules.js +++ b/tests/rspack-test/statsAPICases/modules.js @@ -1,11 +1,10 @@ -/** @type {import('../..').TStatsAPICaseConfig} */ -module.exports = { +defineStatsAPICase(Utils.basename(__filename), { description: "should output the specified number of modules when set stats.modulesSpace", options(context) { return { context: context.getSource(), - entry: "./fixtures/abc" + entry: "./abc" }; }, async check(stats) { @@ -29,4 +28,4 @@ module.exports = { // 2 = 3 - 1 = max - filteredChildrenLineReserved ).toBe(2); } -}; +}); diff --git a/tests/rspack-test/statsAPICases/nested-modules.js b/tests/rspack-test/statsAPICases/nested-modules.js index 6493ef2bdf30..db2010062184 100644 --- a/tests/rspack-test/statsAPICases/nested-modules.js +++ b/tests/rspack-test/statsAPICases/nested-modules.js @@ -1,10 +1,9 @@ -/** @type {import('../..').TStatsAPICaseConfig} */ -module.exports = { +defineStatsAPICase(Utils.basename(__filename), { description: "should have nested modules", options(context) { return { context: context.getSource(), - entry: "./fixtures/esm/abc", + entry: "./esm/abc", optimization: { concatenateModules: true } @@ -21,7 +20,7 @@ module.exports = { expect(typeof stats?.hash).toBe("string"); const statsJson = stats?.toJson(statsOptions); const concatedModule = statsJson.modules.find( - m => m.name === "./fixtures/esm/abc.js + 3 modules" + m => m.name === "./esm/abc.js + 3 modules" ); expect(concatedModule).toBeTruthy(); expect(stats?.toString(statsOptions).replace(/\d+ ms/g, "X ms")) @@ -29,9 +28,9 @@ module.exports = { asset main.js 412 bytes [emitted] (name: main) orphan modules 192 bytes [orphan] 4 modules runtime modules 647 bytes 3 modules - ./fixtures/esm/abc.js + 3 modules 192 bytes [code generated] + ./esm/abc.js + 3 modules 192 bytes [code generated] | orphan modules 192 bytes [orphan] 4 modules Rspack compiled successfully `); } -}; +}); diff --git a/tests/rspack-test/statsAPICases/placeholders.js b/tests/rspack-test/statsAPICases/placeholders.js index 504db4a01e3a..11992cfe4f15 100644 --- a/tests/rspack-test/statsAPICases/placeholders.js +++ b/tests/rspack-test/statsAPICases/placeholders.js @@ -10,13 +10,12 @@ class TestPlugin { } } -/** @type {import('../..').TStatsAPICaseConfig} */ -module.exports = { +defineStatsAPICase(Utils.basename(__filename), { description: "should have null as placeholders in stats before chunkIds", options(context) { return { context: context.getSource(), - entry: "./fixtures/a", + entry: "./a", plugins: [new TestPlugin()] }; }, @@ -38,4 +37,4 @@ module.exports = { } `); } -}; +}); diff --git a/tests/rspack-test/statsAPICases/profile.js b/tests/rspack-test/statsAPICases/profile.js index 390fbd797bed..7907c91ccb50 100644 --- a/tests/rspack-test/statsAPICases/profile.js +++ b/tests/rspack-test/statsAPICases/profile.js @@ -1,10 +1,9 @@ -/** @type {import('../..').TStatsAPICaseConfig} */ -module.exports = { +defineStatsAPICase(Utils.basename(__filename), { description: "should have module profile when profile is true", options(context) { return { context: context.getSource(), - entry: "./fixtures/abc", + entry: "./abc", profile: true }; }, @@ -12,14 +11,14 @@ module.exports = { expect( stats?.toString({ all: false, modules: true }).replace(/\d+ ms/g, "X ms") ).toMatchInlineSnapshot(` - ./fixtures/abc.js 83 bytes [built] [code generated] + ./abc.js 83 bytes [built] [code generated] X ms (resolving: X ms, building: X ms) - ./fixtures/a.js 55 bytes [built] [code generated] + ./a.js 55 bytes [built] [code generated] X ms (resolving: X ms, building: X ms) - ./fixtures/b.js 94 bytes [built] [code generated] + ./b.js 94 bytes [built] [code generated] X ms (resolving: X ms, building: X ms) - ./fixtures/c.js 72 bytes [built] [code generated] + ./c.js 72 bytes [built] [code generated] X ms (resolving: X ms, building: X ms) `); } -}; +}); diff --git a/tests/rspack-test/statsAPICases/to-string.js b/tests/rspack-test/statsAPICases/to-string.js index 546183b838f8..dd12d7f085a8 100644 --- a/tests/rspack-test/statsAPICases/to-string.js +++ b/tests/rspack-test/statsAPICases/to-string.js @@ -1,21 +1,20 @@ -/** @type {import('../..').TStatsAPICaseConfig} */ -module.exports = { +defineStatsAPICase(Utils.basename(__filename), { description: "should look not bad for default stats toString", options(context) { return { context: context.getSource(), - entry: "./fixtures/abc" + entry: "./abc" }; }, async check(stats) { expect(stats?.toString({ timings: false, version: false })) .toMatchInlineSnapshot(` asset main.js 344 bytes [emitted] (name: main) - ./fixtures/abc.js 83 bytes [built] [code generated] - ./fixtures/a.js 55 bytes [built] [code generated] - ./fixtures/b.js 94 bytes [built] [code generated] - ./fixtures/c.js 72 bytes [built] [code generated] + ./abc.js 83 bytes [built] [code generated] + ./a.js 55 bytes [built] [code generated] + ./b.js 94 bytes [built] [code generated] + ./c.js 72 bytes [built] [code generated] Rspack compiled successfully `); } -}; +}); diff --git a/tests/rspack-test/statsAPICases/verbose-time.js b/tests/rspack-test/statsAPICases/verbose-time.js index 3df8e2461c26..3ec911a41ec5 100644 --- a/tests/rspack-test/statsAPICases/verbose-time.js +++ b/tests/rspack-test/statsAPICases/verbose-time.js @@ -1,10 +1,9 @@ -/** @type {import('../..').TStatsAPICaseConfig} */ -module.exports = { +defineStatsAPICase(Utils.basename(__filename), { description: "should have time log when logging verbose", options(context) { return { context: context.getSource(), - entry: "./fixtures/abc" + entry: "./abc" }; }, async check(stats) { @@ -83,4 +82,4 @@ module.exports = { 0 chunk group info updated (0 already connected chunk groups reconnected) `); } -}; +}); diff --git a/tests/rspack-test/statsAPICases/with-query.js b/tests/rspack-test/statsAPICases/with-query.js index f1c361a291b4..5c20d15fb188 100644 --- a/tests/rspack-test/statsAPICases/with-query.js +++ b/tests/rspack-test/statsAPICases/with-query.js @@ -1,10 +1,9 @@ -/** @type {import('../..').TStatsAPICaseConfig} */ -module.exports = { +defineStatsAPICase(Utils.basename(__filename), { description: "should output stats with query", options(context) { return { context: context.getSource(), - entry: "./fixtures/abc-query" + entry: "./abc-query" }; }, async check(stats) { @@ -63,7 +62,7 @@ module.exports = { main.js, ], filteredModules: undefined, - hash: 0c401b8ad6c9483e, + hash: 8aa7b2127ad144e0, id: 889, idHints: Array [], initial: true, @@ -83,31 +82,31 @@ module.exports = { errors: 0, failed: false, filteredReasons: undefined, - id: 195, + id: 670, identifier: /fixtures/a.js, index: 3, index2: 1, issuer: /fixtures/c.js?c=3, - issuerId: 679, - issuerName: ./fixtures/c.js?c=3, + issuerId: 642, + issuerName: ./c.js?c=3, issuerPath: Array [ Object { - id: 305, + id: 624, identifier: /fixtures/abc-query.js, - name: ./fixtures/abc-query.js, + name: ./abc-query.js, }, Object { - id: 679, + id: 642, identifier: /fixtures/c.js?c=3, - name: ./fixtures/c.js?c=3, + name: ./c.js?c=3, }, ], layer: undefined, moduleType: javascript/auto, - name: ./fixtures/a.js, + name: ./a.js, nameForCondition: /fixtures/a.js, optimizationBailout: Array [ - Statement with side_effects in source code at ./fixtures/a.js, + Statement with side_effects in source code at ./a.js, ModuleConcatenation bailout: Module is not an ECMAScript module, ], optional: false, @@ -120,11 +119,11 @@ module.exports = { active: true, explanation: undefined, loc: undefined, - moduleId: 195, + moduleId: 670, moduleIdentifier: /fixtures/a.js, - moduleName: ./fixtures/a.js, - resolvedModule: ./fixtures/a.js, - resolvedModuleId: 195, + moduleName: ./a.js, + resolvedModule: ./a.js, + resolvedModuleId: 670, resolvedModuleIdentifier: /fixtures/a.js, type: cjs self exports reference, userRequest: self, @@ -133,11 +132,11 @@ module.exports = { active: true, explanation: undefined, loc: 2:12-17, - moduleId: 679, + moduleId: 642, moduleIdentifier: /fixtures/c.js?c=3, - moduleName: ./fixtures/c.js?c=3, - resolvedModule: ./fixtures/c.js?c=3, - resolvedModuleId: 679, + moduleName: ./c.js?c=3, + resolvedModule: ./c.js?c=3, + resolvedModuleId: 642, resolvedModuleIdentifier: /fixtures/c.js?c=3, type: cjs require, userRequest: ./a, @@ -169,26 +168,26 @@ module.exports = { errors: 0, failed: false, filteredReasons: undefined, - id: 133, + id: 308, identifier: /fixtures/a.js?a=1, index: 1, index2: 0, issuer: /fixtures/abc-query.js, - issuerId: 305, - issuerName: ./fixtures/abc-query.js, + issuerId: 624, + issuerName: ./abc-query.js, issuerPath: Array [ Object { - id: 305, + id: 624, identifier: /fixtures/abc-query.js, - name: ./fixtures/abc-query.js, + name: ./abc-query.js, }, ], layer: undefined, moduleType: javascript/auto, - name: ./fixtures/a.js?a=1, + name: ./a.js?a=1, nameForCondition: /fixtures/a.js, optimizationBailout: Array [ - Statement with side_effects in source code at ./fixtures/a.js?a=1, + Statement with side_effects in source code at ./a.js?a=1, ModuleConcatenation bailout: Module is not an ECMAScript module, ], optional: false, @@ -201,11 +200,11 @@ module.exports = { active: true, explanation: undefined, loc: undefined, - moduleId: 133, + moduleId: 308, moduleIdentifier: /fixtures/a.js?a=1, - moduleName: ./fixtures/a.js?a=1, - resolvedModule: ./fixtures/a.js?a=1, - resolvedModuleId: 133, + moduleName: ./a.js?a=1, + resolvedModule: ./a.js?a=1, + resolvedModuleId: 308, resolvedModuleIdentifier: /fixtures/a.js?a=1, type: cjs self exports reference, userRequest: self, @@ -214,11 +213,11 @@ module.exports = { active: true, explanation: undefined, loc: undefined, - moduleId: 305, + moduleId: 624, moduleIdentifier: /fixtures/abc-query.js, - moduleName: ./fixtures/abc-query.js, - resolvedModule: ./fixtures/abc-query.js, - resolvedModuleId: 305, + moduleName: ./abc-query.js, + resolvedModule: ./abc-query.js, + resolvedModuleId: 624, resolvedModuleIdentifier: /fixtures/abc-query.js, type: cjs export require, userRequest: ./a?a=1, @@ -250,7 +249,7 @@ module.exports = { errors: 0, failed: false, filteredReasons: undefined, - id: 305, + id: 624, identifier: /fixtures/abc-query.js, index: 0, index2: 3, @@ -260,10 +259,10 @@ module.exports = { issuerPath: undefined, layer: undefined, moduleType: javascript/auto, - name: ./fixtures/abc-query.js, + name: ./abc-query.js, nameForCondition: /fixtures/abc-query.js, optimizationBailout: Array [ - Statement with side_effects in source code at ./fixtures/abc-query.js-31, + Statement with side_effects in source code at ./abc-query.js-31, ModuleConcatenation bailout: Module is not an ECMAScript module, ], optional: false, @@ -282,7 +281,7 @@ module.exports = { moduleId: null, resolvedModuleId: null, type: entry, - userRequest: ./fixtures/abc-query, + userRequest: ./abc-query, }, ], size: 99, @@ -311,26 +310,26 @@ module.exports = { errors: 0, failed: false, filteredReasons: undefined, - id: 679, + id: 642, identifier: /fixtures/c.js?c=3, index: 2, index2: 2, issuer: /fixtures/abc-query.js, - issuerId: 305, - issuerName: ./fixtures/abc-query.js, + issuerId: 624, + issuerName: ./abc-query.js, issuerPath: Array [ Object { - id: 305, + id: 624, identifier: /fixtures/abc-query.js, - name: ./fixtures/abc-query.js, + name: ./abc-query.js, }, ], layer: undefined, moduleType: javascript/auto, - name: ./fixtures/c.js?c=3, + name: ./c.js?c=3, nameForCondition: /fixtures/c.js, optimizationBailout: Array [ - Statement with side_effects in source code at ./fixtures/c.js?c=3, + Statement with side_effects in source code at ./c.js?c=3, ModuleConcatenation bailout: Module is not an ECMAScript module, ], optional: false, @@ -343,11 +342,11 @@ module.exports = { active: true, explanation: undefined, loc: undefined, - moduleId: 305, + moduleId: 624, moduleIdentifier: /fixtures/abc-query.js, - moduleName: ./fixtures/abc-query.js, - resolvedModule: ./fixtures/abc-query.js, - resolvedModuleId: 305, + moduleName: ./abc-query.js, + resolvedModule: ./abc-query.js, + resolvedModuleId: 624, resolvedModuleIdentifier: /fixtures/abc-query.js, type: cjs export require, userRequest: ./c?c=3, @@ -356,11 +355,11 @@ module.exports = { active: true, explanation: undefined, loc: undefined, - moduleId: 679, + moduleId: 642, moduleIdentifier: /fixtures/c.js?c=3, - moduleName: ./fixtures/c.js?c=3, - resolvedModule: ./fixtures/c.js?c=3, - resolvedModuleId: 679, + moduleName: ./c.js?c=3, + resolvedModule: ./c.js?c=3, + resolvedModuleId: 642, resolvedModuleIdentifier: /fixtures/c.js?c=3, type: cjs self exports reference, userRequest: self, @@ -389,7 +388,7 @@ module.exports = { moduleId: undefined, moduleIdentifier: , moduleName: , - request: ./fixtures/abc-query, + request: ./abc-query, }, ], parents: Array [], @@ -432,7 +431,7 @@ module.exports = { errorsCount: 0, filteredAssets: undefined, filteredModules: undefined, - hash: deb74c26285bb109, + hash: 9320e4bb5ff0a62c, modules: Array [ Object { assets: Array [], @@ -449,7 +448,7 @@ module.exports = { errors: 0, failed: false, filteredReasons: undefined, - id: 305, + id: 624, identifier: /fixtures/abc-query.js, index: 0, index2: 3, @@ -459,10 +458,10 @@ module.exports = { issuerPath: undefined, layer: undefined, moduleType: javascript/auto, - name: ./fixtures/abc-query.js, + name: ./abc-query.js, nameForCondition: /fixtures/abc-query.js, optimizationBailout: Array [ - Statement with side_effects in source code at ./fixtures/abc-query.js-31, + Statement with side_effects in source code at ./abc-query.js-31, ModuleConcatenation bailout: Module is not an ECMAScript module, ], optional: false, @@ -481,7 +480,7 @@ module.exports = { moduleId: null, resolvedModuleId: null, type: entry, - userRequest: ./fixtures/abc-query, + userRequest: ./abc-query, }, ], size: 99, @@ -510,26 +509,26 @@ module.exports = { errors: 0, failed: false, filteredReasons: undefined, - id: 133, + id: 308, identifier: /fixtures/a.js?a=1, index: 1, index2: 0, issuer: /fixtures/abc-query.js, - issuerId: 305, - issuerName: ./fixtures/abc-query.js, + issuerId: 624, + issuerName: ./abc-query.js, issuerPath: Array [ Object { - id: 305, + id: 624, identifier: /fixtures/abc-query.js, - name: ./fixtures/abc-query.js, + name: ./abc-query.js, }, ], layer: undefined, moduleType: javascript/auto, - name: ./fixtures/a.js?a=1, + name: ./a.js?a=1, nameForCondition: /fixtures/a.js, optimizationBailout: Array [ - Statement with side_effects in source code at ./fixtures/a.js?a=1, + Statement with side_effects in source code at ./a.js?a=1, ModuleConcatenation bailout: Module is not an ECMAScript module, ], optional: false, @@ -542,11 +541,11 @@ module.exports = { active: true, explanation: undefined, loc: undefined, - moduleId: 133, + moduleId: 308, moduleIdentifier: /fixtures/a.js?a=1, - moduleName: ./fixtures/a.js?a=1, - resolvedModule: ./fixtures/a.js?a=1, - resolvedModuleId: 133, + moduleName: ./a.js?a=1, + resolvedModule: ./a.js?a=1, + resolvedModuleId: 308, resolvedModuleIdentifier: /fixtures/a.js?a=1, type: cjs self exports reference, userRequest: self, @@ -555,11 +554,11 @@ module.exports = { active: true, explanation: undefined, loc: undefined, - moduleId: 305, + moduleId: 624, moduleIdentifier: /fixtures/abc-query.js, - moduleName: ./fixtures/abc-query.js, - resolvedModule: ./fixtures/abc-query.js, - resolvedModuleId: 305, + moduleName: ./abc-query.js, + resolvedModule: ./abc-query.js, + resolvedModuleId: 624, resolvedModuleIdentifier: /fixtures/abc-query.js, type: cjs export require, userRequest: ./a?a=1, @@ -591,26 +590,26 @@ module.exports = { errors: 0, failed: false, filteredReasons: undefined, - id: 679, + id: 642, identifier: /fixtures/c.js?c=3, index: 2, index2: 2, issuer: /fixtures/abc-query.js, - issuerId: 305, - issuerName: ./fixtures/abc-query.js, + issuerId: 624, + issuerName: ./abc-query.js, issuerPath: Array [ Object { - id: 305, + id: 624, identifier: /fixtures/abc-query.js, - name: ./fixtures/abc-query.js, + name: ./abc-query.js, }, ], layer: undefined, moduleType: javascript/auto, - name: ./fixtures/c.js?c=3, + name: ./c.js?c=3, nameForCondition: /fixtures/c.js, optimizationBailout: Array [ - Statement with side_effects in source code at ./fixtures/c.js?c=3, + Statement with side_effects in source code at ./c.js?c=3, ModuleConcatenation bailout: Module is not an ECMAScript module, ], optional: false, @@ -623,11 +622,11 @@ module.exports = { active: true, explanation: undefined, loc: undefined, - moduleId: 305, + moduleId: 624, moduleIdentifier: /fixtures/abc-query.js, - moduleName: ./fixtures/abc-query.js, - resolvedModule: ./fixtures/abc-query.js, - resolvedModuleId: 305, + moduleName: ./abc-query.js, + resolvedModule: ./abc-query.js, + resolvedModuleId: 624, resolvedModuleIdentifier: /fixtures/abc-query.js, type: cjs export require, userRequest: ./c?c=3, @@ -636,11 +635,11 @@ module.exports = { active: true, explanation: undefined, loc: undefined, - moduleId: 679, + moduleId: 642, moduleIdentifier: /fixtures/c.js?c=3, - moduleName: ./fixtures/c.js?c=3, - resolvedModule: ./fixtures/c.js?c=3, - resolvedModuleId: 679, + moduleName: ./c.js?c=3, + resolvedModule: ./c.js?c=3, + resolvedModuleId: 642, resolvedModuleIdentifier: /fixtures/c.js?c=3, type: cjs self exports reference, userRequest: self, @@ -673,31 +672,31 @@ module.exports = { errors: 0, failed: false, filteredReasons: undefined, - id: 195, + id: 670, identifier: /fixtures/a.js, index: 3, index2: 1, issuer: /fixtures/c.js?c=3, - issuerId: 679, - issuerName: ./fixtures/c.js?c=3, + issuerId: 642, + issuerName: ./c.js?c=3, issuerPath: Array [ Object { - id: 305, + id: 624, identifier: /fixtures/abc-query.js, - name: ./fixtures/abc-query.js, + name: ./abc-query.js, }, Object { - id: 679, + id: 642, identifier: /fixtures/c.js?c=3, - name: ./fixtures/c.js?c=3, + name: ./c.js?c=3, }, ], layer: undefined, moduleType: javascript/auto, - name: ./fixtures/a.js, + name: ./a.js, nameForCondition: /fixtures/a.js, optimizationBailout: Array [ - Statement with side_effects in source code at ./fixtures/a.js, + Statement with side_effects in source code at ./a.js, ModuleConcatenation bailout: Module is not an ECMAScript module, ], optional: false, @@ -710,11 +709,11 @@ module.exports = { active: true, explanation: undefined, loc: undefined, - moduleId: 195, + moduleId: 670, moduleIdentifier: /fixtures/a.js, - moduleName: ./fixtures/a.js, - resolvedModule: ./fixtures/a.js, - resolvedModuleId: 195, + moduleName: ./a.js, + resolvedModule: ./a.js, + resolvedModuleId: 670, resolvedModuleIdentifier: /fixtures/a.js, type: cjs self exports reference, userRequest: self, @@ -723,11 +722,11 @@ module.exports = { active: true, explanation: undefined, loc: 2:12-17, - moduleId: 679, + moduleId: 642, moduleIdentifier: /fixtures/c.js?c=3, - moduleName: ./fixtures/c.js?c=3, - resolvedModule: ./fixtures/c.js?c=3, - resolvedModuleId: 679, + moduleName: ./c.js?c=3, + resolvedModule: ./c.js?c=3, + resolvedModuleId: 642, resolvedModuleIdentifier: /fixtures/c.js?c=3, type: cjs require, userRequest: ./a, @@ -773,4 +772,4 @@ module.exports = { } `); } -}; +});