@vxrn/compiler 1.1.397 → 1.1.398

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.
Files changed (76) hide show
  1. package/dist/cjs/configure.cjs +1 -0
  2. package/dist/cjs/configure.js +1 -0
  3. package/dist/cjs/configure.js.map +1 -1
  4. package/dist/cjs/index.cjs +57 -7
  5. package/dist/cjs/index.js +51 -6
  6. package/dist/cjs/index.js.map +1 -1
  7. package/dist/cjs/refresh-runtime.cjs +1 -3
  8. package/dist/cjs/refresh-runtime.js +1 -1
  9. package/dist/cjs/refresh-runtime.js.map +1 -1
  10. package/dist/cjs/transformBabel.cjs +22 -18
  11. package/dist/cjs/transformBabel.js +19 -22
  12. package/dist/cjs/transformBabel.js.map +1 -1
  13. package/dist/cjs/transformSWC.cjs +77 -76
  14. package/dist/cjs/transformSWC.js +76 -76
  15. package/dist/cjs/transformSWC.js.map +1 -1
  16. package/dist/esm/configure.js +1 -0
  17. package/dist/esm/configure.js.map +1 -1
  18. package/dist/esm/configure.mjs +1 -0
  19. package/dist/esm/configure.mjs.map +1 -1
  20. package/dist/esm/index.js +53 -6
  21. package/dist/esm/index.js.map +1 -1
  22. package/dist/esm/index.mjs +58 -8
  23. package/dist/esm/index.mjs.map +1 -1
  24. package/dist/esm/refresh-runtime.js +1 -1
  25. package/dist/esm/refresh-runtime.js.map +1 -1
  26. package/dist/esm/refresh-runtime.mjs +1 -3
  27. package/dist/esm/refresh-runtime.mjs.map +1 -1
  28. package/dist/esm/transformBabel.js +19 -21
  29. package/dist/esm/transformBabel.js.map +1 -1
  30. package/dist/esm/transformBabel.mjs +22 -18
  31. package/dist/esm/transformBabel.mjs.map +1 -1
  32. package/dist/esm/transformSWC.js +77 -77
  33. package/dist/esm/transformSWC.js.map +1 -1
  34. package/dist/esm/transformSWC.mjs +78 -77
  35. package/dist/esm/transformSWC.mjs.map +1 -1
  36. package/package.json +10 -8
  37. package/src/configure.ts +2 -0
  38. package/src/index.ts +108 -11
  39. package/src/refresh-runtime.js +1 -1
  40. package/src/transformBabel.ts +36 -17
  41. package/src/transformSWC.ts +102 -102
  42. package/types/configure.d.ts +1 -0
  43. package/types/configure.d.ts.map +1 -1
  44. package/types/index.d.ts.map +1 -1
  45. package/types/transformBabel.d.ts +1 -1
  46. package/types/transformBabel.d.ts.map +1 -1
  47. package/types/transformSWC.d.ts +4 -1
  48. package/types/transformSWC.d.ts.map +1 -1
  49. package/dist/cjs/configure.native.js +0 -35
  50. package/dist/cjs/configure.native.js.map +0 -6
  51. package/dist/cjs/constants.native.js +0 -65
  52. package/dist/cjs/constants.native.js.map +0 -6
  53. package/dist/cjs/index.native.js +0 -123
  54. package/dist/cjs/index.native.js.map +0 -6
  55. package/dist/cjs/refresh-runtime.native.js +0 -316
  56. package/dist/cjs/refresh-runtime.native.js.map +0 -6
  57. package/dist/cjs/transformBabel.native.js +0 -152
  58. package/dist/cjs/transformBabel.native.js.map +0 -6
  59. package/dist/cjs/transformSWC.native.js +0 -275
  60. package/dist/cjs/transformSWC.native.js.map +0 -6
  61. package/dist/cjs/types.native.js +0 -15
  62. package/dist/cjs/types.native.js.map +0 -6
  63. package/dist/esm/configure.native.js +0 -13
  64. package/dist/esm/configure.native.js.map +0 -6
  65. package/dist/esm/constants.native.js +0 -41
  66. package/dist/esm/constants.native.js.map +0 -6
  67. package/dist/esm/index.native.js +0 -104
  68. package/dist/esm/index.native.js.map +0 -6
  69. package/dist/esm/refresh-runtime.native.js +0 -290
  70. package/dist/esm/refresh-runtime.native.js.map +0 -6
  71. package/dist/esm/transformBabel.native.js +0 -125
  72. package/dist/esm/transformBabel.native.js.map +0 -6
  73. package/dist/esm/transformSWC.native.js +0 -257
  74. package/dist/esm/transformSWC.native.js.map +0 -6
  75. package/dist/esm/types.native.js +0 -1
  76. package/dist/esm/types.native.js.map +0 -6
