Skip to content

Commit 2d7c0c9

Browse files
committed
fix: fix bun support
1 parent 8a64321 commit 2d7c0c9

File tree

2 files changed

+27
-21
lines changed

2 files changed

+27
-21
lines changed

@taddy/babel-plugin/src/helpers/evaluate.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@ import {MACRO_NAME, PACKAGE_NAME} from '../config';
77
import {findBindings} from './findBindings';
88
import {buildCodeByPath} from './buildCodeByPath';
99

10+
import ev from './evaluate.worker.cjs';
11+
1012
// NOTE: bun doesn't support sync-rps
1113
// TODO: support bun environment and avoid transpiling
1214
const evaluateChunk = process.versions.bun
13-
? require('./evaluate.worker.cjs')()
15+
? ev()
1416
: require('sync-rpc')(__dirname + '/evaluate.worker.cjs', 'Evaluate');
1517

1618
const macroRe = new RegExp(MACRO_NAME.replace('.', '\\.'), 'g');

@taddy/babel-plugin/src/helpers/evaluate.worker.cjs

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,31 +3,12 @@ const path = require('path');
33
const fs = require('fs');
44
const resolve = require('resolve');
55

6-
registerPreset('@babel/env', require('@babel/preset-env'));
7-
registerPreset('@babel/typescript', require('@babel/preset-typescript'));
8-
96
const EXTENSIONS = ['.es6', '.es', '.js', '.mjs', '.jsx', '.tsx', '.ts'];
107
const DEFAULT_PRESETS = [
118
['@babel/typescript', {allExtensions: true, isTSX: true}],
129
['@babel/env', {targets: {node: '12'}, modules: 'cjs'}],
1310
];
1411

15-
require('@babel/register')({
16-
ignore: [
17-
(filename) => {
18-
// consider symlinks
19-
const realpath = fs.realpathSync(filename);
20-
21-
if (realpath.includes('node_modules')) return true;
22-
23-
return false;
24-
},
25-
],
26-
presets: DEFAULT_PRESETS,
27-
cache: false,
28-
extensions: EXTENSIONS,
29-
});
30-
3112
const {config} = require('taddy');
3213

3314
const {EVAL_FILENAME_POSTFIX} = require('./utils.cjs');
@@ -102,4 +83,27 @@ const evaluate = async ({content, filename, callbackName}) => {
10283
return {value: JSON.stringify(value)};
10384
};
10485

105-
module.exports = () => evaluate;
86+
module.exports = () => {
87+
registerPreset('@babel/env', require('@babel/preset-env'));
88+
registerPreset('@babel/typescript', require('@babel/preset-typescript'));
89+
90+
if (!process.version.bun) {
91+
require('@babel/register')({
92+
ignore: [
93+
(filename) => {
94+
// consider symlinks
95+
const realpath = fs.realpathSync(filename);
96+
97+
if (realpath.includes('node_modules')) return true;
98+
99+
return false;
100+
},
101+
],
102+
presets: DEFAULT_PRESETS,
103+
cache: false,
104+
extensions: EXTENSIONS,
105+
});
106+
}
107+
108+
return evaluate;
109+
};

0 commit comments

Comments
 (0)