@vxrn/compiler 1.1.543 → 1.1.545
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 +4 -4
- package/dist/cjs/index.js +3 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/transformBabel.cjs +32 -20
- package/dist/cjs/transformBabel.js +43 -26
- package/dist/cjs/transformBabel.js.map +1 -1
- package/dist/esm/index.js +3 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +3 -3
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/transformBabel.js +44 -27
- package/dist/esm/transformBabel.js.map +1 -1
- package/dist/esm/transformBabel.mjs +33 -21
- package/dist/esm/transformBabel.mjs.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +4 -4
- package/src/transformBabel.ts +60 -33
- package/types/index.d.ts.map +1 -1
- package/types/transformBabel.d.ts +1 -1
- package/types/transformBabel.d.ts.map +1 -1
package/dist/cjs/index.cjs
CHANGED
|
@@ -26,6 +26,7 @@ __export(index_exports, {
|
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(index_exports);
|
|
28
28
|
var import_utils = require("@vxrn/utils"),
|
|
29
|
+
import_node_crypto = require("node:crypto"),
|
|
29
30
|
import_node_fs = require("node:fs"),
|
|
30
31
|
import_promises = require("node:fs/promises"),
|
|
31
32
|
import_node_path = require("node:path"),
|
|
@@ -33,8 +34,7 @@ var import_utils = require("@vxrn/utils"),
|
|
|
33
34
|
import_configure = require("./configure.cjs"),
|
|
34
35
|
import_constants = require("./constants.cjs"),
|
|
35
36
|
import_transformBabel = require("./transformBabel.cjs"),
|
|
36
|
-
import_transformSWC = require("./transformSWC.cjs")
|
|
37
|
-
import_node_crypto = require("node:crypto");
|
|
37
|
+
import_transformSWC = require("./transformSWC.cjs");
|
|
38
38
|
__reExport(index_exports, require("./configure.cjs"), module.exports);
|
|
39
39
|
__reExport(index_exports, require("./transformBabel.cjs"), module.exports);
|
|
40
40
|
__reExport(index_exports, require("./transformSWC.cjs"), module.exports);
|
|
@@ -147,9 +147,9 @@ ${code}`), code;
|
|
|
147
147
|
cacheHash = getCacheHash(code),
|
|
148
148
|
cached = memoryCache[cacheId];
|
|
149
149
|
if (cached?.hash === cacheHash) return (0, import_constants.debug)?.(`Using cache ${_id} ${cacheId}`), cached.out;
|
|
150
|
-
const extension = (0, import_node_path.extname)(_id);
|
|
151
|
-
if (extension === ".css" || !import_constants.validParsers.has(extension)) return;
|
|
152
150
|
let id = _id.split("?")[0];
|
|
151
|
+
const extension = (0, import_node_path.extname)(id);
|
|
152
|
+
if (extension === ".css" || !import_constants.validParsers.has(extension)) return;
|
|
153
153
|
const isPreProcess = id.startsWith("vxrn-swc-preprocess:");
|
|
154
154
|
if (isPreProcess && (id = id.replace("vxrn-swc-preprocess:", "")), id.includes("virtual:")) return;
|
|
155
155
|
const transformProps = {
|
package/dist/cjs/index.js
CHANGED
|
@@ -18,7 +18,7 @@ __export(index_exports, {
|
|
|
18
18
|
createVXRNCompilerPlugin: () => createVXRNCompilerPlugin
|
|
19
19
|
});
|
|
20
20
|
module.exports = __toCommonJS(index_exports);
|
|
21
|
-
var import_utils = require("@vxrn/utils"), import_node_fs = require("node:fs"), import_promises = require("node:fs/promises"), import_node_path = require("node:path"), import_css_to_rn = require("react-native-css-interop/css-to-rn/index.js"), import_configure = require("./configure"), import_constants = require("./constants"), import_transformBabel = require("./transformBabel"), import_transformSWC = require("./transformSWC")
|
|
21
|
+
var import_utils = require("@vxrn/utils"), import_node_crypto = require("node:crypto"), import_node_fs = require("node:fs"), import_promises = require("node:fs/promises"), import_node_path = require("node:path"), import_css_to_rn = require("react-native-css-interop/css-to-rn/index.js"), import_configure = require("./configure"), import_constants = require("./constants"), import_transformBabel = require("./transformBabel"), import_transformSWC = require("./transformSWC");
|
|
22
22
|
__reExport(index_exports, require("./configure"), module.exports);
|
|
23
23
|
__reExport(index_exports, require("./transformBabel"), module.exports);
|
|
24
24
|
__reExport(index_exports, require("./transformSWC"), module.exports);
|
|
@@ -122,10 +122,10 @@ ${code}`), code;
|
|
|
122
122
|
const cacheId = getCacheId(environment, _id), cacheHash = getCacheHash(code), cached = memoryCache[cacheId];
|
|
123
123
|
if (cached?.hash === cacheHash)
|
|
124
124
|
return (0, import_constants.debug)?.(`Using cache ${_id} ${cacheId}`), cached.out;
|
|
125
|
-
|
|
125
|
+
let id = _id.split("?")[0];
|
|
126
|
+
const extension = (0, import_node_path.extname)(id);
|
|
126
127
|
if (extension === ".css" || !import_constants.validParsers.has(extension))
|
|
127
128
|
return;
|
|
128
|
-
let id = _id.split("?")[0];
|
|
129
129
|
const isPreProcess = id.startsWith("vxrn-swc-preprocess:");
|
|
130
130
|
if (isPreProcess && (id = id.replace("vxrn-swc-preprocess:", "")), id.includes("virtual:"))
|
|
131
131
|
return;
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,mBAA4B,wBAC5B,iBAA6B,oBAC7B,kBAAyB,6BACzB,mBAAmC,sBACnC,mBAAwC,wDAGxC,mBAA8B,wBAC9B,mBAAuD,wBACvD,wBAAgD,6BAChD,sBAA6B
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,mBAA4B,wBAC5B,qBAA2B,wBAC3B,iBAA6B,oBAC7B,kBAAyB,6BACzB,mBAAmC,sBACnC,mBAAwC,wDAGxC,mBAA8B,wBAC9B,mBAAuD,wBACvD,wBAAgD,6BAChD,sBAA6B;AAG7B,0BAAc,wBAnBd;AAoBA,0BAAc,6BApBd;AAqBA,0BAAc,2BArBd;AAAA,wBAwBM,aAAa,CAAC,aAAqB,OAAe,GAAG,WAAW,GAAG,EAAE,IACrE,eAAe,CAAC,aAAiB,+BAAW,MAAM,EAAE,OAAO,IAAI,EAAE,OAAO,QAAQ,GAEzE,qBAAqB,MAAM;AACtC,gBAAc,CAAC,GACf,YAAY;AACd;AAEA,IAAI,cAAkF,CAAC,GACnF,YAAY;AAEhB,eAAsB,yBACpB,WACyB;AACzB,QAAM,eAAe,OAAO,YAAY;AACtC,UAAM,WAAO,0BAAY,oBAAoB;AAE7C,WADa,KAAK,MAAM,UAAM,0BAAS,MAAM,OAAO,CAAC,EACzC;AAAA,EACd,GAAG,GAEG,WAAW;AAAA,IACf,KAAK;AAAA,IACL,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,KAAK;AAAA,EACP;AAEA,WAAS,WAAW,MAAc;AAChC,QAAI,CAAC,SAAS,IAAI,EAAG,OAAM,IAAI,MAAM,gBAAgB,IAAI,EAAE;AAC3D,WAAO;AAAA,EACT;AAEA,QAAM,oBAAoB,aAAa,MAAM,GAAG,EAAE,CAAC,GAE7C,oBAAoB,oBAAI,IAAoB,GAG5C,iBAAa,0BAAY,QAAQ,GACjC,iBAAiB,WAAW,MAAM,GAAG,WAAW,QAAQ,uBAAM,cAAc,CAAC;AAKnF,MAAI;AAEJ,SAAO;AAAA,IACL;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA;AAAA,MACT,WAAW,CAAC,OAAQ,OAAO,qCAAoB,KAAK;AAAA,MACpD,MAAM,CAAC,OACL,OAAO,yCACH,iCAAa,uBAAK,YAAY,SAAS,oBAAoB,GAAG,OAAO,IACrE;AAAA,IACR;AAAA,IAEA;AAAA,MACE,MAAM;AAAA,MAEN,UAAU,QAAQ,IAAI;AACpB,cAAM,cAAc,WAAW,KAAK,YAAY,IAAI;AACpD,YAAI,+BAAc,oBAAoB,gBAAgB,SAAS,gBAAgB,kBACzE,0BAAQ,EAAE,MAAM,QAAQ;AAI1B,gBAAM,OAAO,+EAHA,KAAK,cAAU,0CAAwB,QAAQ,EAAE,WAAW,GAAG,CAAC,CAAC,CAGkB,KAC1F,QAAQ,GAAG,EAAE,OAGb,QAAQ,MAAM,QAAQ,iBAAiB,sBAAK,EAAE;AACpD,mCAAkB,IAAI,OAAO,IAAI,GAE1B;AAAA,YACL;AAAA,YACA,IAAI;AAAA,YACJ,KAAK;AAAA,UACP;AAAA,QACF;AAAA,MAEJ;AAAA,MAEA,eAAe,GAAG,QAAQ;AACxB,cAAM,cAAc,WAAW,KAAK,YAAY,IAAI;AAEpD,YAAI,+BAAc,oBAAoB,gBAAgB,SAAS,gBAAgB,YAAY;AACzF,gBAAM,aAAa,OAAO,KAAK,MAAM,EAAE,KAAK,CAAC,MAAM;AACjD,kBAAM,QAAQ,OAAO,CAAC;AACtB,mBAAO,MAAM,QAAQ,WAAW,MAAM,SAAS,MAAM,oBAAoB,KAAK;AAAA,UAChF,CAAC;AACD,cAAI,CAAC;AACH,kBAAM,IAAI,MAAM,wCAAwC;AAG1D,gBAAM,SAAS,OAAO,UAAU,GAE1B,YAAY,OAAO,KAAK,MAAM,EAAE;AAAA,YAAO,CAAC,MAC5C,OAAO,CAAC,EAAE,SAAS,SAAS,SAAS;AAAA,UACvC;AAEA,qBAAW,QAAQ,WAAW;AAC5B,mBAAO,OAAO,IAAI;AAElB,kBAAM,QAAQ,kBAAkB,IAAI,IAAI;AACxC,mBAAO,OAAO;AAAA,EACxB,KAAK;AAAA,EACL,OAAO,IAAI;AAAA;AAAA,UAEH;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IAEA;AAAA,MACE,MAAM;AAAA,MACN,SAAS;AAAA,MAET,QAAQ,MAAM;AACZ,cAAMA,UAAS;AAAA,UACb,SAAS;AAAA,UACT,cAAc;AAAA,YACZ,aAAa;AAAA,UACf;AAAA,UAEA,QAAQ;AAAA,YACN,6BAA6B;AAAA,UAC/B;AAAA,QACF;AAEA,eAAO;AAAA,UACL,cAAc;AAAA,YACZ,KAAKA;AAAA,YACL,SAASA;AAAA,UACX;AAAA,QACF;AAAA,MACF;AAAA,MAEA,eAAe,gBAAgB;AAC7B,iBAAS;AAAA,MACX;AAAA,MAEA,MAAM,UAAU,QAAQ,KAAK;AAC3B,YAAI,OAAO;AACX,cAAM,cAAc,WAAW,KAAK,YAAY,IAAI,GAC9C,WAAW,gBAAgB,SAAS,gBAAgB,WACpD,aACJ,QAAQ,IAAI,aAAa,gBACzB,KAAK,MAAM,KAAK,YAAY,QAAQ,SAAS,sBAAsB,KAAK,IAAI,MAC1E;AAMJ,YAFgB,IAAI,SAAS,kBAAkB;AAG7C,iBAAI,YAAY,CAAC,eACf,OAAO;AAAA,EAAsC,IAAI,KAE/C,YAAY,+BAAc,qBAE5B,OAAO;AAAA,EAAoC,IAAI,KAI1C;AAGT,cAAM,cAAc,QAAQ,IAAI,aAAa,iBAAiB,OAAO,WAAW,UAAU;AAE1F,QAAI,gBACF,QAAQ,KAAK,SAAS,GAAG,SAAS,GAClC,QAAQ,KAAK,MAAM;AAGrB,cAAM,UAAU,WAAW,aAAa,GAAG,GACrC,YAAY,aAAa,IAAI,GAC7B,SAAS,YAAY,OAAO;AAElC,YAAI,QAAQ,SAAS;AACnB,+CAAQ,eAAe,GAAG,IAAI,OAAO,EAAE,GAChC,OAAO;AAGhB,YAAI,KAAK,IAAI,MAAM,GAAG,EAAE,CAAC;AAEzB,cAAM,gBAAY,0BAAQ,EAAE;AAO5B,YALI,cAAc,UAKd,CAAC,8BAAa,IAAI,SAAS;AAC7B;AAIF,cAAM,eAAe,GAAG,WAAW,sBAAsB;AAKzD,YAJI,iBACF,KAAK,GAAG,QAAQ,wBAAwB,EAAE,IAGxC,GAAG,SAAS,UAAU;AACxB;AAGF,cAAM,iBAAoC;AAAA,UACxC;AAAA,UACA;AAAA,UACA,aAAa,CAAC;AAAA,UACd;AAAA,UACA;AAAA,QACF,GAEM,gBAAgB,WAAW,YAAY,cAAc;AAE3D,YAAI,kBAAkB;AACpB;AAGF,YAAI,MAGO;AAEX,YAAI,CAAC,gBAAgB,kBAAkB,OAAO;AAC5C,gBAAM,mBAAe,uCAAgB;AAAA,YACnC,GAAG;AAAA,YACH,aAAa;AAAA,UACf,CAAC;AAED,cAAI,cAAc;AAChB,kBAAM,WAAW,UAAM,sCAAe,IAAI,MAAM,YAAY;AAC5D,YAAI,UAAU,aACZ,0BAAQ,IAAI,EAAE,qCAAqC,KAAK,UAAU,YAAY,CAAC,EAAE,GAGjF,MAAM,EAAE,MAAM,SAAS,MAAM,KAAK,SAAS,IAAI;AAAA,UAEnD;AAAA,QACF;AAIA,cAAM,aAAa;AAAA,UACjB;AAAA,UACA,MAAM,WAAW,QAAQ,OAAO;AAAA,UAChC;AAAA,UACA,GAAG;AAAA,QACL,GAEM,SAAS,UAAM,kCAAa,IAAI,KAAK,QAAQ,MAAM;AAAA,UACvD,KAAK;AAAA;AAAA,UAEL,OAAO,gBAAgB,gBAAgB;AAAA,UACvC,GAAG;AAAA,QACL,CAAC;AAED,eAAI,WACF,MAAM;AAAA,UACJ,MAAM,QAAQ;AAAA,UACd,KAAK,QAAQ;AAAA,QACf,IAGE,gBACF,QAAQ,KAAK,cAAc,UAAU,GACrC,QAAQ,KAAK,iBAAiB,KAAK,IAAI,IAGrC,QACF,aAAa,KAAK,KAAK,QAEnB,YAAY,YACd,mBAAmB,GAErB,YAAY,OAAO,IAAI,EAAE,KAAK,MAAM,UAAU,IAGzC;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;",
|
|
5
5
|
"names": ["config"]
|
|
6
6
|
}
|
|
@@ -52,31 +52,43 @@ const getOptions = (props, force = !1) => {
|
|
|
52
52
|
!/node_modules/.test(props.id) &&
|
|
53
53
|
// only needed for createElement calls, so be a bit conservative
|
|
54
54
|
props.code.includes("createElement");
|
|
55
|
-
return enableNativewind && (props.id.includes("node_modules") || plugins.push((0, import_utils.resolvePath)("react-native-css-interop/dist/babel-plugin.js"))), (enableNativewind || shouldBabelReanimated(props)) && ((0, import_constants.debug)?.("Using babel reanimated on file"), plugins.push(
|
|
55
|
+
return enableNativewind && (props.id.includes("node_modules") || plugins.push((0, import_utils.resolvePath)("react-native-css-interop/dist/babel-plugin.js"))), (enableNativewind || shouldBabelReanimated(props)) && ((0, import_constants.debug)?.("Using babel reanimated on file"), plugins.push(
|
|
56
|
+
// TODO make this configurable
|
|
57
|
+
process.env.VXRN_WORKLET_PLUGIN ? "react-native-worklets/plugin" : "react-native-reanimated/plugin")), shouldBabelReactCompiler(props) && ((0, import_constants.debug)?.("Using babel react compiler on file"), plugins.push(getBabelReactCompilerPlugin(props))), shouldBabelReactNativeCodegen(props) && ((0, import_constants.debug)?.("Using babel @react-native/babel-plugin-codegen on file"), plugins.push("@react-native/babel-plugin-codegen")), plugins.length || presets.length ? {
|
|
56
58
|
plugins,
|
|
57
59
|
presets
|
|
58
60
|
} : null;
|
|
59
61
|
};
|
|
60
62
|
async function transformBabel(id, code, options) {
|
|
61
|
-
const compilerPlugin = options.plugins?.find(x => x && x[0] === "babel-plugin-react-compiler")
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
63
|
+
const compilerPlugin = options.plugins?.find(x => x && x[0] === "babel-plugin-react-compiler");
|
|
64
|
+
try {
|
|
65
|
+
const extension = (0, import_node_path.extname)(id),
|
|
66
|
+
isTSX = extension === ".tsx",
|
|
67
|
+
isTS = isTSX || extension === ".ts",
|
|
68
|
+
out = await new Promise((res, rej) => {
|
|
69
|
+
import_core.default.transform(code, {
|
|
70
|
+
filename: id,
|
|
71
|
+
compact: !1,
|
|
72
|
+
babelrc: !1,
|
|
73
|
+
configFile: !1,
|
|
74
|
+
sourceMaps: !0,
|
|
75
|
+
minified: !1,
|
|
76
|
+
...options,
|
|
77
|
+
presets: [isTS ? ["@babel/preset-typescript", {
|
|
78
|
+
isTSX,
|
|
79
|
+
allExtensions: isTSX
|
|
80
|
+
}] : "", ...(options.presets || [])].filter(Boolean)
|
|
81
|
+
}, (err, result) => {
|
|
82
|
+
if (!result || err) return rej(err || "no res");
|
|
83
|
+
res(result);
|
|
84
|
+
});
|
|
75
85
|
});
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
86
|
+
return compilerPlugin &&
|
|
87
|
+
// TODO this detection could be a lot faster
|
|
88
|
+
out.code?.includes(compilerPlugin[1] === "18" ? "react-compiler-runtime" : "react/compiler-runtime") && console.info(` \u{1FA84} [compiler] ${(0, import_node_path.relative)(process.cwd(), id)}`), out;
|
|
89
|
+
} catch (err) {
|
|
90
|
+
console.error("[vxrn:compiler] babel transform error", err), console.error("code", code), console.error("id", id);
|
|
91
|
+
}
|
|
80
92
|
}
|
|
81
93
|
const getBasePlugins = ({
|
|
82
94
|
development
|
|
@@ -113,5 +125,5 @@ function shouldBabelReanimated({
|
|
|
113
125
|
code,
|
|
114
126
|
id
|
|
115
127
|
}) {
|
|
116
|
-
return import_configure.configuration.enableReanimated ?
|
|
128
|
+
return import_configure.configuration.enableReanimated ? !REANIMATED_IGNORED_PATHS_REGEX.test(id) && REANIMATED_REGEX.test(code) ? ((0, import_constants.debug)?.(` \u{1FA84} [reanimated] ${(0, import_node_path.relative)(process.cwd(), id)}`), !0) : ((0, import_constants.debug)?.(` not using reanimated ${(0, import_node_path.relative)(process.cwd(), id)}`), !1) : !1;
|
|
117
129
|
}
|
|
@@ -37,33 +37,50 @@ const getOptions = (props, force = !1) => {
|
|
|
37
37
|
const enableNativewind = import_configure.configuration.enableNativewind && (props.environment === "ios" || props.environment === "android") && // if reanimated gets wrapped in transform it causes circular dep issues
|
|
38
38
|
!/node_modules/.test(props.id) && // only needed for createElement calls, so be a bit conservative
|
|
39
39
|
props.code.includes("createElement");
|
|
40
|
-
return enableNativewind && (props.id.includes("node_modules") || plugins.push((0, import_utils.resolvePath)("react-native-css-interop/dist/babel-plugin.js"))), (enableNativewind || shouldBabelReanimated(props)) && ((0, import_constants.debug)?.("Using babel reanimated on file"), plugins.push(
|
|
40
|
+
return enableNativewind && (props.id.includes("node_modules") || plugins.push((0, import_utils.resolvePath)("react-native-css-interop/dist/babel-plugin.js"))), (enableNativewind || shouldBabelReanimated(props)) && ((0, import_constants.debug)?.("Using babel reanimated on file"), plugins.push(
|
|
41
|
+
// TODO make this configurable
|
|
42
|
+
process.env.VXRN_WORKLET_PLUGIN ? "react-native-worklets/plugin" : "react-native-reanimated/plugin"
|
|
43
|
+
)), shouldBabelReactCompiler(props) && ((0, import_constants.debug)?.("Using babel react compiler on file"), plugins.push(getBabelReactCompilerPlugin(props))), shouldBabelReactNativeCodegen(props) && ((0, import_constants.debug)?.("Using babel @react-native/babel-plugin-codegen on file"), plugins.push("@react-native/babel-plugin-codegen")), plugins.length || presets.length ? { plugins, presets } : null;
|
|
41
44
|
};
|
|
42
45
|
async function transformBabel(id, code, options) {
|
|
43
|
-
const compilerPlugin = options.plugins?.find((x) => x && x[0] === "babel-plugin-react-compiler")
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
46
|
+
const compilerPlugin = options.plugins?.find((x) => x && x[0] === "babel-plugin-react-compiler");
|
|
47
|
+
try {
|
|
48
|
+
const extension = (0, import_node_path.extname)(id), isTSX = extension === ".tsx", isTS = isTSX || extension === ".ts", out = await new Promise((res, rej) => {
|
|
49
|
+
import_core.default.transform(
|
|
50
|
+
code,
|
|
51
|
+
{
|
|
52
|
+
filename: id,
|
|
53
|
+
compact: !1,
|
|
54
|
+
babelrc: !1,
|
|
55
|
+
configFile: !1,
|
|
56
|
+
sourceMaps: !0,
|
|
57
|
+
minified: !1,
|
|
58
|
+
...options,
|
|
59
|
+
presets: [
|
|
60
|
+
isTS ? [
|
|
61
|
+
"@babel/preset-typescript",
|
|
62
|
+
{
|
|
63
|
+
isTSX,
|
|
64
|
+
allExtensions: isTSX
|
|
65
|
+
}
|
|
66
|
+
] : "",
|
|
67
|
+
...options.presets || []
|
|
68
|
+
].filter(Boolean)
|
|
69
|
+
},
|
|
70
|
+
(err, result) => {
|
|
71
|
+
if (!result || err)
|
|
72
|
+
return rej(err || "no res");
|
|
73
|
+
res(result);
|
|
74
|
+
}
|
|
75
|
+
);
|
|
76
|
+
});
|
|
77
|
+
return compilerPlugin && // TODO this detection could be a lot faster
|
|
78
|
+
out.code?.includes(
|
|
79
|
+
compilerPlugin[1] === "18" ? "react-compiler-runtime" : "react/compiler-runtime"
|
|
80
|
+
) && console.info(` \u{1FA84} [compiler] ${(0, import_node_path.relative)(process.cwd(), id)}`), out;
|
|
81
|
+
} catch (err) {
|
|
82
|
+
console.error("[vxrn:compiler] babel transform error", err), console.error("code", code), console.error("id", id);
|
|
83
|
+
}
|
|
67
84
|
}
|
|
68
85
|
const getBasePlugins = ({ development }) => [
|
|
69
86
|
["@babel/plugin-transform-destructuring"],
|
|
@@ -109,6 +126,6 @@ const REANIMATED_AUTOWORKLETIZATION_KEYWORDS = [
|
|
|
109
126
|
REANIMATED_IGNORED_PATHS.map((s) => s.replace(/\//g, "/")).join("|")
|
|
110
127
|
);
|
|
111
128
|
function shouldBabelReanimated({ code, id }) {
|
|
112
|
-
return import_configure.configuration.enableReanimated ?
|
|
129
|
+
return import_configure.configuration.enableReanimated ? !REANIMATED_IGNORED_PATHS_REGEX.test(id) && REANIMATED_REGEX.test(code) ? ((0, import_constants.debug)?.(` \u{1FA84} [reanimated] ${(0, import_node_path.relative)(process.cwd(), id)}`), !0) : ((0, import_constants.debug)?.(` not using reanimated ${(0, import_node_path.relative)(process.cwd(), id)}`), !1) : !1;
|
|
113
130
|
}
|
|
114
131
|
//# sourceMappingURL=transformBabel.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/transformBabel.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAkB,oCAClB,eAA4B,wBAC5B,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["babel"]
|
|
6
6
|
}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { resolvePath } from "@vxrn/utils";
|
|
2
|
+
import { createHash } from "node:crypto";
|
|
2
3
|
import { readFileSync } from "node:fs";
|
|
3
4
|
import { readFile } from "node:fs/promises";
|
|
4
5
|
import { extname, join, sep } from "node:path";
|
|
@@ -7,7 +8,6 @@ import { configuration } from "./configure";
|
|
|
7
8
|
import { debug, runtimePublicPath, validParsers } from "./constants";
|
|
8
9
|
import { getBabelOptions, transformBabel } from "./transformBabel";
|
|
9
10
|
import { transformSWC } from "./transformSWC";
|
|
10
|
-
import { createHash } from "node:crypto";
|
|
11
11
|
export * from "./configure";
|
|
12
12
|
export * from "./transformBabel";
|
|
13
13
|
export * from "./transformSWC";
|
|
@@ -111,10 +111,10 @@ ${code}`), code;
|
|
|
111
111
|
const cacheId = getCacheId(environment, _id), cacheHash = getCacheHash(code), cached = memoryCache[cacheId];
|
|
112
112
|
if (cached?.hash === cacheHash)
|
|
113
113
|
return debug?.(`Using cache ${_id} ${cacheId}`), cached.out;
|
|
114
|
-
|
|
114
|
+
let id = _id.split("?")[0];
|
|
115
|
+
const extension = extname(id);
|
|
115
116
|
if (extension === ".css" || !validParsers.has(extension))
|
|
116
117
|
return;
|
|
117
|
-
let id = _id.split("?")[0];
|
|
118
118
|
const isPreProcess = id.startsWith("vxrn-swc-preprocess:");
|
|
119
119
|
if (isPreProcess && (id = id.replace("vxrn-swc-preprocess:", "")), id.includes("virtual:"))
|
|
120
120
|
return;
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts"],
|
|
4
|
-
"mappings": "AAKA,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB;AACzB,SAAS,SAAS,MAAM,WAAW;AACnC,SAAS,+BAA+B;AAGxC,SAAS,qBAAqB;AAC9B,SAAS,OAAO,mBAAmB,oBAAoB;AACvD,SAAS,iBAAiB,sBAAsB;AAChD,SAAS,oBAAoB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["config"]
|
|
6
6
|
}
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { resolvePath } from "@vxrn/utils";
|
|
2
|
+
import { createHash } from "node:crypto";
|
|
2
3
|
import { readFileSync } from "node:fs";
|
|
3
4
|
import { readFile } from "node:fs/promises";
|
|
4
5
|
import { extname, join, sep } from "node:path";
|
|
@@ -7,7 +8,6 @@ import { configuration } from "./configure.mjs";
|
|
|
7
8
|
import { debug, runtimePublicPath, validParsers } from "./constants.mjs";
|
|
8
9
|
import { getBabelOptions, transformBabel } from "./transformBabel.mjs";
|
|
9
10
|
import { transformSWC } from "./transformSWC.mjs";
|
|
10
|
-
import { createHash } from "node:crypto";
|
|
11
11
|
export * from "./configure.mjs";
|
|
12
12
|
export * from "./transformBabel.mjs";
|
|
13
13
|
export * from "./transformSWC.mjs";
|
|
@@ -119,9 +119,9 @@ ${code}`), code;
|
|
|
119
119
|
cacheHash = getCacheHash(code),
|
|
120
120
|
cached = memoryCache[cacheId];
|
|
121
121
|
if (cached?.hash === cacheHash) return debug?.(`Using cache ${_id} ${cacheId}`), cached.out;
|
|
122
|
-
const extension = extname(_id);
|
|
123
|
-
if (extension === ".css" || !validParsers.has(extension)) return;
|
|
124
122
|
let id = _id.split("?")[0];
|
|
123
|
+
const extension = extname(id);
|
|
124
|
+
if (extension === ".css" || !validParsers.has(extension)) return;
|
|
125
125
|
const isPreProcess = id.startsWith("vxrn-swc-preprocess:");
|
|
126
126
|
if (isPreProcess && (id = id.replace("vxrn-swc-preprocess:", "")), id.includes("virtual:")) return;
|
|
127
127
|
const transformProps = {
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["resolvePath","readFileSync","readFile","extname","join","sep","cssToReactNativeRuntime","configuration","debug","runtimePublicPath","validParsers","getBabelOptions","transformBabel","transformSWC","
|
|
1
|
+
{"version":3,"names":["resolvePath","createHash","readFileSync","readFile","extname","join","sep","cssToReactNativeRuntime","configuration","debug","runtimePublicPath","validParsers","getBabelOptions","transformBabel","transformSWC","getCacheId","environment","id","getCacheHash","code","update","digest","clearCompilerCache","memoryCache","cacheSize","createVXRNCompilerPlugin","optionsIn","reactVersion","path","JSON","parse","version","envNames","ios","android","client","ssr","getEnvName","name","Error","reactForRNVersion","split","cssTransformCache","Map","rollupPath","rollupNodeMods","slice","indexOf","config","apply","enforce","resolveId","load","import","meta","dirname","transform","codeIn","enableNativeCSS","stringify","inlineRem","newId","cssId","replace","set","map","generateBundle","_","bundle","rootJSName","Object","keys","find","i","chunk","type","fileName","match","rootJS","cssAssets","filter","endsWith","jsCSS","get","config2","esbuild","optimizeDeps","noDiscovery","define","environments","configResolved","resolvedConfig","_id","isNative","production","process","env","NODE_ENV","includes","enableNativewind","shouldDebug","startsWith","console","info","cacheId","cacheHash","cached","hash","out","extension","has","isPreProcess","transformProps","development","userTransform","babelOptions","userSetting","babelOut","swcOptions","mode","command","swcOut","es5","noHMR","length"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import babel from "@babel/core";
|
|
2
2
|
import { resolvePath } from "@vxrn/utils";
|
|
3
|
-
import { relative } from "node:path";
|
|
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) {
|
|
@@ -13,33 +13,50 @@ const getOptions = (props, force = !1) => {
|
|
|
13
13
|
const enableNativewind = configuration.enableNativewind && (props.environment === "ios" || props.environment === "android") && // if reanimated gets wrapped in transform it causes circular dep issues
|
|
14
14
|
!/node_modules/.test(props.id) && // only needed for createElement calls, so be a bit conservative
|
|
15
15
|
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?.("Using babel reanimated on file"), plugins.push(
|
|
16
|
+
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"), plugins.push(
|
|
17
|
+
// TODO make this configurable
|
|
18
|
+
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 || presets.length ? { plugins, presets } : null;
|
|
17
20
|
};
|
|
18
21
|
async function transformBabel(id, code, options) {
|
|
19
|
-
const compilerPlugin = options.plugins?.find((x) => x && x[0] === "babel-plugin-react-compiler")
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
22
|
+
const compilerPlugin = options.plugins?.find((x) => x && x[0] === "babel-plugin-react-compiler");
|
|
23
|
+
try {
|
|
24
|
+
const extension = extname(id), isTSX = extension === ".tsx", isTS = isTSX || extension === ".ts", out = await new Promise((res, rej) => {
|
|
25
|
+
babel.transform(
|
|
26
|
+
code,
|
|
27
|
+
{
|
|
28
|
+
filename: id,
|
|
29
|
+
compact: !1,
|
|
30
|
+
babelrc: !1,
|
|
31
|
+
configFile: !1,
|
|
32
|
+
sourceMaps: !0,
|
|
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);
|
|
50
|
+
}
|
|
51
|
+
);
|
|
52
|
+
});
|
|
53
|
+
return compilerPlugin && // TODO this detection could be a lot faster
|
|
54
|
+
out.code?.includes(
|
|
55
|
+
compilerPlugin[1] === "18" ? "react-compiler-runtime" : "react/compiler-runtime"
|
|
56
|
+
) && console.info(` \u{1FA84} [compiler] ${relative(process.cwd(), id)}`), out;
|
|
57
|
+
} catch (err) {
|
|
58
|
+
console.error("[vxrn:compiler] babel transform error", err), console.error("code", code), console.error("id", id);
|
|
59
|
+
}
|
|
43
60
|
}
|
|
44
61
|
const getBasePlugins = ({ development }) => [
|
|
45
62
|
["@babel/plugin-transform-destructuring"],
|
|
@@ -85,7 +102,7 @@ const REANIMATED_AUTOWORKLETIZATION_KEYWORDS = [
|
|
|
85
102
|
REANIMATED_IGNORED_PATHS.map((s) => s.replace(/\//g, "/")).join("|")
|
|
86
103
|
);
|
|
87
104
|
function shouldBabelReanimated({ code, id }) {
|
|
88
|
-
return configuration.enableReanimated ?
|
|
105
|
+
return configuration.enableReanimated ? !REANIMATED_IGNORED_PATHS_REGEX.test(id) && REANIMATED_REGEX.test(code) ? (debug?.(` \u{1FA84} [reanimated] ${relative(process.cwd(), id)}`), !0) : (debug?.(` not using reanimated ${relative(process.cwd(), id)}`), !1) : !1;
|
|
89
106
|
}
|
|
90
107
|
export {
|
|
91
108
|
getBabelOptions,
|
|
@@ -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,gBAAgB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import babel from "@babel/core";
|
|
2
2
|
import { resolvePath } from "@vxrn/utils";
|
|
3
|
-
import { relative } from "node:path";
|
|
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) {
|
|
@@ -15,31 +15,43 @@ const getOptions = (props, force = !1) => {
|
|
|
15
15
|
!/node_modules/.test(props.id) &&
|
|
16
16
|
// only needed for createElement calls, so be a bit conservative
|
|
17
17
|
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?.("Using babel reanimated on file"), plugins.push(
|
|
18
|
+
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"), plugins.push(
|
|
19
|
+
// 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 || presets.length ? {
|
|
19
21
|
plugins,
|
|
20
22
|
presets
|
|
21
23
|
} : null;
|
|
22
24
|
};
|
|
23
25
|
async function transformBabel(id, code, options) {
|
|
24
|
-
const compilerPlugin = options.plugins?.find(x => x && x[0] === "babel-plugin-react-compiler")
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
26
|
+
const compilerPlugin = options.plugins?.find(x => x && x[0] === "babel-plugin-react-compiler");
|
|
27
|
+
try {
|
|
28
|
+
const extension = extname(id),
|
|
29
|
+
isTSX = extension === ".tsx",
|
|
30
|
+
isTS = isTSX || extension === ".ts",
|
|
31
|
+
out = await new Promise((res, rej) => {
|
|
32
|
+
babel.transform(code, {
|
|
33
|
+
filename: id,
|
|
34
|
+
compact: !1,
|
|
35
|
+
babelrc: !1,
|
|
36
|
+
configFile: !1,
|
|
37
|
+
sourceMaps: !0,
|
|
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
|
+
});
|
|
38
48
|
});
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
49
|
+
return compilerPlugin &&
|
|
50
|
+
// TODO this detection could be a lot faster
|
|
51
|
+
out.code?.includes(compilerPlugin[1] === "18" ? "react-compiler-runtime" : "react/compiler-runtime") && console.info(` \u{1FA84} [compiler] ${relative(process.cwd(), id)}`), out;
|
|
52
|
+
} catch (err) {
|
|
53
|
+
console.error("[vxrn:compiler] babel transform error", err), console.error("code", code), console.error("id", id);
|
|
54
|
+
}
|
|
43
55
|
}
|
|
44
56
|
const getBasePlugins = ({
|
|
45
57
|
development
|
|
@@ -76,7 +88,7 @@ function shouldBabelReanimated({
|
|
|
76
88
|
code,
|
|
77
89
|
id
|
|
78
90
|
}) {
|
|
79
|
-
return configuration.enableReanimated ?
|
|
91
|
+
return configuration.enableReanimated ? !REANIMATED_IGNORED_PATHS_REGEX.test(id) && REANIMATED_REGEX.test(code) ? (debug?.(` \u{1FA84} [reanimated] ${relative(process.cwd(), id)}`), !0) : (debug?.(` not using reanimated ${relative(process.cwd(), id)}`), !1) : !1;
|
|
80
92
|
}
|
|
81
93
|
export { getBabelOptions, transformBabel };
|
|
82
94
|
//# sourceMappingURL=transformBabel.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["babel","resolvePath","relative","configuration","asyncGeneratorRegex","debug","getBabelOptions","props","userSetting","getOptions","transform","excludeDefaultPlugins","force","presets","plugins","shouldBabelGenerators","getBasePlugins","enableNativewind","environment","test","id","code","includes","push","shouldBabelReanimated","shouldBabelReactCompiler","getBabelReactCompilerPlugin","shouldBabelReactNativeCodegen","length","transformBabel","options","compilerPlugin","find","x","out","Promise","res","rej","filename","compact","babelrc","configFile","sourceMaps","minified","err","result","console","info","
|
|
1
|
+
{"version":3,"names":["babel","resolvePath","extname","relative","configuration","asyncGeneratorRegex","debug","getBabelOptions","props","userSetting","getOptions","transform","excludeDefaultPlugins","force","presets","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","isTS","out","Promise","res","rej","filename","compact","babelrc","configFile","sourceMaps","minified","allExtensions","filter","Boolean","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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vxrn/compiler",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.545",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./package.json": "./package.json",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"@babel/plugin-transform-react-jsx": "~7.25.9",
|
|
35
35
|
"@babel/plugin-transform-regenerator": "~7.25.9",
|
|
36
36
|
"@swc/core": "^1.10.4",
|
|
37
|
-
"@vxrn/utils": "1.1.
|
|
38
|
-
"@vxrn/vite-native-client": "1.1.
|
|
37
|
+
"@vxrn/utils": "1.1.545",
|
|
38
|
+
"@vxrn/vite-native-client": "1.1.545",
|
|
39
39
|
"babel-plugin-react-compiler": "^19.1.0-rc.3",
|
|
40
40
|
"react-native-css-interop": "^0.1.22",
|
|
41
41
|
"ts-deepmerge": "^7.0.2",
|
package/src/index.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { resolvePath } from '@vxrn/utils'
|
|
7
|
+
import { createHash } from 'node:crypto'
|
|
7
8
|
import { readFileSync } from 'node:fs'
|
|
8
9
|
import { readFile } from 'node:fs/promises'
|
|
9
10
|
import { extname, join, sep } from 'node:path'
|
|
@@ -15,7 +16,6 @@ import { debug, runtimePublicPath, validParsers } from './constants'
|
|
|
15
16
|
import { getBabelOptions, transformBabel } from './transformBabel'
|
|
16
17
|
import { transformSWC } from './transformSWC'
|
|
17
18
|
import type { Environment, GetTransformProps, Options } from './types'
|
|
18
|
-
import { createHash } from 'node:crypto'
|
|
19
19
|
|
|
20
20
|
export * from './configure'
|
|
21
21
|
export * from './transformBabel'
|
|
@@ -206,7 +206,9 @@ ${rootJS.code}
|
|
|
206
206
|
return cached.out
|
|
207
207
|
}
|
|
208
208
|
|
|
209
|
-
|
|
209
|
+
let id = _id.split('?')[0]
|
|
210
|
+
|
|
211
|
+
const extension = extname(id)
|
|
210
212
|
|
|
211
213
|
if (extension === '.css') {
|
|
212
214
|
// handled in one:compiler-css-to-js
|
|
@@ -217,8 +219,6 @@ ${rootJS.code}
|
|
|
217
219
|
return
|
|
218
220
|
}
|
|
219
221
|
|
|
220
|
-
let id = _id.split('?')[0]
|
|
221
|
-
|
|
222
222
|
// pre process = hmr just are removing jsx but leaving imports as esm
|
|
223
223
|
const isPreProcess = id.startsWith(`vxrn-swc-preprocess:`)
|
|
224
224
|
if (isPreProcess) {
|
package/src/transformBabel.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import babel from '@babel/core'
|
|
2
2
|
import { resolvePath } from '@vxrn/utils'
|
|
3
|
-
import { relative } from 'node:path'
|
|
3
|
+
import { extname, relative } from 'node:path'
|
|
4
4
|
import { configuration } from './configure'
|
|
5
5
|
import { asyncGeneratorRegex, debug } from './constants'
|
|
6
6
|
import type { GetTransformProps, GetTransformResponse } from './types'
|
|
@@ -49,7 +49,12 @@ const getOptions = (props: Props, force = false): babel.TransformOptions | null
|
|
|
49
49
|
|
|
50
50
|
if (enableNativewind || shouldBabelReanimated(props)) {
|
|
51
51
|
debug?.(`Using babel reanimated on file`)
|
|
52
|
-
plugins.push(
|
|
52
|
+
plugins.push(
|
|
53
|
+
// TODO make this configurable
|
|
54
|
+
process.env.VXRN_WORKLET_PLUGIN
|
|
55
|
+
? 'react-native-worklets/plugin'
|
|
56
|
+
: 'react-native-reanimated/plugin'
|
|
57
|
+
)
|
|
53
58
|
}
|
|
54
59
|
|
|
55
60
|
if (shouldBabelReactCompiler(props)) {
|
|
@@ -75,39 +80,60 @@ const getOptions = (props: Props, force = false): babel.TransformOptions | null
|
|
|
75
80
|
export async function transformBabel(id: string, code: string, options: babel.TransformOptions) {
|
|
76
81
|
const compilerPlugin = options.plugins?.find((x) => x && x[0] === 'babel-plugin-react-compiler')
|
|
77
82
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
83
|
+
try {
|
|
84
|
+
const extension = extname(id)
|
|
85
|
+
const isTSX = extension === '.tsx'
|
|
86
|
+
const isTS = isTSX || extension === '.ts'
|
|
87
|
+
|
|
88
|
+
const out = await new Promise<babel.BabelFileResult>((res, rej) => {
|
|
89
|
+
babel.transform(
|
|
90
|
+
code,
|
|
91
|
+
{
|
|
92
|
+
filename: id,
|
|
93
|
+
compact: false,
|
|
94
|
+
babelrc: false,
|
|
95
|
+
configFile: false,
|
|
96
|
+
sourceMaps: true,
|
|
97
|
+
minified: false,
|
|
98
|
+
...options,
|
|
99
|
+
presets: [
|
|
100
|
+
isTS
|
|
101
|
+
? [
|
|
102
|
+
'@babel/preset-typescript',
|
|
103
|
+
{
|
|
104
|
+
isTSX,
|
|
105
|
+
allExtensions: isTSX,
|
|
106
|
+
},
|
|
107
|
+
]
|
|
108
|
+
: '',
|
|
109
|
+
...(options.presets || []),
|
|
110
|
+
].filter(Boolean),
|
|
111
|
+
},
|
|
112
|
+
(err: any, result) => {
|
|
113
|
+
if (!result || err) {
|
|
114
|
+
return rej(err || 'no res')
|
|
115
|
+
}
|
|
116
|
+
res(result!)
|
|
94
117
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
118
|
+
)
|
|
119
|
+
})
|
|
120
|
+
|
|
121
|
+
if (
|
|
122
|
+
compilerPlugin &&
|
|
123
|
+
// TODO this detection could be a lot faster
|
|
124
|
+
out.code?.includes(
|
|
125
|
+
compilerPlugin[1] === '18' ? `react-compiler-runtime` : `react/compiler-runtime`
|
|
126
|
+
)
|
|
127
|
+
) {
|
|
128
|
+
console.info(` 🪄 [compiler] ${relative(process.cwd(), id)}`)
|
|
129
|
+
}
|
|
99
130
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
)
|
|
106
|
-
) {
|
|
107
|
-
console.info(` 🪄 [compiler] ${relative(process.cwd(), id)}`)
|
|
131
|
+
return out
|
|
132
|
+
} catch (err) {
|
|
133
|
+
console.error(`[vxrn:compiler] babel transform error`, err)
|
|
134
|
+
console.error('code', code)
|
|
135
|
+
console.error('id', id)
|
|
108
136
|
}
|
|
109
|
-
|
|
110
|
-
return out
|
|
111
137
|
}
|
|
112
138
|
|
|
113
139
|
const getBasePlugins = ({ development }: Props) =>
|
|
@@ -238,8 +264,9 @@ function shouldBabelReanimated({ code, id }: Props) {
|
|
|
238
264
|
return false
|
|
239
265
|
}
|
|
240
266
|
if (!REANIMATED_IGNORED_PATHS_REGEX.test(id) && REANIMATED_REGEX.test(code)) {
|
|
241
|
-
|
|
267
|
+
debug?.(` 🪄 [reanimated] ${relative(process.cwd(), id)}`)
|
|
242
268
|
return true
|
|
243
269
|
}
|
|
270
|
+
debug?.(` not using reanimated ${relative(process.cwd(), id)}`)
|
|
244
271
|
return false
|
|
245
272
|
}
|
package/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,KAAK,EAAE,YAAY,EAA8B,MAAM,MAAM,CAAA;AAKpE,OAAO,KAAK,EAAkC,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtE,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAK3C,eAAO,MAAM,kBAAkB,YAG9B,CAAA;AAKD,wBAAsB,wBAAwB,CAC5C,SAAS,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAC3B,OAAO,CAAC,YAAY,EAAE,CAAC,CA+QzB"}
|
|
@@ -7,6 +7,6 @@ export declare function getBabelOptions(props: Props): babel.TransformOptions |
|
|
|
7
7
|
/**
|
|
8
8
|
* Transform input to mostly ES5 compatible code, keep ESM syntax, and transform generators.
|
|
9
9
|
*/
|
|
10
|
-
export declare function transformBabel(id: string, code: string, options: babel.TransformOptions): Promise<babel.BabelFileResult>;
|
|
10
|
+
export declare function transformBabel(id: string, code: string, options: babel.TransformOptions): Promise<babel.BabelFileResult | undefined>;
|
|
11
11
|
export {};
|
|
12
12
|
//# sourceMappingURL=transformBabel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformBabel.d.ts","sourceRoot":"","sources":["../src/transformBabel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,aAAa,CAAA;AAK/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAEtE,KAAK,KAAK,GAAG,iBAAiB,GAAG;IAC/B,WAAW,CAAC,EAAE,oBAAoB,CAAA;CACnC,CAAA;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAc3E;
|
|
1
|
+
{"version":3,"file":"transformBabel.d.ts","sourceRoot":"","sources":["../src/transformBabel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,aAAa,CAAA;AAK/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAEtE,KAAK,KAAK,GAAG,iBAAiB,GAAG;IAC/B,WAAW,CAAC,EAAE,oBAAoB,CAAA;CACnC,CAAA;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAc3E;AAmDD;;GAEG;AACH,wBAAsB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,gBAAgB,8CAyD7F"}
|