@vxrn/compiler 2.0.0-beta.33.1 → 2.0.0-beta.45.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/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,117 +0,0 @@
|
|
|
1
|
-
var import_vitest = require("vitest");
|
|
2
|
-
var import_node_vm = require("node:vm");
|
|
3
|
-
var import_rolldown = require("rolldown");
|
|
4
|
-
var import_transformSWC = require("./transformSWC.cjs");
|
|
5
|
-
(0, import_vitest.describe)("transformSWC / transformOxc with oxc-transform for Hermes lowering", () => {
|
|
6
|
-
(0, import_vitest.it)("preserves unbraced for-await bodies and early returns", async () => {
|
|
7
|
-
const result = await (0, import_transformSWC.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
|
-
(0, import_vitest.expect)(result).toBeDefined();
|
|
24
|
-
const bundle = await (0, import_rolldown.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
|
-
(0, import_node_vm.runInNewContext)(output.output[0].code, context);
|
|
42
|
-
await (0, import_vitest.expect)(context.result).resolves.toEqual([[11, 22], 11]);
|
|
43
|
-
} finally {
|
|
44
|
-
await bundle.close();
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
(0, import_vitest.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 (0, import_transformSWC.transformSWC)("Sample.ts", input, {
|
|
61
|
-
environment: "ios",
|
|
62
|
-
mode: "build"
|
|
63
|
-
});
|
|
64
|
-
(0, import_vitest.expect)(res).toBeDefined();
|
|
65
|
-
(0, import_vitest.expect)(res.code).not.toContain("#secret");
|
|
66
|
-
(0, import_vitest.expect)(res.code).not.toMatch(/^\s*publicField\s*=/m);
|
|
67
|
-
(0, import_vitest.expect)(res.code).not.toContain("static {");
|
|
68
|
-
(0, import_vitest.expect)(res.code).toContain("this.publicField = 100");
|
|
69
|
-
});
|
|
70
|
-
import_vitest.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 (0, import_transformSWC.transformSWC)(filename, input, {
|
|
77
|
-
environment: "client",
|
|
78
|
-
mode: "build"
|
|
79
|
-
});
|
|
80
|
-
(0, import_vitest.expect)(res).toBeDefined();
|
|
81
|
-
(0, import_vitest.expect)(res.code).not.toContain("<div");
|
|
82
|
-
(0, import_vitest.expect)(res.code).not.toContain("<span>");
|
|
83
|
-
(0, import_vitest.expect)(res.code).toContain("_jsx");
|
|
84
|
-
});
|
|
85
|
-
(0, import_vitest.it)("respects sourcemaps option", async () => {
|
|
86
|
-
const input = `
|
|
87
|
-
class Sample {
|
|
88
|
-
val = 1
|
|
89
|
-
}
|
|
90
|
-
`;
|
|
91
|
-
const resWithoutMap = await (0, import_transformSWC.transformSWC)("Sample.ts", input, {
|
|
92
|
-
environment: "ios",
|
|
93
|
-
mode: "build"
|
|
94
|
-
}, {
|
|
95
|
-
sourceMaps: false
|
|
96
|
-
});
|
|
97
|
-
(0, import_vitest.expect)(resWithoutMap?.map).toBeUndefined();
|
|
98
|
-
const resWithMap = await (0, import_transformSWC.transformSWC)("Sample.ts", input, {
|
|
99
|
-
environment: "ios",
|
|
100
|
-
mode: "build"
|
|
101
|
-
}, {
|
|
102
|
-
sourceMaps: true
|
|
103
|
-
});
|
|
104
|
-
(0, import_vitest.expect)(resWithMap?.map).toBeDefined();
|
|
105
|
-
(0, import_vitest.expect)(resWithMap?.map.mappings).toBeDefined();
|
|
106
|
-
});
|
|
107
|
-
(0, import_vitest.it)("provides transformOxc alias", () => {
|
|
108
|
-
(0, import_vitest.expect)(import_transformSWC.transformOxc).toBe(import_transformSWC.transformSWC);
|
|
109
|
-
});
|
|
110
|
-
(0, import_vitest.it)("strips JSX using transformSWCStripJSX", async () => {
|
|
111
|
-
const input = `export const el = <div>Hello</div>`;
|
|
112
|
-
const res = await (0, import_transformSWC.transformSWCStripJSX)("el.tsx", input);
|
|
113
|
-
(0, import_vitest.expect)(res).toBeDefined();
|
|
114
|
-
(0, import_vitest.expect)(res.code).not.toContain("<div>");
|
|
115
|
-
(0, import_vitest.expect)(res.code).toContain("_jsx");
|
|
116
|
-
});
|
|
117
|
-
});
|