@vxrn/compiler 1.1.397

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 (98) hide show
  1. package/LICENSE +45 -0
  2. package/dist/cjs/configure.cjs +34 -0
  3. package/dist/cjs/configure.js +29 -0
  4. package/dist/cjs/configure.js.map +6 -0
  5. package/dist/cjs/configure.native.js +35 -0
  6. package/dist/cjs/configure.native.js.map +6 -0
  7. package/dist/cjs/constants.cjs +65 -0
  8. package/dist/cjs/constants.js +34 -0
  9. package/dist/cjs/constants.js.map +6 -0
  10. package/dist/cjs/constants.native.js +65 -0
  11. package/dist/cjs/constants.native.js.map +6 -0
  12. package/dist/cjs/index.cjs +124 -0
  13. package/dist/cjs/index.js +113 -0
  14. package/dist/cjs/index.js.map +6 -0
  15. package/dist/cjs/index.native.js +123 -0
  16. package/dist/cjs/index.native.js.map +6 -0
  17. package/dist/cjs/refresh-runtime.cjs +295 -0
  18. package/dist/cjs/refresh-runtime.js +296 -0
  19. package/dist/cjs/refresh-runtime.js.map +6 -0
  20. package/dist/cjs/refresh-runtime.native.js +316 -0
  21. package/dist/cjs/refresh-runtime.native.js.map +6 -0
  22. package/dist/cjs/transformBabel.cjs +111 -0
  23. package/dist/cjs/transformBabel.js +116 -0
  24. package/dist/cjs/transformBabel.js.map +6 -0
  25. package/dist/cjs/transformBabel.native.js +152 -0
  26. package/dist/cjs/transformBabel.native.js.map +6 -0
  27. package/dist/cjs/transformSWC.cjs +261 -0
  28. package/dist/cjs/transformSWC.js +256 -0
  29. package/dist/cjs/transformSWC.js.map +6 -0
  30. package/dist/cjs/transformSWC.native.js +275 -0
  31. package/dist/cjs/transformSWC.native.js.map +6 -0
  32. package/dist/cjs/types.cjs +16 -0
  33. package/dist/cjs/types.js +14 -0
  34. package/dist/cjs/types.js.map +6 -0
  35. package/dist/cjs/types.native.js +15 -0
  36. package/dist/cjs/types.native.js.map +6 -0
  37. package/dist/esm/configure.js +13 -0
  38. package/dist/esm/configure.js.map +6 -0
  39. package/dist/esm/configure.mjs +10 -0
  40. package/dist/esm/configure.mjs.map +1 -0
  41. package/dist/esm/configure.native.js +13 -0
  42. package/dist/esm/configure.native.js.map +6 -0
  43. package/dist/esm/constants.js +18 -0
  44. package/dist/esm/constants.js.map +6 -0
  45. package/dist/esm/constants.mjs +38 -0
  46. package/dist/esm/constants.mjs.map +1 -0
  47. package/dist/esm/constants.native.js +41 -0
  48. package/dist/esm/constants.native.js.map +6 -0
  49. package/dist/esm/index.js +102 -0
  50. package/dist/esm/index.js.map +6 -0
  51. package/dist/esm/index.mjs +99 -0
  52. package/dist/esm/index.mjs.map +1 -0
  53. package/dist/esm/index.native.js +104 -0
  54. package/dist/esm/index.native.js.map +6 -0
  55. package/dist/esm/refresh-runtime.js +280 -0
  56. package/dist/esm/refresh-runtime.js.map +6 -0
  57. package/dist/esm/refresh-runtime.mjs +266 -0
  58. package/dist/esm/refresh-runtime.mjs.map +1 -0
  59. package/dist/esm/refresh-runtime.native.js +290 -0
  60. package/dist/esm/refresh-runtime.native.js.map +6 -0
  61. package/dist/esm/transformBabel.js +95 -0
  62. package/dist/esm/transformBabel.js.map +6 -0
  63. package/dist/esm/transformBabel.mjs +76 -0
  64. package/dist/esm/transformBabel.mjs.map +1 -0
  65. package/dist/esm/transformBabel.native.js +125 -0
  66. package/dist/esm/transformBabel.native.js.map +6 -0
  67. package/dist/esm/transformSWC.js +246 -0
  68. package/dist/esm/transformSWC.js.map +6 -0
  69. package/dist/esm/transformSWC.mjs +237 -0
  70. package/dist/esm/transformSWC.mjs.map +1 -0
  71. package/dist/esm/transformSWC.native.js +257 -0
  72. package/dist/esm/transformSWC.native.js.map +6 -0
  73. package/dist/esm/types.js +1 -0
  74. package/dist/esm/types.js.map +6 -0
  75. package/dist/esm/types.mjs +2 -0
  76. package/dist/esm/types.mjs.map +1 -0
  77. package/dist/esm/types.native.js +1 -0
  78. package/dist/esm/types.native.js.map +6 -0
  79. package/package.json +54 -0
  80. package/src/configure.ts +17 -0
  81. package/src/constants.ts +21 -0
  82. package/src/index.ts +166 -0
  83. package/src/refresh-runtime.js +619 -0
  84. package/src/transformBabel.ts +218 -0
  85. package/src/transformSWC.ts +381 -0
  86. package/src/types.ts +36 -0
  87. package/types/configure.d.ts +10 -0
  88. package/types/configure.d.ts.map +1 -0
  89. package/types/constants.d.ts +9 -0
  90. package/types/constants.d.ts.map +1 -0
  91. package/types/index.d.ts +12 -0
  92. package/types/index.d.ts.map +1 -0
  93. package/types/transformBabel.d.ts +12 -0
  94. package/types/transformBabel.d.ts.map +1 -0
  95. package/types/transformSWC.d.ts +7 -0
  96. package/types/transformSWC.d.ts.map +1 -0
  97. package/types/types.d.ts +29 -0
  98. package/types/types.d.ts.map +1 -0
