@vxrn/compiler 2.0.0-beta.33.1 → 2.0.0-beta.362.1

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 (115) hide show
  1. package/dist/cjs/cache.cjs +112 -109
  2. package/dist/cjs/configure.cjs +26 -28
  3. package/dist/cjs/constants.cjs +56 -60
  4. package/dist/cjs/index.cjs +428 -438
  5. package/dist/cjs/reactNativeCodegen.cjs +105 -114
  6. package/dist/cjs/reactNativeViewConfig.cjs +362 -381
  7. package/dist/cjs/refresh-runtime.cjs +390 -397
  8. package/dist/cjs/transformBabel.cjs +247 -221
  9. package/dist/cjs/transformHermesAsync.cjs +36 -47
  10. package/dist/cjs/transformHermesClasses.cjs +51 -0
  11. package/dist/cjs/transformHermesLoops.cjs +279 -281
  12. package/dist/cjs/transformSWC.cjs +183 -200
  13. package/dist/cjs/transformWorklets.cjs +107 -95
  14. package/dist/cjs/types.cjs +9 -11
  15. package/dist/cjs/workletUtils.cjs +30 -0
  16. package/dist/cjs/worklets/autoworklet.cjs +277 -222
  17. package/dist/cjs/worklets/globals.cjs +145 -60
  18. package/dist/cjs/worklets/hash.cjs +23 -27
  19. package/dist/cjs/worklets/scope.cjs +338 -359
  20. package/dist/cjs/worklets/serialize.cjs +73 -75
  21. package/dist/cjs/worklets/transform.cjs +217 -222
  22. package/dist/cjs/worklets/types.cjs +9 -11
  23. package/dist/esm/cache.mjs +96 -89
  24. package/dist/esm/cache.mjs.map +1 -1
  25. package/dist/esm/configure.mjs +11 -10
  26. package/dist/esm/configure.mjs.map +1 -1
  27. package/dist/esm/constants.mjs +41 -41
  28. package/dist/esm/constants.mjs.map +1 -1
  29. package/dist/esm/index.js +426 -420
  30. package/dist/esm/index.js.map +1 -1
  31. package/dist/esm/index.mjs +426 -420
  32. package/dist/esm/index.mjs.map +1 -1
  33. package/dist/esm/reactNativeCodegen.mjs +90 -88
  34. package/dist/esm/reactNativeCodegen.mjs.map +1 -1
  35. package/dist/esm/reactNativeViewConfig.mjs +347 -362
  36. package/dist/esm/reactNativeViewConfig.mjs.map +1 -1
  37. package/dist/esm/refresh-runtime.mjs +372 -376
  38. package/dist/esm/refresh-runtime.mjs.map +1 -1
  39. package/dist/esm/transformBabel.mjs +231 -198
  40. package/dist/esm/transformBabel.mjs.map +1 -1
  41. package/dist/esm/transformHermesAsync.mjs +20 -21
  42. package/dist/esm/transformHermesAsync.mjs.map +1 -1
  43. package/dist/esm/transformHermesClasses.mjs +25 -0
  44. package/dist/esm/transformHermesClasses.mjs.map +1 -0
  45. package/dist/esm/transformHermesLoops.mjs +264 -255
  46. package/dist/esm/transformHermesLoops.mjs.map +1 -1
  47. package/dist/esm/transformSWC.mjs +163 -171
  48. package/dist/esm/transformSWC.mjs.map +1 -1
  49. package/dist/esm/transformWorklets.mjs +89 -69
  50. package/dist/esm/transformWorklets.mjs.map +1 -1
  51. package/dist/esm/types.mjs +0 -2
  52. package/dist/esm/workletUtils.mjs +5 -0
  53. package/dist/esm/worklets/autoworklet.mjs +258 -200
  54. package/dist/esm/worklets/autoworklet.mjs.map +1 -1
  55. package/dist/esm/worklets/globals.mjs +130 -42
  56. package/dist/esm/worklets/globals.mjs.map +1 -1
  57. package/dist/esm/worklets/hash.mjs +10 -9
  58. package/dist/esm/worklets/hash.mjs.map +1 -1
  59. package/dist/esm/worklets/scope.mjs +325 -341
  60. package/dist/esm/worklets/scope.mjs.map +1 -1
  61. package/dist/esm/worklets/serialize.mjs +60 -58
  62. package/dist/esm/worklets/serialize.mjs.map +1 -1
  63. package/dist/esm/worklets/transform.mjs +201 -197
  64. package/dist/esm/worklets/transform.mjs.map +1 -1
  65. package/dist/esm/worklets/types.mjs +0 -2
  66. package/package.json +15 -6
  67. package/src/cache.ts +37 -7
  68. package/src/index.ts +44 -19
  69. package/src/reactNativeViewConfig.ts +6 -1
  70. package/src/transformBabel.test.ts +351 -17
  71. package/src/transformBabel.ts +137 -96
  72. package/src/transformHermesClasses.ts +34 -0
  73. package/src/transformSWC.ts +12 -1
  74. package/src/transformWorklets.test.ts +80 -5
  75. package/src/workletUtils.ts +4 -0
  76. package/src/worklets/autoworklet.ts +5 -2
  77. package/src/worklets/globals.ts +23 -0
  78. package/src/worklets/serialize.ts +1 -1
  79. package/types/cache.d.ts +2 -2
  80. package/types/cache.d.ts.map +1 -1
  81. package/types/index.d.ts +1 -0
  82. package/types/index.d.ts.map +1 -1
  83. package/types/reactNativeViewConfig.d.ts.map +1 -1
  84. package/types/transformBabel.d.ts +16 -1
  85. package/types/transformBabel.d.ts.map +1 -1
  86. package/types/transformHermesClasses.d.ts +5 -0
  87. package/types/transformHermesClasses.d.ts.map +1 -0
  88. package/types/transformSWC.d.ts +1 -4
  89. package/types/transformSWC.d.ts.map +1 -1
  90. package/types/workletUtils.d.ts +4 -0
  91. package/types/workletUtils.d.ts.map +1 -0
  92. package/types/worklets/autoworklet.d.ts.map +1 -1
  93. package/types/worklets/globals.d.ts.map +1 -1
  94. package/dist/cjs/transformBabel.test.cjs +0 -360
  95. package/dist/cjs/transformHermesLoops.test.cjs +0 -257
  96. package/dist/cjs/transformSWC.test.cjs +0 -117
  97. package/dist/cjs/transformWorklets.test.cjs +0 -604
  98. package/dist/esm/transformBabel.test.mjs +0 -337
  99. package/dist/esm/transformBabel.test.mjs.map +0 -1
  100. package/dist/esm/transformHermesLoops.test.mjs +0 -234
  101. package/dist/esm/transformHermesLoops.test.mjs.map +0 -1
  102. package/dist/esm/transformSWC.test.mjs +0 -118
  103. package/dist/esm/transformSWC.test.mjs.map +0 -1
  104. package/dist/esm/transformWorklets.test.mjs +0 -581
  105. package/dist/esm/transformWorklets.test.mjs.map +0 -1
  106. package/dist/esm/types.mjs.map +0 -1
  107. package/dist/esm/worklets/types.mjs.map +0 -1
  108. package/types/transformBabel.test.d.ts +0 -2
  109. package/types/transformBabel.test.d.ts.map +0 -1
  110. package/types/transformHermesLoops.test.d.ts +0 -2
  111. package/types/transformHermesLoops.test.d.ts.map +0 -1
  112. package/types/transformSWC.test.d.ts +0 -2
  113. package/types/transformSWC.test.d.ts.map +0 -1
  114. package/types/transformWorklets.test.d.ts +0 -2
  115. package/types/transformWorklets.test.d.ts.map +0 -1
