@tanstack/create 0.63.6 → 0.63.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # @tanstack/create
2
2
 
3
+ ## 0.63.8
4
+
5
+ ### Patch Changes
6
+
7
+ - fix(cli): require Node.js >=20 and surface a clear error on older runtimes ([#438](https://github.com/TanStack/cli/pull/438))
8
+
9
+ Older Node versions (e.g. Node 16) lack `events.addAbortListener`, which is
10
+ used transitively by the CLI. Running on those versions produced a cryptic
11
+ `SyntaxError: ... does not provide an export named 'addAbortListener'` during
12
+ module instantiation. Both packages now declare `engines.node: ">=20"` so
13
+ package managers warn at install time, and the CLI bin performs an early
14
+ runtime check that prints an actionable message before any modules load.
15
+
16
+ Closes #433
17
+
18
+ ## 0.63.7
19
+
20
+ ### Patch Changes
21
+
22
+ - chore: bump solid base and example to vite 8 ([#437](https://github.com/TanStack/cli/pull/437))
23
+
3
24
  ## 0.63.6
4
25
 
5
26
  ### Patch Changes
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "devDependencies": {
3
+ "@rolldown/plugin-babel": "^0.2.3",
3
4
  "babel-plugin-react-compiler": "^1.0.0"
4
5
  }
5
6
  }
@@ -18,6 +18,6 @@
18
18
  },
19
19
  "devDependencies": {
20
20
  "@content-collections/core": "^0.13.1",
21
- "@content-collections/vite": "^0.2.8"
21
+ "@content-collections/vite": "^0.3.0"
22
22
  }
23
23
  }
@@ -22,6 +22,6 @@
22
22
  },
23
23
  "devDependencies": {
24
24
  "@content-collections/core": "^0.13.1",
25
- "@content-collections/vite": "^0.2.8"
25
+ "@content-collections/vite": "^0.3.0"
26
26
  }
27
27
  }
@@ -32,7 +32,7 @@
32
32
  "jsdom": "^28.1.0",
33
33
  "typescript": "^6.0.2",
34
34
  "vite": "^8.0.0",
35
- "vitest": "^3.0.5"
35
+ "vitest": "^4.1.5"
36
36
  },
37
37
  "pnpm": {
38
38
  "onlyBuiltDependencies": [
@@ -8,7 +8,12 @@ import { tanstackRouter } from '@tanstack/router-plugin/vite'
8
8
  <% } else { %>
9
9
  import { tanstackStart } from '@tanstack/react-start/plugin/vite';
10
10
  <% } %>
11
+ <% if (addOnEnabled.compiler) { -%>
12
+ import viteReact, { reactCompilerPreset } from '@vitejs/plugin-react'
13
+ import babel from '@rolldown/plugin-babel'
14
+ <% } else { -%>
11
15
  import viteReact from '@vitejs/plugin-react'
16
+ <% } -%>
12
17
  import tailwindcss from "@tailwindcss/vite"
13
18
  <% for(const integration of integrations.filter(i => i.type === 'vite-plugin')) { %><%- integrationImportContent(integration) %>
14
19
  <% } %>
@@ -22,11 +27,8 @@ const config = defineConfig({
22
27
  }), <% } %><% for(const integration of integrations.filter(i => i.type === 'vite-plugin')) { %><%- integrationImportCode(integration) %>,<% } %>
23
28
  tailwindcss(),
24
29
  <% if (routerOnly) { %>tanstackRouter({ target: 'react', autoCodeSplitting: true }),<% } else { %>tanstackStart(),<% } %>
25
- viteReact(<% if (addOnEnabled.compiler) { %>{
26
- babel: {
27
- plugins: ["babel-plugin-react-compiler"],
28
- },
29
- }<% } %>),
30
+ viteReact(),<% if (addOnEnabled.compiler) { %>
31
+ babel({ presets: [reactCompilerPreset()] }),<% } %>
30
32
  ],
31
33
  })
32
34
 
@@ -14,14 +14,16 @@
14
14
  "@tanstack/solid-router-devtools": "latest",
15
15
  "@tanstack/solid-router-ssr-query": "latest",
16
16
  "@tanstack/solid-start": "latest",
17
- "solid-js": "^1.9.11",
18
- "vite-tsconfig-paths": "^5.1.4"
17
+ "solid-js": "^1.9.12"
19
18
  },
