@vxrn/compiler 1.1.546 → 1.1.547-1762235181981
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +127 -74
- package/dist/cjs/index.js +127 -60
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/transformBabel.cjs +29 -31
- package/dist/cjs/transformBabel.js +29 -34
- package/dist/cjs/transformBabel.js.map +1 -1
- package/dist/cjs/transformSWC.cjs +3 -3
- package/dist/cjs/transformSWC.js +2 -2
- package/dist/cjs/transformSWC.js.map +1 -1
- package/dist/esm/index.js +126 -61
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/index.mjs +126 -72
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/transformBabel.js +29 -34
- package/dist/esm/transformBabel.js.map +1 -1
- package/dist/esm/transformBabel.mjs +28 -30
- package/dist/esm/transformBabel.mjs.map +1 -1
- package/dist/esm/transformSWC.js +2 -2
- package/dist/esm/transformSWC.js.map +1 -1
- package/dist/esm/transformSWC.mjs +2 -2
- package/dist/esm/transformSWC.mjs.map +1 -1
- package/package.json +7 -11
- package/src/index.ts +218 -131
- package/src/transformBabel.ts +36 -41
- package/src/transformSWC.ts +3 -3
- package/types/index.d.ts +0 -1
- package/types/index.d.ts.map +1 -1
- package/types/transformBabel.d.ts.map +1 -1
- package/types/transformSWC.d.ts.map +1 -1
package/dist/esm/index.mjs
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { resolvePath } from "@vxrn/utils";
|
|
2
|
-
import { createHash } from "node:crypto";
|
|
3
1
|
import { readFileSync } from "node:fs";
|
|
4
2
|
import { readFile } from "node:fs/promises";
|
|
5
3
|
import { extname, join, sep } from "node:path";
|
|
4
|
+
import { resolvePath } from "@vxrn/utils";
|
|
6
5
|
import { cssToReactNativeRuntime } from "react-native-css-interop/css-to-rn/index.js";
|
|
7
6
|
import { configuration } from "./configure.mjs";
|
|
8
7
|
import { debug, runtimePublicPath, validParsers } from "./constants.mjs";
|
|
@@ -11,13 +10,84 @@ import { transformSWC } from "./transformSWC.mjs";
|
|
|
11
10
|
export * from "./configure.mjs";
|
|
12
11
|
export * from "./transformBabel.mjs";
|
|
13
12
|
export * from "./transformSWC.mjs";
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
async function performBabelTransform({
|
|
14
|
+
id,
|
|
15
|
+
code,
|
|
16
|
+
environment,
|
|
17
|
+
production,
|
|
18
|
+
reactForRNVersion,
|
|
19
|
+
optionsIn
|
|
20
|
+
}) {
|
|
21
|
+
const transformProps = {
|
|
22
|
+
id,
|
|
23
|
+
code,
|
|
24
|
+
development: !production,
|
|
25
|
+
environment,
|
|
26
|
+
reactForRNVersion
|
|
27
|
+
},
|
|
28
|
+
userTransform = optionsIn?.transform?.(transformProps);
|
|
29
|
+
if (userTransform === !1) return null;
|
|
30
|
+
if (!id.startsWith("vxrn-swc-preprocess:") && userTransform !== "swc") {
|
|
31
|
+
const babelOptions = getBabelOptions({
|
|
32
|
+
...transformProps,
|
|
33
|
+
userSetting: userTransform
|
|
34
|
+
});
|
|
35
|
+
if (babelOptions) {
|
|
36
|
+
const babelOut = await transformBabel(id, code, babelOptions);
|
|
37
|
+
if (babelOut?.code) return debug?.(`[babel] ${id}`), {
|
|
38
|
+
code: `${babelOut.code}
|
|
39
|
+
// vxrn-did-babel`,
|
|
40
|
+
map: babelOut.map
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
async function performFullTransform({
|
|
47
|
+
codeIn,
|
|
48
|
+
_id,
|
|
49
|
+
environment,
|
|
50
|
+
production,
|
|
51
|
+
reactForRNVersion,
|
|
52
|
+
optionsIn,
|
|
53
|
+
mode
|
|
54
|
+
}) {
|
|
55
|
+
const shouldDebug = process.env.NODE_ENV === "development" && codeIn.startsWith("// debug");
|
|
56
|
+
shouldDebug && (console.info(`[one] ${_id} input:`), console.info(codeIn));
|
|
57
|
+
let id = _id.split("?")[0];
|
|
58
|
+
const extension = extname(id);
|
|
59
|
+
if (extension === ".css" || !validParsers.has(extension)) return;
|
|
60
|
+
const isPreProcess = id.startsWith("vxrn-swc-preprocess:");
|
|
61
|
+
if (isPreProcess && (id = id.replace("vxrn-swc-preprocess:", "")), id.includes("virtual:")) return;
|
|
62
|
+
let code = codeIn,
|
|
63
|
+
out = null;
|
|
64
|
+
if (codeIn.endsWith("// vxrn-did-babel")) debug?.(`[skip babel] ${id}`);else {
|
|
65
|
+
const babelResult = await performBabelTransform({
|
|
66
|
+
id,
|
|
67
|
+
code,
|
|
68
|
+
environment,
|
|
69
|
+
production,
|
|
70
|
+
reactForRNVersion,
|
|
71
|
+
optionsIn
|
|
72
|
+
});
|
|
73
|
+
babelResult && (out = babelResult, code = babelResult.code);
|
|
74
|
+
}
|
|
75
|
+
const swcOptions = {
|
|
76
|
+
environment,
|
|
77
|
+
mode: optionsIn?.mode || mode,
|
|
78
|
+
production,
|
|
79
|
+
...optionsIn
|
|
80
|
+
},
|
|
81
|
+
swcOut = await transformSWC(id, code, {
|
|
82
|
+
es5: !0,
|
|
83
|
+
noHMR: isPreProcess || environment === "ssr",
|
|
84
|
+
...swcOptions
|
|
85
|
+
});
|
|
86
|
+
return swcOut && (debug?.(`[swc] ${id}`), out = {
|
|
87
|
+
code: swcOut.code,
|
|
88
|
+
map: swcOut.map
|
|
89
|
+
}), shouldDebug && (console.info("swcOptions", swcOptions), console.info("final output:", out?.code)), out;
|
|
90
|
+
}
|
|
21
91
|
async function createVXRNCompilerPlugin(optionsIn) {
|
|
22
92
|
const reactVersion = await (async () => {
|
|
23
93
|
const path = resolvePath("react/package.json");
|
|
@@ -86,19 +156,48 @@ ${rootJS.code}
|
|
|
86
156
|
name: "one:compiler",
|
|
87
157
|
enforce: "pre",
|
|
88
158
|
config: () => {
|
|
89
|
-
const
|
|
90
|
-
esbuild: !1,
|
|
159
|
+
const createEnvironmentConfig = environment => ({
|
|
91
160
|
optimizeDeps: {
|
|
92
|
-
|
|
161
|
+
esbuildOptions: {
|
|
162
|
+
plugins: [{
|
|
163
|
+
name: `transform-before-optimize-deps-${environment}`,
|
|
164
|
+
setup(build) {
|
|
165
|
+
build.onLoad({
|
|
166
|
+
filter: /node_modules\/.*\.(tsx?|jsx?|mjs|cjs)$/
|
|
167
|
+
}, async args => {
|
|
168
|
+
const production = process.env.NODE_ENV === "production",
|
|
169
|
+
code = await readFile(args.path, "utf-8");
|
|
170
|
+
debug?.(`[esbuild optimizeDeps] ${args.path}`);
|
|
171
|
+
const result = await performBabelTransform({
|
|
172
|
+
id: args.path,
|
|
173
|
+
code,
|
|
174
|
+
environment,
|
|
175
|
+
production,
|
|
176
|
+
reactForRNVersion,
|
|
177
|
+
optionsIn
|
|
178
|
+
});
|
|
179
|
+
if (!result) return null;
|
|
180
|
+
const ext = extname(args.path),
|
|
181
|
+
loader = ext === ".tsx" ? "tsx" : ext === ".ts" ? "ts" : ext === ".jsx" ? "jsx" : "js";
|
|
182
|
+
return {
|
|
183
|
+
contents: result.code,
|
|
184
|
+
loader
|
|
185
|
+
};
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
}]
|
|
189
|
+
}
|
|
93
190
|
},
|
|
94
191
|
define: {
|
|
95
|
-
"process.env.NATIVEWIND_OS": "native"
|
|
192
|
+
"process.env.NATIVEWIND_OS": JSON.stringify(environment === "ios" || environment === "android" ? "native" : "web")
|
|
96
193
|
}
|
|
97
|
-
};
|
|
194
|
+
});
|
|
98
195
|
return {
|
|
99
196
|
environments: {
|
|
100
|
-
ios:
|
|
101
|
-
android:
|
|
197
|
+
ios: createEnvironmentConfig("ios"),
|
|
198
|
+
android: createEnvironmentConfig("android"),
|
|
199
|
+
client: createEnvironmentConfig("client"),
|
|
200
|
+
ssr: createEnvironmentConfig("ssr")
|
|
102
201
|
}
|
|
103
202
|
};
|
|
104
203
|
},
|
|
@@ -110,64 +209,19 @@ ${rootJS.code}
|
|
|
110
209
|
const environment = getEnvName(this.environment.name),
|
|
111
210
|
isNative = environment === "ios" || environment === "android",
|
|
112
211
|
production = process.env.NODE_ENV === "production" || JSON.parse(this.environment.config?.define?.["process.env.NODE_ENV"] || '""') === "production";
|
|
113
|
-
|
|
212
|
+
return _id.includes("one-entry-native") ? (isNative && !production && (code = `import '@vxrn/vite-native-client'
|
|
114
213
|
${code}`), isNative && configuration.enableNativewind && (code = `import * as x from 'nativewind'
|
|
115
|
-
${code}`), code
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
if (extension === ".css" || !validParsers.has(extension)) return;
|
|
125
|
-
const isPreProcess = id.startsWith("vxrn-swc-preprocess:");
|
|
126
|
-
if (isPreProcess && (id = id.replace("vxrn-swc-preprocess:", "")), id.includes("virtual:")) return;
|
|
127
|
-
const transformProps = {
|
|
128
|
-
id,
|
|
129
|
-
code,
|
|
130
|
-
development: !production,
|
|
131
|
-
environment,
|
|
132
|
-
reactForRNVersion
|
|
133
|
-
},
|
|
134
|
-
userTransform = optionsIn?.transform?.(transformProps);
|
|
135
|
-
if (userTransform === !1) return;
|
|
136
|
-
let out = null;
|
|
137
|
-
if (!isPreProcess && userTransform !== "swc") {
|
|
138
|
-
const babelOptions = getBabelOptions({
|
|
139
|
-
...transformProps,
|
|
140
|
-
userSetting: userTransform
|
|
141
|
-
});
|
|
142
|
-
if (babelOptions) {
|
|
143
|
-
const babelOut = await transformBabel(id, code, babelOptions);
|
|
144
|
-
babelOut?.code && (debug?.(`[${id}] transformed with babel options: ${JSON.stringify(babelOptions)}`), out = {
|
|
145
|
-
code: babelOut.code,
|
|
146
|
-
map: babelOut.map
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
const swcOptions = {
|
|
151
|
-
environment,
|
|
152
|
-
mode: optionsIn?.mode || config.command,
|
|
153
|
-
production,
|
|
154
|
-
...optionsIn
|
|
155
|
-
},
|
|
156
|
-
swcOut = await transformSWC(id, out?.code || code, {
|
|
157
|
-
es5: !0,
|
|
158
|
-
// dont need refresh for ssr, but do for client
|
|
159
|
-
noHMR: isPreProcess || environment === "ssr",
|
|
160
|
-
...swcOptions
|
|
161
|
-
});
|
|
162
|
-
return swcOut && (out = {
|
|
163
|
-
code: swcOut?.code,
|
|
164
|
-
map: swcOut?.map
|
|
165
|
-
}), shouldDebug && (console.info("swcOptions", swcOptions), console.info("final output:", out?.code)), out && (cacheSize += out?.code.length, cacheSize > 52428800 && clearCompilerCache(), memoryCache[cacheId] = {
|
|
166
|
-
out,
|
|
167
|
-
hash: cacheHash
|
|
168
|
-
}), out;
|
|
214
|
+
${code}`), code) : performFullTransform({
|
|
215
|
+
codeIn,
|
|
216
|
+
_id,
|
|
217
|
+
environment,
|
|
218
|
+
production,
|
|
219
|
+
reactForRNVersion,
|
|
220
|
+
optionsIn,
|
|
221
|
+
mode: config.command
|
|
222
|
+
});
|
|
169
223
|
}
|
|
170
224
|
}];
|
|
171
225
|
}
|
|
172
|
-
export {
|
|
226
|
+
export { createVXRNCompilerPlugin };
|
|
173
227
|
//# sourceMappingURL=index.mjs.map
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["readFileSync","readFile","extname","join","sep","resolvePath","cssToReactNativeRuntime","configuration","debug","runtimePublicPath","validParsers","getBabelOptions","transformBabel","transformSWC","performBabelTransform","id","code","environment","production","reactForRNVersion","optionsIn","transformProps","development","userTransform","transform","startsWith","babelOptions","userSetting","babelOut","map","performFullTransform","codeIn","_id","mode","shouldDebug","process","env","NODE_ENV","console","info","split","extension","has","isPreProcess","replace","includes","out","endsWith","babelResult","swcOptions","swcOut","es5","noHMR","createVXRNCompilerPlugin","reactVersion","path","JSON","parse","version","envNames","ios","android","client","ssr","getEnvName","name","Error","cssTransformCache","Map","rollupPath","rollupNodeMods","slice","indexOf","config","apply","enforce","resolveId","load","import","meta","dirname","enableNativeCSS","stringify","inlineRem","newId","cssId","set","generateBundle","_","bundle","rootJSName","Object","keys","find","i","chunk","type","fileName","match","rootJS","cssAssets","filter","jsCSS","get","createEnvironmentConfig","optimizeDeps","esbuildOptions","plugins","setup","build","onLoad","args","result","ext","loader","contents","define","environments","configResolved","resolvedConfig","isNative","enableNativewind","command"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,61 +1,56 @@
|
|
|
1
|
+
import { extname, relative } from "node:path";
|
|
1
2
|
import babel from "@babel/core";
|
|
2
3
|
import { resolvePath } from "@vxrn/utils";
|
|
3
|
-
import { extname, relative } from "node:path";
|
|
4
4
|
import { configuration } from "./configure";
|
|
5
5
|
import { asyncGeneratorRegex, debug } from "./constants";
|
|
6
6
|
function getBabelOptions(props) {
|
|
7
7
|
return props.userSetting === "babel" ? getOptions(props, !0) : typeof props.userSetting > "u" || typeof props.userSetting == "object" && props.userSetting.transform === "babel" ? props.userSetting?.excludeDefaultPlugins ? props.userSetting : getOptions(props) : null;
|
|
8
8
|
}
|
|
9
9
|
const getOptions = (props, force = !1) => {
|
|
10
|
-
const presets = [];
|
|
11
10
|
let plugins = [];
|
|
12
11
|
(force || shouldBabelGenerators(props)) && (plugins = getBasePlugins(props));
|
|
13
12
|
const enableNativewind = configuration.enableNativewind && (props.environment === "ios" || props.environment === "android") && // if reanimated gets wrapped in transform it causes circular dep issues
|
|
14
13
|
!/node_modules/.test(props.id) && // only needed for createElement calls, so be a bit conservative
|
|
15
14
|
props.code.includes("createElement");
|
|
16
|
-
return enableNativewind && (props.id.includes("node_modules") || plugins.push(resolvePath("react-native-css-interop/dist/babel-plugin.js"))), (enableNativewind || shouldBabelReanimated(props)) && (debug?.(
|
|
15
|
+
return enableNativewind && (props.id.includes("node_modules") || plugins.push(resolvePath("react-native-css-interop/dist/babel-plugin.js"))), (enableNativewind || shouldBabelReanimated(props)) && (debug?.(`Using babel reanimated on file ${props.id}`), plugins.push(
|
|
17
16
|
// TODO make this configurable
|
|
18
17
|
process.env.VXRN_WORKLET_PLUGIN ? "react-native-worklets/plugin" : "react-native-reanimated/plugin"
|
|
19
|
-
)), shouldBabelReactCompiler(props) && (debug?.("Using babel react compiler on file"), plugins.push(getBabelReactCompilerPlugin(props))), shouldBabelReactNativeCodegen(props) && (debug?.("Using babel @react-native/babel-plugin-codegen on file"), plugins.push("@react-native/babel-plugin-codegen")), plugins.length
|
|
18
|
+
)), shouldBabelReactCompiler(props) && (debug?.("Using babel react compiler on file"), plugins.push(getBabelReactCompilerPlugin(props))), shouldBabelReactNativeCodegen(props) && (debug?.("Using babel @react-native/babel-plugin-codegen on file"), plugins.push("@react-native/babel-plugin-codegen")), plugins.length ? { plugins } : null;
|
|
20
19
|
};
|
|
21
20
|
async function transformBabel(id, code, options) {
|
|
22
|
-
const compilerPlugin = options.plugins?.find((x) => x && x[0] === "babel-plugin-react-compiler")
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
const compilerPlugin = options.plugins?.find((x) => x && x[0] === "babel-plugin-react-compiler"), extension = extname(id), isTSX = extension === ".tsx", babelOptions = {
|
|
22
|
+
filename: id,
|
|
23
|
+
compact: !1,
|
|
24
|
+
babelrc: !1,
|
|
25
|
+
configFile: !1,
|
|
26
|
+
sourceMaps: !1,
|
|
27
|
+
minified: !1,
|
|
28
|
+
...options,
|
|
29
|
+
presets: [
|
|
30
|
+
isTSX || extension === ".ts" ? [
|
|
31
|
+
"@babel/preset-typescript",
|
|
27
32
|
{
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
babelrc: !1,
|
|
31
|
-
configFile: !1,
|
|
32
|
-
sourceMaps: !1,
|
|
33
|
-
minified: !1,
|
|
34
|
-
...options,
|
|
35
|
-
presets: [
|
|
36
|
-
isTS ? [
|
|
37
|
-
"@babel/preset-typescript",
|
|
38
|
-
{
|
|
39
|
-
isTSX,
|
|
40
|
-
allExtensions: isTSX
|
|
41
|
-
}
|
|
42
|
-
] : "",
|
|
43
|
-
...options.presets || []
|
|
44
|
-
].filter(Boolean)
|
|
45
|
-
},
|
|
46
|
-
(err, result) => {
|
|
47
|
-
if (!result || err)
|
|
48
|
-
return rej(err || "no res");
|
|
49
|
-
res(result);
|
|
33
|
+
isTSX,
|
|
34
|
+
allExtensions: isTSX
|
|
50
35
|
}
|
|
51
|
-
|
|
36
|
+
] : "",
|
|
37
|
+
...options.presets || []
|
|
38
|
+
].filter(Boolean)
|
|
39
|
+
};
|
|
40
|
+
try {
|
|
41
|
+
const out = await new Promise((res, rej) => {
|
|
42
|
+
babel.transform(code, babelOptions, (err, result) => {
|
|
43
|
+
if (!result || err)
|
|
44
|
+
return rej(err || "no res");
|
|
45
|
+
res(result);
|
|
46
|
+
});
|
|
52
47
|
});
|
|
53
48
|
return compilerPlugin && // TODO this detection could be a lot faster
|
|
54
49
|
out.code?.includes(
|
|
55
50
|
compilerPlugin[1] === "18" ? "react-compiler-runtime" : "react/compiler-runtime"
|
|
56
51
|
) && console.info(` \u{1FA84} [compiler] ${relative(process.cwd(), id)}`), out;
|
|
57
52
|
} catch (err) {
|
|
58
|
-
console.error("[vxrn:compiler] babel transform error", err), console.error("code", code), console.error("id", id);
|
|
53
|
+
console.error("[vxrn:compiler] babel transform error", err, "with options", babelOptions), console.error("code", code), console.error("id", id);
|
|
59
54
|
}
|
|
60
55
|
}
|
|
61
56
|
const getBasePlugins = ({ development }) => [
|
|
@@ -71,7 +66,7 @@ const getBasePlugins = ({ development }) => [
|
|
|
71
66
|
regenerator: !1
|
|
72
67
|
}
|
|
73
68
|
]
|
|
74
|
-
], NATIVE_COMPONENT_RE = /NativeComponent\.[jt]sx?$/, SPEC_FILE_RE = /[
|
|
69
|
+
], NATIVE_COMPONENT_RE = /NativeComponent\.[jt]sx?$/, SPEC_FILE_RE = /[/\\]specs?[/\\]/, shouldBabelReactNativeCodegen = ({ id, environment }) => (environment === "ios" || environment === "android") && (NATIVE_COMPONENT_RE.test(id) || SPEC_FILE_RE.test(id)), shouldBabelReactCompiler = (props) => !(props.environment === "ssr" || !configuration.enableCompiler || Array.isArray(configuration.enableCompiler) && !configuration.enableCompiler.includes(props.environment) || !/(\.tsx?)$/.test(props.id) || props.id.includes("node_modules") || props.id.includes("+api.") || props.code.startsWith("// disable-compiler")), getBabelReactCompilerPlugin = (props) => ["babel-plugin-react-compiler", { target: props.reactForRNVersion === "18" && (props.environment === "ios" || props.environment === "android") ? "18" : "19" }];
|
|
75
70
|
function shouldBabelGenerators({ code }) {
|
|
76
71
|
if (process.env.VXRN_USE_BABEL_FOR_GENERATORS)
|
|
77
72
|
return asyncGeneratorRegex.test(code);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/transformBabel.ts"],
|
|
4
|
-
"mappings": "AAAA,OAAO,WAAW;AAClB,SAAS,mBAAmB;AAC5B,SAAS,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
+
import { extname, relative } from "node:path";
|
|
1
2
|
import babel from "@babel/core";
|
|
2
3
|
import { resolvePath } from "@vxrn/utils";
|
|
3
|
-
import { extname, relative } from "node:path";
|
|
4
4
|
import { configuration } from "./configure.mjs";
|
|
5
5
|
import { asyncGeneratorRegex, debug } from "./constants.mjs";
|
|
6
6
|
function getBabelOptions(props) {
|
|
7
7
|
return props.userSetting === "babel" ? getOptions(props, !0) : typeof props.userSetting > "u" || typeof props.userSetting == "object" && props.userSetting.transform === "babel" ? props.userSetting?.excludeDefaultPlugins ? props.userSetting : getOptions(props) : null;
|
|
8
8
|
}
|
|
9
9
|
const getOptions = (props, force = !1) => {
|
|
10
|
-
const presets = [];
|
|
11
10
|
let plugins = [];
|
|
12
11
|
(force || shouldBabelGenerators(props)) && (plugins = getBasePlugins(props));
|
|
13
12
|
const enableNativewind = configuration.enableNativewind && (props.environment === "ios" || props.environment === "android") &&
|
|
@@ -15,42 +14,41 @@ const getOptions = (props, force = !1) => {
|
|
|
15
14
|
!/node_modules/.test(props.id) &&
|
|
16
15
|
// only needed for createElement calls, so be a bit conservative
|
|
17
16
|
props.code.includes("createElement");
|
|
18
|
-
return enableNativewind && (props.id.includes("node_modules") || plugins.push(resolvePath("react-native-css-interop/dist/babel-plugin.js"))), (enableNativewind || shouldBabelReanimated(props)) && (debug?.(
|
|
17
|
+
return enableNativewind && (props.id.includes("node_modules") || plugins.push(resolvePath("react-native-css-interop/dist/babel-plugin.js"))), (enableNativewind || shouldBabelReanimated(props)) && (debug?.(`Using babel reanimated on file ${props.id}`), plugins.push(
|
|
19
18
|
// TODO make this configurable
|
|
20
|
-
process.env.VXRN_WORKLET_PLUGIN ? "react-native-worklets/plugin" : "react-native-reanimated/plugin")), shouldBabelReactCompiler(props) && (debug?.("Using babel react compiler on file"), plugins.push(getBabelReactCompilerPlugin(props))), shouldBabelReactNativeCodegen(props) && (debug?.("Using babel @react-native/babel-plugin-codegen on file"), plugins.push("@react-native/babel-plugin-codegen")), plugins.length
|
|
21
|
-
plugins
|
|
22
|
-
presets
|
|
19
|
+
process.env.VXRN_WORKLET_PLUGIN ? "react-native-worklets/plugin" : "react-native-reanimated/plugin")), shouldBabelReactCompiler(props) && (debug?.("Using babel react compiler on file"), plugins.push(getBabelReactCompilerPlugin(props))), shouldBabelReactNativeCodegen(props) && (debug?.("Using babel @react-native/babel-plugin-codegen on file"), plugins.push("@react-native/babel-plugin-codegen")), plugins.length ? {
|
|
20
|
+
plugins
|
|
23
21
|
} : null;
|
|
24
22
|
};
|
|
25
23
|
async function transformBabel(id, code, options) {
|
|
26
|
-
const compilerPlugin = options.plugins?.find(x => x && x[0] === "babel-plugin-react-compiler")
|
|
24
|
+
const compilerPlugin = options.plugins?.find(x => x && x[0] === "babel-plugin-react-compiler"),
|
|
25
|
+
extension = extname(id),
|
|
26
|
+
isTSX = extension === ".tsx",
|
|
27
|
+
babelOptions = {
|
|
28
|
+
filename: id,
|
|
29
|
+
compact: !1,
|
|
30
|
+
babelrc: !1,
|
|
31
|
+
configFile: !1,
|
|
32
|
+
sourceMaps: !1,
|
|
33
|
+
minified: !1,
|
|
34
|
+
...options,
|
|
35
|
+
presets: [isTSX || extension === ".ts" ? ["@babel/preset-typescript", {
|
|
36
|
+
isTSX,
|
|
37
|
+
allExtensions: isTSX
|
|
38
|
+
}] : "", ...(options.presets || [])].filter(Boolean)
|
|
39
|
+
};
|
|
27
40
|
try {
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
babel.transform(code, {
|
|
33
|
-
filename: id,
|
|
34
|
-
compact: !1,
|
|
35
|
-
babelrc: !1,
|
|
36
|
-
configFile: !1,
|
|
37
|
-
sourceMaps: !1,
|
|
38
|
-
minified: !1,
|
|
39
|
-
...options,
|
|
40
|
-
presets: [isTS ? ["@babel/preset-typescript", {
|
|
41
|
-
isTSX,
|
|
42
|
-
allExtensions: isTSX
|
|
43
|
-
}] : "", ...(options.presets || [])].filter(Boolean)
|
|
44
|
-
}, (err, result) => {
|
|
45
|
-
if (!result || err) return rej(err || "no res");
|
|
46
|
-
res(result);
|
|
47
|
-
});
|
|
41
|
+
const out = await new Promise((res, rej) => {
|
|
42
|
+
babel.transform(code, babelOptions, (err, result) => {
|
|
43
|
+
if (!result || err) return rej(err || "no res");
|
|
44
|
+
res(result);
|
|
48
45
|
});
|
|
46
|
+
});
|
|
49
47
|
return compilerPlugin &&
|
|
50
48
|
// TODO this detection could be a lot faster
|
|
51
49
|
out.code?.includes(compilerPlugin[1] === "18" ? "react-compiler-runtime" : "react/compiler-runtime") && console.info(` \u{1FA84} [compiler] ${relative(process.cwd(), id)}`), out;
|
|
52
50
|
} catch (err) {
|
|
53
|
-
console.error("[vxrn:compiler] babel transform error", err), console.error("code", code), console.error("id", id);
|
|
51
|
+
console.error("[vxrn:compiler] babel transform error", err, "with options", babelOptions), console.error("code", code), console.error("id", id);
|
|
54
52
|
}
|
|
55
53
|
}
|
|
56
54
|
const getBasePlugins = ({
|
|
@@ -63,12 +61,12 @@ const getBasePlugins = ({
|
|
|
63
61
|
regenerator: !1
|
|
64
62
|
}]],
|
|
65
63
|
NATIVE_COMPONENT_RE = /NativeComponent\.[jt]sx?$/,
|
|
66
|
-
SPEC_FILE_RE = /[
|
|
64
|
+
SPEC_FILE_RE = /[/\\]specs?[/\\]/,
|
|
67
65
|
shouldBabelReactNativeCodegen = ({
|
|
68
66
|
id,
|
|
69
67
|
environment
|
|
70
68
|
}) => (environment === "ios" || environment === "android") && (NATIVE_COMPONENT_RE.test(id) || SPEC_FILE_RE.test(id)),
|
|
71
|
-
shouldBabelReactCompiler = props => !(props.environment === "ssr" || !configuration.enableCompiler || Array.isArray(configuration.enableCompiler) && !configuration.enableCompiler.includes(props.environment) ||
|
|
69
|
+
shouldBabelReactCompiler = props => !(props.environment === "ssr" || !configuration.enableCompiler || Array.isArray(configuration.enableCompiler) && !configuration.enableCompiler.includes(props.environment) || !/(\.tsx?)$/.test(props.id) || props.id.includes("node_modules") || props.id.includes("+api.") || props.code.startsWith("// disable-compiler")),
|
|
72
70
|
getBabelReactCompilerPlugin = props => ["babel-plugin-react-compiler", {
|
|
73
71
|
target: props.reactForRNVersion === "18" && (props.environment === "ios" || props.environment === "android") ? "18" : "19"
|
|
74
72
|
}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["extname","relative","babel","resolvePath","configuration","asyncGeneratorRegex","debug","getBabelOptions","props","userSetting","getOptions","transform","excludeDefaultPlugins","force","plugins","shouldBabelGenerators","getBasePlugins","enableNativewind","environment","test","id","code","includes","push","shouldBabelReanimated","process","env","VXRN_WORKLET_PLUGIN","shouldBabelReactCompiler","getBabelReactCompilerPlugin","shouldBabelReactNativeCodegen","length","transformBabel","options","compilerPlugin","find","x","extension","isTSX","babelOptions","filename","compact","babelrc","configFile","sourceMaps","minified","presets","allExtensions","filter","Boolean","out","Promise","res","rej","err","result","console","info","cwd","error","development","helpers","regenerator","NATIVE_COMPONENT_RE","SPEC_FILE_RE","enableCompiler","Array","isArray","startsWith","target","reactForRNVersion","VXRN_USE_BABEL_FOR_GENERATORS","REANIMATED_AUTOWORKLETIZATION_KEYWORDS","REANIMATED_REGEX","RegExp","join","REANIMATED_IGNORED_PATHS","REANIMATED_IGNORED_PATHS_REGEX","map","s","replace","enableReanimated"],"sources":["../../src/transformBabel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/transformSWC.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { extname, sep } from "node:path";
|
|
1
2
|
import {
|
|
2
3
|
transform
|
|
3
4
|
} from "@swc/core";
|
|
4
|
-
import { extname, sep } from "node:path";
|
|
5
5
|
import { merge } from "ts-deepmerge";
|
|
6
6
|
import { configuration } from "./configure";
|
|
7
7
|
import { asyncGeneratorRegex, debug, parsers, runtimePublicPath } from "./constants";
|
|
@@ -107,7 +107,7 @@ ${result.code}`);
|
|
|
107
107
|
)) {
|
|
108
108
|
const fakeExport = `export let ${name} = {};`;
|
|
109
109
|
console.info(
|
|
110
|
-
` \u26A0\uFE0F Fixing non-type-
|
|
110
|
+
` \u26A0\uFE0F Fixing non-type-specific import in node_module, this should be fixed upstream: ${fakeExport} in ${id}`
|
|
111
111
|
), result.code += `
|
|
112
112
|
${fakeExport}
|
|
113
113
|
`;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/transformSWC.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { transform } from "@swc/core";
|
|
2
1
|
import { extname, sep } from "node:path";
|
|
2
|
+
import { transform } from "@swc/core";
|
|
3
3
|
import { merge } from "ts-deepmerge";
|
|
4
4
|
import { configuration } from "./configure.mjs";
|
|
5
5
|
import { asyncGeneratorRegex, debug, parsers, runtimePublicPath } from "./constants.mjs";
|
|
@@ -104,7 +104,7 @@ ${result.code}`);
|
|
|
104
104
|
if (name.startsWith("{") || name.includes("<")) continue;
|
|
105
105
|
if (!new RegExp(`export (const|let|class|function) ${name}\\s+`).test(result.code)) {
|
|
106
106
|
const fakeExport = `export let ${name} = {};`;
|
|
107
|
-
console.info(` \u26A0\uFE0F Fixing non-type-
|
|
107
|
+
console.info(` \u26A0\uFE0F Fixing non-type-specific import in node_module, this should be fixed upstream: ${fakeExport} in ${id}`), result.code += `
|
|
108
108
|
${fakeExport}
|
|
109
109
|
`;
|
|
110
110
|
}
|