one 1.25.16 → 1.26.0

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 (78) hide show
  1. package/dist/cjs/native-transforms.cjs +28 -0
  2. package/dist/cjs/native-transforms.native.js +31 -0
  3. package/dist/cjs/native-transforms.native.js.map +1 -0
  4. package/dist/cjs/router/useViteRoutes.cjs +3 -2
  5. package/dist/cjs/router/useViteRoutes.native.js +3 -2
  6. package/dist/cjs/router/useViteRoutes.native.js.map +1 -1
  7. package/dist/cjs/router/useViteRoutes.test.cjs +101 -1
  8. package/dist/cjs/router/useViteRoutes.test.native.js +109 -1
  9. package/dist/cjs/router/useViteRoutes.test.native.js.map +1 -1
  10. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.cjs +45 -44
  11. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js +64 -39
  12. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
  13. package/dist/cjs/vite/one.cjs +10 -2
  14. package/dist/cjs/vite/one.native.js +13 -4
  15. package/dist/cjs/vite/one.native.js.map +1 -1
  16. package/dist/cjs/vite/plugins/clientTreeShakePlugin.cjs +597 -92
  17. package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.js +1358 -113
  18. package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
  19. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.cjs +185 -0
  20. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.native.js +185 -0
  21. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.native.js.map +1 -1
  22. package/dist/cjs/vite/plugins/useDomPlugin.cjs +14 -37
  23. package/dist/cjs/vite/plugins/useDomPlugin.native.js +14 -36
  24. package/dist/cjs/vite/plugins/useDomPlugin.native.js.map +1 -1
  25. package/dist/esm/native-transforms.mjs +3 -0
  26. package/dist/esm/native-transforms.mjs.map +1 -0
  27. package/dist/esm/native-transforms.native.js +3 -0
  28. package/dist/esm/native-transforms.native.js.map +1 -0
  29. package/dist/esm/router/useViteRoutes.mjs +3 -2
  30. package/dist/esm/router/useViteRoutes.mjs.map +1 -1
  31. package/dist/esm/router/useViteRoutes.native.js +3 -2
  32. package/dist/esm/router/useViteRoutes.native.js.map +1 -1
  33. package/dist/esm/router/useViteRoutes.test.mjs +77 -1
  34. package/dist/esm/router/useViteRoutes.test.mjs.map +1 -1
  35. package/dist/esm/router/useViteRoutes.test.native.js +85 -1
  36. package/dist/esm/router/useViteRoutes.test.native.js.map +1 -1
  37. package/dist/esm/vercel/build/generate/createApiServerlessFunction.mjs +45 -44
  38. package/dist/esm/vercel/build/generate/createApiServerlessFunction.mjs.map +1 -1
  39. package/dist/esm/vercel/build/generate/createApiServerlessFunction.native.js +64 -39
  40. package/dist/esm/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
  41. package/dist/esm/vite/one.mjs +10 -2
  42. package/dist/esm/vite/one.mjs.map +1 -1
  43. package/dist/esm/vite/one.native.js +13 -4
  44. package/dist/esm/vite/one.native.js.map +1 -1
  45. package/dist/esm/vite/plugins/clientTreeShakePlugin.mjs +597 -92
  46. package/dist/esm/vite/plugins/clientTreeShakePlugin.mjs.map +1 -1
  47. package/dist/esm/vite/plugins/clientTreeShakePlugin.native.js +1358 -113
  48. package/dist/esm/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
  49. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.mjs +185 -0
  50. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.mjs.map +1 -1
  51. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.native.js +185 -0
  52. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.native.js.map +1 -1
  53. package/dist/esm/vite/plugins/useDomPlugin.mjs +13 -25
  54. package/dist/esm/vite/plugins/useDomPlugin.mjs.map +1 -1
  55. package/dist/esm/vite/plugins/useDomPlugin.native.js +14 -25
  56. package/dist/esm/vite/plugins/useDomPlugin.native.js.map +1 -1
  57. package/package.json +15 -10
  58. package/src/createApp.tsx +0 -1
  59. package/src/headless.tsx +0 -1
  60. package/src/native-transforms.ts +11 -0
  61. package/src/router/useViteRoutes.test.ts +91 -0
  62. package/src/router/useViteRoutes.tsx +7 -4
  63. package/src/vercel/build/generate/createApiServerlessFunction.ts +65 -112
  64. package/src/vite/one.ts +22 -2
  65. package/src/vite/plugins/clientTreeShakePlugin.test.ts +201 -0
  66. package/src/vite/plugins/clientTreeShakePlugin.ts +732 -152
  67. package/src/vite/plugins/useDomPlugin.ts +20 -32
  68. package/src/vite/types.ts +60 -5
  69. package/types/native-transforms.d.ts +11 -0
  70. package/types/native-transforms.d.ts.map +1 -0
  71. package/types/router/useViteRoutes.d.ts.map +1 -1
  72. package/types/vercel/build/generate/createApiServerlessFunction.d.ts.map +1 -1
  73. package/types/vite/one.d.ts.map +1 -1
  74. package/types/vite/plugins/clientTreeShakePlugin.d.ts +1 -9
  75. package/types/vite/plugins/clientTreeShakePlugin.d.ts.map +1 -1
  76. package/types/vite/plugins/useDomPlugin.d.ts.map +1 -1
  77. package/types/vite/types.d.ts +57 -5
  78. package/types/vite/types.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","clientTreeShakePlugin_exports","__export","clientTreeShakePlugin","transformTreeShakeClient","module","exports","import_path","require","import_generator","__toESM","import_parser","import_traverse","import_babel_dead_code_elimination","import_constants","_instanceof","left","right","Symbol","hasInstance","traverse","default","generate","collectTypeImports","ast","typeImports","ImportDeclaration","path","node","importKind","push","restoreTypeImports","length","existingSources","Set","add","source","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","typeImport","has","program","body","unshift","err","return","opts","_ref","_ref1","runtime","routerRoot","name","enforce","applyToEnvironment","env","transform","order","handler","code","id","settings","_this_environment","environment","test","extname","out","process","cwd","root","arguments","parse","sourceType","plugins","error","errorMessage","Error","message","String","console","warn","referenced","findReferencedIdentifiers","errorMessage1","removed","loader","generateStaticParams","ExportNamedDeclaration","declaration","type","functionName","remove","declarations","forEach","declarator","index","get","Array","isArray","errorMessage2","removedFunctions","Object","keys","filter","key","deadCodeElimination","retainLines","codeOut","map"],"sources":["../../../../src/vite/plugins/clientTreeShakePlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","clientTreeShakePlugin_exports","__export","clientTreeShakePlugin","transformTreeShakeClient","module","exports","import_path","require","import_magic_string","__toESM","import_oxc_parser","import_constants","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","opts","_ref","_ref1","runtime","routerRoot","name","enforce","applyToEnvironment","env","transform","order","handler","code","id","settings","_this_environment","environment","test","extname","out","process","cwd","extractPatternBindings","node","names","type","add","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","properties","iterator","_step","next","done","prop","argument","err","return","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","elements","_step1","element","parameter","getReferencedIdentifiers","rootNode","candidateNames","referenced","Set","scopeStack","isShadowed","i","length","has","checkIdentifier","walk","expression","walkPatternExpressions","pat","_iteratorNormalCompletion8","_didIteratorError8","_iteratorError8","_iterator8","_step8","computed","key","_iteratorNormalCompletion12","_didIteratorError12","_iteratorError12","_iterator12","_step12","addVars2","n","kind","declarations","d","scope","Object","keys","k","val","Array","isArray","_iteratorNormalCompletion22","_didIteratorError22","_iteratorError22","_iterator22","_step22","item2","addVars","params","param","body","push","pop","scope1","stmt","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","decl","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","_step3","stmt1","scope2","scope3","initOrLeft","init","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_iterator4","_step4","decl1","update","rootObj","object","attributes","_iteratorNormalCompletion5","_didIteratorError5","_iteratorError5","_iterator5","_step5","attr","deps","property","local","_iteratorNormalCompletion6","_didIteratorError6","_iteratorError6","_iterator6","_step6","child","_iteratorNormalCompletion7","_didIteratorError7","_iteratorError7","_iterator7","_step7","item","root","arguments","isProd","NODE_ENV","filename","split","parseResult","parseSync","errors","errorMessage","map","e","message","join","Error","console","warn","error","String","errorMessage1","ast","program","doTreeShakeClient","errorMessage2","removed","loader","generateStaticParams","serverExportStmts","Map","declaration","_stmt_declaration_id","fnName","set","replaceAll","declaratorsToRemove","found","_d_id"],"sources":["../../../../src/vite/plugins/clientTreeShakePlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -270,5 +270,190 @@ export default function Page() {
270
270
  (0, import_vitest.expect)(result.code).toContain("@discordjs/core");
271
271
  (0, import_vitest.expect)(result.code).not.toContain("discord-client");
272
272
  });