@@ -29,25 +29,25 @@ var import_core = require("@swc/core"),
29
29
  import_ts_deepmerge = require("ts-deepmerge"),
30
30
  import_configure = require("./configure.cjs"),
31
31
  import_constants = require("./constants.cjs");
32
+ const ignoreId = new RegExp(`node_modules\\${import_node_path.sep}(\\.vite|vite)\\${import_node_path.sep}`);
32
33
  async function transformSWC(id, code, options, swcOptions) {
33
- if (id.includes(".vite") || (id = id.split("?")[0].replace(process.cwd(), ""), id === import_constants.runtimePublicPath)) return;
34
+ if (ignoreId.test(id) || (id = id.split("?")[0].replace(process.cwd(), ""), id === import_constants.runtimePublicPath)) return;
34
35
  const parser = getParser(id, options.forceJSX);
35
36
  if (!parser) return;
36
- const enableNativeCSS = import_configure.configuration.enableNativeCSS &&
37
- // temp fix idk why this error:
38
- // node_modules/react-native-reanimated/src/component/LayoutAnimationConfig.tsx (19:9): "createInteropElement" is not exported by "../../node_modules/react-native-css-interop/dist/runtime/jsx-dev-runtime.js", imported by "node_modules/react-native-reanimated/src/component/LayoutAnimationConfig.tsx
39
- !id.includes("node_modules"),
40
- refresh = options.environment !== "ssr" && !options.production && !options.noHMR && !options.forceJSX,
37
+ const enableNativeCSS = import_configure.configuration.enableNativeCSS;
38
+ id.includes("node_modules");
39
+ const refresh = options.environment !== "ssr" && !options.production && !options.noHMR && !options.forceJSX,
41
40
  reactConfig = {
42
41
  refresh,
43
42
  development: !options.forceJSX && !options.production,
44
43
  runtime: "automatic",
45
44
  importSource: "react",
46
45
  ...(enableNativeCSS ? {
47
- importSource: "react-native-css-interop",
48
- pragma: "createInteropElement",
46
+ importSource: "nativewind"
47
+ // pragma: 'createInteropElement',
48
+ // pragmaFrag: '_InteropFragment',
49
49
  // swc doesnt actually change the import right
50
- runtime: "classic"
50
+ // runtime: 'classic',
51
51
  } : {})
52
52
  },
53
53
  transformOptions = (() => {
@@ -122,9 +122,9 @@ ${JSON.stringify(finalOptions, null, 2)}`), await (0, import_core.transform)(cod
122
122
  throw e;
123
123
  }
124
124
  })();
125
- enableNativeCSS && result.code.includes("createInteropElement") && (result.code = `import { createInteropElement } from 'react-native-css-interop/jsx-dev-runtime'
125
+ enableNativeCSS && result.code.includes("createInteropElement(") && (result.code = `import { createInteropElement, Fragment as _InteropFragment } from 'react-native-css-interop/jsx-dev-runtime'
126
126
  ${result.code}`);
127
- const shouldHMR = refresh && refreshContentRE.test(result.code);
127
+ const hasRefreshRuntime = refresh && refreshContentRE.test(result.code);
128
128
  if (options.fixNonTypeSpecificImports || id.includes("node_modules") && parser.syntax === "typescript") {
129
129
  const typeExportsMatch = code.match(/^\s*export\s+type\s+([^\s]+)/gi);
130
130
  if (typeExportsMatch) for (const typeExport of Array.from(typeExportsMatch)) {
@@ -138,38 +138,16 @@ ${fakeExport}
138
138
  }
139
139
  }
140
140
  }
141
- return !result || options.noHMR || !shouldHMR ? result : (wrapSourceInRefreshRuntime(id, result, options, shouldHMR), {
142
- code: result.code
143
- });
144
- }
145
- const SWC_ENV = {
146
- targets: {
147
- node: "4"
148
- },
149
- // debug: true,
150
- include: [],
151
- // this breaks the uniswap app for any file with a ...spread
152
- exclude: ["transform-spread", "transform-destructuring", "transform-object-rest-spread",
153
- // `transform-async-to-generator` is relying on `transform-destructuring`.
154
- // If we exclude `transform-destructuring` but not `transform-async-to-generator`, the SWC binary will panic
155
- // with error: `called `Option::unwrap()` on a `None` value`.
156
- // See: https://github.com/swc-project/swc/blob/v1.7.14/crates/swc_ecma_compat_es2015/src/generator.rs#L703-L705
157
- "transform-async-to-generator", "transform-regenerator"
158
- // Similar to above
159
- ]
160
- },
161
- refreshContentRE = /\$Refresh(?:Reg|Sig)\$\(/;
162
- function shouldSourceMap() {
163
- return process.env.VXRN_ENABLE_SOURCE_MAP === "1";
141
+ return result && !options.production && !options.noHMR ? wrapSourceInRefreshRuntime(id, result, options, hasRefreshRuntime) : result;
164
142
  }
165
- function wrapSourceInRefreshRuntime(id, result, options, shouldHMR) {
166
- return options.environment === "client" || options.environment === "ssr" ? wrapSourceInRefreshRuntimeWeb(id, result, shouldHMR) : wrapSourceInRefreshRuntimeNative(id, result, options, shouldHMR);
143
+ function wrapSourceInRefreshRuntime(id, result, options, hasRefreshRuntime) {
144
+ return options.environment === "ssr" ? result : options.environment === "client" ? wrapSourceInRefreshRuntimeWeb(id, result, hasRefreshRuntime) : wrapSourceInRefreshRuntimeNative(id, result, options, hasRefreshRuntime);
167
145
  }
168
- function wrapSourceInRefreshRuntimeWeb(id, result, shouldHMR) {
169
- const sourceMap = JSON.parse(result.map);
170
- sourceMap.mappings = ";;" + sourceMap.mappings, result.code = `import * as RefreshRuntime from "${import_constants.runtimePublicPath}";
146
+ function wrapSourceInRefreshRuntimeWeb(id, result, hasRefreshRuntime) {
147
+ const sourceMap = result.map ? JSON.parse(result.map) : void 0;
148
+ return sourceMap && (sourceMap.mappings = ";;" + sourceMap.mappings), result.code = `import * as RefreshRuntime from "${import_constants.runtimePublicPath}";
171
149
 
172
- ${result.code}`, shouldHMR && (sourceMap.mappings = ";;;;;;" + sourceMap.mappings, result.code = `if (!window.$RefreshReg$) throw new Error("React refresh preamble was not loaded. Something is wrong.");
150
+ ${result.code}`, hasRefreshRuntime && (sourceMap && (sourceMap.mappings = ";;;;;;" + sourceMap.mappings), result.code = `if (!window.$RefreshReg$) throw new Error("React refresh preamble was not loaded. Something is wrong.");
173
151
  const prevRefreshReg = window.$RefreshReg$;
174
152
  const prevRefreshSig = window.$RefreshSig$;
175
153
  window.$RefreshReg$ = RefreshRuntime.getRefreshReg("${id}");
@@ -188,49 +166,72 @@ RefreshRuntime.__hmr_import(import.meta.url).then((currentExports) => {
188
166
  if (invalidateMessage) import.meta.hot.invalidate(invalidateMessage);
189
167
  });
190
168
  });
191
- `;
169
+ `, {
170
+ code: result.code,
171
+ map: sourceMap
172
+ };
192
173
  }
193
- function wrapSourceInRefreshRuntimeNative(id, result, options, shouldHMR) {
194
- const prefixCode = options.mode === "build" ? `
195
- import 'react-native'
196
- import 'react'
197
- import '@vxrn/vite-native-client'
198
- ` : "";
199
- if (options.production) return `
200
- ${prefixCode}
201
- module.url = '${id}'
202
- ${result.code}
203
- `;
204
- shouldHMR && (result.code = `const RefreshRuntime = __cachedModules["react-refresh/cjs/react-refresh-runtime.development"];
205
- const prevRefreshReg = globalThis.$RefreshReg$;
206
- const prevRefreshSig = globalThis.$RefreshSig$ || (() => {
207
- console.info("no react refresh setup!")
208
- return (x) => x
209
- });
210
- globalThis.$RefreshReg$ = (type, id) => RefreshRuntime.register(type, "${id}" + " " + id);
211
- globalThis.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform;
212
-
213
- ${prefixCode}
214
-
215
- module.url = '${id}'
216
- module.hot = createHotContext(module.url)
217
-
218
- ${result.code}
219
-
220
- if (module.hot) {
221
- globalThis.$RefreshReg$ = prevRefreshReg;
222
- globalThis.$RefreshSig$ = prevRefreshSig;
223
- globalThis['lastHmrExports'] = JSON.stringify(Object.keys(exports))
224
- }
225
- `), result.code = `${result.code}
226
-
227
- if (module.hot) {
174
+ function wrapSourceInRefreshRuntimeNative(id, result, options, hasRefreshRuntime) {
175
+ const postfixCode = `if (module.hot) {
228
176
  if (module.hot.accept) {
229
177
  module.hot.accept((nextExports) => {
230
178
  RefreshRuntime.performReactRefresh()
231
179
  });
232
180
  }
233
181
  }`;
182
+ if (hasRefreshRuntime) {
183
+ const prefixCode = `const RefreshRuntime = __cachedModules["react-refresh/cjs/react-refresh-runtime.development"];
184
+ const prevRefreshReg = globalThis.$RefreshReg$;
185
+ const prevRefreshSig = globalThis.$RefreshSig$ || (() => {
186
+ console.info("no react refresh setup!")
187
+ return (x) => x
188
+ });
189
+ globalThis.$RefreshReg$ = (type, id) => RefreshRuntime.register(type, "${id}" + " " + id);
190
+ globalThis.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform;
191
+ module.url = '${id}'
192
+ module.hot = createHotContext(module.url)`,
193
+ sourceMap = result.map ? JSON.parse(result.map) : void 0;
194
+ if (sourceMap) {
195
+ const prefixLen = prefixCode.split(`
196
+ `).length + 1;
197
+ sourceMap.mappings = new Array(prefixLen).fill(";").join("") + sourceMap.mappings;
198
+ }
199
+ return {
200
+ code: `${prefixCode}
201
+ ${result.code}
202
+
203
+ if (module.hot) {
204
+ globalThis.$RefreshReg$ = prevRefreshReg;
205
+ globalThis.$RefreshSig$ = prevRefreshSig;
206
+ globalThis['lastHmrExports'] = JSON.stringify(Object.keys(exports))
207
+ }
208
+
209
+ ${postfixCode}
210
+ `,
211
+ map: sourceMap
212
+ };
213
+ }
214
+ return result.code += postfixCode, result;
215
+ }
216
+ const SWC_ENV = {
217
+ targets: {
218
+ node: "4"
219
+ },
220
+ // debug: true,
221
+ include: [],
222
+ // this breaks the uniswap app for any file with a ...spread
223
+ exclude: ["transform-spread", "transform-destructuring", "transform-object-rest-spread",
224
+ // `transform-async-to-generator` is relying on `transform-destructuring`.
225
+ // If we exclude `transform-destructuring` but not `transform-async-to-generator`, the SWC binary will panic
226
+ // with error: `called `Option::unwrap()` on a `None` value`.
227
+ // See: https://github.com/swc-project/swc/blob/v1.7.14/crates/swc_ecma_compat_es2015/src/generator.rs#L703-L705
228
+ "transform-async-to-generator", "transform-regenerator"
229
+ // Similar to above
230
+ ]
231
+ },
232
+ refreshContentRE = /\$Refresh(?:Reg|Sig)\$\(/;
233
+ function shouldSourceMap() {
234
+ return process.env.VXRN_ENABLE_SOURCE_MAP === "1";
234
235
  }
235
236
  function getParser(id, forceJSX = !1) {
236
237
  if (id.endsWith("one-entry-native")) return import_constants.parsers[".tsx"];
@@ -19,24 +19,26 @@ __export(transformSWC_exports, {
19
19
  });
20
20
  module.exports = __toCommonJS(transformSWC_exports);
21
21
  var import_core = require("@swc/core"), import_node_path = require("node:path"), import_ts_deepmerge = require("ts-deepmerge"), import_configure = require("./configure"), import_constants = require("./constants");
22
+ const ignoreId = new RegExp(`node_modules\\${import_node_path.sep}(\\.vite|vite)\\${import_node_path.sep}`);
22
23
  async function transformSWC(id, code, options, swcOptions) {
23
- if (id.includes(".vite") || (id = id.split("?")[0].replace(process.cwd(), ""), id === import_constants.runtimePublicPath))
24
+ if (ignoreId.test(id) || (id = id.split("?")[0].replace(process.cwd(), ""), id === import_constants.runtimePublicPath))
24
25
  return;
25
26
  const parser = getParser(id, options.forceJSX);
26
27
  if (!parser)
27
28
  return;
28
- const enableNativeCSS = import_configure.configuration.enableNativeCSS && // temp fix idk why this error:
29
- // node_modules/react-native-reanimated/src/component/LayoutAnimationConfig.tsx (19:9): "createInteropElement" is not exported by "../../node_modules/react-native-css-interop/dist/runtime/jsx-dev-runtime.js", imported by "node_modules/react-native-reanimated/src/component/LayoutAnimationConfig.tsx
30
- !id.includes("node_modules"), refresh = options.environment !== "ssr" && !options.production && !options.noHMR && !options.forceJSX, reactConfig = {
29
+ const enableNativeCSS = import_configure.configuration.enableNativeCSS;
30
+ id.includes("node_modules");
31
+ const refresh = options.environment !== "ssr" && !options.production && !options.noHMR && !options.forceJSX, reactConfig = {
31
32
  refresh,
32
33
  development: !options.forceJSX && !options.production,
33
34
  runtime: "automatic",
34
35
  importSource: "react",
35
36
  ...enableNativeCSS ? {
36
- importSource: "react-native-css-interop",
37
- pragma: "createInteropElement",
37
+ importSource: "nativewind"
38
+ // pragma: 'createInteropElement',
39
+ // pragmaFrag: '_InteropFragment',
38
40
  // swc doesnt actually change the import right
39
- runtime: "classic"
41
+ // runtime: 'classic',
40
42
  } : {}
41
43
  }, transformOptions = (() => {
42
44
  if (options.environment === "client" || options.environment === "ssr")
@@ -107,9 +109,9 @@ ${JSON.stringify(finalOptions, null, 2)}`), await (0, import_core.transform)(cod
107
109
  throw e;
108
110
  }
109
111
  })();
