Skip to content

Commit

Permalink
test: check typescript loader
Browse files Browse the repository at this point in the history
PR-URL: #54657
Refs: #54645
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Zeyu "Alex" Yang <himself65@outlook.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
  • Loading branch information
marco-ippolito authored Dec 23, 2024
1 parent 48c75bc commit 56d5865
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 0 deletions.
26 changes: 26 additions & 0 deletions test/es-module/test-typescript.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -323,3 +323,29 @@ test('expect error when executing a TypeScript file with generics', async () =>
strictEqual(result.stdout, '');
strictEqual(result.code, 1);
});

test('execute a TypeScript loader and a .ts file', async () => {
const result = await spawnPromisified(process.execPath, [
'--experimental-strip-types',
'--no-warnings',
'--import',
fixtures.fileURL('typescript/ts/test-loader.ts'),
fixtures.path('typescript/ts/test-typescript.ts'),
]);
strictEqual(result.stderr, '');
match(result.stdout, /Hello, TypeScript!/);
strictEqual(result.code, 0);
});

test('execute a TypeScript loader and a .js file', async () => {
const result = await spawnPromisified(process.execPath, [
'--experimental-strip-types',
'--no-warnings',
'--import',
fixtures.fileURL('typescript/ts/test-loader.ts'),
fixtures.path('typescript/ts/test-simple.js'),
]);
strictEqual(result.stderr, '');
match(result.stdout, /Hello, TypeScript!/);
strictEqual(result.code, 0);
});
11 changes: 11 additions & 0 deletions test/fixtures/typescript/ts/hook.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import type { ResolveHook } from 'node:module';

// Pass through
export const resolve: ResolveHook = async function resolve(specifier, context, nextResolve) {
if(false){
// https://github.com/nodejs/node/issues/54645
// A bug in the typescript parsers swc causes
// the next line to not be parsed correctly
}
return nextResolve(specifier, context);
};
4 changes: 4 additions & 0 deletions test/fixtures/typescript/ts/test-loader.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import { register } from 'node:module';
import * as fixtures from '../../../common/fixtures.mjs';

register(fixtures.fileURL('typescript/ts/hook.ts'));
2 changes: 2 additions & 0 deletions test/fixtures/typescript/ts/test-simple.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
const str = "Hello, TypeScript!";
console.log(str);

0 comments on commit 56d5865

Please sign in to comment.