20
19
  "devDependencies": {
20
+ "@solidjs/testing-library": "^0.8.10",
21
21
  "@tanstack/devtools-vite": "latest",
22
- "vite-plugin-solid": "^2.11.10",
22
+ "jsdom": "^28.1.0",
23
+ "vite-plugin-solid": "^2.11.12",
23
24
  "typescript": "^6.0.2",
24
- "vite": "^7.3.1"
25
+ "vite": "^8.0.0",
26
+ "vitest": "^4.1.5"
25
27
  },
26
28
  "pnpm": {
27
29
  "onlyBuiltDependencies": ["esbuild", "lightningcss"]
@@ -0,0 +1,10 @@
1
+ <% if (fileRouter) { ignoreFile() } %>import { describe, expect, test } from "vitest";
2
+ import { render, screen } from "@solidjs/testing-library";
3
+ import App from "./App.<%= jsx %>";
4
+
5
+ describe("App", () => {
6
+ test("renders", () => {
7
+ render(() => <App />);
8
+ expect(screen.getByText("Learn Solid")).toBeDefined();
9
+ });
10
+ });
@@ -1,6 +1,5 @@
1
1
  import { defineConfig } from "vite";
2
2
  import { devtools } from '@tanstack/devtools-vite'
3
- import viteTsConfigPaths from 'vite-tsconfig-paths'
4
3
  import tailwindcss from "@tailwindcss/vite"
5
4
  <% if (routerOnly) { %>
6
5
  import { tanstackRouter } from '@tanstack/router-plugin/vite'
@@ -12,11 +11,8 @@ import solidPlugin from 'vite-plugin-solid';
12
11
  <% } %>
13
12
 
14
13
  export default defineConfig({
14
+ resolve: { tsconfigPaths: true },
15
15
  plugins: [devtools(), <% for(const integration of integrations.filter(i => i.type === 'vite-plugin')) { %><%- integrationImportCode(integration) %>,<% } %>
16
- // this is the plugin that enables path aliases
17
- viteTsConfigPaths({
18
- projects: ['./tsconfig.json'],
19
- }),
20
16
  tailwindcss(),
21
17
  <% if (routerOnly) { %>tanstackRouter({ target: 'solid', autoCodeSplitting: true }),<% } else { %>tanstackStart(),<% } %>
22
18
  solidPlugin(<% if (!routerOnly) { %>{ ssr: true }<% } %>),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/create",
3
- "version": "0.63.6",
3
+ "version": "0.63.8",
4
4
  "description": "TanStack Application Builder Engine",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -22,6 +22,9 @@
22
22
  ],
23
23
  "author": "Jack Herrington <jherr@pobox.com>",
24
24
  "license": "MIT",
25
+ "engines": {
26
+ "node": ">=20"
27
+ },
25
28
  "dependencies": {
26
29
  "ejs": "^3.1.10",
27
30
  "execa": "^9.5.2",
@@ -36,10 +39,10 @@
36
39
  "@types/ejs": "^3.1.5",
37
40
  "@types/node": "^22.13.4",
38
41
  "@types/parse-gitignore": "^1.0.2",
39
- "@vitest/coverage-v8": "3.1.1",
42
+ "@vitest/coverage-v8": "4.1.5",
40
43
  "eslint": "^9.20.0",
41
44
  "typescript": "^6.0.2",
42
- "vitest": "^3.0.8",
45
+ "vitest": "^4.1.5",
43
46
  "vitest-fetch-mock": "^0.4.5"
44
47
  },
45
48
  "scripts": {
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "devDependencies": {
3
+ "@rolldown/plugin-babel": "^0.2.3",
3
4
  "babel-plugin-react-compiler": "^1.0.0"
4
5
  }
5
6
  }
@@ -18,6 +18,6 @@
18
18
  },
19
19
  "devDependencies": {
20
20
  "@content-collections/core": "^0.13.1",
21
- "@content-collections/vite": "^0.2.8"
21
+ "@content-collections/vite": "^0.3.0"
22
22
  }
23
23
  }
@@ -22,6 +22,6 @@
22
22
  },
23
23
  "devDependencies": {
24
24
  "@content-collections/core": "^0.13.1",
25
- "@content-collections/vite": "^0.2.8"
25
+ "@content-collections/vite": "^0.3.0"
26
26
  }
27
27
  }
@@ -32,7 +32,7 @@
32
32
  "jsdom": "^28.1.0",
33
33
  "typescript": "^6.0.2",
34
34
  "vite": "^8.0.0",
35
- "vitest": "^3.0.5"
35
+ "vitest": "^4.1.5"
36
36
  },