@@ -1,118 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { runInNewContext } from "node:vm";
3
- import { rolldown } from "rolldown";
4
- import { transformOxc, transformSWC, transformSWCStripJSX } from "./transformSWC.mjs";
5
- describe("transformSWC / transformOxc with oxc-transform for Hermes lowering", () => {
6
- it("preserves unbraced for-await bodies and early returns", async () => {
7
- const result = await transformSWC("AsyncIterable.js", `
8
- async function collect(it) {
9
- const values = []
10
- for await (const value of it) values.push(value)
11
- return values
12
- }
13
- async function first(it) {
14
- for await (const value of it) return value
15
- return null
16
- }
17
- globalThis.result = Promise.all([collect([11, 22]), first([11, 22])])
18
- `, {
19
- environment: "ios",
20
- mode: "build",
21
- production: true
22
- });
23
- expect(result).toBeDefined();
24
- const bundle = await rolldown({
25
- input: "virtual:async-iterable.js",
26
- plugins: [{
27
- name: "async-iterable-fixture",
28
- resolveId(id) {
29
- if (id === "virtual:async-iterable.js") return id;
30
- },
31
- load(id) {
32
- if (id === "virtual:async-iterable.js") return result.code;
33
- }
34
- }]
35
- });
36
- try {
37
- const output = await bundle.generate({
38
- format: "iife"
39
- });
40
- const context = {};
41
- runInNewContext(output.output[0].code, context);
42
- await expect(context.result).resolves.toEqual([[11, 22], 11]);
43
- } finally {
44
- await bundle.close();
45
- }
46
- });
47
- it("lowers class fields, private fields, and static blocks with Hermes target and assumptions", async () => {
48
- const input = `
49
- class Sample {
50
- #secret = 42
51
- publicField = 100
52
- static {
53
- Sample.initialized = true
54
- }
55
- getSecret() {
56
- return this.#secret
57
- }
58
- }
59
- `;
60
- const res = await transformSWC("Sample.ts", input, {
61
- environment: "ios",
62
- mode: "build"
63
- });
64
- expect(res).toBeDefined();
65
- expect(res.code).not.toContain("#secret");
66
- expect(res.code).not.toMatch(/^\s*publicField\s*=/m);
67
- expect(res.code).not.toContain("static {");
68
- expect(res.code).toContain("this.publicField = 100");
69
- });
70
- it.each(["MyComponent.tsx", "MyComponent.js", "MyComponent.mjs", "MyComponent.cjs"])("lowers JSX in %s to react automatic runtime calls", async filename => {
71
- const input = `
72
- export function MyComponent() {
73
- return <div className="test"><span>Hello</span></div>
74
- }
75
- `;
76
- const res = await transformSWC(filename, input, {
77
- environment: "client",
78
- mode: "build"
79
- });
80
- expect(res).toBeDefined();
81
- expect(res.code).not.toContain("<div");
82
- expect(res.code).not.toContain("<span>");
83
- expect(res.code).toContain("_jsx");
84
- });
85
- it("respects sourcemaps option", async () => {
86
- const input = `
87
- class Sample {
88
- val = 1
89
- }
90
- `;
91
- const resWithoutMap = await transformSWC("Sample.ts", input, {
92
- environment: "ios",
93
- mode: "build"
94
- }, {
95
- sourceMaps: false
96
- });
97
- expect(resWithoutMap?.map).toBeUndefined();
98
- const resWithMap = await transformSWC("Sample.ts", input, {
99
- environment: "ios",
100
- mode: "build"
101
- }, {
102
- sourceMaps: true
103
- });
104
- expect(resWithMap?.map).toBeDefined();
105
- expect(resWithMap?.map.mappings).toBeDefined();
106
- });
107
- it("provides transformOxc alias", () => {
108
- expect(transformOxc).toBe(transformSWC);
109
- });
110
- it("strips JSX using transformSWCStripJSX", async () => {
111
- const input = `export const el = <div>Hello</div>`;
112
- const res = await transformSWCStripJSX("el.tsx", input);
113
- expect(res).toBeDefined();
114
- expect(res.code).not.toContain("<div>");
115
- expect(res.code).toContain("_jsx");
116
- });
117
- });
118
- //# sourceMappingURL=transformSWC.test.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["describe","expect","it","runInNewContext","rolldown","transformOxc","transformSWC","transformSWCStripJSX","result","environment","mode","production","toBeDefined","bundle","input","plugins","name","resolveId","id","load","code","output","generate","format","context","resolves","toEqual","close","res","not","toContain","toMatch","each","filename","resWithoutMap","sourceMaps","map","toBeUndefined","resWithMap","mappings","toBe"],"sources":["../../src/transformSWC.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}