273
+ (0, import_vitest.it)("should preserve side-effect imports during tree shaking", async () => {
274
+ const code = `
275
+ import './style.css'
276
+ import { serverOnlyModule } from 'server-only-pkg'
277
+ import { Text } from 'react-native'
278
+
279
+ export function loader() {
280
+ return serverOnlyModule()
281
+ }
282
+
283
+ export default function Page() {
284
+ return <Text>Hello</Text>
285
+ }
286
+ `;
287
+ const result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
288
+ (0, import_vitest.expect)(result).toBeDefined();
289
+ (0, import_vitest.expect)(result.code).toContain("import './style.css'");
290
+ (0, import_vitest.expect)(result.code).not.toContain("server-only-pkg");
291
+ });
292
+ (0, import_vitest.it)("should remove transitive local bindings exclusively used by loader", async () => {
293
+ const code = `
294
+ import { db } from 'server-only-db'
295
+ import { Text } from 'react-native'
296
+
297
+ const secretKey = 'my-secret'
298
+
299
+ function querySecret() {
300
+ return db.query(secretKey)
301
+ }
302
+
303
+ export async function loader() {
304
+ return querySecret()
305
+ }
306
+
307
+ export default function Page() {
308
+ return <Text>Hello</Text>
309
+ }
310
+ `;
311
+ const result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
312
+ (0, import_vitest.expect)(result).toBeDefined();
313
+ (0, import_vitest.expect)(result.code).not.toContain("server-only-db");
314
+ (0, import_vitest.expect)(result.code).not.toContain("secretKey");
315
+ (0, import_vitest.expect)(result.code).not.toContain("querySecret");
316
+ (0, import_vitest.expect)(result.code).toContain("export default function Page");
317
+ });
318
+ (0, import_vitest.it)("should preserve shared local bindings used by both loader and client", async () => {
319
+ const code = `
320
+ import { serverOnlyModule } from 'server-only-pkg'
321
+ import { Text } from 'react-native'
322
+
323
+ const sharedConfig = { siteName: 'One' }
324
+
325
+ function getTitle() {
326
+ return sharedConfig.siteName
327
+ }
328
+
329
+ export function loader() {
330
+ serverOnlyModule()
331
+ return getTitle()
332
+ }
333
+
334
+ export default function Page() {
335
+ return <Text>{getTitle()}</Text>
336
+ }
337
+ `;
338
+ const result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
339
+ (0, import_vitest.expect)(result).toBeDefined();
340
+ (0, import_vitest.expect)(result.code).not.toContain("server-only-pkg");
341
+ (0, import_vitest.expect)(result.code).toContain("sharedConfig");
342
+ (0, import_vitest.expect)(result.code).toContain("getTitle");
343
+ });
344
+ (0, import_vitest.it)("should throw build error on syntax error in production", async () => {
345
+ const origEnv = process.env.NODE_ENV;
346
+ try {
347
+ process.env.NODE_ENV = "production";
348
+ const code = `
349
+ import { serverOnly } from 'server-only-pkg'
350
+ export function loader() {
351
+ bad syntax {
352
+ }
353
+ `;
354
+ await (0, import_vitest.expect)((0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx")).rejects.toThrow(/Failed to parse/);
355
+ } finally {
356
+ process.env.NODE_ENV = origEnv;
357
+ }
358
+ });
359
+ (0, import_vitest.it)("should log warning and return undefined on syntax error in development", async () => {
360
+ const origEnv = process.env.NODE_ENV;
361
+ try {
362
+ process.env.NODE_ENV = "development";
363
+ const code = `
364
+ import { serverOnly } from 'server-only-pkg'
365
+ export function loader() {
366
+ bad syntax {
367
+ }
368
+ `;
369
+ const result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
370
+ (0, import_vitest.expect)(result).toBeUndefined();
371
+ } finally {
372
+ process.env.NODE_ENV = origEnv;
373
+ }
374
+ });
375
+ (0, import_vitest.it)("should generate a valid sourcemap", async () => {
376
+ const code = `
377
+ import { serverOnlyModule } from 'server-only-pkg'
378
+ import { Text } from 'react-native'
379
+
380
+ export function loader() {
381
+ return serverOnlyModule()
382
+ }
383
+
384
+ export default function Page() {
385
+ return <Text>Hello</Text>
386
+ }
387
+ `;
388
+ const result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
389
+ (0, import_vitest.expect)(result).toBeDefined();
390
+ (0, import_vitest.expect)(result.map).toBeDefined();
391
+ (0, import_vitest.expect)(result.map.mappings).toBeDefined();
392
+ });
393
+ (0, import_vitest.it)("preserves shared import referenced in destructuring default parameter", async () => {
394
+ const code = `import {shared} from "./shared"; export function loader(){return shared}; export default function Page({x = shared}) {return x}`;
395
+ const result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
396
+ (0, import_vitest.expect)(result).toBeDefined();
397
+ (0, import_vitest.expect)(result.code).toContain('import {shared} from "./shared"');
398
+ (0, import_vitest.expect)(result.code).toContain("Page({x = shared})");
399
+ (0, import_vitest.expect)(result.code).toContain("export function loader()");
400
+ });
401
+ (0, import_vitest.it)("preserves shared import referenced in top-level executable statement", async () => {
402
+ const code = `import {shared} from "./shared"; export function loader(){return shared}; if (globalThis.ready) shared();`;
403
+ const result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
404
+ (0, import_vitest.expect)(result).toBeDefined();
405
+ (0, import_vitest.expect)(result.code).toContain('import {shared} from "./shared"');
406
+ (0, import_vitest.expect)(result.code).toContain("if (globalThis.ready) shared();");
407
+ (0, import_vitest.expect)(result.code).toContain("export function loader()");
408
+ });
409
+ (0, import_vitest.it)("preserves shared import referenced in top-level retained initializer", async () => {
410
+ const code = `import {shared} from "./shared"; const retained = shared(); export function loader(){return shared}; export default function Page(){return null}`;
411
+ const result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
412
+ (0, import_vitest.expect)(result).toBeDefined();
413
+ (0, import_vitest.expect)(result.code).toContain('import {shared} from "./shared"');
414
+ (0, import_vitest.expect)(result.code).toContain("const retained = shared();");
415
+ (0, import_vitest.expect)(result.code).toContain("export function loader()");
416
+ });
417
+ (0, import_vitest.it)("removes top-level declaration and import used exclusively by loader", async () => {
418
+ const code = `import {secret} from "./secret"; const localSecret = secret(); export function loader(){return localSecret}; export default function Page(){return null}`;
419
+ const result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
420
+ (0, import_vitest.expect)(result).toBeDefined();
421
+ (0, import_vitest.expect)(result.code).not.toContain("./secret");
422
+ (0, import_vitest.expect)(result.code).not.toContain("localSecret");
423
+ (0, import_vitest.expect)(result.code).toContain("export function loader()");
424
+ });
425
+ (0, import_vitest.it)("preserves shared import referenced in top-level destructuring default binding", async () => {
426
+ const code = `import {shared} from "./shared"; const {x = shared} = {}; export function loader(){return [x,shared]}; export default function Page(){return x}`;
427
+ const result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
428
+ (0, import_vitest.expect)(result).toBeDefined();
429
+ (0, import_vitest.expect)(result.code).toContain('import {shared} from "./shared"');
430
+ (0, import_vitest.expect)(result.code).toContain("const {x = shared} = {}");
431
+ (0, import_vitest.expect)(result.code).toContain("return x");
432
+ });
433
+ (0, import_vitest.it)("removes server-only import referenced in top-level destructuring default binding when used only by loader", async () => {
434
+ const code = `import {secret} from "./server"; const {x = secret} = {}; export function loader(){return x}; export default function Page(){return null}`;
435
+ const result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
436
+ (0, import_vitest.expect)(result).toBeDefined();
437
+ (0, import_vitest.expect)(result.code).not.toContain("./server");
438
+ (0, import_vitest.expect)(result.code).not.toContain("secret");
439
+ (0, import_vitest.expect)(result.code).not.toContain("{x = secret}");
440
+ (0, import_vitest.expect)(result.code).toContain("Page(){return null}");
441
+ });
442
+ (0, import_vitest.it)("removes server-only enum and class declarations used only by loader", async () => {
443
+ const code = `import {server} from "./server"; enum E { X = server() }; export function loader() {return E.X}; export default function Page(){return null}`;
444
+ const result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
445
+ (0, import_vitest.expect)(result).toBeDefined();
446
+ (0, import_vitest.expect)(result.code).not.toContain("./server");
447
+ (0, import_vitest.expect)(result.code).not.toContain("enum E");
448
+ (0, import_vitest.expect)(result.code).toContain("Page(){return null}");
449
+ });
450
+ (0, import_vitest.it)("preserves shared enum used by both loader and client Page", async () => {
451
+ const code = `import {shared} from "./shared"; enum E { X = shared() }; export function loader() {return E.X}; export default function Page(){return E.X}`;
452
+ const result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
453
+ (0, import_vitest.expect)(result).toBeDefined();
454
+ (0, import_vitest.expect)(result.code).toContain('import {shared} from "./shared"');
455
+ (0, import_vitest.expect)(result.code).toContain("enum E");
456
+ (0, import_vitest.expect)(result.code).toContain("Page(){return E.X}");
457
+ });
273
458
  });