110
- enableNativeCSS && result.code.includes("createInteropElement") && (result.code = `import { createInteropElement } from 'react-native-css-interop/jsx-dev-runtime'
112
+ enableNativeCSS && result.code.includes("createInteropElement(") && (result.code = `import { createInteropElement, Fragment as _InteropFragment } from 'react-native-css-interop/jsx-dev-runtime'
111
113
  ${result.code}`);
112
- const shouldHMR = refresh && refreshContentRE.test(result.code);
114
+ const hasRefreshRuntime = refresh && refreshContentRE.test(result.code);
113
115
  if (options.fixNonTypeSpecificImports || id.includes("node_modules") && parser.syntax === "typescript") {
114
116
  const typeExportsMatch = code.match(/^\s*export\s+type\s+([^\s]+)/gi);
115
117
  if (typeExportsMatch)
@@ -128,39 +130,16 @@ ${fakeExport}
128
130
  }
129
131
  }
130
132
  }
131
- return !result || options.noHMR || !shouldHMR ? result : (wrapSourceInRefreshRuntime(id, result, options, shouldHMR), { code: result.code });
133
+ return result && !options.production && !options.noHMR ? wrapSourceInRefreshRuntime(id, result, options, hasRefreshRuntime) : result;
132
134
  }
133
- const SWC_ENV = {
134
- targets: {
135
- node: "4"
136
- },
137
- // debug: true,
138
- include: [],
139
- // this breaks the uniswap app for any file with a ...spread
140
- exclude: [
141
- "transform-spread",
142
- "transform-destructuring",
143
- "transform-object-rest-spread",
144
- // `transform-async-to-generator` is relying on `transform-destructuring`.
145
- // If we exclude `transform-destructuring` but not `transform-async-to-generator`, the SWC binary will panic
146
- // with error: `called `Option::unwrap()` on a `None` value`.
147
- // See: https://github.com/swc-project/swc/blob/v1.7.14/crates/swc_ecma_compat_es2015/src/generator.rs#L703-L705
148
- "transform-async-to-generator",
149
- "transform-regenerator"
150
- // Similar to above
151
- ]
152
- }, refreshContentRE = /\$Refresh(?:Reg|Sig)\$\(/;
153
- function shouldSourceMap() {
154
- return process.env.VXRN_ENABLE_SOURCE_MAP === "1";
155
- }
156
- function wrapSourceInRefreshRuntime(id, result, options, shouldHMR) {
157
- return options.environment === "client" || options.environment === "ssr" ? wrapSourceInRefreshRuntimeWeb(id, result, shouldHMR) : wrapSourceInRefreshRuntimeNative(id, result, options, shouldHMR);
135
+ function wrapSourceInRefreshRuntime(id, result, options, hasRefreshRuntime) {
136
+ return options.environment === "ssr" ? result : options.environment === "client" ? wrapSourceInRefreshRuntimeWeb(id, result, hasRefreshRuntime) : wrapSourceInRefreshRuntimeNative(id, result, options, hasRefreshRuntime);
158
137
  }
159
- function wrapSourceInRefreshRuntimeWeb(id, result, shouldHMR) {
160
- const sourceMap = JSON.parse(result.map);
161
- sourceMap.mappings = ";;" + sourceMap.mappings, result.code = `import * as RefreshRuntime from "${import_constants.runtimePublicPath}";
138
+ function wrapSourceInRefreshRuntimeWeb(id, result, hasRefreshRuntime) {
139
+ const sourceMap = result.map ? JSON.parse(result.map) : void 0;
140
+ return sourceMap && (sourceMap.mappings = ";;" + sourceMap.mappings), result.code = `import * as RefreshRuntime from "${import_constants.runtimePublicPath}";
162
141
 
163
- ${result.code}`, shouldHMR && (sourceMap.mappings = ";;;;;;" + sourceMap.mappings, result.code = `if (!window.$RefreshReg$) throw new Error("React refresh preamble was not loaded. Something is wrong.");
142
+ ${result.code}`, hasRefreshRuntime && (sourceMap && (sourceMap.mappings = ";;;;;;" + sourceMap.mappings), result.code = `if (!window.$RefreshReg$) throw new Error("React refresh preamble was not loaded. Something is wrong.");
164
143
  const prevRefreshReg = window.$RefreshReg$;
165
144
  const prevRefreshSig = window.$RefreshSig$;
166
145
  window.$RefreshReg$ = RefreshRuntime.getRefreshReg("${id}");
@@ -179,50 +158,71 @@ RefreshRuntime.__hmr_import(import.meta.url).then((currentExports) => {
179
158
  if (invalidateMessage) import.meta.hot.invalidate(invalidateMessage);
180
159
  });
181
160
  });
182
- `;
161
+ `, { code: result.code, map: sourceMap };
183
162
  }
184
- function wrapSourceInRefreshRuntimeNative(id, result, options, shouldHMR) {
185
- const prefixCode = options.mode === "build" ? `
186
- import 'react-native'
187
- import 'react'
188
- import '@vxrn/vite-native-client'
189
- ` : "";
190
- if (options.production)
191
- return `
192
- ${prefixCode}
193
- module.url = '${id}'
194
- ${result.code}
195
- `;
196
- shouldHMR && (result.code = `const RefreshRuntime = __cachedModules["react-refresh/cjs/react-refresh-runtime.development"];
197
- const prevRefreshReg = globalThis.$RefreshReg$;
198
- const prevRefreshSig = globalThis.$RefreshSig$ || (() => {
199
- console.info("no react refresh setup!")
200
- return (x) => x
201
- });
202
- globalThis.$RefreshReg$ = (type, id) => RefreshRuntime.register(type, "${id}" + " " + id);
203
- globalThis.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform;
204
-
205
- ${prefixCode}
206
-
207
- module.url = '${id}'
208
- module.hot = createHotContext(module.url)
209
-
210
- ${result.code}
211
-
212
- if (module.hot) {
213
- globalThis.$RefreshReg$ = prevRefreshReg;
214
- globalThis.$RefreshSig$ = prevRefreshSig;
215
- globalThis['lastHmrExports'] = JSON.stringify(Object.keys(exports))
216
- }
217
- `), result.code = `${result.code}
218
-
219
- if (module.hot) {
163
+ function wrapSourceInRefreshRuntimeNative(id, result, options, hasRefreshRuntime) {
164
+ const postfixCode = `if (module.hot) {
220
165
  if (module.hot.accept) {
221
166
  module.hot.accept((nextExports) => {
222
167
  RefreshRuntime.performReactRefresh()
223
168
  });
224
169
  }
225
170
  }`;
171
+ if (hasRefreshRuntime) {
172
+ const prefixCode = `const RefreshRuntime = __cachedModules["react-refresh/cjs/react-refresh-runtime.development"];
173
+ const prevRefreshReg = globalThis.$RefreshReg$;
174
+ const prevRefreshSig = globalThis.$RefreshSig$ || (() => {
175
+ console.info("no react refresh setup!")
176
+ return (x) => x
177
+ });
178
+ globalThis.$RefreshReg$ = (type, id) => RefreshRuntime.register(type, "${id}" + " " + id);
179
+ globalThis.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform;
180
+ module.url = '${id}'
181
+ module.hot = createHotContext(module.url)`, sourceMap = result.map ? JSON.parse(result.map) : void 0;
182
+ if (sourceMap) {
183
+ const prefixLen = prefixCode.split(`
184
+ `).length + 1;
185
+ sourceMap.mappings = new Array(prefixLen).fill(";").join("") + sourceMap.mappings;
186
+ }
187
+ return {
188
+ code: `${prefixCode}
189
+ ${result.code}
190
+
191
+ if (module.hot) {
192
+ globalThis.$RefreshReg$ = prevRefreshReg;
193
+ globalThis.$RefreshSig$ = prevRefreshSig;
194
+ globalThis['lastHmrExports'] = JSON.stringify(Object.keys(exports))
195
+ }
196
+
197
+ ${postfixCode}
198
+ `,
199
+ map: sourceMap
200
+ };
201
+ }
202
+ return result.code += postfixCode, result;
203
+ }
204
+ const SWC_ENV = {
205
+ targets: {
206
+ node: "4"
207
+ },
208
+ // debug: true,
209
+ include: [],
210
+ // this breaks the uniswap app for any file with a ...spread
211
+ exclude: [
212
+ "transform-spread",
213
+ "transform-destructuring",
214
+ "transform-object-rest-spread",
215
+ // `transform-async-to-generator` is relying on `transform-destructuring`.
216
+ // If we exclude `transform-destructuring` but not `transform-async-to-generator`, the SWC binary will panic
217
+ // with error: `called `Option::unwrap()` on a `None` value`.
218
+ // See: https://github.com/swc-project/swc/blob/v1.7.14/crates/swc_ecma_compat_es2015/src/generator.rs#L703-L705
219
+ "transform-async-to-generator",
220
+ "transform-regenerator"
221
+ // Similar to above
222
+ ]
223
+ }, refreshContentRE = /\$Refresh(?:Reg|Sig)\$\(/;
224
+ function shouldSourceMap() {
225
+ return process.env.VXRN_ENABLE_SOURCE_MAP === "1";
226
226
  }
227
227
  function getParser(id, forceJSX = !1) {
228
228
  if (id.endsWith("one-entry-native"))
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/transformSWC.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1,4 +1,5 @@
1
1
  const configuration = {
2
+ enableNativewind: !1,
2
3
  enableReanimated: !1,
3
4
  enableCompiler: !1,
4
5
  enableNativeCSS: !1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/configure.ts"],
4
- "mappings": "AAQO,MAAM,gBAAsB;AAAA,EACjC,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,iBAAiB;AACnB;AAEO,SAAS,4BAA4B,GAAS;AACnD,SAAO,OAAO,eAAe,CAAC;AAChC;",
4
+ "mappings": "AASO,MAAM,gBAAsB;AAAA,EACjC,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,iBAAiB;AACnB;AAEO,SAAS,4BAA4B,GAAS;AACnD,SAAO,OAAO,eAAe,CAAC;AAChC;",
5
5
  "names": []
6
6
  }
@@ -1,4 +1,5 @@
1
1
  const configuration = {
2
+ enableNativewind: !1,
2
3
  enableReanimated: !1,
3
4
  enableCompiler: !1,
4
5
  enableNativeCSS: !1
@@ -1 +1 @@
1
- {"version":3,"names":["configuration","enableReanimated","enableCompiler","enableNativeCSS","configureVXRNCompilerPlugin","_","Object","assign"],"sources":["../../src/configure.ts"],"sourcesContent":[null],"mappings":"AAQO,MAAMA,aAAA,GAAsB;EACjCC,gBAAA,EAAkB;EAClBC,cAAA,EAAgB;EAChBC,eAAA,EAAiB;AACnB;AAEO,SAASC,4BAA4BC,CAAA,EAAS;EACnDC,MAAA,CAAOC,MAAA,CAAOP,aAAA,EAAeK,CAAC;AAChC","ignoreList":[]}
1
+ {"version":3,"names":["configuration","enableNativewind","enableReanimated","enableCompiler","enableNativeCSS","configureVXRNCompilerPlugin","_","Object","assign"],"sources":["../../src/configure.ts"],"sourcesContent":[null],"mappings":"AASO,MAAMA,aAAA,GAAsB;EACjCC,gBAAA,EAAkB;EAClBC,gBAAA,EAAkB;EAClBC,cAAA,EAAgB;EAChBC,eAAA,EAAiB;AACnB;AAEO,SAASC,4BAA4BC,CAAA,EAAS;EACnDC,MAAA,CAAOC,MAAA,CAAOR,aAAA,EAAeM,CAAC;AAChC","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -1,7 +1,9 @@
1
1
  import { resolvePath } from "@vxrn/utils";
2
2
  import { readFileSync } from "node:fs";
3
3
  import { readFile } from "node:fs/promises";
4
- import { extname, join } from "node:path";
4
+ import { extname, join, sep } from "node:path";
5
+ import { cssToReactNativeRuntime } from "react-native-css-interop/css-to-rn/index.js";
6
+ import { configuration } from "./configure";
5
7
  import { debug, runtimePublicPath, validParsers } from "./constants";
6
8
  import { getBabelOptions, transformBabel } from "./transformBabel";
7
9
  import { transformSWC } from "./transformSWC";
@@ -22,6 +24,7 @@ async function createVXRNCompilerPlugin(optionsIn) {
22
24
  if (!envNames[name]) throw new Error(`Invalid env: ${name}`);
23
25
  return name;
24
26
  }
27
+ const reactForRNVersion = reactVersion.split(".")[0], cssTransformCache = /* @__PURE__ */ new Map(), rollupPath = resolvePath("rollup"), rollupNodeMods = rollupPath.slice(0, rollupPath.indexOf(sep + "node_modules"));
25
28
  return [
26
29
  {
27
30
  name: "one:compiler-resolve-refresh-runtime",
@@ -31,6 +34,42 @@ async function createVXRNCompilerPlugin(optionsIn) {
31
34
  resolveId: (id) => id === runtimePublicPath ? id : void 0,
32
35
  load: (id) => id === runtimePublicPath ? readFileSync(join(import.meta.dirname, "refresh-runtime.js"), "utf-8") : void 0
33
36
  },
37
+ {
38
+ name: "one:compiler-css-to-js",
39
+ transform(codeIn, id) {
40
+ const environment = getEnvName(this.environment.name);
41
+ if (configuration.enableNativeCSS && (environment === "ios" || environment === "android") && extname(id) === ".css") {
42
+ const code = `require("nativewind/dist/index.js").StyleSheet.registerCompiled(${JSON.stringify(cssToReactNativeRuntime(codeIn, { inlineRem: 16 }))})`, newId = `${id}.js`, cssId = newId.replace(rollupNodeMods + sep, "");
43
+ return cssTransformCache.set(cssId, code), {
44
+ code,
45
+ id: newId,
46
+ map: null
47
+ };
48
+ }
49
+ },
50
+ generateBundle(_, bundle) {
51
+ const environment = getEnvName(this.environment.name);
52
+ if (configuration.enableNativeCSS && (environment === "ios" || environment === "android")) {
53
+ const rootJSName = Object.keys(bundle).find((i) => {
54
+ const chunk = bundle[i];
55
+ return chunk.type == "chunk" && chunk.fileName.match(/.[cm]?js(?:\?.+)?$/) != null;
56
+ });
57
+ if (!rootJSName)
58
+ throw new Error("Can't find root js, internal one error");
59
+ const rootJS = bundle[rootJSName], cssAssets = Object.keys(bundle).filter(
60
+ (i) => bundle[i].fileName.endsWith(".css.js")
61
+ );
62
+ for (const name of cssAssets) {
63
+ delete bundle[name];
64
+ const jsCSS = cssTransformCache.get(name);
65
+ rootJS.code = `
66
+ ${jsCSS}
67
+ ${rootJS.code}
68
+ `;
69
+ }
70
+ }
71
+ }
72
+ },
34
73
  {
35
74
  name: "one:compiler",
36
75
  enforce: "pre",
@@ -39,6 +78,9 @@ async function createVXRNCompilerPlugin(optionsIn) {
39
78
  esbuild: !1,
40
79
  optimizeDeps: {
41
80
  noDiscovery: !0
81
+ },
82
+ define: {
83
+ "process.env.NATIVEWIND_OS": "native"
42
84
  }
43
85
  };
44
86
  return {
@@ -52,21 +94,26 @@ async function createVXRNCompilerPlugin(optionsIn) {
52
94
  order: "pre",
53
95
  async handler(codeIn, _id) {
54
96
  let code = codeIn;
97
+ const environment = getEnvName(this.environment.name), isNative = environment === "ios" || environment === "android", production = process.env.NODE_ENV === "production" || JSON.parse(this.environment.config?.define?.["process.env.NODE_ENV"] || '""') === "production";
98
+ if (_id.includes("one-entry-native"))
99
+ return isNative && !production && (code = `import '@vxrn/vite-native-client'
100
+ ${code}`), isNative && configuration.enableNativewind && (code = `import * as x from 'nativewind'
101
+ ${code}`), code;
55
102
  const shouldDebug = process.env.NODE_ENV === "development" && codeIn.startsWith("// debug");
56
103
  shouldDebug && (console.info(`[one] ${_id} input:`), console.info(codeIn));
57
104
  const extension = extname(_id);
58
- if (!validParsers.has(extension))
105
+ if (extension === ".css" || !validParsers.has(extension))
59
106
  return;
60
107
  let id = _id.split("?")[0];
61
108
  const isPreProcess = id.startsWith("vxrn-swc-preprocess:");
62
109
  if (isPreProcess && (id = id.replace("vxrn-swc-preprocess:", "")), id.includes("virtual:"))
63
110
  return;
64
- const environment = getEnvName(this.environment.name), production = process.env.NODE_ENV === "production", transformProps = {
111
+ const transformProps = {
65
112
  id,
66
113
  code,
67
114
  development: !production,
68
115
  environment,
69
- reactForRNVersion: reactVersion.split(".")[0]
116
+ reactForRNVersion
70
117
  }, userTransform = optionsIn?.transform?.(transformProps);
71
118
  if (userTransform === !1)
72
119
  return;
@@ -77,12 +124,12 @@ async function createVXRNCompilerPlugin(optionsIn) {
77
124
  });
78
125
  if (babelOptions) {
79
126
  const babelOut = await transformBabel(id, code, babelOptions);
80
- babelOut && (debug?.(`[${id}] transformed with babel options: ${JSON.stringify(babelOptions)}`), code = babelOut);
127
+ babelOut?.code && (debug?.(`[${id}] transformed with babel options: ${JSON.stringify(babelOptions)}`), code = babelOut.code);
81
128
  }
82
129
  }
83
130
  const swcOptions = {
84
131
  environment,
85
- mode: "serve",
132
+ mode: optionsIn?.mode || "serve",
86
133
  production,
87
134
  ...optionsIn
88
135
  }, out = await transformSWC(id, code, {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }