@tanstack/start-plugin-core 1.20.3-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +12 -0
  3. package/dist/cjs/compilers.cjs +402 -0
  4. package/dist/cjs/compilers.cjs.map +1 -0
  5. package/dist/cjs/compilers.d.cts +21 -0
  6. package/dist/cjs/extractHtmlScripts.cjs +35 -0
  7. package/dist/cjs/extractHtmlScripts.cjs.map +1 -0
  8. package/dist/cjs/extractHtmlScripts.d.cts +4 -0
  9. package/dist/cjs/index.cjs +15 -0
  10. package/dist/cjs/index.cjs.map +1 -0
  11. package/dist/cjs/index.d.cts +7 -0
  12. package/dist/cjs/nitro/build-nitro.cjs +18 -0
  13. package/dist/cjs/nitro/build-nitro.cjs.map +1 -0
  14. package/dist/cjs/nitro/build-nitro.d.cts +2 -0
  15. package/dist/cjs/nitro/build-sitemap.cjs +54 -0
  16. package/dist/cjs/nitro/build-sitemap.cjs.map +1 -0
  17. package/dist/cjs/nitro/build-sitemap.d.cts +9 -0
  18. package/dist/cjs/nitro/dev-server-plugin.cjs +128 -0
  19. package/dist/cjs/nitro/dev-server-plugin.cjs.map +1 -0
  20. package/dist/cjs/nitro/dev-server-plugin.d.cts +5 -0
  21. package/dist/cjs/nitro/nitro-plugin.cjs +128 -0
  22. package/dist/cjs/nitro/nitro-plugin.cjs.map +1 -0
  23. package/dist/cjs/nitro/nitro-plugin.d.cts +3 -0
  24. package/dist/cjs/plugin.cjs +117 -0
  25. package/dist/cjs/plugin.cjs.map +1 -0
  26. package/dist/cjs/plugin.d.cts +2713 -0
  27. package/dist/cjs/prerender.cjs +171 -0
  28. package/dist/cjs/prerender.cjs.map +1 -0
  29. package/dist/cjs/prerender.d.cts +8 -0
  30. package/dist/cjs/queue.cjs +131 -0
  31. package/dist/cjs/queue.cjs.map +1 -0
  32. package/dist/cjs/queue.d.cts +32 -0
  33. package/dist/cjs/routesManifestPlugin.cjs +165 -0
  34. package/dist/cjs/routesManifestPlugin.cjs.map +1 -0
  35. package/dist/cjs/routesManifestPlugin.d.cts +3 -0
  36. package/dist/cjs/schema.cjs +136 -0
  37. package/dist/cjs/schema.cjs.map +1 -0
  38. package/dist/cjs/schema.d.cts +8128 -0
  39. package/dist/cjs/start-compiler-plugin.cjs +72 -0
  40. package/dist/cjs/start-compiler-plugin.cjs.map +1 -0
  41. package/dist/cjs/start-compiler-plugin.d.cts +13 -0
  42. package/dist/cjs/start-server-routes-plugin/config.d.cts +49 -0
  43. package/dist/cjs/start-server-routes-plugin/plugin.cjs +608 -0
  44. package/dist/cjs/start-server-routes-plugin/plugin.cjs.map +1 -0
  45. package/dist/cjs/start-server-routes-plugin/plugin.d.cts +3 -0
  46. package/dist/cjs/start-server-routes-plugin/template.cjs +111 -0
  47. package/dist/cjs/start-server-routes-plugin/template.cjs.map +1 -0
  48. package/dist/cjs/start-server-routes-plugin/template.d.cts +34 -0
  49. package/dist/esm/compilers.d.ts +21 -0
  50. package/dist/esm/compilers.js +384 -0
  51. package/dist/esm/compilers.js.map +1 -0
  52. package/dist/esm/extractHtmlScripts.d.ts +4 -0
  53. package/dist/esm/extractHtmlScripts.js +18 -0
  54. package/dist/esm/extractHtmlScripts.js.map +1 -0
  55. package/dist/esm/index.d.ts +7 -0
  56. package/dist/esm/index.js +15 -0
  57. package/dist/esm/index.js.map +1 -0
  58. package/dist/esm/nitro/build-nitro.d.ts +2 -0
  59. package/dist/esm/nitro/build-nitro.js +18 -0
  60. package/dist/esm/nitro/build-nitro.js.map +1 -0
  61. package/dist/esm/nitro/build-sitemap.d.ts +9 -0
  62. package/dist/esm/nitro/build-sitemap.js +54 -0
  63. package/dist/esm/nitro/build-sitemap.js.map +1 -0
  64. package/dist/esm/nitro/dev-server-plugin.d.ts +5 -0
  65. package/dist/esm/nitro/dev-server-plugin.js +128 -0
  66. package/dist/esm/nitro/dev-server-plugin.js.map +1 -0
  67. package/dist/esm/nitro/nitro-plugin.d.ts +3 -0
  68. package/dist/esm/nitro/nitro-plugin.js +128 -0
  69. package/dist/esm/nitro/nitro-plugin.js.map +1 -0
  70. package/dist/esm/plugin.d.ts +2713 -0
  71. package/dist/esm/plugin.js +117 -0
  72. package/dist/esm/plugin.js.map +1 -0
  73. package/dist/esm/prerender.d.ts +8 -0
  74. package/dist/esm/prerender.js +171 -0
  75. package/dist/esm/prerender.js.map +1 -0
  76. package/dist/esm/queue.d.ts +32 -0
  77. package/dist/esm/queue.js +131 -0
  78. package/dist/esm/queue.js.map +1 -0
  79. package/dist/esm/routesManifestPlugin.d.ts +3 -0
  80. package/dist/esm/routesManifestPlugin.js +165 -0
  81. package/dist/esm/routesManifestPlugin.js.map +1 -0
  82. package/dist/esm/schema.d.ts +8128 -0
  83. package/dist/esm/schema.js +136 -0
  84. package/dist/esm/schema.js.map +1 -0
  85. package/dist/esm/start-compiler-plugin.d.ts +13 -0
  86. package/dist/esm/start-compiler-plugin.js +72 -0
  87. package/dist/esm/start-compiler-plugin.js.map +1 -0
  88. package/dist/esm/start-server-routes-plugin/config.d.ts +49 -0
  89. package/dist/esm/start-server-routes-plugin/plugin.d.ts +3 -0
  90. package/dist/esm/start-server-routes-plugin/plugin.js +608 -0
  91. package/dist/esm/start-server-routes-plugin/plugin.js.map +1 -0
  92. package/dist/esm/start-server-routes-plugin/template.d.ts +34 -0
  93. package/dist/esm/start-server-routes-plugin/template.js +111 -0
  94. package/dist/esm/start-server-routes-plugin/template.js.map +1 -0
  95. package/package.json +72 -0
  96. package/src/compilers.ts +759 -0
  97. package/src/extractHtmlScripts.ts +19 -0
  98. package/src/index.ts +15 -0
  99. package/src/nitro/build-nitro.ts +27 -0
  100. package/src/nitro/build-sitemap.ts +79 -0
  101. package/src/nitro/dev-server-plugin.ts +159 -0
  102. package/src/nitro/nitro-plugin.ts +161 -0
  103. package/src/plugin.ts +145 -0
  104. package/src/prerender.ts +245 -0
  105. package/src/queue.ts +153 -0
  106. package/src/routesManifestPlugin.ts +216 -0
  107. package/src/schema.ts +193 -0
  108. package/src/start-compiler-plugin.ts +111 -0
  109. package/src/start-server-routes-plugin/config.ts +8 -0
  110. package/src/start-server-routes-plugin/plugin.ts +890 -0
  111. package/src/start-server-routes-plugin/template.ts +164 -0
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const node_url = require("node:url");
4
+ const routerUtils = require("@tanstack/router-utils");
5
+ const compilers = require("./compilers.cjs");
6
+ const debug = process.env.TSR_VITE_DEBUG && ["true", "start-plugin"].includes(process.env.TSR_VITE_DEBUG);
7
+ const transformFuncs = [
8
+ "createServerFn",
9
+ "createMiddleware",
10
+ "serverOnly",
11
+ "clientOnly",
12
+ "createIsomorphicFn",
13
+ "createServerFileRoute"
14
+ ];
15
+ const tokenRegex = new RegExp(transformFuncs.join("|"));
16
+ function TanStackStartCompilerPlugin(framework, inputOpts) {
17
+ const opts = {
18
+ client: {
19
+ envName: "client",
20
+ ...inputOpts == null ? void 0 : inputOpts.client
21
+ },
22
+ server: {
23
+ envName: "server",
24
+ ...inputOpts == null ? void 0 : inputOpts.server
25
+ }
26
+ };
27
+ return {
28
+ name: "vite-plugin-tanstack-start-create-server-fn",
29
+ enforce: "pre",
30
+ applyToEnvironment(env) {
31
+ return [opts.client.envName, opts.server.envName].includes(env.name);
32
+ },
33
+ transform(code, id) {
34
+ const env = this.environment.name === opts.client.envName ? "client" : this.environment.name === opts.server.envName ? "server" : (() => {
35
+ throw new Error(
36
+ `Environment ${this.environment.name} not configured`
37
+ );
38
+ })();
39
+ return transformCode({
40
+ code,
41
+ id,
42
+ env,
43
+ framework
44
+ });
45
+ }
46
+ };
47
+ }
48
+ function transformCode(opts) {
49
+ const { code, env, framework } = opts;
50
+ let { id } = opts;
51
+ const url = node_url.pathToFileURL(id);
52
+ url.searchParams.delete("v");
53
+ id = node_url.fileURLToPath(url).replace(/\\/g, "/");
54
+ const includesToken = tokenRegex.test(code);
55
+ if (!includesToken) {
56
+ return null;
57
+ }
58
+ if (debug) console.info(`${env} Compiling Start: `, id);
59
+ const compileStartOutput = compilers.compileStartOutputFactory(framework);
60
+ const compiled = compileStartOutput({
61
+ code,
62
+ filename: id,
63
+ env
64
+ });
65
+ if (debug) {
66
+ routerUtils.logDiff(code, compiled.code);
67
+ console.log("Output:\n", compiled.code + "\n\n");
68
+ }
69
+ return compiled;
70
+ }
71
+ exports.TanStackStartCompilerPlugin = TanStackStartCompilerPlugin;
72
+ //# sourceMappingURL=start-compiler-plugin.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-compiler-plugin.cjs","sources":["../../src/start-compiler-plugin.ts"],"sourcesContent":["import { fileURLToPath, pathToFileURL } from 'node:url'\nimport { logDiff } from '@tanstack/router-utils'\n\nimport { compileStartOutputFactory } from './compilers'\nimport type { Plugin } from 'vite'\nimport type { CompileStartFrameworkOptions } from './compilers'\n\nconst debug =\n process.env.TSR_VITE_DEBUG &&\n ['true', 'start-plugin'].includes(process.env.TSR_VITE_DEBUG)\n\nexport type TanStackStartViteOptions = {\n globalMiddlewareEntry: string\n}\n\nconst transformFuncs = [\n 'createServerFn',\n 'createMiddleware',\n 'serverOnly',\n 'clientOnly',\n 'createIsomorphicFn',\n 'createServerFileRoute',\n]\n\nconst tokenRegex = new RegExp(transformFuncs.join('|'))\n\nexport function TanStackStartCompilerPlugin(\n framework: CompileStartFrameworkOptions,\n inputOpts?: {\n client?: {\n envName?: string\n }\n server?: {\n envName?: string\n }\n },\n): Plugin {\n const opts = {\n client: {\n envName: 'client',\n ...inputOpts?.client,\n },\n server: {\n envName: 'server',\n ...inputOpts?.server,\n },\n }\n\n return {\n name: 'vite-plugin-tanstack-start-create-server-fn',\n enforce: 'pre',\n applyToEnvironment(env) {\n return [opts.client.envName, opts.server.envName].includes(env.name)\n },\n transform(code, id) {\n const env =\n this.environment.name === opts.client.envName\n ? 'client'\n : this.environment.name === opts.server.envName\n ? 'server'\n : (() => {\n throw new Error(\n `Environment ${this.environment.name} not configured`,\n )\n })()\n\n return transformCode({\n code,\n id,\n env,\n framework,\n })\n },\n }\n}\n\nfunction transformCode(opts: {\n code: string\n id: string\n env: 'server' | 'client'\n framework: CompileStartFrameworkOptions\n}) {\n const { code, env, framework } = opts\n let { id } = opts\n\n const url = pathToFileURL(id)\n url.searchParams.delete('v')\n id = fileURLToPath(url).replace(/\\\\/g, '/')\n\n const includesToken = tokenRegex.test(code)\n\n if (!includesToken) {\n return null\n }\n\n if (debug) console.info(`${env} Compiling Start: `, id)\n\n const compileStartOutput = compileStartOutputFactory(framework)\n const compiled = compileStartOutput({\n code,\n filename: id,\n env,\n })\n\n if (debug) {\n logDiff(code, compiled.code)\n console.log('Output:\\n', compiled.code + '\\n\\n')\n }\n\n return compiled\n}\n"],"names":["pathToFileURL","fileURLToPath","compileStartOutputFactory","logDiff"],"mappings":";;;;;AAOA,MAAM,QACJ,QAAQ,IAAI,kBACZ,CAAC,QAAQ,cAAc,EAAE,SAAS,QAAQ,IAAI,cAAc;AAM9D,MAAM,iBAAiB;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,aAAa,IAAI,OAAO,eAAe,KAAK,GAAG,CAAC;AAEtC,SAAA,4BACd,WACA,WAQQ;AACR,QAAM,OAAO;AAAA,IACX,QAAQ;AAAA,MACN,SAAS;AAAA,MACT,GAAG,uCAAW;AAAA,IAChB;AAAA,IACA,QAAQ;AAAA,MACN,SAAS;AAAA,MACT,GAAG,uCAAW;AAAA,IAAA;AAAA,EAElB;AAEO,SAAA;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,mBAAmB,KAAK;AACf,aAAA,CAAC,KAAK,OAAO,SAAS,KAAK,OAAO,OAAO,EAAE,SAAS,IAAI,IAAI;AAAA,IACrE;AAAA,IACA,UAAU,MAAM,IAAI;AAClB,YAAM,MACJ,KAAK,YAAY,SAAS,KAAK,OAAO,UAClC,WACA,KAAK,YAAY,SAAS,KAAK,OAAO,UACpC,YACC,MAAM;AACL,cAAM,IAAI;AAAA,UACR,eAAe,KAAK,YAAY,IAAI;AAAA,QACtC;AAAA,MAAA,GACC;AAEX,aAAO,cAAc;AAAA,QACnB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IAAA;AAAA,EAEL;AACF;AAEA,SAAS,cAAc,MAKpB;AACD,QAAM,EAAE,MAAM,KAAK,UAAc,IAAA;AAC7B,MAAA,EAAE,OAAO;AAEP,QAAA,MAAMA,uBAAc,EAAE;AACxB,MAAA,aAAa,OAAO,GAAG;AAC3B,OAAKC,SAAc,cAAA,GAAG,EAAE,QAAQ,OAAO,GAAG;AAEpC,QAAA,gBAAgB,WAAW,KAAK,IAAI;AAE1C,MAAI,CAAC,eAAe;AACX,WAAA;AAAA,EAAA;AAGT,MAAI,MAAe,SAAA,KAAK,GAAG,GAAG,sBAAsB,EAAE;AAEhD,QAAA,qBAAqBC,oCAA0B,SAAS;AAC9D,QAAM,WAAW,mBAAmB;AAAA,IAClC;AAAA,IACA,UAAU;AAAA,IACV;AAAA,EAAA,CACD;AAED,MAAI,OAAO;AACDC,wBAAA,MAAM,SAAS,IAAI;AAC3B,YAAQ,IAAI,aAAa,SAAS,OAAO,MAAM;AAAA,EAAA;AAG1C,SAAA;AACT;;"}
@@ -0,0 +1,13 @@
1
+ import { Plugin } from 'vite';
2
+ import { CompileStartFrameworkOptions } from './compilers.cjs';
3
+ export type TanStackStartViteOptions = {
4
+ globalMiddlewareEntry: string;
5
+ };
6
+ export declare function TanStackStartCompilerPlugin(framework: CompileStartFrameworkOptions, inputOpts?: {
7
+ client?: {
8
+ envName?: string;
9
+ };
10
+ server?: {
11
+ envName?: string;
12
+ };
13
+ }): Plugin;
@@ -0,0 +1,49 @@
1
+ import { z } from 'zod';
2
+ export declare const configSchema: z.ZodObject<z.objectUtil.extendShape<{
3
+ target: z.ZodDefault<z.ZodOptional<z.ZodEnum<["react", "solid"]>>>;
4
+ virtualRouteConfig: z.ZodOptional<z.ZodUnion<[z.ZodType<import('@tanstack/virtual-file-routes').VirtualRootRoute, z.ZodTypeDef, import('@tanstack/virtual-file-routes').VirtualRootRoute>, z.ZodString]>>;
5
+ routeFilePrefix: z.ZodOptional<z.ZodString>;
6
+ routeFileIgnorePrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
7
+ routeFileIgnorePattern: z.ZodOptional<z.ZodString>;
8
+ routesDirectory: z.ZodDefault<z.ZodOptional<z.ZodString>>;
9
+ quoteStyle: z.ZodDefault<z.ZodOptional<z.ZodEnum<["single", "double"]>>>;
10
+ semicolons: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
11
+ disableLogging: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
12
+ routeTreeFileHeader: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
13
+ indexToken: z.ZodDefault<z.ZodOptional<z.ZodString>>;
14
+ routeToken: z.ZodDefault<z.ZodOptional<z.ZodString>>;
15
+ pathParamsAllowedCharacters: z.ZodOptional<z.ZodArray<z.ZodEnum<[";", ":", "@", "&", "=", "+", "$", ","]>, "many">>;
16
+ }, {
17
+ srcDirectory: z.ZodDefault<z.ZodOptional<z.ZodString>>;
18
+ }>, "strip", z.ZodTypeAny, {
19
+ target: "react" | "solid";
20
+ routeFileIgnorePrefix: string;
21
+ routesDirectory: string;
22
+ quoteStyle: "single" | "double";
23
+ semicolons: boolean;
24
+ disableLogging: boolean;
25
+ routeTreeFileHeader: string[];
26
+ indexToken: string;
27
+ routeToken: string;
28
+ srcDirectory: string;
29
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
30
+ routeFilePrefix?: string | undefined;
31
+ routeFileIgnorePattern?: string | undefined;
32
+ pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
33
+ }, {
34
+ target?: "react" | "solid" | undefined;
35
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
36
+ routeFilePrefix?: string | undefined;
37
+ routeFileIgnorePrefix?: string | undefined;
38
+ routeFileIgnorePattern?: string | undefined;
39
+ routesDirectory?: string | undefined;
40
+ quoteStyle?: "single" | "double" | undefined;
41
+ semicolons?: boolean | undefined;
42
+ disableLogging?: boolean | undefined;
43
+ routeTreeFileHeader?: string[] | undefined;
44
+ indexToken?: string | undefined;
45
+ routeToken?: string | undefined;
46
+ pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
47
+ srcDirectory?: string | undefined;
48
+ }>;
49
+ export type Config = z.infer<typeof configSchema>;