@tanstack/start-plugin-core 1.167.18 → 1.167.20

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 (184) hide show
  1. package/dist/esm/config-context.d.ts +26 -0
  2. package/dist/esm/config-context.js +81 -0
  3. package/dist/esm/config-context.js.map +1 -0
  4. package/dist/esm/constants.d.ts +6 -1
  5. package/dist/esm/constants.js +3 -2
  6. package/dist/esm/constants.js.map +1 -1
  7. package/dist/esm/import-protection-plugin/extensionlessAbsoluteIdResolver.js +1 -1
  8. package/dist/esm/import-protection-plugin/plugin.js +1 -1
  9. package/dist/esm/import-protection-plugin/virtualModules.js +1 -1
  10. package/dist/esm/index.d.ts +5 -3
  11. package/dist/esm/index.js +3 -4
  12. package/dist/esm/planning.d.ts +40 -0
  13. package/dist/esm/planning.js +107 -0
  14. package/dist/esm/planning.js.map +1 -0
  15. package/dist/esm/schema.d.ts +3093 -44
  16. package/dist/esm/schema.js +5 -5
  17. package/dist/esm/schema.js.map +1 -1
  18. package/dist/esm/serialization-adapters-module.d.ts +17 -0
  19. package/dist/esm/serialization-adapters-module.js +39 -0
  20. package/dist/esm/serialization-adapters-module.js.map +1 -0
  21. package/dist/esm/{start-compiler-plugin → start-compiler}/compiler.d.ts +2 -3
  22. package/dist/esm/{start-compiler-plugin → start-compiler}/compiler.js +17 -16
  23. package/dist/esm/start-compiler/compiler.js.map +1 -0
  24. package/dist/esm/start-compiler/config.d.ts +4 -0
  25. package/dist/esm/start-compiler/config.js +54 -0
  26. package/dist/esm/start-compiler/config.js.map +1 -0
  27. package/dist/esm/{start-compiler-plugin → start-compiler}/handleClientOnlyJSX.js +1 -1
  28. package/dist/esm/start-compiler/handleClientOnlyJSX.js.map +1 -0
  29. package/dist/esm/{start-compiler-plugin → start-compiler}/handleCreateIsomorphicFn.js +1 -1
  30. package/dist/esm/start-compiler/handleCreateIsomorphicFn.js.map +1 -0
  31. package/dist/esm/{start-compiler-plugin → start-compiler}/handleCreateMiddleware.js +1 -1
  32. package/dist/esm/start-compiler/handleCreateMiddleware.js.map +1 -0
  33. package/dist/esm/{start-compiler-plugin → start-compiler}/handleCreateServerFn.js +6 -17
  34. package/dist/esm/start-compiler/handleCreateServerFn.js.map +1 -0
  35. package/dist/esm/{start-compiler-plugin → start-compiler}/handleEnvOnly.js +1 -1
  36. package/dist/esm/start-compiler/handleEnvOnly.js.map +1 -0
  37. package/dist/esm/start-compiler/host.d.ts +20 -0
  38. package/dist/esm/start-compiler/host.js +38 -0
  39. package/dist/esm/start-compiler/host.js.map +1 -0
  40. package/dist/esm/start-compiler/load-module.d.ts +14 -0
  41. package/dist/esm/start-compiler/load-module.js +18 -0
  42. package/dist/esm/start-compiler/load-module.js.map +1 -0
  43. package/dist/esm/start-compiler/server-fn-resolver-module.d.ts +8 -0
  44. package/dist/esm/start-compiler/server-fn-resolver-module.js +77 -0
  45. package/dist/esm/start-compiler/server-fn-resolver-module.js.map +1 -0
  46. package/dist/esm/{start-compiler-plugin → start-compiler}/types.d.ts +4 -0
  47. package/dist/esm/{start-compiler-plugin → start-compiler}/utils.js +1 -1
  48. package/dist/esm/start-compiler/utils.js.map +1 -0
  49. package/dist/esm/start-manifest-plugin/manifestBuilder.d.ts +16 -16
  50. package/dist/esm/start-manifest-plugin/manifestBuilder.js +14 -45
  51. package/dist/esm/start-manifest-plugin/manifestBuilder.js.map +1 -1
  52. package/dist/esm/start-router-plugin/route-tree-footer.d.ts +6 -0
  53. package/dist/esm/start-router-plugin/route-tree-footer.js +44 -0
  54. package/dist/esm/start-router-plugin/route-tree-footer.js.map +1 -0
  55. package/dist/esm/types.d.ts +44 -10
  56. package/dist/esm/{dev-server-plugin → vite/dev-server-plugin}/dev-styles.js +1 -1
  57. package/dist/esm/vite/dev-server-plugin/dev-styles.js.map +1 -0
  58. package/dist/esm/{dev-server-plugin → vite/dev-server-plugin}/extract-html-scripts.js +1 -1
  59. package/dist/esm/vite/dev-server-plugin/extract-html-scripts.js.map +1 -0
  60. package/dist/esm/vite/dev-server-plugin/plugin.d.ts +7 -0
  61. package/dist/esm/{dev-server-plugin → vite/dev-server-plugin}/plugin.js +5 -6
  62. package/dist/esm/vite/dev-server-plugin/plugin.js.map +1 -0
  63. package/dist/esm/{load-env-plugin → vite/load-env-plugin}/plugin.js +1 -1
  64. package/dist/esm/vite/load-env-plugin/plugin.js.map +1 -0
  65. package/dist/esm/{output-directory.js → vite/output-directory.js} +2 -2
  66. package/dist/esm/vite/output-directory.js.map +1 -0
  67. package/dist/esm/vite/planning.d.ts +105 -0
  68. package/dist/esm/vite/planning.js +116 -0
  69. package/dist/esm/vite/planning.js.map +1 -0
  70. package/dist/esm/vite/plugin.d.ts +4 -0
  71. package/dist/esm/vite/plugin.js +169 -0
  72. package/dist/esm/vite/plugin.js.map +1 -0
  73. package/dist/esm/vite/plugins.d.ts +17 -0
  74. package/dist/esm/vite/plugins.js +50 -0
  75. package/dist/esm/vite/plugins.js.map +1 -0
  76. package/dist/esm/{post-server-build.d.ts → vite/post-server-build.d.ts} +1 -1
  77. package/dist/esm/{post-server-build.js → vite/post-server-build.js} +4 -4
  78. package/dist/esm/vite/post-server-build.js.map +1 -0
  79. package/dist/esm/{prerender.d.ts → vite/prerender.d.ts} +1 -1
  80. package/dist/esm/{prerender.js → vite/prerender.js} +5 -10
  81. package/dist/esm/vite/prerender.js.map +1 -0
  82. package/dist/esm/{preview-server-plugin → vite/preview-server-plugin}/plugin.js +4 -4
  83. package/dist/esm/vite/preview-server-plugin/plugin.js.map +1 -0
  84. package/dist/esm/vite/schema.d.ts +3373 -0
  85. package/dist/esm/vite/schema.js +12 -0
  86. package/dist/esm/vite/schema.js.map +1 -0
  87. package/dist/esm/vite/serialization-adapters-plugin.d.ts +5 -0
  88. package/dist/esm/vite/serialization-adapters-plugin.js +42 -0
  89. package/dist/esm/vite/serialization-adapters-plugin.js.map +1 -0
  90. package/dist/esm/vite/start-compiler-plugin/module-specifier.d.ts +3 -0
  91. package/dist/esm/vite/start-compiler-plugin/module-specifier.js +19 -0
  92. package/dist/esm/vite/start-compiler-plugin/module-specifier.js.map +1 -0
  93. package/dist/esm/{start-compiler-plugin → vite/start-compiler-plugin}/plugin.d.ts +4 -3
  94. package/dist/esm/vite/start-compiler-plugin/plugin.js +202 -0
  95. package/dist/esm/vite/start-compiler-plugin/plugin.js.map +1 -0
  96. package/dist/esm/vite/start-manifest-plugin/normalized-client-build.d.ts +6 -0
  97. package/dist/esm/vite/start-manifest-plugin/normalized-client-build.js +81 -0
  98. package/dist/esm/vite/start-manifest-plugin/normalized-client-build.js.map +1 -0
  99. package/dist/esm/vite/start-manifest-plugin/plugin.d.ts +6 -0
  100. package/dist/esm/{start-manifest-plugin → vite/start-manifest-plugin}/plugin.js +14 -9
  101. package/dist/esm/vite/start-manifest-plugin/plugin.js.map +1 -0
  102. package/dist/esm/{start-router-plugin → vite/start-router-plugin}/plugin.d.ts +3 -2
  103. package/dist/esm/{start-router-plugin → vite/start-router-plugin}/plugin.js +14 -37
  104. package/dist/esm/vite/start-router-plugin/plugin.js.map +1 -0
  105. package/dist/esm/vite/types.d.ts +15 -0
  106. package/package.json +36 -25
  107. package/src/config-context.ts +138 -0
  108. package/src/constants.ts +7 -3
  109. package/src/index.ts +5 -5
  110. package/src/planning.ts +151 -0
  111. package/src/schema.ts +93 -93
  112. package/src/serialization-adapters-module.ts +82 -0
  113. package/src/{start-compiler-plugin → start-compiler}/compiler.ts +67 -61
  114. package/src/start-compiler/config.ts +73 -0
  115. package/src/{start-compiler-plugin → start-compiler}/handleCreateServerFn.ts +14 -41
  116. package/src/start-compiler/host.ts +80 -0
  117. package/src/start-compiler/load-module.ts +31 -0
  118. package/src/start-compiler/server-fn-resolver-module.ts +129 -0
  119. package/src/{start-compiler-plugin → start-compiler}/types.ts +5 -0
  120. package/src/start-manifest-plugin/manifestBuilder.ts +65 -107
  121. package/src/start-router-plugin/route-tree-footer.ts +99 -0
  122. package/src/types.ts +53 -10
  123. package/src/{dev-server-plugin → vite/dev-server-plugin}/plugin.ts +7 -6
  124. package/src/{output-directory.ts → vite/output-directory.ts} +2 -2
  125. package/src/vite/planning.ts +234 -0
  126. package/src/vite/plugin.ts +276 -0
  127. package/src/vite/plugins.ts +81 -0
  128. package/src/{post-server-build.ts → vite/post-server-build.ts} +4 -6
  129. package/src/{prerender.ts → vite/prerender.ts} +21 -46
  130. package/src/{preview-server-plugin → vite/preview-server-plugin}/plugin.ts +2 -2
  131. package/src/vite/schema.ts +30 -0
  132. package/src/vite/serialization-adapters-plugin.ts +69 -0
  133. package/src/vite/start-compiler-plugin/module-specifier.ts +31 -0
  134. package/src/vite/start-compiler-plugin/plugin.ts +345 -0
  135. package/src/vite/start-manifest-plugin/normalized-client-build.ts +131 -0
  136. package/src/{start-manifest-plugin → vite/start-manifest-plugin}/plugin.ts +21 -13
  137. package/src/{start-router-plugin → vite/start-router-plugin}/plugin.ts +14 -80
  138. package/src/vite/types.ts +18 -0
  139. package/LICENSE +0 -21
  140. package/dist/esm/dev-server-plugin/dev-styles.js.map +0 -1
  141. package/dist/esm/dev-server-plugin/extract-html-scripts.js.map +0 -1
  142. package/dist/esm/dev-server-plugin/plugin.d.ts +0 -6
  143. package/dist/esm/dev-server-plugin/plugin.js.map +0 -1
  144. package/dist/esm/load-env-plugin/plugin.js.map +0 -1
  145. package/dist/esm/output-directory.js.map +0 -1
  146. package/dist/esm/plugin.d.ts +0 -4
  147. package/dist/esm/plugin.js +0 -301
  148. package/dist/esm/plugin.js.map +0 -1
  149. package/dist/esm/post-server-build.js.map +0 -1
  150. package/dist/esm/prerender.js.map +0 -1
  151. package/dist/esm/preview-server-plugin/plugin.js.map +0 -1
  152. package/dist/esm/start-compiler-plugin/compiler.js.map +0 -1
  153. package/dist/esm/start-compiler-plugin/handleClientOnlyJSX.js.map +0 -1
  154. package/dist/esm/start-compiler-plugin/handleCreateIsomorphicFn.js.map +0 -1
  155. package/dist/esm/start-compiler-plugin/handleCreateMiddleware.js.map +0 -1
  156. package/dist/esm/start-compiler-plugin/handleCreateServerFn.js.map +0 -1
  157. package/dist/esm/start-compiler-plugin/handleEnvOnly.js.map +0 -1
  158. package/dist/esm/start-compiler-plugin/plugin.js +0 -297
  159. package/dist/esm/start-compiler-plugin/plugin.js.map +0 -1
  160. package/dist/esm/start-compiler-plugin/utils.js.map +0 -1
  161. package/dist/esm/start-manifest-plugin/plugin.d.ts +0 -6
  162. package/dist/esm/start-manifest-plugin/plugin.js.map +0 -1
  163. package/dist/esm/start-router-plugin/plugin.js.map +0 -1
  164. package/src/plugin.ts +0 -471
  165. package/src/start-compiler-plugin/plugin.ts +0 -478
  166. /package/dist/esm/{start-compiler-plugin → start-compiler}/handleClientOnlyJSX.d.ts +0 -0
  167. /package/dist/esm/{start-compiler-plugin → start-compiler}/handleCreateIsomorphicFn.d.ts +0 -0
  168. /package/dist/esm/{start-compiler-plugin → start-compiler}/handleCreateMiddleware.d.ts +0 -0
  169. /package/dist/esm/{start-compiler-plugin → start-compiler}/handleCreateServerFn.d.ts +0 -0
  170. /package/dist/esm/{start-compiler-plugin → start-compiler}/handleEnvOnly.d.ts +0 -0
  171. /package/dist/esm/{start-compiler-plugin → start-compiler}/utils.d.ts +0 -0
  172. /package/dist/esm/{dev-server-plugin → vite/dev-server-plugin}/dev-styles.d.ts +0 -0
  173. /package/dist/esm/{dev-server-plugin → vite/dev-server-plugin}/extract-html-scripts.d.ts +0 -0
  174. /package/dist/esm/{load-env-plugin → vite/load-env-plugin}/plugin.d.ts +0 -0
  175. /package/dist/esm/{output-directory.d.ts → vite/output-directory.d.ts} +0 -0
  176. /package/dist/esm/{preview-server-plugin → vite/preview-server-plugin}/plugin.d.ts +0 -0
  177. /package/src/{start-compiler-plugin → start-compiler}/handleClientOnlyJSX.ts +0 -0
  178. /package/src/{start-compiler-plugin → start-compiler}/handleCreateIsomorphicFn.ts +0 -0
  179. /package/src/{start-compiler-plugin → start-compiler}/handleCreateMiddleware.ts +0 -0
  180. /package/src/{start-compiler-plugin → start-compiler}/handleEnvOnly.ts +0 -0
  181. /package/src/{start-compiler-plugin → start-compiler}/utils.ts +0 -0
  182. /package/src/{dev-server-plugin → vite/dev-server-plugin}/dev-styles.ts +0 -0
  183. /package/src/{dev-server-plugin → vite/dev-server-plugin}/extract-html-scripts.ts +0 -0
  184. /package/src/{load-env-plugin → vite/load-env-plugin}/plugin.ts +0 -0
