@vxrn/compiler 1.27.0 → 1.27.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 +21 -7
- package/dist/cjs/index.cjs +3 -2
- package/dist/cjs/transformBabel.cjs +4 -0
- package/dist/cjs/transformBabel.test.cjs +204 -0
- package/dist/esm/cache.mjs +21 -7
- package/dist/esm/cache.mjs.map +1 -1
- package/dist/esm/index.js +3 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +3 -2
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/transformBabel.mjs +4 -0
- package/dist/esm/transformBabel.mjs.map +1 -1
- package/dist/esm/transformBabel.test.mjs +204 -0
- package/dist/esm/transformBabel.test.mjs.map +1 -1
- package/package.json +3 -3
- package/src/cache.ts +37 -7
- package/src/index.ts +7 -3
- package/src/transformBabel.test.ts +140 -0
- package/src/transformBabel.ts +13 -0
- 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.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["existsSync","readFileSync","extname","join","relative","resolvePath","normalizePath","configuration","asyncGeneratorRegex","debug","USER_BABEL_CONFIG_FILES","ONE_GENERATED_MARKER","findUserBabelConfig","projectRoot","name","fullPath","content","includes","getBabelOptions","props","id","split","isProjectFile","userBabelConfig","userSetting","getOptions","transform","excludeDefaultPlugins","configFile","babelrc","force","plugins","shouldBabelGenerators","getBasePlugins","enableNativewind","environment","test","code","push","shouldBabelReanimated","workletsPlugin","shouldBabelReactCompiler","getBabelReactCompilerPlugin","length","transformOxcReactCompiler","optionsOrTarget","sourceMap","compilerOptions","target","result","jsx","sourcemap","reactCompiler","enableCustomTypeDefinitionForReanimated","fatal","Error","errors","map","e","message","String","transformBabel","options","default","babelCore","hermesParserPlugin","Promise","all","extension","isTSX","isTS","babelOptions","filename","compact","sourceMaps","minified","presets","allExtensions","filter","Boolean","parseLangTypes","reactRuntimeTarget","res","rej","err","development","helpers","regenerator","enableCompiler","Array","isArray","RegExp","isNative","native","web","applyCompilerFilter","applyDefaultFilters","startsWith","reactForRNVersion","process","env","VXRN_USE_BABEL_FOR_GENERATORS","REANIMATED_AUTOWORKLETIZATION_KEYWORDS","REANIMATED_REGEX","REANIMATED_IGNORED_PATHS","REANIMATED_IGNORED_PATHS_REGEX","enableReanimated","location","cwd"],"sources":["../../src/transformBabel.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,EAAYC,YAAA,QAAoB;AACzC,SAASC,OAAA,EAASC,IAAA,EAAMC,QAAA,QAAgB;AAKxC,SAASC,WAAA,QAAmB;AAC5B,SAASC,aAAA,QAAqB;AAC9B,SAASC,aAAA,QAAqB;AAC9B,SAASC,mBAAA,EAAqBC,KAAA,QAAa;AAO3C,MAAMC,uBAAA,GAA0B,CAC9B,mBACA,oBACA,oBACA,qBACA,YACA,eACA,gBACF;AAEA,MAAMC,oBAAA,GAAuB;AAEtB,SAASC,oBAAoBC,WAAA,EAAqC;EACvE,IAAI,CAACA,WAAA,EAAa,OAAO;EACzB,WAAWC,IAAA,IAAQJ,uBAAA,EAAyB;IAC1C,MAAMK,QAAA,GAAWZ,IAAA,CAAKU,WAAA,EAAaC,IAAI;IACvC,IAAId,UAAA,CAAWe,QAAQ,GAAG;MACxB,IAAI;QACF,MAAMC,OAAA,GAAUf,YAAA,CAAac,QAAA,EAAU,MAAM;QAC7C,IAAIC,OAAA,CAAQC,QAAA,CAASN,oBAAoB,GAAG;UAC1C;QACF;MACF,QAAQ;QACN;MACF;MACA,OAAOI,QAAA;IACT;EACF;EACA,OAAO;AACT;AAEO,SAASG,gBAAgBC,KAAA,EAA6C;EAK3EA,KAAA,GAAQ;IAAE,GAAGA,KAAA;IAAOC,EAAA,EAAId,aAAA,CAAca,KAAA,CAAMC,EAAA,CAAGC,KAAA,CAAM,GAAG,EAAE,CAAC,CAAC;EAAE;EAE9D,MAAMC,aAAA,GAAgB,CAACH,KAAA,CAAMC,EAAA,CAAGH,QAAA,CAAS,cAAc;EACvD,MAAMM,eAAA,GACJD,aAAA,IAAiBH,KAAA,CAAMN,WAAA,GACnBD,mBAAA,CAAoBO,KAAA,CAAMN,WAAW,IACrC;EAEN,IAAIM,KAAA,CAAMK,WAAA,KAAgB,SAAS;IACjC,OAAOC,UAAA,CAAWN,KAAA,EAAO,MAAMI,eAAe;EAChD;EACA,IACE,OAAOJ,KAAA,CAAMK,WAAA,KAAgB,eAC5B,OAAOL,KAAA,CAAMK,WAAA,KAAgB,YAAYL,KAAA,CAAMK,WAAA,CAAYE,SAAA,KAAc,SAC1E;IACA,IAAIP,KAAA,CAAMK,WAAA,EAAaG,qBAAA,EAAuB;MAC5C,OAAO;QACL,GAAGR,KAAA,CAAMK,WAAA;QACT,IAAID,eAAA,GACA;UAAEK,UAAA,EAAYL,eAAA;UAAiBM,OAAA,EAAS;QAAK,IAC7C,CAAC;MACP;IACF;IACA,OAAOJ,UAAA,CAAWN,KAAA,EAAO,OAAOI,eAAe;EACjD;EACA,
|
|
1
|
+
{"version":3,"names":["existsSync","readFileSync","extname","join","relative","resolvePath","normalizePath","configuration","asyncGeneratorRegex","debug","USER_BABEL_CONFIG_FILES","ONE_GENERATED_MARKER","findUserBabelConfig","projectRoot","name","fullPath","content","includes","getBabelOptions","props","id","split","isProjectFile","userBabelConfig","userSetting","getOptions","transform","excludeDefaultPlugins","configFile","babelrc","force","plugins","shouldBabelGenerators","getBasePlugins","enableNativewind","environment","test","code","push","shouldBabelReanimated","workletsPlugin","shouldBabelReactCompiler","getBabelReactCompilerPlugin","length","transformOxcReactCompiler","optionsOrTarget","sourceMap","compilerOptions","target","result","jsx","sourcemap","reactCompiler","enableCustomTypeDefinitionForReanimated","fatal","Error","errors","map","e","message","String","transformBabel","options","default","babelCore","hermesParserPlugin","Promise","all","extension","isTSX","isTS","babelOptions","filename","compact","sourceMaps","minified","presets","allExtensions","filter","Boolean","parseLangTypes","reactRuntimeTarget","res","rej","err","development","helpers","regenerator","enableCompiler","Array","isArray","RegExp","isNative","native","web","applyCompilerFilter","applyDefaultFilters","startsWith","reactForRNVersion","process","env","VXRN_USE_BABEL_FOR_GENERATORS","REANIMATED_AUTOWORKLETIZATION_KEYWORDS","REANIMATED_REGEX","REANIMATED_IGNORED_PATHS","REANIMATED_IGNORED_PATHS_REGEX","enableReanimated","location","cwd"],"sources":["../../src/transformBabel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -422,4 +422,208 @@ describe("findUserBabelConfig and user Babel config respect", () => {
|
|
|
422
422
|
}
|
|
423
423
|
});
|
|
424
424
|
});
|
|
425
|
+
describe("explicit swc/oxc per-file choice with a user babel config", () => {
|
|
426
|
+
it("returns null for swc/oxc string and object forms", () => {
|
|
427
|
+
const projectRoot = fs.realpathSync(fs.mkdtempSync(path.join(os.tmpdir(), "vxrn-babel-conf-")));
|
|
428
|
+
const userConfig = path.join(projectRoot, "babel.config.js");
|
|
429
|
+
fs.writeFileSync(userConfig, "module.exports = { plugins: [] }");
|
|
430
|
+
try {
|
|
431
|
+
const base = {
|
|
432
|
+
id: path.join(projectRoot, "src", "index.tsx"),
|
|
433
|
+
code: `export const x = 1`,
|
|
434
|
+
projectRoot,
|
|
435
|
+
development: true,
|
|
436
|
+
environment: "client",
|
|
437
|
+
reactForRNVersion: "19"
|
|
438
|
+
};
|
|
439
|
+
expect(getBabelOptions({
|
|
440
|
+
...base,
|
|
441
|
+
userSetting: "swc"
|
|
442
|
+
})).toBeNull();
|
|
443
|
+
expect(getBabelOptions({
|
|
444
|
+
...base,
|
|
445
|
+
userSetting: "oxc"
|
|
446
|
+
})).toBeNull();
|
|
447
|
+
expect(getBabelOptions({
|
|
448
|
+
...base,
|
|
449
|
+
userSetting: {
|
|
450
|
+
transform: "swc"
|
|
451
|
+
}
|
|
452
|
+
})).toBeNull();
|
|
453
|
+
expect(getBabelOptions({
|
|
454
|
+
...base,
|
|
455
|
+
userSetting: {
|
|
456
|
+
transform: "oxc"
|
|
457
|
+
}
|
|
458
|
+
})).toBeNull();
|
|
459
|
+
expect(getBabelOptions({
|
|
460
|
+
...base,
|
|
461
|
+
userSetting: "babel"
|
|
462
|
+
})?.configFile).toBe(userConfig);
|
|
463
|
+
expect(getBabelOptions({
|
|
464
|
+
...base,
|
|
465
|
+
userSetting: {
|
|
466
|
+
transform: "babel"
|
|
467
|
+
}
|
|
468
|
+
})?.configFile).toBe(userConfig);
|
|
469
|
+
expect(getBabelOptions(base)?.configFile).toBe(userConfig);
|
|
470
|
+
} finally {
|
|
471
|
+
fs.rmSync(projectRoot, {
|
|
472
|
+
recursive: true,
|
|
473
|
+
force: true
|
|
474
|
+
});
|
|
475
|
+
}
|
|
476
|
+
});
|
|
477
|
+
it("skips the transform end-to-end for object-form swc", async () => {
|
|
478
|
+
const {
|
|
479
|
+
createVXRNCompilerPlugin
|
|
480
|
+
} = await import("./index.mjs");
|
|
481
|
+
const projectRoot = fs.realpathSync(fs.mkdtempSync(path.join(os.tmpdir(), "vxrn-babel-conf-")));
|
|
482
|
+
const srcDir = path.join(projectRoot, "src");
|
|
483
|
+
fs.mkdirSync(srcDir, {
|
|
484
|
+
recursive: true
|
|
485
|
+
});
|
|
486
|
+
const file = path.join(srcDir, "index.ts");
|
|
487
|
+
const code = `export const x = 1`;
|
|
488
|
+
fs.writeFileSync(file, code);
|
|
489
|
+
fs.writeFileSync(path.join(projectRoot, "babel.config.js"), "module.exports = { plugins: [] }");
|
|
490
|
+
configureVXRNCompilerPlugin({
|
|
491
|
+
enableCompiler: false,
|
|
492
|
+
enableReanimated: false
|
|
493
|
+
});
|
|
494
|
+
try {
|
|
495
|
+
const plugins = await createVXRNCompilerPlugin({
|
|
496
|
+
transform: () => ({
|
|
497
|
+
transform: "swc"
|
|
498
|
+
})
|
|
499
|
+
});
|
|
500
|
+
const plugin = plugins.find(p => p.name === "one:compiler");
|
|
501
|
+
await plugin.configResolved({
|
|
502
|
+
root: projectRoot,
|
|
503
|
+
build: {}
|
|
504
|
+
});
|
|
505
|
+
const hook = plugin.transform.handler || plugin.transform;
|
|
506
|
+
const result = await hook.call({
|
|
507
|
+
environment: {
|
|
508
|
+
name: "client"
|
|
509
|
+
}
|
|
510
|
+
}, code, file);
|
|
511
|
+
expect(result == null).toBe(true);
|
|
512
|
+
} finally {
|
|
513
|
+
configureVXRNCompilerPlugin({
|
|
514
|
+
enableCompiler: false,
|
|
515
|
+
enableReanimated: false
|
|
516
|
+
});
|
|
517
|
+
fs.rmSync(projectRoot, {
|
|
518
|
+
recursive: true,
|
|
519
|
+
force: true
|
|
520
|
+
});
|
|
521
|
+
}
|
|
522
|
+
});
|
|
523
|
+
});
|
|
524
|
+
describe("user babel config end-to-end through the compiler plugin", () => {
|
|
525
|
+
it("runs the user config when default plugins are empty", async () => {
|
|
526
|
+
const {
|
|
527
|
+
createVXRNCompilerPlugin
|
|
528
|
+
} = await import("./index.mjs");
|
|
529
|
+
const projectRoot = fs.realpathSync(fs.mkdtempSync(path.join(os.tmpdir(), "vxrn-babel-e2e-")));
|
|
530
|
+
const srcDir = path.join(projectRoot, "src");
|
|
531
|
+
fs.mkdirSync(srcDir, {
|
|
532
|
+
recursive: true
|
|
533
|
+
});
|
|
534
|
+
const file = path.join(srcDir, "index.ts");
|
|
535
|
+
const marker = "babel-e2e-probe";
|
|
536
|
+
const code = `/* ${marker} */ export const x = 1`;
|
|
537
|
+
fs.writeFileSync(file, code);
|
|
538
|
+
fs.writeFileSync(path.join(projectRoot, "babel.config.json"), JSON.stringify({
|
|
539
|
+
comments: false
|
|
540
|
+
}));
|
|
541
|
+
configureVXRNCompilerPlugin({
|
|
542
|
+
enableCompiler: false,
|
|
543
|
+
enableReanimated: false
|
|
544
|
+
});
|
|
545
|
+
try {
|
|
546
|
+
const plugins = await createVXRNCompilerPlugin();
|
|
547
|
+
const plugin = plugins.find(p => p.name === "one:compiler");
|
|
548
|
+
await plugin.configResolved({
|
|
549
|
+
root: projectRoot,
|
|
550
|
+
build: {}
|
|
551
|
+
});
|
|
552
|
+
const hook = plugin.transform.handler || plugin.transform;
|
|
553
|
+
const result = await hook.call({
|
|
554
|
+
environment: {
|
|
555
|
+
name: "client"
|
|
556
|
+
}
|
|
557
|
+
}, code, file);
|
|
558
|
+
expect(result).toBeDefined();
|
|
559
|
+
expect(result.code).toContain("export const x = 1");
|
|
560
|
+
expect(result.code).not.toContain(marker);
|
|
561
|
+
} finally {
|
|
562
|
+
configureVXRNCompilerPlugin({
|
|
563
|
+
enableCompiler: false,
|
|
564
|
+
enableReanimated: false
|
|
565
|
+
});
|
|
566
|
+
fs.rmSync(projectRoot, {
|
|
567
|
+
recursive: true,
|
|
568
|
+
force: true
|
|
569
|
+
});
|
|
570
|
+
}
|
|
571
|
+
});
|
|
572
|
+
it("invalidates the cache when the user babel config is added or edited", async () => {
|
|
573
|
+
const {
|
|
574
|
+
createVXRNCompilerPlugin
|
|
575
|
+
} = await import("./index.mjs");
|
|
576
|
+
const projectRoot = fs.realpathSync(fs.mkdtempSync(path.join(os.tmpdir(), "vxrn-babel-cache-")));
|
|
577
|
+
const srcDir = path.join(projectRoot, "src");
|
|
578
|
+
fs.mkdirSync(srcDir, {
|
|
579
|
+
recursive: true
|
|
580
|
+
});
|
|
581
|
+
const file = path.join(srcDir, "index.ts");
|
|
582
|
+
const marker = "babel-cache-probe";
|
|
583
|
+
const code = `/* ${marker} */ export const x = 1`;
|
|
584
|
+
fs.writeFileSync(file, code);
|
|
585
|
+
const userConfig = path.join(projectRoot, "babel.config.json");
|
|
586
|
+
configureVXRNCompilerPlugin({
|
|
587
|
+
enableCompiler: false,
|
|
588
|
+
enableReanimated: false
|
|
589
|
+
});
|
|
590
|
+
try {
|
|
591
|
+
const plugins = await createVXRNCompilerPlugin({
|
|
592
|
+
transform: () => "babel"
|
|
593
|
+
});
|
|
594
|
+
const plugin = plugins.find(p => p.name === "one:compiler");
|
|
595
|
+
await plugin.configResolved({
|
|
596
|
+
root: projectRoot,
|
|
597
|
+
build: {}
|
|
598
|
+
});
|
|
599
|
+
const hook = plugin.transform.handler || plugin.transform;
|
|
600
|
+
const context = {
|
|
601
|
+
environment: {
|
|
602
|
+
name: "client"
|
|
603
|
+
}
|
|
604
|
+
};
|
|
605
|
+
const res1 = await hook.call(context, code, file);
|
|
606
|
+
expect(res1.code).toContain(marker);
|
|
607
|
+
fs.writeFileSync(userConfig, JSON.stringify({
|
|
608
|
+
comments: false
|
|
609
|
+
}));
|
|
610
|
+
const res2 = await hook.call(context, code, file);
|
|
611
|
+
expect(res2.code).not.toContain(marker);
|
|
612
|
+
fs.writeFileSync(userConfig, JSON.stringify({
|
|
613
|
+
comments: true
|
|
614
|
+
}));
|
|
615
|
+
const res3 = await hook.call(context, code, file);
|
|
616
|
+
expect(res3.code).toContain(marker);
|
|
617
|
+
} finally {
|
|
618
|
+
configureVXRNCompilerPlugin({
|
|
619
|
+
enableCompiler: false,
|
|
620
|
+
enableReanimated: false
|
|
621
|
+
});
|
|
622
|
+
fs.rmSync(projectRoot, {
|
|
623
|
+
recursive: true,
|
|
624
|
+
force: true
|
|
625
|
+
});
|
|
626
|
+
}
|
|
627
|
+
});
|
|
628
|
+
});
|
|
425
629
|
//# sourceMappingURL=transformBabel.test.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["fs","os","path","afterEach","describe","expect","it","configureVXRNCompilerPlugin","findUserBabelConfig","getBabelOptions","transformBabel","transformOxcReactCompiler","enableReanimated","projectRoot","realpathSync","mkdtempSync","join","tmpdir","packageRoot","pluginPath","mkdirSync","recursive","writeFileSync","JSON","stringify","name","version","options","id","code","development","environment","reactForRNVersion","plugins","toContain","rmSync","force","result","not","negativeControl","visitor","Program","Error","rejects","toThrow","componentCode","map","toBeUndefined","toBeDefined","mappings","reanimatedCode","target","createVXRNCompilerPlugin","TraceMap","originalPositionFor","origSourceMap","process","env","VXRN_ENABLE_SOURCE_MAP","origBabelGen","VXRN_USE_BABEL_FOR_GENERATORS","enableCompiler","tempFile","Date","now","plugin","find","p","configResolved","root","build","hook","transform","handler","readFileSync","context","call","tracer","lines","split","markerLineIndex","findIndex","l","includes","toBeGreaterThan","markerCol","indexOf","pos","line","column","source","toBe","vi","workletsModule","workletSpy","spyOn","enableNativeWorklets","cwd","inputCode","toHaveBeenCalled","mockRestore","compiler","plugins1","plugin1","hook1","res1","toHaveBeenCalledTimes","plugins2","plugin2","hook2","res2","res3","plugins3","plugin3","hook3","res4","toBeNull","generatedFile","userConfig","projectFileOptions","configFile","babelrc","nodeModulesOptions","comments","res"],"sources":["../../src/transformBabel.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["fs","os","path","afterEach","describe","expect","it","configureVXRNCompilerPlugin","findUserBabelConfig","getBabelOptions","transformBabel","transformOxcReactCompiler","enableReanimated","projectRoot","realpathSync","mkdtempSync","join","tmpdir","packageRoot","pluginPath","mkdirSync","recursive","writeFileSync","JSON","stringify","name","version","options","id","code","development","environment","reactForRNVersion","plugins","toContain","rmSync","force","result","not","negativeControl","visitor","Program","Error","rejects","toThrow","componentCode","map","toBeUndefined","toBeDefined","mappings","reanimatedCode","target","createVXRNCompilerPlugin","TraceMap","originalPositionFor","origSourceMap","process","env","VXRN_ENABLE_SOURCE_MAP","origBabelGen","VXRN_USE_BABEL_FOR_GENERATORS","enableCompiler","tempFile","Date","now","plugin","find","p","configResolved","root","build","hook","transform","handler","readFileSync","context","call","tracer","lines","split","markerLineIndex","findIndex","l","includes","toBeGreaterThan","markerCol","indexOf","pos","line","column","source","toBe","vi","workletsModule","workletSpy","spyOn","enableNativeWorklets","cwd","inputCode","toHaveBeenCalled","mockRestore","compiler","plugins1","plugin1","hook1","res1","toHaveBeenCalledTimes","plugins2","plugin2","hook2","res2","res3","plugins3","plugin3","hook3","res4","toBeNull","generatedFile","userConfig","projectFileOptions","configFile","babelrc","nodeModulesOptions","comments","res","base","userSetting","srcDir","file","marker"],"sources":["../../src/transformBabel.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vxrn/compiler",
|
|
3
|
-
"version": "1.27.
|
|
3
|
+
"version": "1.27.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./package.json": "./package.json",
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
"@babel/plugin-transform-react-jsx": "^7.27.1",
|
|
37
37
|
"@babel/plugin-transform-regenerator": "^7.28.4",
|
|
38
38
|
"@jridgewell/remapping": "^2.3.0",
|
|
39
|
-
"@vxrn/utils": "1.27.
|
|
40
|
-
"@vxrn/vite-native-client": "1.27.
|
|
39
|
+
"@vxrn/utils": "1.27.1",
|
|
40
|
+
"@vxrn/vite-native-client": "1.27.1",
|
|
41
41
|
"babel-plugin-react-compiler": "^1.0.0",
|
|
42
42
|
"babel-plugin-syntax-hermes-parser": "^0.32.0",
|
|
43
43
|
"esbuild": "^0.25.12",
|
package/src/cache.ts
CHANGED
|
@@ -50,7 +50,7 @@ function getCacheDir(): string {
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
// hash config state so cache invalidates when compiler/reanimated/nativewind toggles change
|
|
53
|
-
function getConfigFingerprint(): string {
|
|
53
|
+
function getConfigFingerprint(userBabelConfigPath?: string | null): string {
|
|
54
54
|
return createHash('sha1')
|
|
55
55
|
.update(
|
|
56
56
|
JSON.stringify({
|
|
@@ -59,6 +59,10 @@ function getConfigFingerprint(): string {
|
|
|
59
59
|
nativeWorklets: isNativeWorkletsEnabled(),
|
|
60
60
|
nativewind: configuration.enableNativewind,
|
|
61
61
|
nativeCSS: configuration.enableNativeCSS,
|
|
62
|
+
// transform output depends on the user babel config when one applies,
|
|
63
|
+
// so its identity joins the fingerprint. adding, removing, or editing
|
|
64
|
+
// babel.config.* must miss entries written without that change.
|
|
65
|
+
babelConfig: getBabelConfigIdentity(userBabelConfigPath),
|
|
62
66
|
// bump when the transform engine changes, so entries written by a
|
|
63
67
|
// previous engine aren't served for the same source
|
|
64
68
|
engine: 'oxc-worklets-hermes-async',
|
|
@@ -68,9 +72,33 @@ function getConfigFingerprint(): string {
|
|
|
68
72
|
.slice(0, 8)
|
|
69
73
|
}
|
|
70
74
|
|
|
71
|
-
|
|
75
|
+
// identity of the user babel config influencing a transform: path plus mtime
|
|
76
|
+
// and content hash, or null when none applies. mtime alone misses edits that
|
|
77
|
+
// preserve it, content alone misses same-byte swaps across paths. cheap: the
|
|
78
|
+
// file is tiny and its path is already resolved by the caller.
|
|
79
|
+
function getBabelConfigIdentity(configPath?: string | null): string | null {
|
|
80
|
+
if (!configPath) return null
|
|
81
|
+
try {
|
|
82
|
+
const mtime = statSync(configPath).mtimeMs
|
|
83
|
+
const hash = createHash('sha1')
|
|
84
|
+
.update(readFileSync(configPath))
|
|
85
|
+
.digest('hex')
|
|
86
|
+
.slice(0, 16)
|
|
87
|
+
return `${configPath}:${mtime}:${hash}`
|
|
88
|
+
} catch {
|
|
89
|
+
// deleted or unreadable between resolve and hash: the path alone still
|
|
90
|
+
// distinguishes this entry from the no-config one.
|
|
91
|
+
return configPath
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
function getCacheKey(
|
|
96
|
+
filePath: string,
|
|
97
|
+
environment: string,
|
|
98
|
+
userBabelConfigPath?: string | null
|
|
99
|
+
): string {
|
|
72
100
|
const hash = createHash('sha1')
|
|
73
|
-
.update(`${environment}:${filePath}:${getConfigFingerprint()}`)
|
|
101
|
+
.update(`${environment}:${filePath}:${getConfigFingerprint(userBabelConfigPath)}`)
|
|
74
102
|
.digest('hex')
|
|
75
103
|
return hash
|
|
76
104
|
}
|
|
@@ -83,13 +111,14 @@ function getContentHash(code: string): string {
|
|
|
83
111
|
export function getCachedTransform(
|
|
84
112
|
filePath: string,
|
|
85
113
|
code: string,
|
|
86
|
-
environment: string
|
|
114
|
+
environment: string,
|
|
115
|
+
userBabelConfigPath?: string | null
|
|
87
116
|
): { code: string; map?: any } | null {
|
|
88
117
|
try {
|
|
89
118
|
// Strip leading null byte (Vite virtual module prefix) if present
|
|
90
119
|
const cleanPath = filePath.startsWith('\0') ? filePath.slice(1) : filePath
|
|
91
120
|
const cacheDir = getCacheDir()
|
|
92
|
-
const cacheKey = getCacheKey(cleanPath, environment)
|
|
121
|
+
const cacheKey = getCacheKey(cleanPath, environment, userBabelConfigPath)
|
|
93
122
|
const cachePath = join(cacheDir, `${cacheKey}.json`)
|
|
94
123
|
|
|
95
124
|
if (!existsSync(cachePath)) {
|
|
@@ -126,13 +155,14 @@ export function setCachedTransform(
|
|
|
126
155
|
filePath: string,
|
|
127
156
|
code: string,
|
|
128
157
|
result: { code: string; map?: any },
|
|
129
|
-
environment: string
|
|
158
|
+
environment: string,
|
|
159
|
+
userBabelConfigPath?: string | null
|
|
130
160
|
): void {
|
|
131
161
|
try {
|
|
132
162
|
// Strip leading null byte (Vite virtual module prefix) if present
|
|
133
163
|
const cleanPath = filePath.startsWith('\0') ? filePath.slice(1) : filePath
|
|
134
164
|
const cacheDir = getCacheDir()
|
|
135
|
-
const cacheKey = getCacheKey(cleanPath, environment)
|
|
165
|
+
const cacheKey = getCacheKey(cleanPath, environment, userBabelConfigPath)
|
|
136
166
|
const cachePath = join(cacheDir, `${cacheKey}.json`)
|
|
137
167
|
|
|
138
168
|
const mtime = statSync(cleanPath).mtimeMs
|
package/src/index.ts
CHANGED
|
@@ -172,8 +172,12 @@ async function performBabelTransform({
|
|
|
172
172
|
(x) => Array.isArray(x) && x[0] === 'babel-plugin-react-compiler'
|
|
173
173
|
)
|
|
174
174
|
|
|
175
|
-
// Check cache first
|
|
176
|
-
|
|
175
|
+
// Check cache first. the user babel config feeds the transform output,
|
|
176
|
+
// so its identity joins the key: adding or editing babel.config.* must
|
|
177
|
+
// miss entries cached without that change.
|
|
178
|
+
const userBabelConfigPath =
|
|
179
|
+
typeof babelOptions.configFile === 'string' ? babelOptions.configFile : null
|
|
180
|
+
const cached = getCachedTransform(id, code, environment, userBabelConfigPath)
|
|
177
181
|
if (cached) {
|
|
178
182
|
perfStats.babel.byEnvironment[environment].transforms++
|
|
179
183
|
if (
|
|
@@ -322,7 +326,7 @@ async function performBabelTransform({
|
|
|
322
326
|
const result = { code: outCode, map: babelOut.map }
|
|
323
327
|
|
|
324
328
|
// Cache the result
|
|
325
|
-
setCachedTransform(id, code, result, environment)
|
|
329
|
+
setCachedTransform(id, code, result, environment, userBabelConfigPath)
|
|
326
330
|
|
|
327
331
|
return result
|
|
328
332
|
}
|
|
@@ -456,3 +456,143 @@ describe('findUserBabelConfig and user Babel config respect', () => {
|
|
|
456
456
|
})
|
|
457
457
|
})
|
|
458
458
|
|
|
459
|
+
describe('explicit swc/oxc per-file choice with a user babel config', () => {
|
|
460
|
+
it('returns null for swc/oxc string and object forms', () => {
|
|
461
|
+
const projectRoot = fs.realpathSync(
|
|
462
|
+
fs.mkdtempSync(path.join(os.tmpdir(), 'vxrn-babel-conf-'))
|
|
463
|
+
)
|
|
464
|
+
const userConfig = path.join(projectRoot, 'babel.config.js')
|
|
465
|
+
fs.writeFileSync(userConfig, 'module.exports = { plugins: [] }')
|
|
466
|
+
try {
|
|
467
|
+
const base = {
|
|
468
|
+
id: path.join(projectRoot, 'src', 'index.tsx'),
|
|
469
|
+
code: `export const x = 1`,
|
|
470
|
+
projectRoot,
|
|
471
|
+
development: true,
|
|
472
|
+
environment: 'client' as const,
|
|
473
|
+
reactForRNVersion: '19' as const,
|
|
474
|
+
}
|
|
475
|
+
// merely adding babel.config.js must not flip an explicit non-babel choice
|
|
476
|
+
expect(getBabelOptions({ ...base, userSetting: 'swc' })).toBeNull()
|
|
477
|
+
expect(getBabelOptions({ ...base, userSetting: 'oxc' })).toBeNull()
|
|
478
|
+
expect(getBabelOptions({ ...base, userSetting: { transform: 'swc' } })).toBeNull()
|
|
479
|
+
expect(getBabelOptions({ ...base, userSetting: { transform: 'oxc' } })).toBeNull()
|
|
480
|
+
// controls: babel choices still resolve through the user config
|
|
481
|
+
expect(getBabelOptions({ ...base, userSetting: 'babel' })?.configFile).toBe(
|
|
482
|
+
userConfig
|
|
483
|
+
)
|
|
484
|
+
expect(
|
|
485
|
+
getBabelOptions({ ...base, userSetting: { transform: 'babel' } })?.configFile
|
|
486
|
+
).toBe(userConfig)
|
|
487
|
+
expect(getBabelOptions(base)?.configFile).toBe(userConfig)
|
|
488
|
+
} finally {
|
|
489
|
+
fs.rmSync(projectRoot, { recursive: true, force: true })
|
|
490
|
+
}
|
|
491
|
+
})
|
|
492
|
+
|
|
493
|
+
it('skips the transform end-to-end for object-form swc', async () => {
|
|
494
|
+
const { createVXRNCompilerPlugin } = await import('./index')
|
|
495
|
+
const projectRoot = fs.realpathSync(
|
|
496
|
+
fs.mkdtempSync(path.join(os.tmpdir(), 'vxrn-babel-conf-'))
|
|
497
|
+
)
|
|
498
|
+
const srcDir = path.join(projectRoot, 'src')
|
|
499
|
+
fs.mkdirSync(srcDir, { recursive: true })
|
|
500
|
+
const file = path.join(srcDir, 'index.ts')
|
|
501
|
+
const code = `export const x = 1`
|
|
502
|
+
fs.writeFileSync(file, code)
|
|
503
|
+
fs.writeFileSync(
|
|
504
|
+
path.join(projectRoot, 'babel.config.js'),
|
|
505
|
+
'module.exports = { plugins: [] }'
|
|
506
|
+
)
|
|
507
|
+
configureVXRNCompilerPlugin({ enableCompiler: false, enableReanimated: false })
|
|
508
|
+
try {
|
|
509
|
+
const plugins = await createVXRNCompilerPlugin({
|
|
510
|
+
transform: () => ({ transform: 'swc' }) as any,
|
|
511
|
+
})
|
|
512
|
+
const plugin = plugins.find((p: any) => p.name === 'one:compiler') as any
|
|
513
|
+
await plugin.configResolved({ root: projectRoot, build: {} })
|
|
514
|
+
const hook = plugin.transform.handler || plugin.transform
|
|
515
|
+
const result = await hook.call({ environment: { name: 'client' } }, code, file)
|
|
516
|
+
expect(result == null).toBe(true)
|
|
517
|
+
} finally {
|
|
518
|
+
configureVXRNCompilerPlugin({ enableCompiler: false, enableReanimated: false })
|
|
519
|
+
fs.rmSync(projectRoot, { recursive: true, force: true })
|
|
520
|
+
}
|
|
521
|
+
})
|
|
522
|
+
})
|
|
523
|
+
|
|
524
|
+
describe('user babel config end-to-end through the compiler plugin', () => {
|
|
525
|
+
it('runs the user config when default plugins are empty', async () => {
|
|
526
|
+
const { createVXRNCompilerPlugin } = await import('./index')
|
|
527
|
+
const projectRoot = fs.realpathSync(
|
|
528
|
+
fs.mkdtempSync(path.join(os.tmpdir(), 'vxrn-babel-e2e-'))
|
|
529
|
+
)
|
|
530
|
+
const srcDir = path.join(projectRoot, 'src')
|
|
531
|
+
fs.mkdirSync(srcDir, { recursive: true })
|
|
532
|
+
const file = path.join(srcDir, 'index.ts')
|
|
533
|
+
const marker = 'babel-e2e-probe'
|
|
534
|
+
const code = `/* ${marker} */ export const x = 1`
|
|
535
|
+
fs.writeFileSync(file, code)
|
|
536
|
+
fs.writeFileSync(
|
|
537
|
+
path.join(projectRoot, 'babel.config.json'),
|
|
538
|
+
JSON.stringify({ comments: false })
|
|
539
|
+
)
|
|
540
|
+
configureVXRNCompilerPlugin({ enableCompiler: false, enableReanimated: false })
|
|
541
|
+
try {
|
|
542
|
+
const plugins = await createVXRNCompilerPlugin()
|
|
543
|
+
const plugin = plugins.find((p: any) => p.name === 'one:compiler') as any
|
|
544
|
+
await plugin.configResolved({ root: projectRoot, build: {} })
|
|
545
|
+
const hook = plugin.transform.handler || plugin.transform
|
|
546
|
+
const result = await hook.call({ environment: { name: 'client' } }, code, file)
|
|
547
|
+
// default plugins are empty here, but the user configFile must still
|
|
548
|
+
// route through transformBabel instead of taking the skip fast-path
|
|
549
|
+
expect(result).toBeDefined()
|
|
550
|
+
expect(result.code).toContain('export const x = 1')
|
|
551
|
+
expect(result.code).not.toContain(marker)
|
|
552
|
+
} finally {
|
|
553
|
+
configureVXRNCompilerPlugin({ enableCompiler: false, enableReanimated: false })
|
|
554
|
+
fs.rmSync(projectRoot, { recursive: true, force: true })
|
|
555
|
+
}
|
|
556
|
+
})
|
|
557
|
+
|
|
558
|
+
it('invalidates the cache when the user babel config is added or edited', async () => {
|
|
559
|
+
const { createVXRNCompilerPlugin } = await import('./index')
|
|
560
|
+
const projectRoot = fs.realpathSync(
|
|
561
|
+
fs.mkdtempSync(path.join(os.tmpdir(), 'vxrn-babel-cache-'))
|
|
562
|
+
)
|
|
563
|
+
const srcDir = path.join(projectRoot, 'src')
|
|
564
|
+
fs.mkdirSync(srcDir, { recursive: true })
|
|
565
|
+
const file = path.join(srcDir, 'index.ts')
|
|
566
|
+
const marker = 'babel-cache-probe'
|
|
567
|
+
const code = `/* ${marker} */ export const x = 1`
|
|
568
|
+
fs.writeFileSync(file, code)
|
|
569
|
+
const userConfig = path.join(projectRoot, 'babel.config.json')
|
|
570
|
+
configureVXRNCompilerPlugin({ enableCompiler: false, enableReanimated: false })
|
|
571
|
+
try {
|
|
572
|
+
const plugins = await createVXRNCompilerPlugin({
|
|
573
|
+
transform: () => 'babel' as const,
|
|
574
|
+
})
|
|
575
|
+
const plugin = plugins.find((p: any) => p.name === 'one:compiler') as any
|
|
576
|
+
await plugin.configResolved({ root: projectRoot, build: {} })
|
|
577
|
+
const hook = plugin.transform.handler || plugin.transform
|
|
578
|
+
const context = { environment: { name: 'client' } }
|
|
579
|
+
|
|
580
|
+
const res1 = await hook.call(context, code, file)
|
|
581
|
+
expect(res1.code).toContain(marker)
|
|
582
|
+
|
|
583
|
+
// adding a config without touching the source must miss the cache
|
|
584
|
+
fs.writeFileSync(userConfig, JSON.stringify({ comments: false }))
|
|
585
|
+
const res2 = await hook.call(context, code, file)
|
|
586
|
+
expect(res2.code).not.toContain(marker)
|
|
587
|
+
|
|
588
|
+
// editing the config contents must miss again
|
|
589
|
+
fs.writeFileSync(userConfig, JSON.stringify({ comments: true }))
|
|
590
|
+
const res3 = await hook.call(context, code, file)
|
|
591
|
+
expect(res3.code).toContain(marker)
|
|
592
|
+
} finally {
|
|
593
|
+
configureVXRNCompilerPlugin({ enableCompiler: false, enableReanimated: false })
|
|
594
|
+
fs.rmSync(projectRoot, { recursive: true, force: true })
|
|
595
|
+
}
|
|
596
|
+
})
|
|
597
|
+
})
|
|
598
|
+
|
package/src/transformBabel.ts
CHANGED
|
@@ -75,6 +75,19 @@ export function getBabelOptions(props: Props): babel.TransformOptions | null {
|
|
|
75
75
|
}
|
|
76
76
|
return getOptions(props, false, userBabelConfig)
|
|
77
77
|
}
|
|
78
|
+
// an explicit per-file opt-out of babel survives a user config. without
|
|
79
|
+
// this, merely adding babel.config.js flips swc/oxc files to babel.
|
|
80
|
+
const userSetting = props.userSetting
|
|
81
|
+
if (
|
|
82
|
+
userSetting === 'swc' ||
|
|
83
|
+
userSetting === 'oxc' ||
|
|
84
|
+
userSetting === false ||
|
|
85
|
+
(typeof userSetting === 'object' &&
|
|
86
|
+
userSetting !== null &&
|
|
87
|
+
(userSetting.transform === 'swc' || userSetting.transform === 'oxc'))
|
|
88
|
+
) {
|
|
89
|
+
return null
|
|
90
|
+
}
|
|
78
91
|
if (userBabelConfig) {
|
|
79
92
|
return getOptions(props, false, userBabelConfig)
|
|
80
93
|
}
|
package/types/cache.d.ts
CHANGED
|
@@ -4,14 +4,14 @@ interface CacheStats {
|
|
|
4
4
|
writes: 0;
|
|
5
5
|
errors: 0;
|
|
6
6
|
}
|
|
7
|
-
export declare function getCachedTransform(filePath: string, code: string, environment: string): {
|
|
7
|
+
export declare function getCachedTransform(filePath: string, code: string, environment: string, userBabelConfigPath?: string | null): {
|
|
8
8
|
code: string;
|
|
9
9
|
map?: any;
|
|
10
10
|
} | null;
|
|
11
11
|
export declare function setCachedTransform(filePath: string, code: string, result: {
|
|
12
12
|
code: string;
|
|
13
13
|
map?: any;
|
|
14
|
-
}, environment: string): void;
|
|
14
|
+
}, environment: string, userBabelConfigPath?: string | null): void;
|
|
15
15
|
/** Drop every cached transform, for `react-native bundle --reset-cache`. */
|
|
16
16
|
export declare function clearTransformCache(): void;
|
|
17
17
|
export declare function getCacheStats(): CacheStats;
|