@@ -0,0 +1,13 @@
1
+ var configuration = {
2
+ enableReanimated: !1,
3
+ enableCompiler: !1,
4
+ enableNativeCSS: !1
5
+ };
6
+ function configureVXRNCompilerPlugin(_) {
7
+ Object.assign(configuration, _);
8
+ }
9
+ export {
10
+ configuration,
11
+ configureVXRNCompilerPlugin
12
+ };
13
+ //# sourceMappingURL=configure.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Users/n8/one/packages/compiler/src/configure.ts"],
4
+ "mappings": "AAQO,IAAMA,gBAAsB;EACjCC,kBAAkB;EAClBC,gBAAgB;EAChBC,iBAAiB;AACnB;AAEO,SAASC,4BAA4BC,GAAO;AACjDC,SAAOC,OAAOP,eAAeK,CAAAA;AAC/B;",
5
+ "names": ["configuration", "enableReanimated", "enableCompiler", "enableNativeCSS", "configureVXRNCompilerPlugin", "_", "Object", "assign"]
6
+ }
@@ -0,0 +1,18 @@
1
+ import { createDebugger } from "@vxrn/utils";
2
+ const { debug } = createDebugger("vxrn:compiler-plugin"), runtimePublicPath = "/@react-refresh", asyncGeneratorRegex = /(async \*|async function\*|for await)/, parsers = {
3
+ ".tsx": { syntax: "typescript", tsx: !0, decorators: !0 },
4
+ ".ts": { syntax: "typescript", tsx: !1, decorators: !0 },
5
+ ".jsx": { syntax: "ecmascript", jsx: !0 },
6
+ ".js": { syntax: "ecmascript" },
7
+ ".mjs": { syntax: "ecmascript" },
8
+ ".cjs": { syntax: "ecmascript" },
9
+ ".mdx": { syntax: "ecmascript", jsx: !0 }
10
+ }, validParsers = /* @__PURE__ */ new Set([...Object.keys(parsers), ".css"]);
11
+ export {
12
+ asyncGeneratorRegex,
13
+ debug,
14
+ parsers,
15
+ runtimePublicPath,
16
+ validParsers
17
+ };
18
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/constants.ts"],
4
+ "mappings": "AAEA,SAAS,sBAAsB;AAExB,MAAM,EAAE,MAAM,IAAI,eAAe,sBAAsB,GAEjD,oBAAoB,mBAEpB,sBAAsB,yCAEtB,UAAwC;AAAA,EACnD,QAAQ,EAAE,QAAQ,cAAc,KAAK,IAAM,YAAY,GAAK;AAAA,EAC5D,OAAO,EAAE,QAAQ,cAAc,KAAK,IAAO,YAAY,GAAK;AAAA,EAC5D,QAAQ,EAAE,QAAQ,cAAc,KAAK,GAAK;AAAA,EAC1C,OAAO,EAAE,QAAQ,aAAa;AAAA,EAC9B,QAAQ,EAAE,QAAQ,aAAa;AAAA,EAC/B,QAAQ,EAAE,QAAQ,aAAa;AAAA,EAC/B,QAAQ,EAAE,QAAQ,cAAc,KAAK,GAAK;AAC5C,GAEa,eAAe,oBAAI,IAAI,CAAC,GAAG,OAAO,KAAK,OAAO,GAAG,MAAM,CAAC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,38 @@
1
+ import { createDebugger } from "@vxrn/utils";
2
+ const {
3
+ debug
4
+ } = createDebugger("vxrn:compiler-plugin"),
5
+ runtimePublicPath = "/@react-refresh",
6
+ asyncGeneratorRegex = /(async \*|async function\*|for await)/,
7
+ parsers = {
8
+ ".tsx": {
9
+ syntax: "typescript",
10
+ tsx: !0,
11
+ decorators: !0
12
+ },
13
+ ".ts": {
14
+ syntax: "typescript",
15
+ tsx: !1,
16
+ decorators: !0
17
+ },
18
+ ".jsx": {
19
+ syntax: "ecmascript",
20
+ jsx: !0
21
+ },
22
+ ".js": {
23
+ syntax: "ecmascript"
24
+ },
25
+ ".mjs": {
26
+ syntax: "ecmascript"
27
+ },
28
+ ".cjs": {
29
+ syntax: "ecmascript"
30
+ },
31
+ ".mdx": {
32
+ syntax: "ecmascript",
33
+ jsx: !0
34
+ }
35
+ },
36
+ validParsers = /* @__PURE__ */new Set([...Object.keys(parsers), ".css"]);
37
+ export { asyncGeneratorRegex, debug, parsers, runtimePublicPath, validParsers };
38
+ //# sourceMappingURL=constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createDebugger","debug","runtimePublicPath","asyncGeneratorRegex","parsers","syntax","tsx","decorators","jsx","validParsers","Set","Object","keys"],"sources":["../../src/constants.ts"],"sourcesContent":[null],"mappings":"AAEA,SAASA,cAAA,QAAsB;AAExB,MAAM;IAAEC;EAAM,IAAID,cAAA,CAAe,sBAAsB;EAEjDE,iBAAA,GAAoB;EAEpBC,mBAAA,GAAsB;EAEtBC,OAAA,GAAwC;IACnD,QAAQ;MAAEC,MAAA,EAAQ;MAAcC,GAAA,EAAK;MAAMC,UAAA,EAAY;IAAK;IAC5D,OAAO;MAAEF,MAAA,EAAQ;MAAcC,GAAA,EAAK;MAAOC,UAAA,EAAY;IAAK;IAC5D,QAAQ;MAAEF,MAAA,EAAQ;MAAcG,GAAA,EAAK;IAAK;IAC1C,OAAO;MAAEH,MAAA,EAAQ;IAAa;IAC9B,QAAQ;MAAEA,MAAA,EAAQ;IAAa;IAC/B,QAAQ;MAAEA,MAAA,EAAQ;IAAa;IAC/B,QAAQ;MAAEA,MAAA,EAAQ;MAAcG,GAAA,EAAK;IAAK;EAC5C;EAEaC,YAAA,GAAe,mBAAIC,GAAA,CAAI,CAAC,GAAGC,MAAA,CAAOC,IAAA,CAAKR,OAAO,GAAG,MAAM,CAAC","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ import { createDebugger } from "@vxrn/utils";
2
+ var { debug } = createDebugger("vxrn:compiler-plugin"), runtimePublicPath = "/@react-refresh", asyncGeneratorRegex = /(async \*|async function\*|for await)/, parsers = {
3
+ ".tsx": {
4
+ syntax: "typescript",
5
+ tsx: !0,
6
+ decorators: !0
7
+ },
8
+ ".ts": {
9
+ syntax: "typescript",
10
+ tsx: !1,
11
+ decorators: !0
12
+ },
13
+ ".jsx": {
14
+ syntax: "ecmascript",
15
+ jsx: !0
16
+ },
17
+ ".js": {
18
+ syntax: "ecmascript"
19
+ },
20
+ ".mjs": {
21
+ syntax: "ecmascript"
22
+ },
23
+ ".cjs": {
24
+ syntax: "ecmascript"
25
+ },
26
+ ".mdx": {
27
+ syntax: "ecmascript",
28
+ jsx: !0
29
+ }
30
+ }, validParsers = /* @__PURE__ */ new Set([
31
+ ...Object.keys(parsers),
32
+ ".css"
33
+ ]);
34
+ export {
35
+ asyncGeneratorRegex,
36
+ debug,
37
+ parsers,
38
+ runtimePublicPath,
39
+ validParsers
40
+ };
41
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Users/n8/one/packages/compiler/src/constants.ts"],
4
+ "mappings": "AAEA,SAASA,sBAAsB;AAExB,IAAM,EAAEC,MAAK,IAAKD,eAAe,sBAAA,GAE3BE,oBAAoB,mBAEpBC,sBAAsB,yCAEtBC,UAAwC;EACnD,QAAQ;IAAEC,QAAQ;IAAcC,KAAK;IAAMC,YAAY;EAAK;EAC5D,OAAO;IAAEF,QAAQ;IAAcC,KAAK;IAAOC,YAAY;EAAK;EAC5D,QAAQ;IAAEF,QAAQ;IAAcG,KAAK;EAAK;EAC1C,OAAO;IAAEH,QAAQ;EAAa;EAC9B,QAAQ;IAAEA,QAAQ;EAAa;EAC/B,QAAQ;IAAEA,QAAQ;EAAa;EAC/B,QAAQ;IAAEA,QAAQ;IAAcG,KAAK;EAAK;AAC5C,GAEaC,eAAe,oBAAIC,IAAI;KAAIC,OAAOC,KAAKR,OAAAA;EAAU;CAAO;",
5
+ "names": ["createDebugger", "debug", "runtimePublicPath", "asyncGeneratorRegex", "parsers", "syntax", "tsx", "decorators", "jsx", "validParsers", "Set", "Object", "keys"]
6
+ }
@@ -0,0 +1,102 @@
1
+ import { resolvePath } from "@vxrn/utils";
2
+ import { readFileSync } from "node:fs";
3
+ import { readFile } from "node:fs/promises";
4
+ import { extname, join } from "node:path";
5
+ import { debug, runtimePublicPath, validParsers } from "./constants";
6
+ import { getBabelOptions, transformBabel } from "./transformBabel";
7
+ import { transformSWC } from "./transformSWC";
8
+ export * from "./configure";
9
+ export * from "./transformBabel";
10
+ export * from "./transformSWC";
11
+ async function createVXRNCompilerPlugin(optionsIn) {
12
+ const reactVersion = await (async () => {
13
+ const path = resolvePath("react/package.json");
14
+ return JSON.parse(await readFile(path, "utf-8")).version;
15
+ })(), envNames = {
16
+ ios: !0,
17
+ android: !0,
18
+ client: !0,
19
+ ssr: !0
20
+ };
21
+ function getEnvName(name) {
22
+ if (!envNames[name]) throw new Error(`Invalid env: ${name}`);
23
+ return name;
24
+ }
25
+ return [
26
+ {
27
+ name: "one:compiler-resolve-refresh-runtime",
28
+ apply: "serve",
29
+ enforce: "pre",
30
+ // Run before Vite default resolve to avoid syscalls
31
+ resolveId: (id) => id === runtimePublicPath ? id : void 0,
32
+ load: (id) => id === runtimePublicPath ? readFileSync(join(import.meta.dirname, "refresh-runtime.js"), "utf-8") : void 0
33
+ },
34
+ {
35
+ name: "one:compiler",
36
+ enforce: "pre",
37
+ config: () => {
38
+ const config = {
39
+ esbuild: !1,
40
+ optimizeDeps: {
41
+ noDiscovery: !0
42
+ }
43
+ };
44
+ return {
45
+ environments: {
46
+ ios: config,
47
+ android: config
48
+ }
49
+ };
50
+ },
51
+ transform: {
52
+ order: "pre",
53
+ async handler(codeIn, _id) {
54
+ let code = codeIn;
55
+ const shouldDebug = process.env.NODE_ENV === "development" && codeIn.startsWith("// debug");
56
+ shouldDebug && (console.info(`[one] ${_id} input:`), console.info(codeIn));
57
+ const extension = extname(_id);
58
+ if (!validParsers.has(extension))
59
+ return;
60
+ let id = _id.split("?")[0];
61
+ const isPreProcess = id.startsWith("vxrn-swc-preprocess:");
62
+ if (isPreProcess && (id = id.replace("vxrn-swc-preprocess:", "")), id.includes("virtual:"))
63
+ return;
64
+ const environment = getEnvName(this.environment.name), production = process.env.NODE_ENV === "production", transformProps = {
65
+ id,
66
+ code,
67
+ development: !production,
68
+ environment,
69
+ reactForRNVersion: reactVersion.split(".")[0]
70
+ }, userTransform = optionsIn?.transform?.(transformProps);
71
+ if (userTransform === !1)
72
+ return;
73
+ if (!isPreProcess && userTransform !== "swc") {
74
+ const babelOptions = getBabelOptions({
75
+ ...transformProps,
76
+ userSetting: userTransform
77
+ });
78
+ if (babelOptions) {
79
+ const babelOut = await transformBabel(id, code, babelOptions);
80
+ babelOut && (debug?.(`[${id}] transformed with babel options: ${JSON.stringify(babelOptions)}`), code = babelOut);
81
+ }
82
+ }
83
+ const swcOptions = {
84
+ environment,
85
+ mode: "serve",
86
+ production,
87
+ ...optionsIn
88
+ }, out = await transformSWC(id, code, {
89
+ ...swcOptions,
90
+ es5: !0,
91
+ noHMR: isPreProcess
92
+ });
93
+ return shouldDebug && (console.info("swcOptions", swcOptions), console.info("final output:", out?.code)), out;
94
+ }
95
+ }
96
+ }
97
+ ];
98
+ }
99
+ export {
100
+ createVXRNCompilerPlugin
101
+ };
102
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,99 @@
1
+ import { resolvePath } from "@vxrn/utils";
2
+ import { readFileSync } from "node:fs";
3
+ import { readFile } from "node:fs/promises";
4
+ import { extname, join } from "node:path";
5
+ import { debug, runtimePublicPath, validParsers } from "./constants.mjs";
6
+ import { getBabelOptions, transformBabel } from "./transformBabel.mjs";
7
+ import { transformSWC } from "./transformSWC.mjs";
8
+ export * from "./configure.mjs";
9
+ export * from "./transformBabel.mjs";
10
+ export * from "./transformSWC.mjs";
11
+ async function createVXRNCompilerPlugin(optionsIn) {
12
+ const reactVersion = await (async () => {
13
+ const path = resolvePath("react/package.json");
14
+ return JSON.parse(await readFile(path, "utf-8")).version;
15
+ })(),
16
+ envNames = {
17
+ ios: !0,
18
+ android: !0,
19
+ client: !0,
20
+ ssr: !0
21
+ };
22
+ function getEnvName(name) {
23
+ if (!envNames[name]) throw new Error(`Invalid env: ${name}`);
24
+ return name;
25
+ }
26
+ return [{
27
+ name: "one:compiler-resolve-refresh-runtime",
28
+ apply: "serve",
29
+ enforce: "pre",
30
+ // Run before Vite default resolve to avoid syscalls
31
+ resolveId: id => id === runtimePublicPath ? id : void 0,
32
+ load: id => id === runtimePublicPath ? readFileSync(join(import.meta.dirname, "refresh-runtime.js"), "utf-8") : void 0
33
+ }, {
34
+ name: "one:compiler",
35
+ enforce: "pre",
36
+ config: () => {
37
+ const config = {
38
+ esbuild: !1,
39
+ optimizeDeps: {
40
+ noDiscovery: !0
41
+ }
42
+ };
43
+ return {
44
+ environments: {
45
+ ios: config,
46
+ android: config
47
+ }
48
+ };
49
+ },
50
+ transform: {
51
+ order: "pre",
52
+ async handler(codeIn, _id) {
53
+ let code = codeIn;
54
+ const shouldDebug = process.env.NODE_ENV === "development" && codeIn.startsWith("// debug");
55
+ shouldDebug && (console.info(`[one] ${_id} input:`), console.info(codeIn));
56
+ const extension = extname(_id);
57
+ if (!validParsers.has(extension)) return;
58
+ let id = _id.split("?")[0];
59
+ const isPreProcess = id.startsWith("vxrn-swc-preprocess:");
60
+ if (isPreProcess && (id = id.replace("vxrn-swc-preprocess:", "")), id.includes("virtual:")) return;
61
+ const environment = getEnvName(this.environment.name),
62
+ production = process.env.NODE_ENV === "production",
63
+ transformProps = {
64
+ id,
65
+ code,
66
+ development: !production,
67
+ environment,
68
+ reactForRNVersion: reactVersion.split(".")[0]
69
+ },
70
+ userTransform = optionsIn?.transform?.(transformProps);
71
+ if (userTransform === !1) return;
72
+ if (!isPreProcess && userTransform !== "swc") {
73
+ const babelOptions = getBabelOptions({
74
+ ...transformProps,
75
+ userSetting: userTransform
76
+ });
77
+ if (babelOptions) {
78
+ const babelOut = await transformBabel(id, code, babelOptions);
79
+ babelOut && (debug?.(`[${id}] transformed with babel options: ${JSON.stringify(babelOptions)}`), code = babelOut);
80
+ }
81
+ }
82
+ const swcOptions = {
83
+ environment,
84
+ mode: "serve",
85
+ production,
86
+ ...optionsIn
87
+ },
88
+ out = await transformSWC(id, code, {
89
+ ...swcOptions,
90
+ es5: !0,
91
+ noHMR: isPreProcess
92
+ });
93
+ return shouldDebug && (console.info("swcOptions", swcOptions), console.info("final output:", out?.code)), out;
94
+ }
95
+ }
96
+ }];
97
+ }
98
+ export { createVXRNCompilerPlugin };
99
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["resolvePath","readFileSync","readFile","extname","join","debug","runtimePublicPath","validParsers","getBabelOptions","transformBabel","transformSWC","createVXRNCompilerPlugin","optionsIn","reactVersion","path","JSON","parse","version","envNames","ios","android","client","ssr","getEnvName","name","Error","apply","enforce","resolveId","id","load","import","meta","dirname","config","esbuild","optimizeDeps","noDiscovery","environments","transform","order","handler","codeIn","_id","code","shouldDebug","process","env","NODE_ENV","startsWith","console","info","extension","has","split","isPreProcess","replace","includes","environment","production","transformProps","development","reactForRNVersion","userTransform","babelOptions","userSetting","babelOut","stringify","swcOptions","mode","out","es5","noHMR"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,104 @@
1
+ import { resolvePath } from "@vxrn/utils";
2
+ import { readFileSync } from "node:fs";
3
+ import { readFile } from "node:fs/promises";
4
+ import { extname, join } from "node:path";
5
+ import { debug, runtimePublicPath, validParsers } from "./constants";
6
+ import { getBabelOptions, transformBabel } from "./transformBabel";
7
+ import { transformSWC } from "./transformSWC";
8
+ export * from "./configure";
9
+ export * from "./transformBabel";
10
+ export * from "./transformSWC";
11
+ async function createVXRNCompilerPlugin(optionsIn) {
12
+ var reactVersion = await async function() {
13
+ var path = resolvePath("react/package.json"), json = JSON.parse(await readFile(path, "utf-8"));
14
+ return json.version;
15
+ }(), envNames = {
16
+ ios: !0,
17
+ android: !0,
18
+ client: !0,
19
+ ssr: !0
20
+ };
21
+ function getEnvName(name) {
22
+ if (!envNames[name]) throw new Error(`Invalid env: ${name}`);
23
+ return name;
24
+ }
25
+ return [
26
+ {
27
+ name: "one:compiler-resolve-refresh-runtime",
28
+ apply: "serve",
29
+ enforce: "pre",
30
+ // Run before Vite default resolve to avoid syscalls
31
+ resolveId: function(id) {
32
+ return id === runtimePublicPath ? id : void 0;
33
+ },
34
+ load: function(id) {
35
+ return id === runtimePublicPath ? readFileSync(join(import.meta.dirname, "refresh-runtime.js"), "utf-8") : void 0;
36
+ }
37
+ },
38
+ {
39
+ name: "one:compiler",
40
+ enforce: "pre",
41
+ config: function() {
42
+ var config = {
43
+ esbuild: !1,
44
+ optimizeDeps: {
45
+ noDiscovery: !0
46
+ }
47
+ };
48
+ return {
49
+ environments: {
50
+ ios: config,
51
+ android: config
52
+ }
53
+ };
54
+ },
55
+ transform: {
56
+ order: "pre",
57
+ async handler(codeIn, _id) {
58
+ var _optionsIn_transform, code = codeIn, shouldDebug = process.env.NODE_ENV === "development" && codeIn.startsWith("// debug");
59
+ shouldDebug && (console.info(`[one] ${_id} input:`), console.info(codeIn));
60
+ var extension = extname(_id);
61
+ if (validParsers.has(extension)) {
62
+ var id = _id.split("?")[0], isPreProcess = id.startsWith("vxrn-swc-preprocess:");
63
+ if (isPreProcess && (id = id.replace("vxrn-swc-preprocess:", "")), !id.includes("virtual:")) {
64
+ var environment = getEnvName(this.environment.name), production = process.env.NODE_ENV === "production", transformProps = {
65
+ id,
66
+ code,
67
+ development: !production,
68
+ environment,
69
+ reactForRNVersion: reactVersion.split(".")[0]
70
+ }, userTransform = optionsIn == null || (_optionsIn_transform = optionsIn.transform) === null || _optionsIn_transform === void 0 ? void 0 : _optionsIn_transform.call(optionsIn, transformProps);
71
+ if (userTransform !== !1) {
72
+ if (!isPreProcess && userTransform !== "swc") {
73
+ var babelOptions = getBabelOptions({
74
+ ...transformProps,
75
+ userSetting: userTransform
76
+ });
77
+ if (babelOptions) {
78
+ var babelOut = await transformBabel(id, code, babelOptions);
79
+ babelOut && (debug === null || debug === void 0 || debug(`[${id}] transformed with babel options: ${JSON.stringify(babelOptions)}`), code = babelOut);
80
+ }
81
+ }
82
+ var swcOptions = {
83
+ environment,
84
+ mode: "serve",
85
+ production,
86
+ ...optionsIn
87
+ }, out = await transformSWC(id, code, {
88
+ ...swcOptions,
89
+ es5: !0,
90
+ noHMR: isPreProcess
91
+ });
92
+ return shouldDebug && (console.info("swcOptions", swcOptions), console.info("final output:", out?.code)), out;
93
+ }
94
+ }
95
+ }
96
+ }
97
+ }
98
+ }
99
+ ];
100
+ }
101
+ export {
102
+ createVXRNCompilerPlugin
103
+ };
104
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Users/n8/one/packages/compiler/src/index.ts"],
4
+ "mappings": "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",
5
+ "names": ["resolvePath", "readFileSync", "readFile", "extname", "join", "debug", "runtimePublicPath", "validParsers", "getBabelOptions", "transformBabel", "transformSWC", "createVXRNCompilerPlugin", "optionsIn", "reactVersion", "path", "json", "JSON", "parse", "version", "envNames", "ios", "android", "client", "ssr", "getEnvName", "name", "Error", "apply", "enforce", "resolveId", "id", "undefined", "load", "dirname", "config", "esbuild", "optimizeDeps", "noDiscovery", "environments", "transform", "order", "handler", "codeIn", "_id", "code", "shouldDebug", "process", "env", "NODE_ENV", "startsWith", "console", "info", "extension", "has", "split", "isPreProcess", "replace", "includes", "environment", "production", "transformProps", "development", "reactForRNVersion", "userTransform", "babelOptions", "userSetting", "babelOut", "stringify", "swcOptions", "mode", "out", "es5", "noHMR"]
6
+ }