@tanstack/start-plugin-core 1.160.1 → 1.161.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 (58) hide show
  1. package/dist/esm/dev-server-plugin/plugin.js +1 -1
  2. package/dist/esm/dev-server-plugin/plugin.js.map +1 -1
  3. package/dist/esm/import-protection-plugin/defaults.d.ts +17 -0
  4. package/dist/esm/import-protection-plugin/defaults.js +36 -0
  5. package/dist/esm/import-protection-plugin/defaults.js.map +1 -0
  6. package/dist/esm/import-protection-plugin/matchers.d.ts +13 -0
  7. package/dist/esm/import-protection-plugin/matchers.js +31 -0
  8. package/dist/esm/import-protection-plugin/matchers.js.map +1 -0
  9. package/dist/esm/import-protection-plugin/plugin.d.ts +16 -0
  10. package/dist/esm/import-protection-plugin/plugin.js +699 -0
  11. package/dist/esm/import-protection-plugin/plugin.js.map +1 -0
  12. package/dist/esm/import-protection-plugin/postCompileUsage.d.ts +11 -0
  13. package/dist/esm/import-protection-plugin/postCompileUsage.js +177 -0
  14. package/dist/esm/import-protection-plugin/postCompileUsage.js.map +1 -0
  15. package/dist/esm/import-protection-plugin/rewriteDeniedImports.d.ts +27 -0
  16. package/dist/esm/import-protection-plugin/rewriteDeniedImports.js +51 -0
  17. package/dist/esm/import-protection-plugin/rewriteDeniedImports.js.map +1 -0
  18. package/dist/esm/import-protection-plugin/sourceLocation.d.ts +132 -0
  19. package/dist/esm/import-protection-plugin/sourceLocation.js +255 -0
  20. package/dist/esm/import-protection-plugin/sourceLocation.js.map +1 -0
  21. package/dist/esm/import-protection-plugin/trace.d.ts +67 -0
  22. package/dist/esm/import-protection-plugin/trace.js +204 -0
  23. package/dist/esm/import-protection-plugin/trace.js.map +1 -0
  24. package/dist/esm/import-protection-plugin/utils.d.ts +8 -0
  25. package/dist/esm/import-protection-plugin/utils.js +29 -0
  26. package/dist/esm/import-protection-plugin/utils.js.map +1 -0
  27. package/dist/esm/import-protection-plugin/virtualModules.d.ts +25 -0
  28. package/dist/esm/import-protection-plugin/virtualModules.js +235 -0
  29. package/dist/esm/import-protection-plugin/virtualModules.js.map +1 -0
  30. package/dist/esm/plugin.js +7 -0
  31. package/dist/esm/plugin.js.map +1 -1
  32. package/dist/esm/prerender.js +3 -3
  33. package/dist/esm/prerender.js.map +1 -1
  34. package/dist/esm/schema.d.ts +260 -0
  35. package/dist/esm/schema.js +35 -1
  36. package/dist/esm/schema.js.map +1 -1
  37. package/dist/esm/start-compiler-plugin/compiler.js +5 -1
  38. package/dist/esm/start-compiler-plugin/compiler.js.map +1 -1
  39. package/dist/esm/start-compiler-plugin/handleCreateServerFn.js +2 -2
  40. package/dist/esm/start-compiler-plugin/handleCreateServerFn.js.map +1 -1
  41. package/dist/esm/start-compiler-plugin/plugin.js.map +1 -1
  42. package/dist/esm/start-router-plugin/plugin.js +5 -5
  43. package/dist/esm/start-router-plugin/plugin.js.map +1 -1
  44. package/package.json +6 -3
  45. package/src/dev-server-plugin/plugin.ts +1 -1
  46. package/src/import-protection-plugin/defaults.ts +56 -0
  47. package/src/import-protection-plugin/matchers.ts +48 -0
  48. package/src/import-protection-plugin/plugin.ts +1173 -0
  49. package/src/import-protection-plugin/postCompileUsage.ts +266 -0
  50. package/src/import-protection-plugin/rewriteDeniedImports.ts +255 -0
  51. package/src/import-protection-plugin/sourceLocation.ts +524 -0
  52. package/src/import-protection-plugin/trace.ts +296 -0
  53. package/src/import-protection-plugin/utils.ts +32 -0
  54. package/src/import-protection-plugin/virtualModules.ts +300 -0
  55. package/src/plugin.ts +7 -0
  56. package/src/schema.ts +58 -0
  57. package/src/start-compiler-plugin/compiler.ts +12 -1
  58. package/src/start-compiler-plugin/plugin.ts +3 -3
@@ -1,5 +1,106 @@
1
1
  import { z } from 'zod';
2
2
  import { TanStackStartVitePluginCoreOptions } from './types.js';