@@ -0,0 +1,26 @@
1
+ import { resolveStartEntryPlan } from './planning.js';
2
+ import { TanStackStartOutputConfig } from './schema.js';
3
+ import { GetConfigFn, ResolvedStartConfig, TanStackStartCoreOptions } from './types.js';
4
+ export interface StartConfigContext {
5
+ resolvedStartConfig: ResolvedStartConfig;
6
+ getConfig: GetConfigFn;
7
+ resolveEntries: () => ReturnType<typeof resolveStartEntryPlan>;
8
+ }
9
+ export declare function createStartConfigContext<TInputConfig>(opts: {
10
+ corePluginOpts: TanStackStartCoreOptions;
11
+ startPluginOpts: TInputConfig | undefined;
12
+ parseConfig: (opts: TInputConfig | undefined, core: {
13
+ framework: TanStackStartCoreOptions['framework'];
14
+ }, root: string) => TanStackStartOutputConfig;
15
+ }): StartConfigContext;
16
+ export declare function applyResolvedBaseAndOutput(opts: {
17
+ resolvedStartConfig: ResolvedStartConfig;
18
+ root: string;
19
+ publicBase: string;
20
+ clientOutputDirectory: string;
21
+ serverOutputDirectory: string;
22
+ }): void;
23
+ export declare function applyResolvedRouterBasepath(opts: {
24
+ resolvedStartConfig: ResolvedStartConfig;
25
+ startConfig: TanStackStartOutputConfig;
26
+ }): string;
@@ -0,0 +1,81 @@
1
+ import { createNormalizedBasePaths, createNormalizedOutputDirectories, deriveRouterBasepath, resolveStartEntryPlan } from "./planning.js";
2
+ //#region src/config-context.ts
3
+ function createStartConfigContext(opts) {
4
+ const resolvedStartConfig = {
5
+ root: "",
6
+ startFilePath: void 0,
7
+ routerFilePath: "",
8
+ srcDirectory: "",
9
+ basePaths: {
10
+ publicBase: "",
11
+ assetBase: {
12
+ dev: "",
13
+ build: ""
14
+ }
15
+ },
16
+ outputDirectories: {
17
+ client: "",
18
+ server: ""
19
+ }
20
+ };
21
+ let startConfig = null;
22
+ let resolvedEntryPlanCache;
23
+ function requireRoot() {
24
+ if (!resolvedStartConfig.root) throw new Error(`Cannot get config before root is resolved`);
25
+ return resolvedStartConfig.root;
26
+ }
27
+ function getStartConfig() {
28
+ if (!startConfig) startConfig = opts.parseConfig(opts.startPluginOpts, { framework: opts.corePluginOpts.framework }, requireRoot());
29
+ return startConfig;
30
+ }
31
+ function getResolvedEntryPlan() {
32
+ if (resolvedEntryPlanCache) return resolvedEntryPlanCache;
33
+ resolvedEntryPlanCache = resolveStartEntryPlan({
34
+ root: requireRoot(),
35
+ startConfig: getStartConfig(),
36
+ defaultEntryPaths: opts.corePluginOpts.defaultEntryPaths
37
+ });
38
+ Object.assign(resolvedStartConfig, {
39
+ srcDirectory: resolvedEntryPlanCache.srcDirectory,
40
+ startFilePath: resolvedEntryPlanCache.startFilePath,
41
+ routerFilePath: resolvedEntryPlanCache.routerFilePath
42
+ });
43
+ return resolvedEntryPlanCache;
44
+ }
45
+ const getConfig = () => {
46
+ const startConfig = getStartConfig();
47
+ getResolvedEntryPlan();
48
+ return {
49
+ startConfig,
50
+ resolvedStartConfig
51
+ };
52
+ };
53
+ function resolveEntries() {
54
+ return getResolvedEntryPlan();
55
+ }
56
+ return {
57
+ resolvedStartConfig,
58
+ getConfig,
59
+ resolveEntries
60
+ };
61
+ }
62
+ function applyResolvedBaseAndOutput(opts) {
63
+ opts.resolvedStartConfig.root = opts.root;
64
+ opts.resolvedStartConfig.basePaths = createNormalizedBasePaths({ publicBase: opts.publicBase });
65
+ opts.resolvedStartConfig.outputDirectories = createNormalizedOutputDirectories({
66
+ client: opts.clientOutputDirectory,
67
+ server: opts.serverOutputDirectory
68
+ });
69
+ }
70
+ function applyResolvedRouterBasepath(opts) {
71
+ const routerBasepath = deriveRouterBasepath({
72
+ configuredBasepath: opts.startConfig.router.basepath,
73
+ publicBase: opts.resolvedStartConfig.basePaths.publicBase
74
+ });
75
+ opts.startConfig.router.basepath = routerBasepath;
76
+ return routerBasepath;
77
+ }
78
+ //#endregion
79
+ export { applyResolvedBaseAndOutput, applyResolvedRouterBasepath, createStartConfigContext };
80
+
81
+ //# sourceMappingURL=config-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-context.js","names":[],"sources":["../../src/config-context.ts"],"sourcesContent":["import {\n createNormalizedBasePaths,\n createNormalizedOutputDirectories,\n deriveRouterBasepath,\n resolveStartEntryPlan,\n} from './planning'\nimport type { TanStackStartOutputConfig } from './schema'\nimport type {\n GetConfigFn,\n ResolvedStartConfig,\n TanStackStartCoreOptions,\n} from './types'\n\nexport interface StartConfigContext {\n resolvedStartConfig: ResolvedStartConfig\n getConfig: GetConfigFn\n resolveEntries: () => ReturnType<typeof resolveStartEntryPlan>\n}\n\nexport function createStartConfigContext<TInputConfig>(opts: {\n corePluginOpts: TanStackStartCoreOptions\n startPluginOpts: TInputConfig | undefined\n parseConfig: (\n opts: TInputConfig | undefined,\n core: { framework: TanStackStartCoreOptions['framework'] },\n root: string,\n ) => TanStackStartOutputConfig\n}): StartConfigContext {\n const resolvedStartConfig: ResolvedStartConfig = {\n root: '',\n startFilePath: undefined,\n routerFilePath: '',\n srcDirectory: '',\n basePaths: {\n publicBase: '',\n assetBase: {\n dev: '',\n build: '',\n },\n },\n outputDirectories: {\n client: '',\n server: '',\n },\n }\n\n let startConfig: TanStackStartOutputConfig | null = null\n let resolvedEntryPlanCache:\n | ReturnType<typeof resolveStartEntryPlan>\n | undefined\n\n function requireRoot(): string {\n if (!resolvedStartConfig.root) {\n throw new Error(`Cannot get config before root is resolved`)\n }\n\n return resolvedStartConfig.root\n }\n\n function getStartConfig(): TanStackStartOutputConfig {\n if (!startConfig) {\n startConfig = opts.parseConfig(\n opts.startPluginOpts,\n { framework: opts.corePluginOpts.framework },\n requireRoot(),\n )\n }\n\n return startConfig\n }\n\n function getResolvedEntryPlan() {\n if (resolvedEntryPlanCache) {\n return resolvedEntryPlanCache\n }\n\n resolvedEntryPlanCache = resolveStartEntryPlan({\n root: requireRoot(),\n startConfig: getStartConfig(),\n defaultEntryPaths: opts.corePluginOpts.defaultEntryPaths,\n })\n\n Object.assign(resolvedStartConfig, {\n srcDirectory: resolvedEntryPlanCache.srcDirectory,\n startFilePath: resolvedEntryPlanCache.startFilePath,\n routerFilePath: resolvedEntryPlanCache.routerFilePath,\n })\n\n return resolvedEntryPlanCache\n }\n\n const getConfig: GetConfigFn = () => {\n const startConfig = getStartConfig()\n getResolvedEntryPlan()\n\n return { startConfig, resolvedStartConfig }\n }\n\n function resolveEntries() {\n return getResolvedEntryPlan()\n }\n\n return {\n resolvedStartConfig,\n getConfig,\n resolveEntries,\n }\n}\n\nexport function applyResolvedBaseAndOutput(opts: {\n resolvedStartConfig: ResolvedStartConfig\n root: string\n publicBase: string\n clientOutputDirectory: string\n serverOutputDirectory: string\n}): void {\n opts.resolvedStartConfig.root = opts.root\n opts.resolvedStartConfig.basePaths = createNormalizedBasePaths({\n publicBase: opts.publicBase,\n })\n opts.resolvedStartConfig.outputDirectories =\n createNormalizedOutputDirectories({\n client: opts.clientOutputDirectory,\n server: opts.serverOutputDirectory,\n })\n}\n\nexport function applyResolvedRouterBasepath(opts: {\n resolvedStartConfig: ResolvedStartConfig\n startConfig: TanStackStartOutputConfig\n}): string {\n const routerBasepath = deriveRouterBasepath({\n configuredBasepath: opts.startConfig.router.basepath,\n publicBase: opts.resolvedStartConfig.basePaths.publicBase,\n })\n opts.startConfig.router.basepath = routerBasepath\n return routerBasepath\n}\n"],"mappings":";;AAmBA,SAAgB,yBAAuC,MAQhC;CACrB,MAAM,sBAA2C;EAC/C,MAAM;EACN,eAAe,KAAA;EACf,gBAAgB;EAChB,cAAc;EACd,WAAW;GACT,YAAY;GACZ,WAAW;IACT,KAAK;IACL,OAAO;IACR;GACF;EACD,mBAAmB;GACjB,QAAQ;GACR,QAAQ;GACT;EACF;CAED,IAAI,cAAgD;CACpD,IAAI;CAIJ,SAAS,cAAsB;AAC7B,MAAI,CAAC,oBAAoB,KACvB,OAAM,IAAI,MAAM,4CAA4C;AAG9D,SAAO,oBAAoB;;CAG7B,SAAS,iBAA4C;AACnD,MAAI,CAAC,YACH,eAAc,KAAK,YACjB,KAAK,iBACL,EAAE,WAAW,KAAK,eAAe,WAAW,EAC5C,aAAa,CACd;AAGH,SAAO;;CAGT,SAAS,uBAAuB;AAC9B,MAAI,uBACF,QAAO;AAGT,2BAAyB,sBAAsB;GAC7C,MAAM,aAAa;GACnB,aAAa,gBAAgB;GAC7B,mBAAmB,KAAK,eAAe;GACxC,CAAC;AAEF,SAAO,OAAO,qBAAqB;GACjC,cAAc,uBAAuB;GACrC,eAAe,uBAAuB;GACtC,gBAAgB,uBAAuB;GACxC,CAAC;AAEF,SAAO;;CAGT,MAAM,kBAA+B;EACnC,MAAM,cAAc,gBAAgB;AACpC,wBAAsB;AAEtB,SAAO;GAAE;GAAa;GAAqB;;CAG7C,SAAS,iBAAiB;AACxB,SAAO,sBAAsB;;AAG/B,QAAO;EACL;EACA;EACA;EACD;;AAGH,SAAgB,2BAA2B,MAMlC;AACP,MAAK,oBAAoB,OAAO,KAAK;AACrC,MAAK,oBAAoB,YAAY,0BAA0B,EAC7D,YAAY,KAAK,YAClB,CAAC;AACF,MAAK,oBAAoB,oBACvB,kCAAkC;EAChC,QAAQ,KAAK;EACb,QAAQ,KAAK;EACd,CAAC;;AAGN,SAAgB,4BAA4B,MAGjC;CACT,MAAM,iBAAiB,qBAAqB;EAC1C,oBAAoB,KAAK,YAAY,OAAO;EAC5C,YAAY,KAAK,oBAAoB,UAAU;EAChD,CAAC;AACF,MAAK,YAAY,OAAO,WAAW;AACnC,QAAO"}
@@ -1,8 +1,13 @@
1
+ export declare const START_ENVIRONMENT_NAMES: {
2
+ readonly server: "ssr";
3
+ readonly client: "client";
4
+ };
5
+ export type StartEnvironmentName = (typeof START_ENVIRONMENT_NAMES)[keyof typeof START_ENVIRONMENT_NAMES];
1
6
  export declare const VITE_ENVIRONMENT_NAMES: {
2
7
  readonly server: "ssr";
3
8
  readonly client: "client";
4
9
  };