37
37
  "pnpm": {
38
38
  "onlyBuiltDependencies": [
@@ -8,7 +8,12 @@ import { tanstackRouter } from '@tanstack/router-plugin/vite'
8
8
  <% } else { %>
9
9
  import { tanstackStart } from '@tanstack/react-start/plugin/vite';
10
10
  <% } %>
11
+ <% if (addOnEnabled.compiler) { -%>
12
+ import viteReact, { reactCompilerPreset } from '@vitejs/plugin-react'
13
+ import babel from '@rolldown/plugin-babel'
14
+ <% } else { -%>
11
15
  import viteReact from '@vitejs/plugin-react'
16
+ <% } -%>
12
17
  import tailwindcss from "@tailwindcss/vite"
13
18
  <% for(const integration of integrations.filter(i => i.type === 'vite-plugin')) { %><%- integrationImportContent(integration) %>
14
19
  <% } %>
@@ -22,11 +27,8 @@ const config = defineConfig({
22
27
  }), <% } %><% for(const integration of integrations.filter(i => i.type === 'vite-plugin')) { %><%- integrationImportCode(integration) %>,<% } %>
23
28
  tailwindcss(),
24
29
  <% if (routerOnly) { %>tanstackRouter({ target: 'react', autoCodeSplitting: true }),<% } else { %>tanstackStart(),<% } %>
25
- viteReact(<% if (addOnEnabled.compiler) { %>{
26
- babel: {
27
- plugins: ["babel-plugin-react-compiler"],
28
- },
29
- }<% } %>),
30
+ viteReact(),<% if (addOnEnabled.compiler) { %>
31
+ babel({ presets: [reactCompilerPreset()] }),<% } %>
30
32
  ],
31
33
  })
32
34
 
@@ -14,14 +14,16 @@
14
14
  "@tanstack/solid-router-devtools": "latest",
15
15
  "@tanstack/solid-router-ssr-query": "latest",
16
16
  "@tanstack/solid-start": "latest",
17
- "solid-js": "^1.9.11",
18
- "vite-tsconfig-paths": "^5.1.4"
17
+ "solid-js": "^1.9.12"
19
18
  },
20
19
  "devDependencies": {
20
+ "@solidjs/testing-library": "^0.8.10",
21
21
  "@tanstack/devtools-vite": "latest",
22
- "vite-plugin-solid": "^2.11.10",
22
+ "jsdom": "^28.1.0",
23
+ "vite-plugin-solid": "^2.11.12",
23
24
  "typescript": "^6.0.2",
24
- "vite": "^7.3.1"
25
+ "vite": "^8.0.0",
26
+ "vitest": "^4.1.5"
25
27
  },
26
28
  "pnpm": {
27
29
  "onlyBuiltDependencies": ["esbuild", "lightningcss"]
@@ -0,0 +1,10 @@
1
+ <% if (fileRouter) { ignoreFile() } %>import { describe, expect, test } from "vitest";
2
+ import { render, screen } from "@solidjs/testing-library";
3
+ import App from "./App.<%= jsx %>";
4
+
5
+ describe("App", () => {
6
+ test("renders", () => {
7
+ render(() => <App />);
8
+ expect(screen.getByText("Learn Solid")).toBeDefined();
9
+ });
10
+ });
@@ -1,6 +1,5 @@
1
1
  import { defineConfig } from "vite";
2
2
  import { devtools } from '@tanstack/devtools-vite'
3
- import viteTsConfigPaths from 'vite-tsconfig-paths'
4
3
  import tailwindcss from "@tailwindcss/vite"
5
4
  <% if (routerOnly) { %>
6
5
  import { tanstackRouter } from '@tanstack/router-plugin/vite'
@@ -12,11 +11,8 @@ import solidPlugin from 'vite-plugin-solid';
12
11
  <% } %>
13
12
 
14
13
  export default defineConfig({
14
+ resolve: { tsconfigPaths: true },
15
15
  plugins: [devtools(), <% for(const integration of integrations.filter(i => i.type === 'vite-plugin')) { %><%- integrationImportCode(integration) %>,<% } %>
16
- // this is the plugin that enables path aliases
17
- viteTsConfigPaths({
18
- projects: ['./tsconfig.json'],
19
- }),
20
16
  tailwindcss(),
21
17
  <% if (routerOnly) { %>tanstackRouter({ target: 'solid', autoCodeSplitting: true }),<% } else { %>tanstackStart(),<% } %>
22
18
  solidPlugin(<% if (!routerOnly) { %>{ ssr: true }<% } %>),