From 5e4a473deccf5072c2b0ec8e4b4548aae2add232 Mon Sep 17 00:00:00 2001 From: 9aoy <9aoyuao@gmail.com> Date: Mon, 13 Apr 2026 14:43:11 +0800 Subject: [PATCH] test(app-tools): isolate ts-node-loader fixture config --- .../tests/utils/ts-node-loader.test.ts | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/packages/solutions/app-tools/tests/utils/ts-node-loader.test.ts b/packages/solutions/app-tools/tests/utils/ts-node-loader.test.ts index 3ac2096da02..23c85de64d4 100644 --- a/packages/solutions/app-tools/tests/utils/ts-node-loader.test.ts +++ b/packages/solutions/app-tools/tests/utils/ts-node-loader.test.ts @@ -10,6 +10,7 @@ describe('ts-node-loader', () => { const appDir = path.join(rootDir, 'app'); const serviceDir = path.join(rootDir, 'service'); const serviceFile = path.join(serviceDir, 'user.ts'); + const tsconfigPath = path.join(rootDir, 'tsconfig.json'); const loaderPath = path.resolve( __dirname, '../../src/esm/ts-node-loader.mjs', @@ -18,6 +19,17 @@ describe('ts-node-loader', () => { fs.mkdirSync(appDir, { recursive: true }); fs.mkdirSync(serviceDir, { recursive: true }); fs.writeFileSync(serviceFile, 'export const user = 1;\n'); + // Keep ts-node isolated from workspace-level tsconfig files in CI. + fs.writeFileSync( + tsconfigPath, + JSON.stringify({ + compilerOptions: { + target: 'ES2020', + module: 'NodeNext', + moduleResolution: 'NodeNext', + }, + }), + ); try { const output = childProcess.execFileSync( @@ -55,8 +67,12 @@ describe('ts-node-loader', () => { `, ], { - cwd: process.cwd(), + cwd: rootDir, encoding: 'utf8', + env: { + ...process.env, + TS_NODE_PROJECT: tsconfigPath, + }, }, );