5
- export type ViteEnvironmentNames = (typeof VITE_ENVIRONMENT_NAMES)[keyof typeof VITE_ENVIRONMENT_NAMES];
10
+ export type ViteEnvironmentNames = StartEnvironmentName;
6
11
  export declare const ENTRY_POINTS: {
7
12
  readonly client: "virtual:tanstack-start-client-entry";
8
13
  readonly server: "virtual:tanstack-start-server-entry";
@@ -1,8 +1,9 @@
1
1
  //#region src/constants.ts
2
- var VITE_ENVIRONMENT_NAMES = {
2
+ var START_ENVIRONMENT_NAMES = {
3
3
  server: "ssr",
4
4
  client: "client"
5
5
  };
6
+ var VITE_ENVIRONMENT_NAMES = START_ENVIRONMENT_NAMES;
6
7
  var ENTRY_POINTS = {
7
8
  client: "virtual:tanstack-start-client-entry",
8
9
  server: "virtual:tanstack-start-server-entry",
@@ -12,6 +13,6 @@ var ENTRY_POINTS = {
12
13
  var SERVER_FN_LOOKUP = "server-fn-module-lookup";
13
14
  var TRANSFORM_ID_REGEX = [/\.[cm]?[tj]sx?($|\?)/];
14
15
  //#endregion
15
- export { ENTRY_POINTS, SERVER_FN_LOOKUP, TRANSFORM_ID_REGEX, VITE_ENVIRONMENT_NAMES };
16
+ export { ENTRY_POINTS, SERVER_FN_LOOKUP, START_ENVIRONMENT_NAMES, TRANSFORM_ID_REGEX, VITE_ENVIRONMENT_NAMES };
16
17
 
17
18
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":[],"sources":["../../src/constants.ts"],"sourcesContent":["export const VITE_ENVIRONMENT_NAMES = {\n // 'ssr' is chosen as the name for the server environment to ensure backwards compatibility\n // with vite plugins that are not compatible with the new vite environment API (e.g. tailwindcss)\n server: 'ssr',\n client: 'client',\n} as const\n\nexport type ViteEnvironmentNames =\n (typeof VITE_ENVIRONMENT_NAMES)[keyof typeof VITE_ENVIRONMENT_NAMES]\n\n// for client and router:\n// if a user has a custom server/client entry point file, resolve.alias will point to this\n// otherwise it will be aliased to the default entry point in the respective framework plugin\nexport const ENTRY_POINTS = {\n client: 'virtual:tanstack-start-client-entry',\n server: 'virtual:tanstack-start-server-entry',\n // the start entry point must always be provided by the user\n start: '#tanstack-start-entry',\n router: '#tanstack-router-entry',\n} as const\n\nexport const SERVER_FN_LOOKUP = 'server-fn-module-lookup'\n\n// matches\n// .ts, .tsx, .cts, .mts, .js, .jsx, .cjs, .mjs\n// with optional query params after\n// but not .json\nexport const TRANSFORM_ID_REGEX = [/\\.[cm]?[tj]sx?($|\\?)/]\n"],"mappings":";AAAA,IAAa,yBAAyB;CAGpC,QAAQ;CACR,QAAQ;CACT;AAQD,IAAa,eAAe;CAC1B,QAAQ;CACR,QAAQ;CAER,OAAO;CACP,QAAQ;CACT;AAED,IAAa,mBAAmB;AAMhC,IAAa,qBAAqB,CAAC,uBAAuB"}
1
+ {"version":3,"file":"constants.js","names":[],"sources":["../../src/constants.ts"],"sourcesContent":["export const START_ENVIRONMENT_NAMES = {\n // 'ssr' is chosen as the name for the server environment to ensure backwards compatibility\n // with vite plugins that are not compatible with the new vite environment API (e.g. tailwindcss)\n server: 'ssr',\n client: 'client',\n} as const\n\nexport type StartEnvironmentName =\n (typeof START_ENVIRONMENT_NAMES)[keyof typeof START_ENVIRONMENT_NAMES]\n\nexport const VITE_ENVIRONMENT_NAMES = START_ENVIRONMENT_NAMES\n\nexport type ViteEnvironmentNames = StartEnvironmentName\n\n// for client and router:\n// if a user has a custom server/client entry point file, resolve.alias will point to this\n// otherwise it will be aliased to the default entry point in the respective framework plugin\nexport const ENTRY_POINTS = {\n client: 'virtual:tanstack-start-client-entry',\n server: 'virtual:tanstack-start-server-entry',\n // the start entry point must always be provided by the user\n start: '#tanstack-start-entry',\n router: '#tanstack-router-entry',\n} as const\n\nexport const SERVER_FN_LOOKUP = 'server-fn-module-lookup'\n\n// matches\n// .ts, .tsx, .cts, .mts, .js, .jsx, .cjs, .mjs\n// with optional query params after\n// but not .json\nexport const TRANSFORM_ID_REGEX = [/\\.[cm]?[tj]sx?($|\\?)/]\n"],"mappings":";AAAA,IAAa,0BAA0B;CAGrC,QAAQ;CACR,QAAQ;CACT;AAKD,IAAa,yBAAyB;AAOtC,IAAa,eAAe;CAC1B,QAAQ;CACR,QAAQ;CAER,OAAO;CACP,QAAQ;CACT;AAED,IAAa,mBAAmB;AAMhC,IAAa,qBAAqB,CAAC,uBAAuB"}
@@ -1,7 +1,7 @@
1
1
  import { KNOWN_SOURCE_EXTENSIONS } from "./constants.js";
2
2
  import { normalizeFilePath } from "./utils.js";
3
- import { basename, dirname, extname, isAbsolute } from "node:path";
4
3
  import { resolveModulePath } from "exsolve";
4
+ import { basename, dirname, extname, isAbsolute } from "node:path";
5
5
  //#region src/import-protection-plugin/extensionlessAbsoluteIdResolver.ts
6
6
  var FILE_RESOLUTION_EXTENSIONS = [...KNOWN_SOURCE_EXTENSIONS];
7
7
  /**
@@ -1,5 +1,5 @@
1
- import { resolveViteId } from "../utils.js";
2
1
  import { VITE_ENVIRONMENT_NAMES } from "../constants.js";
2
+ import { resolveViteId } from "../utils.js";
3
3
  import { IMPORT_PROTECTION_DEBUG, SERVER_FN_LOOKUP_QUERY, VITE_BROWSER_VIRTUAL_PREFIX } from "./constants.js";
4
4
  import { buildResolutionCandidates, buildSourceCandidates, canonicalizeResolvedId, clearNormalizeFilePathCache, debugLog, dedupePatterns, escapeRegExp, extractImportSources, getOrCreate, isInsideDirectory, matchesDebugFilter, normalizeFilePath, relativizePath, shouldDeferViolation } from "./utils.js";
5
5
  import { ImportGraph, buildTrace, formatViolation } from "./trace.js";
@@ -1,5 +1,5 @@
1
- import { resolveViteId } from "../utils.js";
2
1
  import { VITE_ENVIRONMENT_NAMES } from "../constants.js";
2
+ import { resolveViteId } from "../utils.js";
3
3
  import { VITE_BROWSER_VIRTUAL_PREFIX } from "./constants.js";
4
4
  import { relativizePath } from "./utils.js";
5
5
  import { CLIENT_ENV_SUGGESTIONS } from "./trace.js";
@@ -1,4 +1,6 @@
1
1
  export type { TanStackStartInputConfig } from './schema.js';
2
- export { TanStackStartVitePluginCore } from './plugin.js';
3
- export { resolveViteId } from './utils.js';
4
- export { VITE_ENVIRONMENT_NAMES } from './constants.js';
2
+ export type { TanStackStartCoreOptions } from './types.js';
3
+ export type { TanStackStartVitePluginCoreOptions } from './vite/types.js';
4
+ export type { TanStackStartViteInputConfig } from './vite/schema.js';
5
+ export { START_ENVIRONMENT_NAMES, VITE_ENVIRONMENT_NAMES } from './constants.js';
6
+ export { tanStackStartVite } from './vite/plugin.js';
package/dist/esm/index.js CHANGED
@@ -1,4 +1,3 @@
1
- import { resolveViteId } from "./utils.js";
2
- import { VITE_ENVIRONMENT_NAMES } from "./constants.js";
3
- import { TanStackStartVitePluginCore } from "./plugin.js";
4
- export { TanStackStartVitePluginCore, VITE_ENVIRONMENT_NAMES, resolveViteId };
1
+ import { START_ENVIRONMENT_NAMES, VITE_ENVIRONMENT_NAMES } from "./constants.js";
2
+ import { tanStackStartVite } from "./vite/plugin.js";
3
+ export { START_ENVIRONMENT_NAMES, VITE_ENVIRONMENT_NAMES, tanStackStartVite };
@@ -0,0 +1,40 @@
1
+ import { TanStackStartOutputConfig } from './schema.js';
2
+ import { NormalizedBasePaths, NormalizedOutputDirectories, TanStackStartCoreOptions } from './types.js';
3
+ export interface ResolvedStartEntryPlan {
4
+ srcDirectory: string;
5
+ startFilePath: string | undefined;
6
+ routerFilePath: string;
7
+ entryPaths: {
8
+ client: string;
9
+ server: string;
10
+ start: string;
11
+ router: string;
12
+ };
13
+ }
14
+ export declare function normalizePublicBase(base: string | undefined): string;
15
+ export declare function deriveRouterBasepath(opts: {
16
+ configuredBasepath: string | undefined;
17
+ publicBase: string;
18
+ }): string;
19
+ export declare function shouldRewriteDevBasepath(opts: {
20
+ command: 'serve' | 'build';
21
+ middlewareMode: boolean | undefined;
22
+ routerBasepath: string;
23
+ publicBase: string;
24
+ }): boolean;
25
+ export declare function createNormalizedBasePaths(opts: {
26
+ publicBase: string;
27
+ }): NormalizedBasePaths;
28
+ export declare function createNormalizedOutputDirectories(opts: {
29
+ client: string;
30
+ server: string;
31
+ }): NormalizedOutputDirectories;
32
+ export declare function createServerFnBasePath(opts: {
33
+ routerBasepath: string;
34
+ serverFnBase: string;
35
+ }): string;
36
+ export declare function resolveStartEntryPlan(opts: {
37
+ root: string;
38
+ startConfig: TanStackStartOutputConfig;
39
+ defaultEntryPaths: TanStackStartCoreOptions['defaultEntryPaths'];
40
+ }): ResolvedStartEntryPlan;
@@ -0,0 +1,107 @@
1
+ import { resolveEntry } from "./resolve-entries.js";
2
+ import { joinPaths } from "@tanstack/router-core";
3
+ import { join } from "pathe";
4
+ //#region src/planning.ts
5
+ function normalizePublicBase(base) {
6
+ const resolvedBase = base ?? "/";
7
+ if (isFullUrl(resolvedBase)) return resolvedBase;
8
+ return joinPaths([
9
+ "/",
10
+ resolvedBase,
11
+ "/"
12
+ ]);
13
+ }
14
+ function deriveRouterBasepath(opts) {
15
+ if (opts.configuredBasepath !== void 0) return opts.configuredBasepath;
16
+ if (isFullUrl(opts.publicBase)) return "/";
17
+ return opts.publicBase.replace(/^\/|\/$/g, "");
18
+ }
19
+ function shouldRewriteDevBasepath(opts) {
20
+ if (opts.command !== "serve" || opts.middlewareMode) return false;
21
+ return !joinPaths([
22
+ "/",
23
+ opts.routerBasepath,
24
+ "/"
25
+ ]).startsWith(joinPaths([
26
+ "/",
27
+ opts.publicBase,
28
+ "/"
29
+ ]));
30
+ }
31
+ function createNormalizedBasePaths(opts) {
32
+ return {
33
+ publicBase: opts.publicBase,
34
+ assetBase: {
35
+ dev: opts.publicBase,
36
+ build: opts.publicBase
37
+ }
38
+ };
39
+ }
40
+ function createNormalizedOutputDirectories(opts) {
41
+ return {
42
+ client: opts.client,
43
+ server: opts.server
44
+ };
45
+ }
46
+ function createServerFnBasePath(opts) {
47
+ return joinPaths([
48
+ "/",
49
+ opts.routerBasepath,
50
+ opts.serverFnBase,
51
+ "/"
52
+ ]);
53
+ }
54
+ function resolveStartEntryPlan(opts) {
55
+ const srcDirectory = join(opts.root, opts.startConfig.srcDirectory);
56
+ const startFilePath = resolveEntry({
57
+ type: "start entry",
58
+ configuredEntry: opts.startConfig.start.entry,
59
+ defaultEntry: "start",
60
+ resolvedSrcDirectory: srcDirectory,
61
+ required: false
62
+ });
63
+ const routerFilePath = resolveEntry({
64
+ type: "router entry",
65
+ configuredEntry: opts.startConfig.router.entry,
66
+ defaultEntry: "router",
67
+ resolvedSrcDirectory: srcDirectory,
68
+ required: true
69
+ });
70
+ const clientEntryPath = resolveEntry({
71
+ type: "client entry",
72
+ configuredEntry: opts.startConfig.client.entry,
73
+ defaultEntry: "client",
74
+ resolvedSrcDirectory: srcDirectory,
75
+ required: false
76
+ });
77
+ const serverEntryPath = resolveEntry({
78
+ type: "server entry",
79
+ configuredEntry: opts.startConfig.server.entry,
80
+ defaultEntry: "server",
81
+ resolvedSrcDirectory: srcDirectory,
82
+ required: false
83
+ });
84
+ return {
85
+ srcDirectory,
86
+ startFilePath,
87
+ routerFilePath,
88
+ entryPaths: {
89
+ client: clientEntryPath ?? opts.defaultEntryPaths.client,
90
+ server: serverEntryPath ?? opts.defaultEntryPaths.server,
91
+ start: startFilePath ?? opts.defaultEntryPaths.start,
92
+ router: routerFilePath
93
+ }
94
+ };
95
+ }
96
+ function isFullUrl(str) {
97
+ try {
98
+ new URL(str);
99
+ return true;
100
+ } catch {
101
+ return false;
102
+ }
103
+ }
104
+ //#endregion
105
+ export { createNormalizedBasePaths, createNormalizedOutputDirectories, createServerFnBasePath, deriveRouterBasepath, normalizePublicBase, resolveStartEntryPlan, shouldRewriteDevBasepath };
106
+
107
+ //# sourceMappingURL=planning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planning.js","names":[],"sources":["../../src/planning.ts"],"sourcesContent":["import { joinPaths } from '@tanstack/router-core'\nimport { join } from 'pathe'\nimport { resolveEntry } from './resolve-entries'\nimport type { TanStackStartOutputConfig } from './schema'\nimport type {\n NormalizedBasePaths,\n NormalizedOutputDirectories,\n TanStackStartCoreOptions,\n} from './types'\n\nexport interface ResolvedStartEntryPlan {\n srcDirectory: string\n startFilePath: string | undefined\n routerFilePath: string\n entryPaths: {\n client: string\n server: string\n start: string\n router: string\n }\n}\n\nexport function normalizePublicBase(base: string | undefined): string {\n const resolvedBase = base ?? '/'\n\n if (isFullUrl(resolvedBase)) {\n return resolvedBase\n }\n\n return joinPaths(['/', resolvedBase, '/'])\n}\n\nexport function deriveRouterBasepath(opts: {\n configuredBasepath: string | undefined\n publicBase: string\n}): string {\n if (opts.configuredBasepath !== undefined) {\n return opts.configuredBasepath\n }\n\n if (isFullUrl(opts.publicBase)) {\n return '/'\n }\n\n return opts.publicBase.replace(/^\\/|\\/$/g, '')\n}\n\nexport function shouldRewriteDevBasepath(opts: {\n command: 'serve' | 'build'\n middlewareMode: boolean | undefined\n routerBasepath: string\n publicBase: string\n}): boolean {\n if (opts.command !== 'serve' || opts.middlewareMode) {\n return false\n }\n\n return !joinPaths(['/', opts.routerBasepath, '/']).startsWith(\n joinPaths(['/', opts.publicBase, '/']),\n )\n}\n\nexport function createNormalizedBasePaths(opts: {\n publicBase: string\n}): NormalizedBasePaths {\n return {\n publicBase: opts.publicBase,\n assetBase: {\n dev: opts.publicBase,\n build: opts.publicBase,\n },\n }\n}\n\nexport function createNormalizedOutputDirectories(opts: {\n client: string\n server: string\n}): NormalizedOutputDirectories {\n return {\n client: opts.client,\n server: opts.server,\n }\n}\n\nexport function createServerFnBasePath(opts: {\n routerBasepath: string\n serverFnBase: string\n}): string {\n return joinPaths(['/', opts.routerBasepath, opts.serverFnBase, '/'])\n}\n\nexport function resolveStartEntryPlan(opts: {\n root: string\n startConfig: TanStackStartOutputConfig\n defaultEntryPaths: TanStackStartCoreOptions['defaultEntryPaths']\n}): ResolvedStartEntryPlan {\n const srcDirectory = join(opts.root, opts.startConfig.srcDirectory)\n\n const startFilePath = resolveEntry({\n type: 'start entry',\n configuredEntry: opts.startConfig.start.entry,\n defaultEntry: 'start',\n resolvedSrcDirectory: srcDirectory,\n required: false,\n })\n\n const routerFilePath = resolveEntry({\n type: 'router entry',\n configuredEntry: opts.startConfig.router.entry,\n defaultEntry: 'router',\n resolvedSrcDirectory: srcDirectory,\n required: true,\n })\n\n const clientEntryPath = resolveEntry({\n type: 'client entry',\n configuredEntry: opts.startConfig.client.entry,\n defaultEntry: 'client',\n resolvedSrcDirectory: srcDirectory,\n required: false,\n })\n\n const serverEntryPath = resolveEntry({\n type: 'server entry',\n configuredEntry: opts.startConfig.server.entry,\n defaultEntry: 'server',\n resolvedSrcDirectory: srcDirectory,\n required: false,\n })\n\n return {\n srcDirectory,\n startFilePath,\n routerFilePath,\n entryPaths: {\n client: clientEntryPath ?? opts.defaultEntryPaths.client,\n server: serverEntryPath ?? opts.defaultEntryPaths.server,\n start: startFilePath ?? opts.defaultEntryPaths.start,\n router: routerFilePath,\n },\n }\n}\n\nfunction isFullUrl(str: string): boolean {\n try {\n new URL(str)\n return true\n } catch {\n return false\n }\n}\n"],"mappings":";;;;AAsBA,SAAgB,oBAAoB,MAAkC;CACpE,MAAM,eAAe,QAAQ;AAE7B,KAAI,UAAU,aAAa,CACzB,QAAO;AAGT,QAAO,UAAU;EAAC;EAAK;EAAc;EAAI,CAAC;;AAG5C,SAAgB,qBAAqB,MAG1B;AACT,KAAI,KAAK,uBAAuB,KAAA,EAC9B,QAAO,KAAK;AAGd,KAAI,UAAU,KAAK,WAAW,CAC5B,QAAO;AAGT,QAAO,KAAK,WAAW,QAAQ,YAAY,GAAG;;AAGhD,SAAgB,yBAAyB,MAK7B;AACV,KAAI,KAAK,YAAY,WAAW,KAAK,eACnC,QAAO;AAGT,QAAO,CAAC,UAAU;EAAC;EAAK,KAAK;EAAgB;EAAI,CAAC,CAAC,WACjD,UAAU;EAAC;EAAK,KAAK;EAAY;EAAI,CAAC,CACvC;;AAGH,SAAgB,0BAA0B,MAElB;AACtB,QAAO;EACL,YAAY,KAAK;EACjB,WAAW;GACT,KAAK,KAAK;GACV,OAAO,KAAK;GACb;EACF;;AAGH,SAAgB,kCAAkC,MAGlB;AAC9B,QAAO;EACL,QAAQ,KAAK;EACb,QAAQ,KAAK;EACd;;AAGH,SAAgB,uBAAuB,MAG5B;AACT,QAAO,UAAU;EAAC;EAAK,KAAK;EAAgB,KAAK;EAAc;EAAI,CAAC;;AAGtE,SAAgB,sBAAsB,MAIX;CACzB,MAAM,eAAe,KAAK,KAAK,MAAM,KAAK,YAAY,aAAa;CAEnE,MAAM,gBAAgB,aAAa;EACjC,MAAM;EACN,iBAAiB,KAAK,YAAY,MAAM;EACxC,cAAc;EACd,sBAAsB;EACtB,UAAU;EACX,CAAC;CAEF,MAAM,iBAAiB,aAAa;EAClC,MAAM;EACN,iBAAiB,KAAK,YAAY,OAAO;EACzC,cAAc;EACd,sBAAsB;EACtB,UAAU;EACX,CAAC;CAEF,MAAM,kBAAkB,aAAa;EACnC,MAAM;EACN,iBAAiB,KAAK,YAAY,OAAO;EACzC,cAAc;EACd,sBAAsB;EACtB,UAAU;EACX,CAAC;CAEF,MAAM,kBAAkB,aAAa;EACnC,MAAM;EACN,iBAAiB,KAAK,YAAY,OAAO;EACzC,cAAc;EACd,sBAAsB;EACtB,UAAU;EACX,CAAC;AAEF,QAAO;EACL;EACA;EACA;EACA,YAAY;GACV,QAAQ,mBAAmB,KAAK,kBAAkB;GAClD,QAAQ,mBAAmB,KAAK,kBAAkB;GAClD,OAAO,iBAAiB,KAAK,kBAAkB;GAC/C,QAAQ;GACT;EACF;;AAGH,SAAS,UAAU,KAAsB;AACvC,KAAI;AACF,MAAI,IAAI,IAAI;AACZ,SAAO;SACD;AACN,SAAO"}