Skip to content

Commit 963f5fa

Browse files
authored
feat: Add esbuild-register for typescript extensions (#77)
1 parent 57cd597 commit 963f5fa

File tree

6 files changed

+61
-0
lines changed

6 files changed

+61
-0
lines changed

Diff for: index.js

+18
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,15 @@ var extensions = {
146146
'typescript-register',
147147
'typescript-require',
148148
'sucrase/register/ts',
149+
{
150+
module: 'esbuild-register/dist/node',
151+
register: function(mod) {
152+
mod.register({
153+
extensions: ['.ts'],
154+
target: 'node' + process.version.slice(1),
155+
});
156+
},
157+
},
149158
{
150159
module: '@babel/register',
151160
register: function(hook) {
@@ -161,6 +170,15 @@ var extensions = {
161170
'ts-node/register',
162171
'typescript-node/register',
163172
'sucrase/register',
173+
{
174+
module: 'esbuild-register/dist/node',
175+
register: function(mod) {
176+
mod.register({
177+
extensions: ['.tsx'],
178+
target: 'node' + process.version.slice(1),
179+
});
180+
},
181+
},
164182
{
165183
module: '@babel/register',
166184
register: function(hook) {

Diff for: test/fixtures/ts/6/package.json

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"dependencies": {
3+
"esbuild": "^0.14.29",
4+
"esbuild-register": "^3.3.2"
5+
}
6+
}

Diff for: test/fixtures/ts/6/test.ts

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
function add(x: number, y: number): number {
2+
return x + y;
3+
}
4+
5+
export default {
6+
data: {
7+
trueKey: true,
8+
falseKey: false,
9+
subKey: {
10+
subProp: add(0.5, 0.5),
11+
},
12+
},
13+
};

Diff for: test/fixtures/tsx/4/data.tsx

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export const data = {
2+
trueKey: true,
3+
falseKey: false,
4+
subKey: {
5+
subProp: 1,
6+
},
7+
};

Diff for: test/fixtures/tsx/4/package.json

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"dependencies": {
3+
"esbuild": "^0.14.29",
4+
"esbuild-register": "^3.3.2"
5+
}
6+
}

Diff for: test/fixtures/tsx/4/test.tsx

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/** @jsx jsx */
2+
3+
import { data } from "./data";
4+
5+
const Component = (props: object) => ({ data: props });
6+
7+
function jsx(element: typeof Component, props: object) {
8+
return element(props);
9+
}
10+
11+
export default <Component {...data} />;

0 commit comments

Comments
 (0)