3
+ declare const importProtectionBehaviorSchema: z.ZodEnum<["error", "mock"]>;
4
+ declare const importProtectionEnvRulesSchema: z.ZodObject<{
5
+ specifiers: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>]>, "many">>;
6
+ files: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>]>, "many">>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ specifiers?: (string | RegExp)[] | undefined;
9
+ files?: (string | RegExp)[] | undefined;
10
+ }, {
11
+ specifiers?: (string | RegExp)[] | undefined;
12
+ files?: (string | RegExp)[] | undefined;
13
+ }>;
14
+ declare const importProtectionOptionsSchema: z.ZodOptional<z.ZodObject<{
15
+ enabled: z.ZodOptional<z.ZodBoolean>;
16
+ behavior: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["error", "mock"]>, z.ZodObject<{
17
+ dev: z.ZodOptional<z.ZodEnum<["error", "mock"]>>;
18
+ build: z.ZodOptional<z.ZodEnum<["error", "mock"]>>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ build?: "error" | "mock" | undefined;
21
+ dev?: "error" | "mock" | undefined;
22
+ }, {
23
+ build?: "error" | "mock" | undefined;
24
+ dev?: "error" | "mock" | undefined;
25
+ }>]>>;
26
+ /**
27
+ * In `behavior: 'mock'`, control whether mocked imports emit a runtime
28
+ * console diagnostic when accessed.
29
+ *
30
+ * - 'error': console.error(new Error(...)) (default)
31
+ * - 'warn': console.warn(new Error(...))
32
+ * - 'off': disable runtime diagnostics
33
+ */
34
+ mockAccess: z.ZodOptional<z.ZodEnum<["error", "warn", "off"]>>;
35
+ onViolation: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodUnion<[z.ZodBoolean, z.ZodVoid]>>>;
36
+ include: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>]>, "many">>;
37
+ exclude: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>]>, "many">>;
38
+ client: z.ZodOptional<z.ZodObject<{
39
+ specifiers: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>]>, "many">>;
40
+ files: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>]>, "many">>;
41
+ }, "strip", z.ZodTypeAny, {
42
+ specifiers?: (string | RegExp)[] | undefined;
43
+ files?: (string | RegExp)[] | undefined;
44
+ }, {
45
+ specifiers?: (string | RegExp)[] | undefined;
46
+ files?: (string | RegExp)[] | undefined;
47
+ }>>;
48
+ server: z.ZodOptional<z.ZodObject<{
49
+ specifiers: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>]>, "many">>;
50
+ files: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>]>, "many">>;
51
+ }, "strip", z.ZodTypeAny, {
52
+ specifiers?: (string | RegExp)[] | undefined;
53
+ files?: (string | RegExp)[] | undefined;
54
+ }, {
55
+ specifiers?: (string | RegExp)[] | undefined;
56
+ files?: (string | RegExp)[] | undefined;
57
+ }>>;
58
+ ignoreImporters: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>]>, "many">>;
59
+ maxTraceDepth: z.ZodOptional<z.ZodNumber>;
60
+ log: z.ZodOptional<z.ZodEnum<["once", "always"]>>;
61
+ }, "strip", z.ZodTypeAny, {
62
+ client?: {
63
+ specifiers?: (string | RegExp)[] | undefined;
64
+ files?: (string | RegExp)[] | undefined;
65
+ } | undefined;
66
+ server?: {
67
+ specifiers?: (string | RegExp)[] | undefined;
68
+ files?: (string | RegExp)[] | undefined;
69
+ } | undefined;
70
+ exclude?: (string | RegExp)[] | undefined;
71
+ enabled?: boolean | undefined;
72
+ behavior?: "error" | "mock" | {
73
+ build?: "error" | "mock" | undefined;
74
+ dev?: "error" | "mock" | undefined;
75
+ } | undefined;
76
+ mockAccess?: "error" | "warn" | "off" | undefined;
77
+ onViolation?: ((args_0: any, ...args: unknown[]) => boolean | void) | undefined;
78
+ include?: (string | RegExp)[] | undefined;
79
+ ignoreImporters?: (string | RegExp)[] | undefined;
80
+ maxTraceDepth?: number | undefined;
81
+ log?: "always" | "once" | undefined;
82
+ }, {
83
+ client?: {
84
+ specifiers?: (string | RegExp)[] | undefined;
85
+ files?: (string | RegExp)[] | undefined;
86
+ } | undefined;
87
+ server?: {
88
+ specifiers?: (string | RegExp)[] | undefined;
89
+ files?: (string | RegExp)[] | undefined;
90
+ } | undefined;
91
+ exclude?: (string | RegExp)[] | undefined;
92
+ enabled?: boolean | undefined;
93
+ behavior?: "error" | "mock" | {
94
+ build?: "error" | "mock" | undefined;
95
+ dev?: "error" | "mock" | undefined;
96
+ } | undefined;
97
+ mockAccess?: "error" | "warn" | "off" | undefined;
98
+ onViolation?: ((args_0: any, ...args: unknown[]) => boolean | void) | undefined;
99
+ include?: (string | RegExp)[] | undefined;
100
+ ignoreImporters?: (string | RegExp)[] | undefined;
101
+ maxTraceDepth?: number | undefined;
102
+ log?: "always" | "once" | undefined;
103
+ }>>;
3
104
  export declare function parseStartConfig(opts: z.input<typeof tanstackStartOptionsSchema>, corePluginOpts: TanStackStartVitePluginCoreOptions, root: string): {
4
105
  router: {
5
106
  target: import('./types.js').CompileStartFrameworkOptions;
@@ -297,6 +398,28 @@ export declare function parseStartConfig(opts: z.input<typeof tanstackStartOptio
297
398
  vite?: {
298
399
  installDevServerMiddleware?: boolean | undefined;
299
400
  } | undefined;
401
+ importProtection?: {
402
+ client?: {
403
+ specifiers?: (string | RegExp)[] | undefined;
404
+ files?: (string | RegExp)[] | undefined;
405
+ } | undefined;
406
+ server?: {
407
+ specifiers?: (string | RegExp)[] | undefined;
408
+ files?: (string | RegExp)[] | undefined;
409
+ } | undefined;
410
+ exclude?: (string | RegExp)[] | undefined;
411
+ enabled?: boolean | undefined;
412
+ behavior?: "error" | "mock" | {
413
+ build?: "error" | "mock" | undefined;
414
+ dev?: "error" | "mock" | undefined;
415
+ } | undefined;
416
+ mockAccess?: "error" | "warn" | "off" | undefined;
417
+ onViolation?: ((args_0: any, ...args: unknown[]) => boolean | void) | undefined;
418
+ include?: (string | RegExp)[] | undefined;
419
+ ignoreImporters?: (string | RegExp)[] | undefined;
420
+ maxTraceDepth?: number | undefined;
421
+ log?: "always" | "once" | undefined;
422
+ } | undefined;
300
423
  };
301
424
  declare const pageSchema: z.ZodObject<{
302
425
  path: z.ZodString;
@@ -3086,6 +3209,96 @@ declare const tanstackStartOptionsSchema: z.ZodDefault<z.ZodOptional<z.ZodObject
3086
3209
  }, {
3087
3210
  installDevServerMiddleware?: boolean | undefined;
3088
3211
  }>>;
3212
+ importProtection: z.ZodOptional<z.ZodObject<{
3213
+ enabled: z.ZodOptional<z.ZodBoolean>;
3214
+ behavior: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["error", "mock"]>, z.ZodObject<{
3215
+ dev: z.ZodOptional<z.ZodEnum<["error", "mock"]>>;
3216
+ build: z.ZodOptional<z.ZodEnum<["error", "mock"]>>;
3217
+ }, "strip", z.ZodTypeAny, {
3218
+ build?: "error" | "mock" | undefined;
3219
+ dev?: "error" | "mock" | undefined;
3220
+ }, {
3221
+ build?: "error" | "mock" | undefined;
3222
+ dev?: "error" | "mock" | undefined;
3223
+ }>]>>;
3224
+ /**
3225
+ * In `behavior: 'mock'`, control whether mocked imports emit a runtime
3226
+ * console diagnostic when accessed.
3227
+ *
3228
+ * - 'error': console.error(new Error(...)) (default)
3229
+ * - 'warn': console.warn(new Error(...))
3230
+ * - 'off': disable runtime diagnostics
3231
+ */
3232
+ mockAccess: z.ZodOptional<z.ZodEnum<["error", "warn", "off"]>>;
3233
+ onViolation: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodUnion<[z.ZodBoolean, z.ZodVoid]>>>;
3234
+ include: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>]>, "many">>;
3235
+ exclude: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>]>, "many">>;
3236
+ client: z.ZodOptional<z.ZodObject<{
3237
+ specifiers: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>]>, "many">>;
3238
+ files: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>]>, "many">>;
3239
+ }, "strip", z.ZodTypeAny, {
3240
+ specifiers?: (string | RegExp)[] | undefined;
3241
+ files?: (string | RegExp)[] | undefined;
3242
+ }, {
3243
+ specifiers?: (string | RegExp)[] | undefined;
3244
+ files?: (string | RegExp)[] | undefined;
3245
+ }>>;
3246
+ server: z.ZodOptional<z.ZodObject<{
3247
+ specifiers: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>]>, "many">>;
3248
+ files: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>]>, "many">>;
3249
+ }, "strip", z.ZodTypeAny, {
3250
+ specifiers?: (string | RegExp)[] | undefined;
3251
+ files?: (string | RegExp)[] | undefined;
3252
+ }, {
3253
+ specifiers?: (string | RegExp)[] | undefined;
3254
+ files?: (string | RegExp)[] | undefined;
3255
+ }>>;
3256
+ ignoreImporters: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>]>, "many">>;
3257
+ maxTraceDepth: z.ZodOptional<z.ZodNumber>;
3258
+ log: z.ZodOptional<z.ZodEnum<["once", "always"]>>;
3259
+ }, "strip", z.ZodTypeAny, {
3260
+ client?: {
3261
+ specifiers?: (string | RegExp)[] | undefined;
3262
+ files?: (string | RegExp)[] | undefined;
3263
+ } | undefined;
3264
+ server?: {
3265
+ specifiers?: (string | RegExp)[] | undefined;
3266
+ files?: (string | RegExp)[] | undefined;
3267
+ } | undefined;
3268
+ exclude?: (string | RegExp)[] | undefined;
3269
+ enabled?: boolean | undefined;
3270
+ behavior?: "error" | "mock" | {
3271
+ build?: "error" | "mock" | undefined;
3272
+ dev?: "error" | "mock" | undefined;
3273
+ } | undefined;
3274
+ mockAccess?: "error" | "warn" | "off" | undefined;
3275
+ onViolation?: ((args_0: any, ...args: unknown[]) => boolean | void) | undefined;
3276
+ include?: (string | RegExp)[] | undefined;
3277
+ ignoreImporters?: (string | RegExp)[] | undefined;
3278
+ maxTraceDepth?: number | undefined;
3279
+ log?: "always" | "once" | undefined;
3280
+ }, {
3281
+ client?: {
3282
+ specifiers?: (string | RegExp)[] | undefined;
3283
+ files?: (string | RegExp)[] | undefined;
3284
+ } | undefined;
3285
+ server?: {
3286
+ specifiers?: (string | RegExp)[] | undefined;
3287
+ files?: (string | RegExp)[] | undefined;
3288
+ } | undefined;
3289
+ exclude?: (string | RegExp)[] | undefined;
3290
+ enabled?: boolean | undefined;
3291
+ behavior?: "error" | "mock" | {
3292
+ build?: "error" | "mock" | undefined;
3293
+ dev?: "error" | "mock" | undefined;
3294
+ } | undefined;
3295
+ mockAccess?: "error" | "warn" | "off" | undefined;
3296
+ onViolation?: ((args_0: any, ...args: unknown[]) => boolean | void) | undefined;
3297
+ include?: (string | RegExp)[] | undefined;
3298
+ ignoreImporters?: (string | RegExp)[] | undefined;
3299
+ maxTraceDepth?: number | undefined;
3300
+ log?: "always" | "once" | undefined;
3301
+ }>>;
3089
3302
  }, "strip", z.ZodTypeAny, {
3090
3303
  srcDirectory: string;
3091
3304
  start: {
@@ -3381,6 +3594,28 @@ declare const tanstackStartOptionsSchema: z.ZodDefault<z.ZodOptional<z.ZodObject
3381
3594
  vite?: {
3382
3595
  installDevServerMiddleware?: boolean | undefined;
3383
3596
  } | undefined;
3597
+ importProtection?: {
3598
+ client?: {
3599
+ specifiers?: (string | RegExp)[] | undefined;
3600
+ files?: (string | RegExp)[] | undefined;
3601
+ } | undefined;
3602
+ server?: {
3603
+ specifiers?: (string | RegExp)[] | undefined;
3604
+ files?: (string | RegExp)[] | undefined;
3605
+ } | undefined;
3606
+ exclude?: (string | RegExp)[] | undefined;
3607
+ enabled?: boolean | undefined;
3608
+ behavior?: "error" | "mock" | {
3609
+ build?: "error" | "mock" | undefined;
3610
+ dev?: "error" | "mock" | undefined;
3611
+ } | undefined;
3612
+ mockAccess?: "error" | "warn" | "off" | undefined;
3613
+ onViolation?: ((args_0: any, ...args: unknown[]) => boolean | void) | undefined;
3614
+ include?: (string | RegExp)[] | undefined;
3615
+ ignoreImporters?: (string | RegExp)[] | undefined;
3616
+ maxTraceDepth?: number | undefined;
3617
+ log?: "always" | "once" | undefined;
3618
+ } | undefined;
3384
3619
  }, {
3385
3620
  srcDirectory?: string | undefined;
3386
3621
  start?: {
@@ -3676,8 +3911,33 @@ declare const tanstackStartOptionsSchema: z.ZodDefault<z.ZodOptional<z.ZodObject
3676
3911
  vite?: {
3677
3912
  installDevServerMiddleware?: boolean | undefined;
3678
3913
  } | undefined;
3914
+ importProtection?: {
3915
+ client?: {
3916
+ specifiers?: (string | RegExp)[] | undefined;
3917
+ files?: (string | RegExp)[] | undefined;
3918
+ } | undefined;
3919
+ server?: {
3920
+ specifiers?: (string | RegExp)[] | undefined;
3921
+ files?: (string | RegExp)[] | undefined;
3922
+ } | undefined;
3923
+ exclude?: (string | RegExp)[] | undefined;
3924
+ enabled?: boolean | undefined;
3925
+ behavior?: "error" | "mock" | {
3926
+ build?: "error" | "mock" | undefined;
3927
+ dev?: "error" | "mock" | undefined;
3928
+ } | undefined;
3929
+ mockAccess?: "error" | "warn" | "off" | undefined;
3930
+ onViolation?: ((args_0: any, ...args: unknown[]) => boolean | void) | undefined;
3931
+ include?: (string | RegExp)[] | undefined;
3932
+ ignoreImporters?: (string | RegExp)[] | undefined;
3933
+ maxTraceDepth?: number | undefined;
3934
+ log?: "always" | "once" | undefined;
3935
+ } | undefined;
3679
3936
  }>>>;
3680
3937
  export type Page = z.infer<typeof pageSchema>;
3681
3938
  export type TanStackStartInputConfig = z.input<typeof tanstackStartOptionsSchema>;
3682
3939
  export type TanStackStartOutputConfig = ReturnType<typeof parseStartConfig>;
3940
+ export type ImportProtectionBehavior = z.infer<typeof importProtectionBehaviorSchema>;
3941
+ export type ImportProtectionEnvRules = z.infer<typeof importProtectionEnvRulesSchema>;
3942
+ export type ImportProtectionOptions = z.input<typeof importProtectionOptionsSchema>;
3683
3943
  export {};
@@ -2,6 +2,39 @@ import path from "node:path";
2
2
  import { z } from "zod";
3
3
  import { getConfig, configSchema } from "@tanstack/router-plugin";
4
4
  const tsrConfig = configSchema.omit({ autoCodeSplitting: true, target: true, verboseFileRoutes: true }).partial();
5
+ const patternSchema = z.union([z.string(), z.instanceof(RegExp)]);
6
+ const importProtectionBehaviorSchema = z.enum(["error", "mock"]);
7
+ const importProtectionEnvRulesSchema = z.object({
8
+ specifiers: z.array(patternSchema).optional(),
9
+ files: z.array(patternSchema).optional()
10
+ });
11
+ const importProtectionOptionsSchema = z.object({
12
+ enabled: z.boolean().optional(),
13
+ behavior: z.union([
14
+ importProtectionBehaviorSchema,
15
+ z.object({
16
+ dev: importProtectionBehaviorSchema.optional(),
17
+ build: importProtectionBehaviorSchema.optional()
18
+ })
19
+ ]).optional(),
20
+ /**
21
+ * In `behavior: 'mock'`, control whether mocked imports emit a runtime
22
+ * console diagnostic when accessed.
23
+ *
24
+ * - 'error': console.error(new Error(...)) (default)
25
+ * - 'warn': console.warn(new Error(...))
26
+ * - 'off': disable runtime diagnostics
27
+ */
28
+ mockAccess: z.enum(["error", "warn", "off"]).optional(),
29
+ onViolation: z.function().args(z.any()).returns(z.union([z.boolean(), z.void()])).optional(),
30
+ include: z.array(patternSchema).optional(),
31
+ exclude: z.array(patternSchema).optional(),
32
+ client: importProtectionEnvRulesSchema.optional(),
33
+ server: importProtectionEnvRulesSchema.optional(),
34
+ ignoreImporters: z.array(patternSchema).optional(),
35
+ maxTraceDepth: z.number().optional(),
36
+ log: z.enum(["once", "always"]).optional()
37
+ }).optional();
5
38
  function parseStartConfig(opts, corePluginOpts, root) {
6
39
  const options = tanstackStartOptionsSchema.parse(opts);
7
40
  const srcDirectory = options.srcDirectory;
@@ -135,7 +168,8 @@ const tanstackStartOptionsSchema = z.object({
135
168
  maxRedirects: z.number().min(0).optional()
136
169
  }).and(pagePrerenderOptionsSchema.optional()).optional(),
137
170
  spa: spaSchema.optional(),
138
- vite: z.object({ installDevServerMiddleware: z.boolean().optional() }).optional()
171
+ vite: z.object({ installDevServerMiddleware: z.boolean().optional() }).optional(),
172
+ importProtection: importProtectionOptionsSchema
139
173
  }).optional().default({});
140
174
  export {
141
175
  parseStartConfig
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sources":["../../src/schema.ts"],"sourcesContent":["import path from 'node:path'\nimport { z } from 'zod'\nimport { configSchema, getConfig } from '@tanstack/router-plugin'\nimport type { TanStackStartVitePluginCoreOptions } from './types'\n\nconst tsrConfig = configSchema\n .omit({ autoCodeSplitting: true, target: true, verboseFileRoutes: true })\n .partial()\n\nexport function parseStartConfig(\n opts: z.input<typeof tanstackStartOptionsSchema>,\n corePluginOpts: TanStackStartVitePluginCoreOptions,\n root: string,\n) {\n const options = tanstackStartOptionsSchema.parse(opts)\n\n const srcDirectory = options.srcDirectory\n\n const routesDirectory = path.resolve(\n root,\n srcDirectory,\n options.router.routesDirectory ?? 'routes',\n )\n\n const generatedRouteTree = path.resolve(\n root,\n srcDirectory,\n options.router.generatedRouteTree ?? 'routeTree.gen.ts',\n )\n\n return {\n ...options,\n router: {\n ...options.router,\n ...getConfig(\n {\n ...options.router,\n routesDirectory,\n generatedRouteTree,\n },\n root,\n ),\n target: corePluginOpts.framework,\n },\n }\n}\n\nconst pageSitemapOptionsSchema = z.object({\n exclude: z.boolean().optional(),\n priority: z.number().min(0).max(1).optional(),\n changefreq: z\n .enum(['always', 'hourly', 'daily', 'weekly', 'monthly', 'yearly', 'never'])\n .optional(),\n lastmod: z.union([z.string(), z.date()]).optional(),\n alternateRefs: z\n .array(\n z.object({\n href: z.string(),\n hreflang: z.string(),\n }),\n )\n .optional(),\n images: z\n .array(\n z.object({\n loc: z.string(),\n caption: z.string().optional(),\n title: z.string().optional(),\n }),\n )\n .optional(),\n news: z\n .object({\n publication: z.object({\n name: z.string(),\n language: z.string(),\n }),\n publicationDate: z.union([z.string(), z.date()]),\n title: z.string(),\n })\n .optional(),\n})\n\nconst pageBaseSchema = z.object({\n path: z.string(),\n sitemap: pageSitemapOptionsSchema.optional(),\n fromCrawl: z.boolean().optional(),\n})\n\nconst pagePrerenderOptionsSchema = z.object({\n enabled: z.boolean().optional(),\n outputPath: z.string().optional(),\n autoSubfolderIndex: z.boolean().optional(),\n crawlLinks: z.boolean().optional(),\n retryCount: z.number().optional(),\n retryDelay: z.number().optional(),\n onSuccess: z\n .function()\n .args(\n z.object({\n page: pageBaseSchema,\n html: z.string(),\n }),\n )\n .returns(z.any())\n .optional(),\n headers: z.record(z.string(), z.string()).optional(),\n})\n\nconst spaSchema = z.object({\n enabled: z.boolean().optional().default(true),\n maskPath: z.string().optional().default('/'),\n prerender: pagePrerenderOptionsSchema\n .optional()\n .default({})\n .transform((opts) => ({\n outputPath: opts.outputPath ?? '/_shell',\n crawlLinks: false,\n retryCount: 0,\n ...opts,\n enabled: true,\n })),\n})\n\nconst pageSchema = pageBaseSchema.extend({\n prerender: pagePrerenderOptionsSchema.optional(),\n})\n\nconst tanstackStartOptionsSchema = z\n .object({\n srcDirectory: z.string().optional().default('src'),\n start: z\n .object({\n entry: z.string().optional(),\n })\n .optional()\n .default({}),\n router: z\n .object({\n entry: z.string().optional(),\n basepath: z.string().optional(),\n })\n .and(tsrConfig.optional().default({}))\n .optional()\n .default({}),\n client: z\n .object({\n entry: z.string().optional(),\n base: z.string().optional().default('/_build'),\n })\n .optional()\n .default({}),\n server: z\n .object({\n entry: z.string().optional(),\n build: z\n .object({\n staticNodeEnv: z.boolean().optional().default(true),\n })\n .optional()\n .default({}),\n })\n .optional()\n .default({}),\n serverFns: z\n .object({\n base: z.string().optional().default('/_serverFn'),\n generateFunctionId: z\n .function()\n .args(\n z.object({\n filename: z.string(),\n functionName: z.string(),\n }),\n )\n .returns(z.string().optional())\n .optional(),\n })\n .optional()\n .default({}),\n pages: z.array(pageSchema).optional().default([]),\n sitemap: z\n .object({\n enabled: z.boolean().optional().default(true),\n host: z.string().optional(),\n outputPath: z.string().optional().default('sitemap.xml'),\n })\n .optional(),\n prerender: z\n .object({\n enabled: z.boolean().optional(),\n concurrency: z.number().optional(),\n filter: z.function().args(pageSchema).returns(z.any()).optional(),\n failOnError: z.boolean().optional(),\n autoStaticPathsDiscovery: z.boolean().optional(),\n maxRedirects: z.number().min(0).optional(),\n })\n .and(pagePrerenderOptionsSchema.optional())\n .optional(),\n spa: spaSchema.optional(),\n vite: z\n .object({ installDevServerMiddleware: z.boolean().optional() })\n .optional(),\n })\n .optional()\n .default({})\n\nexport type Page = z.infer<typeof pageSchema>\n\nexport type TanStackStartInputConfig = z.input<\n typeof tanstackStartOptionsSchema\n>\nexport type TanStackStartOutputConfig = ReturnType<typeof parseStartConfig>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sources":["../../src/schema.ts"],"sourcesContent":["import path from 'node:path'\nimport { z } from 'zod'\nimport { configSchema, getConfig } from '@tanstack/router-plugin'\nimport type { TanStackStartVitePluginCoreOptions } from './types'\n\nconst tsrConfig = configSchema\n .omit({ autoCodeSplitting: true, target: true, verboseFileRoutes: true })\n .partial()\n\n// --- Import Protection Schema ---\n\nconst patternSchema = z.union([z.string(), z.instanceof(RegExp)])\n\nconst importProtectionBehaviorSchema = z.enum(['error', 'mock'])\n\nconst importProtectionEnvRulesSchema = z.object({\n specifiers: z.array(patternSchema).optional(),\n files: z.array(patternSchema).optional(),\n})\n\nconst importProtectionOptionsSchema = z\n .object({\n enabled: z.boolean().optional(),\n behavior: z\n .union([\n importProtectionBehaviorSchema,\n z.object({\n dev: importProtectionBehaviorSchema.optional(),\n build: importProtectionBehaviorSchema.optional(),\n }),\n ])\n .optional(),\n /**\n * In `behavior: 'mock'`, control whether mocked imports emit a runtime\n * console diagnostic when accessed.\n *\n * - 'error': console.error(new Error(...)) (default)\n * - 'warn': console.warn(new Error(...))\n * - 'off': disable runtime diagnostics\n */\n mockAccess: z.enum(['error', 'warn', 'off']).optional(),\n onViolation: z\n .function()\n .args(z.any())\n .returns(z.union([z.boolean(), z.void()]))\n .optional(),\n include: z.array(patternSchema).optional(),\n exclude: z.array(patternSchema).optional(),\n client: importProtectionEnvRulesSchema.optional(),\n server: importProtectionEnvRulesSchema.optional(),\n ignoreImporters: z.array(patternSchema).optional(),\n maxTraceDepth: z.number().optional(),\n log: z.enum(['once', 'always']).optional(),\n })\n .optional()\n\nexport function parseStartConfig(\n opts: z.input<typeof tanstackStartOptionsSchema>,\n corePluginOpts: TanStackStartVitePluginCoreOptions,\n root: string,\n) {\n const options = tanstackStartOptionsSchema.parse(opts)\n\n const srcDirectory = options.srcDirectory\n\n const routesDirectory = path.resolve(\n root,\n srcDirectory,\n options.router.routesDirectory ?? 'routes',\n )\n\n const generatedRouteTree = path.resolve(\n root,\n srcDirectory,\n options.router.generatedRouteTree ?? 'routeTree.gen.ts',\n )\n\n return {\n ...options,\n router: {\n ...options.router,\n ...getConfig(\n {\n ...options.router,\n routesDirectory,\n generatedRouteTree,\n },\n root,\n ),\n target: corePluginOpts.framework,\n },\n }\n}\n\nconst pageSitemapOptionsSchema = z.object({\n exclude: z.boolean().optional(),\n priority: z.number().min(0).max(1).optional(),\n changefreq: z\n .enum(['always', 'hourly', 'daily', 'weekly', 'monthly', 'yearly', 'never'])\n .optional(),\n lastmod: z.union([z.string(), z.date()]).optional(),\n alternateRefs: z\n .array(\n z.object({\n href: z.string(),\n hreflang: z.string(),\n }),\n )\n .optional(),\n images: z\n .array(\n z.object({\n loc: z.string(),\n caption: z.string().optional(),\n title: z.string().optional(),\n }),\n )\n .optional(),\n news: z\n .object({\n publication: z.object({\n name: z.string(),\n language: z.string(),\n }),\n publicationDate: z.union([z.string(), z.date()]),\n title: z.string(),\n })\n .optional(),\n})\n\nconst pageBaseSchema = z.object({\n path: z.string(),\n sitemap: pageSitemapOptionsSchema.optional(),\n fromCrawl: z.boolean().optional(),\n})\n\nconst pagePrerenderOptionsSchema = z.object({\n enabled: z.boolean().optional(),\n outputPath: z.string().optional(),\n autoSubfolderIndex: z.boolean().optional(),\n crawlLinks: z.boolean().optional(),\n retryCount: z.number().optional(),\n retryDelay: z.number().optional(),\n onSuccess: z\n .function()\n .args(\n z.object({\n page: pageBaseSchema,\n html: z.string(),\n }),\n )\n .returns(z.any())\n .optional(),\n headers: z.record(z.string(), z.string()).optional(),\n})\n\nconst spaSchema = z.object({\n enabled: z.boolean().optional().default(true),\n maskPath: z.string().optional().default('/'),\n prerender: pagePrerenderOptionsSchema\n .optional()\n .default({})\n .transform((opts) => ({\n outputPath: opts.outputPath ?? '/_shell',\n crawlLinks: false,\n retryCount: 0,\n ...opts,\n enabled: true,\n })),\n})\n\nconst pageSchema = pageBaseSchema.extend({\n prerender: pagePrerenderOptionsSchema.optional(),\n})\n\nconst tanstackStartOptionsSchema = z\n .object({\n srcDirectory: z.string().optional().default('src'),\n start: z\n .object({\n entry: z.string().optional(),\n })\n .optional()\n .default({}),\n router: z\n .object({\n entry: z.string().optional(),\n basepath: z.string().optional(),\n })\n .and(tsrConfig.optional().default({}))\n .optional()\n .default({}),\n client: z\n .object({\n entry: z.string().optional(),\n base: z.string().optional().default('/_build'),\n })\n .optional()\n .default({}),\n server: z\n .object({\n entry: z.string().optional(),\n build: z\n .object({\n staticNodeEnv: z.boolean().optional().default(true),\n })\n .optional()\n .default({}),\n })\n .optional()\n .default({}),\n serverFns: z\n .object({\n base: z.string().optional().default('/_serverFn'),\n generateFunctionId: z\n .function()\n .args(\n z.object({\n filename: z.string(),\n functionName: z.string(),\n }),\n )\n .returns(z.string().optional())\n .optional(),\n })\n .optional()\n .default({}),\n pages: z.array(pageSchema).optional().default([]),\n sitemap: z\n .object({\n enabled: z.boolean().optional().default(true),\n host: z.string().optional(),\n outputPath: z.string().optional().default('sitemap.xml'),\n })\n .optional(),\n prerender: z\n .object({\n enabled: z.boolean().optional(),\n concurrency: z.number().optional(),\n filter: z.function().args(pageSchema).returns(z.any()).optional(),\n failOnError: z.boolean().optional(),\n autoStaticPathsDiscovery: z.boolean().optional(),\n maxRedirects: z.number().min(0).optional(),\n })\n .and(pagePrerenderOptionsSchema.optional())\n .optional(),\n spa: spaSchema.optional(),\n vite: z\n .object({ installDevServerMiddleware: z.boolean().optional() })\n .optional(),\n importProtection: importProtectionOptionsSchema,\n })\n .optional()\n .default({})\n\nexport type Page = z.infer<typeof pageSchema>\n\nexport type TanStackStartInputConfig = z.input<\n typeof tanstackStartOptionsSchema\n>\nexport type TanStackStartOutputConfig = ReturnType<typeof parseStartConfig>\n\nexport type ImportProtectionBehavior = z.infer<\n typeof importProtectionBehaviorSchema\n>\nexport type ImportProtectionEnvRules = z.infer<\n typeof importProtectionEnvRulesSchema\n>\nexport type ImportProtectionOptions = z.input<\n typeof importProtectionOptionsSchema\n>\n"],"names":[],"mappings":"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"}
@@ -569,11 +569,15 @@ class StartCompiler {
569
569
  handleClientOnlyJSX(jsxPath);
570
570
  }
571
571
  deadCodeElimination(ast, refIdents);
572
- return generateFromAst(ast, {
572
+ const result = generateFromAst(ast, {
573
573
  sourceMaps: true,
574
574
  sourceFileName: id,
575
575
  filename: id
576
576
  });
577
+ if (result.map) {
578
+ result.map.sourcesContent = [code];
579
+ }
580
+ return result;
577
581
  }
578
582
  async resolveIdentifierKind(ident, id, visited = /* @__PURE__ */ new Set()) {
579
583
  const info = await this.getModuleInfo(id);