274
459
  });
@@ -272,6 +272,191 @@ export default function Page() {
272
272
  (0, import_vitest.expect)(result.code).toContain("@discordjs/core");
273
273
  (0, import_vitest.expect)(result.code).not.toContain("discord-client");
274
274
  });
275
+ (0, import_vitest.it)("should preserve side-effect imports during tree shaking", async function () {
276
+ var code = `
277
+ import './style.css'
278
+ import { serverOnlyModule } from 'server-only-pkg'
279
+ import { Text } from 'react-native'
280
+
281
+ export function loader() {
282
+ return serverOnlyModule()
283
+ }
284
+
285
+ export default function Page() {
286
+ return <Text>Hello</Text>
287
+ }
288
+ `;
289
+ var result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
290
+ (0, import_vitest.expect)(result).toBeDefined();
291
+ (0, import_vitest.expect)(result.code).toContain("import './style.css'");
292
+ (0, import_vitest.expect)(result.code).not.toContain("server-only-pkg");
293
+ });
294
+ (0, import_vitest.it)("should remove transitive local bindings exclusively used by loader", async function () {
295
+ var code = `
296
+ import { db } from 'server-only-db'
297
+ import { Text } from 'react-native'
298
+
299
+ const secretKey = 'my-secret'
300
+
301
+ function querySecret() {
302
+ return db.query(secretKey)
303
+ }
304
+
305
+ export async function loader() {
306
+ return querySecret()
307
+ }
308
+
309
+ export default function Page() {
310
+ return <Text>Hello</Text>
311
+ }
312
+ `;
313
+ var result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
314
+ (0, import_vitest.expect)(result).toBeDefined();
315
+ (0, import_vitest.expect)(result.code).not.toContain("server-only-db");
316
+ (0, import_vitest.expect)(result.code).not.toContain("secretKey");
317
+ (0, import_vitest.expect)(result.code).not.toContain("querySecret");
318
+ (0, import_vitest.expect)(result.code).toContain("export default function Page");
319
+ });
320
+ (0, import_vitest.it)("should preserve shared local bindings used by both loader and client", async function () {
321
+ var code = `
322
+ import { serverOnlyModule } from 'server-only-pkg'
323
+ import { Text } from 'react-native'
324
+
325
+ const sharedConfig = { siteName: 'One' }
326
+
327
+ function getTitle() {
328
+ return sharedConfig.siteName
329
+ }
330
+
331
+ export function loader() {
332
+ serverOnlyModule()
333
+ return getTitle()
334
+ }
335
+
336
+ export default function Page() {
337
+ return <Text>{getTitle()}</Text>
338
+ }
339
+ `;
340
+ var result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
341
+ (0, import_vitest.expect)(result).toBeDefined();
342
+ (0, import_vitest.expect)(result.code).not.toContain("server-only-pkg");
343
+ (0, import_vitest.expect)(result.code).toContain("sharedConfig");
344
+ (0, import_vitest.expect)(result.code).toContain("getTitle");
345
+ });
346
+ (0, import_vitest.it)("should throw build error on syntax error in production", async function () {
347
+ var origEnv = process.env.NODE_ENV;
348
+ try {
349
+ process.env.NODE_ENV = "production";
350
+ var code = `
351
+ import { serverOnly } from 'server-only-pkg'
352
+ export function loader() {
353
+ bad syntax {
354
+ }
355
+ `;
356
+ await (0, import_vitest.expect)((0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx")).rejects.toThrow(/Failed to parse/);
357
+ } finally {
358
+ process.env.NODE_ENV = origEnv;
359
+ }
360
+ });
361
+ (0, import_vitest.it)("should log warning and return undefined on syntax error in development", async function () {
362
+ var origEnv = process.env.NODE_ENV;
363
+ try {
364
+ process.env.NODE_ENV = "development";
365
+ var code = `
366
+ import { serverOnly } from 'server-only-pkg'
367
+ export function loader() {
368
+ bad syntax {
369
+ }
370
+ `;
371
+ var result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
372
+ (0, import_vitest.expect)(result).toBeUndefined();
373
+ } finally {
374
+ process.env.NODE_ENV = origEnv;
375
+ }
376
+ });
377
+ (0, import_vitest.it)("should generate a valid sourcemap", async function () {
378
+ var code = `
379
+ import { serverOnlyModule } from 'server-only-pkg'
380
+ import { Text } from 'react-native'
381
+
382
+ export function loader() {
383
+ return serverOnlyModule()
384
+ }
385
+
386
+ export default function Page() {
387
+ return <Text>Hello</Text>
388
+ }
389
+ `;
390
+ var result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
391
+ (0, import_vitest.expect)(result).toBeDefined();
392
+ (0, import_vitest.expect)(result.map).toBeDefined();
393
+ (0, import_vitest.expect)(result.map.mappings).toBeDefined();
394
+ });
395
+ (0, import_vitest.it)("preserves shared import referenced in destructuring default parameter", async function () {
396
+ var code = `import {shared} from "./shared"; export function loader(){return shared}; export default function Page({x = shared}) {return x}`;
397
+ var result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
398
+ (0, import_vitest.expect)(result).toBeDefined();
399
+ (0, import_vitest.expect)(result.code).toContain('import {shared} from "./shared"');
400
+ (0, import_vitest.expect)(result.code).toContain("Page({x = shared})");
401
+ (0, import_vitest.expect)(result.code).toContain("export function loader()");
402
+ });
403
+ (0, import_vitest.it)("preserves shared import referenced in top-level executable statement", async function () {
404
+ var code = `import {shared} from "./shared"; export function loader(){return shared}; if (globalThis.ready) shared();`;
405
+ var result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
406
+ (0, import_vitest.expect)(result).toBeDefined();
407
+ (0, import_vitest.expect)(result.code).toContain('import {shared} from "./shared"');
408
+ (0, import_vitest.expect)(result.code).toContain("if (globalThis.ready) shared();");
409
+ (0, import_vitest.expect)(result.code).toContain("export function loader()");
410
+ });
411
+ (0, import_vitest.it)("preserves shared import referenced in top-level retained initializer", async function () {
412
+ var code = `import {shared} from "./shared"; const retained = shared(); export function loader(){return shared}; export default function Page(){return null}`;
413
+ var result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
414
+ (0, import_vitest.expect)(result).toBeDefined();
415
+ (0, import_vitest.expect)(result.code).toContain('import {shared} from "./shared"');
416
+ (0, import_vitest.expect)(result.code).toContain("const retained = shared();");
417
+ (0, import_vitest.expect)(result.code).toContain("export function loader()");
418
+ });
419
+ (0, import_vitest.it)("removes top-level declaration and import used exclusively by loader", async function () {
420
+ var code = `import {secret} from "./secret"; const localSecret = secret(); export function loader(){return localSecret}; export default function Page(){return null}`;
421
+ var result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
422
+ (0, import_vitest.expect)(result).toBeDefined();
423
+ (0, import_vitest.expect)(result.code).not.toContain("./secret");
424
+ (0, import_vitest.expect)(result.code).not.toContain("localSecret");
425
+ (0, import_vitest.expect)(result.code).toContain("export function loader()");
426
+ });
427
+ (0, import_vitest.it)("preserves shared import referenced in top-level destructuring default binding", async function () {
428
+ var code = `import {shared} from "./shared"; const {x = shared} = {}; export function loader(){return [x,shared]}; export default function Page(){return x}`;
429
+ var result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
430
+ (0, import_vitest.expect)(result).toBeDefined();
431
+ (0, import_vitest.expect)(result.code).toContain('import {shared} from "./shared"');
432
+ (0, import_vitest.expect)(result.code).toContain("const {x = shared} = {}");
433
+ (0, import_vitest.expect)(result.code).toContain("return x");
434
+ });
435
+ (0, import_vitest.it)("removes server-only import referenced in top-level destructuring default binding when used only by loader", async function () {
436
+ var code = `import {secret} from "./server"; const {x = secret} = {}; export function loader(){return x}; export default function Page(){return null}`;
437
+ var result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
438
+ (0, import_vitest.expect)(result).toBeDefined();
439
+ (0, import_vitest.expect)(result.code).not.toContain("./server");
440
+ (0, import_vitest.expect)(result.code).not.toContain("secret");
441
+ (0, import_vitest.expect)(result.code).not.toContain("{x = secret}");
442
+ (0, import_vitest.expect)(result.code).toContain("Page(){return null}");
443
+ });
444
+ (0, import_vitest.it)("removes server-only enum and class declarations used only by loader", async function () {
445
+ var code = `import {server} from "./server"; enum E { X = server() }; export function loader() {return E.X}; export default function Page(){return null}`;
446
+ var result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
447
+ (0, import_vitest.expect)(result).toBeDefined();
448
+ (0, import_vitest.expect)(result.code).not.toContain("./server");
449
+ (0, import_vitest.expect)(result.code).not.toContain("enum E");
450
+ (0, import_vitest.expect)(result.code).toContain("Page(){return null}");
451
+ });
452
+ (0, import_vitest.it)("preserves shared enum used by both loader and client Page", async function () {
453
+ var code = `import {shared} from "./shared"; enum E { X = shared() }; export function loader() {return E.X}; export default function Page(){return E.X}`;
454
+ var result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
455
+ (0, import_vitest.expect)(result).toBeDefined();
456
+ (0, import_vitest.expect)(result.code).toContain('import {shared} from "./shared"');
457
+ (0, import_vitest.expect)(result.code).toContain("enum E");
458
+ (0, import_vitest.expect)(result.code).toContain("Page(){return E.X}");
459
+ });
275
460
  });
