@vxrn/compiler 2.0.0-beta.33.1 → 2.0.0-beta.46.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.
- package/dist/cjs/cache.cjs +112 -109
- package/dist/cjs/configure.cjs +26 -28
- package/dist/cjs/constants.cjs +56 -60
- package/dist/cjs/index.cjs +420 -438
- package/dist/cjs/reactNativeCodegen.cjs +105 -114
- package/dist/cjs/reactNativeViewConfig.cjs +362 -381
- package/dist/cjs/refresh-runtime.cjs +390 -397
- package/dist/cjs/transformBabel.cjs +278 -218
- package/dist/cjs/transformHermesAsync.cjs +36 -47
- package/dist/cjs/transformHermesLoops.cjs +279 -281
- package/dist/cjs/transformSWC.cjs +183 -200
- package/dist/cjs/transformWorklets.cjs +107 -95
- package/dist/cjs/types.cjs +9 -11
- package/dist/cjs/worklets/autoworklet.cjs +277 -222
- package/dist/cjs/worklets/globals.cjs +124 -60
- package/dist/cjs/worklets/hash.cjs +23 -27
- package/dist/cjs/worklets/scope.cjs +338 -359
- package/dist/cjs/worklets/serialize.cjs +73 -75
- package/dist/cjs/worklets/transform.cjs +217 -222
- package/dist/cjs/worklets/types.cjs +9 -11
- package/dist/esm/cache.mjs +96 -89
- package/dist/esm/cache.mjs.map +1 -1
- package/dist/esm/configure.mjs +11 -10
- package/dist/esm/configure.mjs.map +1 -1
- package/dist/esm/constants.mjs +41 -41
- package/dist/esm/constants.mjs.map +1 -1
- package/dist/esm/index.js +417 -420
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +417 -420
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/reactNativeCodegen.mjs +90 -88
- package/dist/esm/reactNativeCodegen.mjs.map +1 -1
- package/dist/esm/reactNativeViewConfig.mjs +347 -362
- package/dist/esm/reactNativeViewConfig.mjs.map +1 -1
- package/dist/esm/refresh-runtime.mjs +372 -376
- package/dist/esm/refresh-runtime.mjs.map +1 -1
- package/dist/esm/transformBabel.mjs +261 -194
- package/dist/esm/transformBabel.mjs.map +1 -1
- package/dist/esm/transformHermesAsync.mjs +20 -21
- package/dist/esm/transformHermesAsync.mjs.map +1 -1
- package/dist/esm/transformHermesLoops.mjs +264 -255
- package/dist/esm/transformHermesLoops.mjs.map +1 -1
- package/dist/esm/transformSWC.mjs +163 -171
- package/dist/esm/transformSWC.mjs.map +1 -1
- package/dist/esm/transformWorklets.mjs +89 -69
- package/dist/esm/transformWorklets.mjs.map +1 -1
- package/dist/esm/types.mjs +0 -2
- package/dist/esm/worklets/autoworklet.mjs +258 -200
- package/dist/esm/worklets/autoworklet.mjs.map +1 -1
- package/dist/esm/worklets/globals.mjs +109 -42
- package/dist/esm/worklets/globals.mjs.map +1 -1
- package/dist/esm/worklets/hash.mjs +10 -9
- package/dist/esm/worklets/hash.mjs.map +1 -1
- package/dist/esm/worklets/scope.mjs +325 -341
- package/dist/esm/worklets/scope.mjs.map +1 -1
- package/dist/esm/worklets/serialize.mjs +60 -58
- package/dist/esm/worklets/serialize.mjs.map +1 -1
- package/dist/esm/worklets/transform.mjs +201 -197
- package/dist/esm/worklets/transform.mjs.map +1 -1
- package/dist/esm/worklets/types.mjs +0 -2
- package/package.json +7 -6
- package/src/cache.ts +37 -7
- package/src/index.ts +33 -18
- package/src/transformBabel.test.ts +311 -1
- package/src/transformBabel.ts +110 -13
- package/src/transformWorklets.test.ts +7 -1
- package/types/cache.d.ts +2 -2
- package/types/cache.d.ts.map +1 -1
- package/types/index.d.ts.map +1 -1
- package/types/transformBabel.d.ts +16 -1
- package/types/transformBabel.d.ts.map +1 -1
- package/types/transformSWC.d.ts +1 -4
- package/types/transformSWC.d.ts.map +1 -1
- package/dist/cjs/transformBabel.test.cjs +0 -360
- package/dist/cjs/transformHermesLoops.test.cjs +0 -257
- package/dist/cjs/transformSWC.test.cjs +0 -117
- package/dist/cjs/transformWorklets.test.cjs +0 -604
- package/dist/esm/transformBabel.test.mjs +0 -337
- package/dist/esm/transformBabel.test.mjs.map +0 -1
- package/dist/esm/transformHermesLoops.test.mjs +0 -234
- package/dist/esm/transformHermesLoops.test.mjs.map +0 -1
- package/dist/esm/transformSWC.test.mjs +0 -118
- package/dist/esm/transformSWC.test.mjs.map +0 -1
- package/dist/esm/transformWorklets.test.mjs +0 -581
- package/dist/esm/transformWorklets.test.mjs.map +0 -1
- package/dist/esm/types.mjs.map +0 -1
- package/dist/esm/worklets/types.mjs.map +0 -1
- package/types/transformBabel.test.d.ts +0 -2
- package/types/transformBabel.test.d.ts.map +0 -1
- package/types/transformHermesLoops.test.d.ts +0 -2
- package/types/transformHermesLoops.test.d.ts.map +0 -1
- package/types/transformSWC.test.d.ts +0 -2
- package/types/transformSWC.test.d.ts.map +0 -1
- package/types/transformWorklets.test.d.ts +0 -2
- 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":[]}
|