@vxrn/compiler 1.1.397 → 1.1.399

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 +24 -18
  11. package/dist/cjs/transformBabel.js +20 -22
  12. package/dist/cjs/transformBabel.js.map +1 -1
  13. package/dist/cjs/transformSWC.cjs +76 -77
  14. package/dist/cjs/transformSWC.js +75 -77
  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 +20 -21
  29. package/dist/esm/transformBabel.js.map +1 -1
  30. package/dist/esm/transformBabel.mjs +24 -18
  31. package/dist/esm/transformBabel.mjs.map +1 -1
  32. package/dist/esm/transformSWC.js +76 -78
  33. package/dist/esm/transformSWC.js.map +1 -1
  34. package/dist/esm/transformSWC.mjs +77 -78
  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 +38 -17
  41. package/src/transformSWC.ts +104 -106
  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,23 @@ 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 refresh = options.environment !== "ssr" && !options.production && !options.noHMR && !options.forceJSX && !id.includes("node_modules"),
41
38
  reactConfig = {
42
39
  refresh,
43
40
  development: !options.forceJSX && !options.production,
44
41
  runtime: "automatic",
45
42
  importSource: "react",
46
- ...(enableNativeCSS ? {
47
- importSource: "react-native-css-interop",
48
- pragma: "createInteropElement",
43
+ ...(import_configure.configuration.enableNativewind && !id.includes("node_modules") ? {
44
+ importSource: "nativewind"
45
+ // pragma: 'createInteropElement',
46
+ // pragmaFrag: '_InteropFragment',
49
47
  // swc doesnt actually change the import right
50
- runtime: "classic"
48
+ // runtime: 'classic',
51
49
  } : {})
52
50
  },
53
51
  transformOptions = (() => {
@@ -122,9 +120,9 @@ ${JSON.stringify(finalOptions, null, 2)}`), await (0, import_core.transform)(cod
122
120
  throw e;
123
121
  }
124
122
  })();
125
- enableNativeCSS && result.code.includes("createInteropElement") && (result.code = `import { createInteropElement } from 'react-native-css-interop/jsx-dev-runtime'
123
+ import_configure.configuration.enableNativeCSS && result.code.includes("createInteropElement(") && (result.code = `import { createInteropElement, Fragment as _InteropFragment } from 'react-native-css-interop/jsx-dev-runtime'
126
124
  ${result.code}`);
127
- const shouldHMR = refresh && refreshContentRE.test(result.code);
125
+ const hasRefreshRuntime = refresh && refreshContentRE.test(result.code);
128
126
  if (options.fixNonTypeSpecificImports || id.includes("node_modules") && parser.syntax === "typescript") {
129
127
  const typeExportsMatch = code.match(/^\s*export\s+type\s+([^\s]+)/gi);
130
128
  if (typeExportsMatch) for (const typeExport of Array.from(typeExportsMatch)) {
@@ -138,38 +136,16 @@ ${fakeExport}
138
136
  }
139
137
  }
140
138
  }
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";
139
+ return result && !options.production && !options.noHMR ? wrapSourceInRefreshRuntime(id, result, options, hasRefreshRuntime) : result;
164
140
  }
165
- function wrapSourceInRefreshRuntime(id, result, options, shouldHMR) {
166
- return options.environment === "client" || options.environment === "ssr" ? wrapSourceInRefreshRuntimeWeb(id, result, shouldHMR) : wrapSourceInRefreshRuntimeNative(id, result, options, shouldHMR);
141
+ function wrapSourceInRefreshRuntime(id, result, options, hasRefreshRuntime) {
142
+ return options.environment === "ssr" ? result : options.environment === "client" ? wrapSourceInRefreshRuntimeWeb(id, result, hasRefreshRuntime) : wrapSourceInRefreshRuntimeNative(id, result, options, hasRefreshRuntime);
167
143
  }
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}";
144
+ function wrapSourceInRefreshRuntimeWeb(id, result, hasRefreshRuntime) {
145
+ const sourceMap = result.map ? JSON.parse(result.map) : void 0;
146
+ return sourceMap && (sourceMap.mappings = ";;" + sourceMap.mappings), result.code = `import * as RefreshRuntime from "${import_constants.runtimePublicPath}";
171
147
 
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.");
148
+ ${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
149
  const prevRefreshReg = window.$RefreshReg$;
174
150
  const prevRefreshSig = window.$RefreshSig$;
175
151
  window.$RefreshReg$ = RefreshRuntime.getRefreshReg("${id}");
@@ -188,49 +164,72 @@ RefreshRuntime.__hmr_import(import.meta.url).then((currentExports) => {
188
164
  if (invalidateMessage) import.meta.hot.invalidate(invalidateMessage);
189
165
  });
190
166
  });
191
- `;
167
+ `, {
168
+ code: result.code,
169
+ map: sourceMap
170
+ };
192
171
  }
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) {
172
+ function wrapSourceInRefreshRuntimeNative(id, result, options, hasRefreshRuntime) {
173
+ const postfixCode = `if (module.hot) {
228
174
  if (module.hot.accept) {
229
175
  module.hot.accept((nextExports) => {
230
176
  RefreshRuntime.performReactRefresh()
231
177
  });
232
178
  }
233
179
  }`;
180
+ if (hasRefreshRuntime) {
181
+ const prefixCode = `const RefreshRuntime = __cachedModules["react-refresh/cjs/react-refresh-runtime.development"];
182
+ const prevRefreshReg = globalThis.$RefreshReg$;
183
+ const prevRefreshSig = globalThis.$RefreshSig$ || (() => {
184
+ console.info("no react refresh setup!")
185
+ return (x) => x
186
+ });
187
+ globalThis.$RefreshReg$ = (type, id) => RefreshRuntime.register(type, "${id}" + " " + id);
188
+ globalThis.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform;
189
+ module.url = '${id}'
190
+ module.hot = createHotContext(module.url)`,
191
+ sourceMap = result.map ? JSON.parse(result.map) : void 0;
192
+ if (sourceMap) {
193
+ const prefixLen = prefixCode.split(`
194
+ `).length + 1;
195
+ sourceMap.mappings = new Array(prefixLen).fill(";").join("") + sourceMap.mappings;
196
+ }
197
+ return {
198
+ code: `${prefixCode}
199
+ ${result.code}
200
+
201
+ if (module.hot) {
202
+ globalThis.$RefreshReg$ = prevRefreshReg;
203
+ globalThis.$RefreshSig$ = prevRefreshSig;
204
+ globalThis['lastHmrExports'] = JSON.stringify(Object.keys(exports))
205
+ }
206
+
207
+ ${postfixCode}
208
+ `,
209
+ map: sourceMap
210
+ };
211
+ }
212
+ return result.code += postfixCode, result;
213
+ }
214
+ const SWC_ENV = {
215
+ targets: {
216
+ node: "4"
217
+ },
218
+ // debug: true,
219
+ include: [],
220
+ // this breaks the uniswap app for any file with a ...spread
221
+ exclude: ["transform-spread", "transform-destructuring", "transform-object-rest-spread",
222
+ // `transform-async-to-generator` is relying on `transform-destructuring`.
223
+ // If we exclude `transform-destructuring` but not `transform-async-to-generator`, the SWC binary will panic
224
+ // with error: `called `Option::unwrap()` on a `None` value`.
225
+ // See: https://github.com/swc-project/swc/blob/v1.7.14/crates/swc_ecma_compat_es2015/src/generator.rs#L703-L705
226
+ "transform-async-to-generator", "transform-regenerator"
227
+ // Similar to above
228
+ ]
229
+ },
230
+ refreshContentRE = /\$Refresh(?:Reg|Sig)\$\(/;
231
+ function shouldSourceMap() {
232
+ return process.env.VXRN_ENABLE_SOURCE_MAP === "1";
234
233
  }
235
234
  function getParser(id, forceJSX = !1) {
236
235
  if (id.endsWith("one-entry-native")) return import_constants.parsers[".tsx"];
@@ -19,24 +19,24 @@ __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 refresh = options.environment !== "ssr" && !options.production && !options.noHMR && !options.forceJSX && !id.includes("node_modules"), reactConfig = {
31
30
  refresh,
32
31
  development: !options.forceJSX && !options.production,
33
32
  runtime: "automatic",
34
33
  importSource: "react",
35
- ...enableNativeCSS ? {
36
- importSource: "react-native-css-interop",
37
- pragma: "createInteropElement",
34
+ ...import_configure.configuration.enableNativewind && !id.includes("node_modules") ? {
35
+ importSource: "nativewind"
36
+ // pragma: 'createInteropElement',
37
+ // pragmaFrag: '_InteropFragment',
38
38
  // swc doesnt actually change the import right
39
- runtime: "classic"
39
+ // runtime: 'classic',
40
40
  } : {}
41
41
  }, transformOptions = (() => {
42
42
  if (options.environment === "client" || options.environment === "ssr")
@@ -107,9 +107,9 @@ ${JSON.stringify(finalOptions, null, 2)}`), await (0, import_core.transform)(cod
107
107
  throw e;
108
108
  }
109
109
  })();
