Skip to content

Commit c48a5d5

Browse files
authored
perf: lazy load babel transform (#405)
1 parent c3f6ff4 commit c48a5d5

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

lib/jiti.cjs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,23 @@
11
const { createRequire } = require("node:module");
22
const _createJiti = require("../dist/jiti.cjs");
3-
const transform = require("../dist/babel.cjs");
43

54
function onError(err) {
65
throw err; /* ↓ Check stack trace ↓ */
76
}
87

98
const nativeImport = (id) => import(id);
109

10+
let _transform;
11+
function lazyTransform(...args) {
12+
if (!_transform) {
13+
_transform = require("../dist/babel.cjs");
14+
}
15+
return _transform(...args);
16+
}
17+
1118
function createJiti(id, opts = {}) {
1219
if (!opts.transform) {
13-
opts = { ...opts, transform };
20+
opts = { ...opts, transform: lazyTransform };
1421
}
1522
return _createJiti(id, opts, {
1623
onError,

lib/jiti.mjs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,23 @@
11
import { createRequire } from "node:module";
22
import _createJiti from "../dist/jiti.cjs";
3-
import transform from "../dist/babel.cjs";
43

54
function onError(err) {
65
throw err; /* ↓ Check stack trace ↓ */
76
}
87

98
const nativeImport = (id) => import(id);
109

10+
let _transform;
11+
function lazyTransform(...args) {
12+
if (!_transform) {
13+
_transform = createRequire(import.meta.url)("../dist/babel.cjs");
14+
}
15+
return _transform(...args);
16+
}
17+
1118
export function createJiti(id, opts = {}) {
1219
if (!opts.transform) {
13-
opts = { ...opts, transform };
20+
opts = { ...opts, transform: lazyTransform };
1421
}
1522
return _createJiti(id, opts, {
1623
onError,

0 commit comments

Comments
 (0)