276
461
  });
277
462
  //# sourceMappingURL=clientTreeShakePlugin.test.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["import_vitest","require","import_clientTreeShakePlugin","describe","it","code","result","transformTreeShakeClient","expect","toBeDefined","not","toContain","toBeUndefined","sourceCode"],"sources":["../../../../src/vite/plugins/clientTreeShakePlugin.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["import_vitest","require","import_clientTreeShakePlugin","describe","it","code","result","transformTreeShakeClient","expect","toBeDefined","not","toContain","toBeUndefined","sourceCode","origEnv","process","env","NODE_ENV","rejects","toThrow","map","mappings"],"sources":["../../../../src/vite/plugins/clientTreeShakePlugin.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,6 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
5
  var __export = (target, all) => {
8
6
  for (var name in all) __defProp(target, name, {
@@ -19,15 +17,6 @@ var __copyProps = (to, from, except, desc) => {
19
17
  }
20
18
  return to;
21
19
  };
22
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
- // If the importer is in node compatibility mode or this is not an ESM
24
- // file that has been converted to a CommonJS file using a Babel-
25
- // compatible transform (i.e. "__esModule" has not been set), then set
26
- // "default" to the CommonJS "module.exports" for node compatibility.
27
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
- value: mod,
29
- enumerable: true
30
- }) : target, mod));
31
20
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
21
  value: true