110
- enableNativeCSS && result.code.includes("createInteropElement") && (result.code = `import { createInteropElement } from 'react-native-css-interop/jsx-dev-runtime'
110
+ import_configure.configuration.enableNativeCSS && result.code.includes("createInteropElement(") && (result.code = `import { createInteropElement, Fragment as _InteropFragment } from 'react-native-css-interop/jsx-dev-runtime'
111
111
  ${result.code}`);
112
- const shouldHMR = refresh && refreshContentRE.test(result.code);
112
+ const hasRefreshRuntime = refresh && refreshContentRE.test(result.code);
113
113
  if (options.fixNonTypeSpecificImports || id.includes("node_modules") && parser.syntax === "typescript") {
114
114
  const typeExportsMatch = code.match(/^\s*export\s+type\s+([^\s]+)/gi);
115
115
  if (typeExportsMatch)
@@ -128,39 +128,16 @@ ${fakeExport}
128
128
  }
129
129
  }
130
130
  }
131
- return !result || options.noHMR || !shouldHMR ? result : (wrapSourceInRefreshRuntime(id, result, options, shouldHMR), { code: result.code });
131
+ return result && !options.production && !options.noHMR ? wrapSourceInRefreshRuntime(id, result, options, hasRefreshRuntime) : result;
132
132
  }
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);
133
+ function wrapSourceInRefreshRuntime(id, result, options, hasRefreshRuntime) {
134
+ return options.environment === "ssr" ? result : options.environment === "client" ? wrapSourceInRefreshRuntimeWeb(id, result, hasRefreshRuntime) : wrapSourceInRefreshRuntimeNative(id, result, options, hasRefreshRuntime);
158
135
  }
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}";
136
+ function wrapSourceInRefreshRuntimeWeb(id, result, hasRefreshRuntime) {
137
+ const sourceMap = result.map ? JSON.parse(result.map) : void 0;
138
+ return sourceMap && (sourceMap.mappings = ";;" + sourceMap.mappings), result.code = `import * as RefreshRuntime from "${import_constants.runtimePublicPath}";
162
139
 
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.");
140
+ ${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
141
  const prevRefreshReg = window.$RefreshReg$;
165
142
  const prevRefreshSig = window.$RefreshSig$;
166
143
  window.$RefreshReg$ = RefreshRuntime.getRefreshReg("${id}");
@@ -179,50 +156,71 @@ RefreshRuntime.__hmr_import(import.meta.url).then((currentExports) => {
179
156
  if (invalidateMessage) import.meta.hot.invalidate(invalidateMessage);
180
157
  });
181
158
  });
182
- `;
159
+ `, { code: result.code, map: sourceMap };
183
160
  }
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) {
161
+ function wrapSourceInRefreshRuntimeNative(id, result, options, hasRefreshRuntime) {
162
+ const postfixCode = `if (module.hot) {
220
163
  if (module.hot.accept) {
221
164
  module.hot.accept((nextExports) => {
222
165
  RefreshRuntime.performReactRefresh()
223
166
  });
224
167
  }
225
168
  }`;
169
+ if (hasRefreshRuntime) {
170
+ const prefixCode = `const RefreshRuntime = __cachedModules["react-refresh/cjs/react-refresh-runtime.development"];
171
+ const prevRefreshReg = globalThis.$RefreshReg$;
172
+ const prevRefreshSig = globalThis.$RefreshSig$ || (() => {
173
+ console.info("no react refresh setup!")
174
+ return (x) => x
175
+ });
176
+ globalThis.$RefreshReg$ = (type, id) => RefreshRuntime.register(type, "${id}" + " " + id);
177
+ globalThis.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform;
178
+ module.url = '${id}'
179
+ module.hot = createHotContext(module.url)`, sourceMap = result.map ? JSON.parse(result.map) : void 0;
180
+ if (sourceMap) {
181
+ const prefixLen = prefixCode.split(`
182
+ `).length + 1;
183
+ sourceMap.mappings = new Array(prefixLen).fill(";").join("") + sourceMap.mappings;
184
+ }
185
+ return {
186
+ code: `${prefixCode}
187
+ ${result.code}
188
+
189
+ if (module.hot) {
190
+ globalThis.$RefreshReg$ = prevRefreshReg;
191
+ globalThis.$RefreshSig$ = prevRefreshSig;
192
+ globalThis['lastHmrExports'] = JSON.stringify(Object.keys(exports))
193
+ }
194
+
195
+ ${postfixCode}
196
+ `,
197
+ map: sourceMap
198
+ };
199
+ }
200
+ return result.code += postfixCode, result;
201
+ }
202
+ const SWC_ENV = {
203
+ targets: {
204
+ node: "4"
205
+ },
206
+ // debug: true,
207
+ include: [],
208
+ // this breaks the uniswap app for any file with a ...spread
209
+ exclude: [
210
+ "transform-spread",
211
+ "transform-destructuring",
212
+ "transform-object-rest-spread",
213
+ // `transform-async-to-generator` is relying on `transform-destructuring`.
214
+ // If we exclude `transform-destructuring` but not `transform-async-to-generator`, the SWC binary will panic
215
+ // with error: `called `Option::unwrap()` on a `None` value`.
216
+ // See: https://github.com/swc-project/swc/blob/v1.7.14/crates/swc_ecma_compat_es2015/src/generator.rs#L703-L705
217
+ "transform-async-to-generator",
218
+ "transform-regenerator"
219
+ // Similar to above
220
+ ]
221
+ }, refreshContentRE = /\$Refresh(?:Reg|Sig)\$\(/;
222
+ function shouldSourceMap() {
223
+ return process.env.VXRN_ENABLE_SOURCE_MAP === "1";
226
224
  }
227
225
  function getParser(id, forceJSX = !1) {
228
226
  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").__require().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
  }