33
22
  }), mod);
@@ -36,8 +25,7 @@ __export(useDomPlugin_exports, {
36
25
  useDOMPlugin: () => useDOMPlugin
37
26
  });
38
27
  module.exports = __toCommonJS(useDomPlugin_exports);
39
- var import_node_path = require("node:path");
40
- var swc = __toESM(require("@swc/core"), 1);
28
+ var import_oxc_parser = require("oxc-parser");
41
29
  function useDOMPlugin() {
42
30
  return {
43
31
  name: "one-vite-dom-plugin",
@@ -45,35 +33,24 @@ function useDOMPlugin() {
45
33
  if (!code.includes("use dom")) {
46
34
  return;
47
35
  }
48
- const ext = (0, import_node_path.extname)(id);
49
- const mod = swc.parseSync(code, parseOpts(ext));
50
- let hasUseDom = false;
51
- for (let i = 0; i < mod.body.length; ++i) {
52
- const item = mod.body[i];
53
- if (item.type === "ExpressionStatement") {
54
- if (item.expression.type === "StringLiteral") {
55
- if (item.expression.value === "use dom") {
36
+ try {
37
+ const parsed = (0, import_oxc_parser.parseSync)(id, code);
38
+ let hasUseDom = false;
39
+ for (let i = 0; i < parsed.program.body.length; ++i) {
40
+ const item = parsed.program.body[i];
41
+ if (item.type === "ExpressionStatement") {
42
+ if (item.directive === "use dom" || item.expression?.type === "Literal" && item.expression?.value === "use dom" || item.expression?.type === "StringLiteral" && item.expression?.value === "use dom") {
56
43
  hasUseDom = true;
57
44
  break;
58
45
  }
59
46
  }
60
- } else {}
61
- }
62
- if (!hasUseDom) {
47
+ }
48
+ if (!hasUseDom) {
49
+ return;
50
+ }
51
+ } catch {
63
52
  return;
64
53
  }
65
54
  }
66
55
  };
67
- }
68
- const parseOpts = ext => {
69
- if (ext === ".ts" || ext === ".tsx") {
70
- return {
71
- syntax: "typescript",
72
- tsx: ext.endsWith("x")
73
- };
74
- }
75
- return {
76
- syntax: "ecmascript",
77
- jsx: ext.endsWith("x")
78
- };
79
- };
56
+ }