create-template-project 1.6.2 → 1.7.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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "dependencies": {
3
3
  "vite": {
4
- "version": "8.2.0",
4
+ "version": "8.2.1",
5
5
  "description": "Native-ESM powered web dev build tool"
6
6
  },
7
7
  "@vitejs/plugin-react": {
@@ -17,7 +17,7 @@
17
17
  "description": "Playwright provider for Vitest browser mode."
18
18
  },
19
19
  "playwright": {
20
- "version": "1.62.0",
20
+ "version": "1.62.1",
21
21
  "description": "Framework for Web-browser automation."
22
22
  },
23
23
  "debug": {
@@ -37,7 +37,7 @@
37
37
  "description": "TypeScript definitions for debug."
38
38
  },
39
39
  "@types/node": {
40
- "version": "26.1.2",
40
+ "version": "26.2.0",
41
41
  "description": "TypeScript definitions for Node.js."
42
42
  },
43
43
  "@vitest/coverage-v8": {
@@ -45,7 +45,7 @@
45
45
  "description": "V8 coverage provider for Vitest."
46
46
  },
47
47
  "conventional-changelog": {
48
- "version": "8.1.0",
48
+ "version": "8.1.1",
49
49
  "description": "Generate a changelog from git metadata."
50
50
  },
51
51
  "conventional-changelog-angular": {
@@ -57,7 +57,7 @@
57
57
  "description": "Modern native git hooks made easy."
58
58
  },
59
59
  "oxlint": {
60
- "version": "1.76.0",
60
+ "version": "1.77.0",
61
61
  "description": "A JavaScript linter written in Rust."
62
62
  },
63
63
  "oxlint-tsgolint": {
@@ -65,7 +65,7 @@
65
65
  "description": "TypeScript-specific rules for oxlint."
66
66
  },
67
67
  "oxfmt": {
68
- "version": "0.61.0",
68
+ "version": "0.62.0",
69
69
  "description": "High performance JavaScript / TypeScript formatter."
70
70
  },
71
71
  "typescript": {
@@ -105,11 +105,11 @@
105
105
  "description": "React package for working with the DOM."
106
106
  },
107
107
  "@mui/material": {
108
- "version": "9.2.0",
108
+ "version": "9.3.1",
109
109
  "description": "Material UI components."
110
110
  },
111
111
  "@mui/icons-material": {
112
- "version": "9.2.0",
112
+ "version": "9.3.1",
113
113
  "description": "Material Design icons distributed as SVG React components."
114
114
  },
115
115
  "@emotion/react": {
@@ -121,15 +121,15 @@
121
121
  "description": "Styled components for Emotion."
122
122
  },
123
123
  "@types/react": {
124
- "version": "19.2.17",
124
+ "version": "19.2.18",
125
125
  "description": "TypeScript definitions for React."
126
126
  },
127
127
  "@types/react-dom": {
128
- "version": "19.2.3",
128
+ "version": "19.2.4",
129
129
  "description": "TypeScript definitions for React DOM."
130
130
  },
131
131
  "@playwright/test": {
132
- "version": "1.62.0",
132
+ "version": "1.62.1",
133
133
  "description": "End-to-end testing framework."
134
134
  },
135
135
  "@trpc/server": {
@@ -157,7 +157,7 @@
157
157
  "description": "Declarative routing for React web applications."
158
158
  },
159
159
  "release-it": {
160
- "version": "21.0.0",
160
+ "version": "21.0.1",
161
161
  "description": "Interactive release-tool for Git repositories."
162
162
  },
163
163
  "cors": {
package/dist/index.js CHANGED
@@ -62,7 +62,7 @@ var genericProcessor = (content, { opts }) => {
62
62
  //#endregion
63
63
  //#region src/utils/templating/github-workflow.ts
64
64
  var WORKFLOW_PNPM_SETUP = ` - name: Setup pnpm
65
- uses: pnpm/action-setup@v6.0.9
65
+ uses: pnpm/action-setup@v6
66
66
  with:
67
67
  version: 9
68
68
  run_install: false`;
@@ -540,7 +540,7 @@ var getWebAppTemplate = (_opts) => ({
540
540
  test: "vitest run",
541
541
  "test:ui": "vitest",
542
542
  "integration-test": "playwright test",
543
- start: "vite preview"
543
+ start: "vite preview --port 3000 --strictPort"
544
544
  },
545
545
  files: [],
546
546
  templateDir: getTemplateDir(import.meta.dirname, "web-app")
@@ -1,15 +1,16 @@
1
1
  {
2
2
  "name": "{{projectName}}",
3
3
  "version": "0.1.0",
4
- "private": true,
4
+ "private": false,
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "typecheck": "tsc --noEmit",
8
8
  "lint": "oxlint",
9
9
  "format": "oxfmt --write",
10
10
  "format:check": "oxfmt --check",
11
- "ci": "{{packageManager}} run typecheck && {{packageManager}} run lint && {{packageManager}} run format:check && {{packageManager}} run build && {{packageManager}} run test",
11
+ "ci": "{{packageManager}} run typecheck && {{packageManager}} run lint && {{packageManager}} run format:check && {{packageManager}} run build && {{packageManager}} run test && {{packageManager}} run integration-test",
12
12
  "test": "vitest run --coverage",
13
+ "integration-test": "node -e \"\"",
13
14
  "release": "release-it",
14
15
  "create-changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0",
15
16
  "prepare": "husky"
@@ -10,7 +10,6 @@
10
10
  },
11
11
  "scripts": {
12
12
  "dev": "vite build --watch",
13
- "build": "vite build",
14
- "integration-test": "node -e \"\""
13
+ "build": "vite build"
15
14
  }
16
15
  }
@@ -5,7 +5,7 @@ export default defineConfig({
5
5
  build: {
6
6
  ssr: true,
7
7
  lib: {
8
- entry: path.resolve(__dirname, 'src/index.ts'),
8
+ entry: path.resolve(import.meta.dirname, 'src/index.ts'),
9
9
  formats: ['es'],
10
10
  fileName: 'index',
11
11
  },
@@ -22,7 +22,7 @@ export default defineConfig({
22
22
  },
23
23
  ],
24
24
  webServer: {
25
- command: 'npm run build && npm run start',
25
+ command: '{{packageManager}} run build && {{packageManager}} run start',
26
26
  url: 'http://localhost:3000',
27
27
  reuseExistingServer: !isCi,
28
28
  },
@@ -5,9 +5,7 @@ test('has title', async ({page}) => {
5
5
  await expect(page).toHaveTitle(/{{projectName}}/u);
6
6
  });
7
7
 
8
- test('api is reachable', async ({page}) => {
9
- const response = await page.request.get('/api/hello');
10
- expect(response.ok()).toBeTruthy();
11
- const data: unknown = await response.json();
12
- expect(data).toMatchObject({message: 'Hello from Express!'});
8
+ test('app heading is visible', async ({page}) => {
9
+ await page.goto('/');
10
+ await expect(page.getByRole('heading', {name: 'Hello from React!'})).toBeVisible();
13
11
  });
@@ -23,12 +23,14 @@ export default defineConfig({
23
23
  ],
24
24
  webServer: [
25
25
  {
26
- command: 'npm run dev --workspace=server',
27
- port: 3000,
26
+ command: '{{packageManager}} run build && node dist/index.js',
27
+ cwd: './server',
28
+ port: 3001,
28
29
  reuseExistingServer: !isCi,
29
30
  },
30
31
  {
31
- command: 'npm run dev --workspace=client',
32
+ command: '{{packageManager}} run dev',
33
+ cwd: './client',
32
34
  port: 5173,
33
35
  reuseExistingServer: !isCi,
34
36
  },
@@ -22,7 +22,7 @@ app.use(
22
22
 
23
23
  app.use(express.static(path.join(rootDir, '../../client/dist')));
24
24
 
25
- app.get('*', (_req, res) => {
25
+ app.get('/{*path}', (_req, res) => {
26
26
  res.sendFile(path.join(rootDir, '../../client/dist/index.html'));
27
27
  });
28
28
 
@@ -5,7 +5,7 @@ export default defineConfig({
5
5
  build: {
6
6
  ssr: true,
7
7
  lib: {
8
- entry: path.resolve(__dirname, 'src/index.ts'),
8
+ entry: path.resolve(import.meta.dirname, 'src/index.ts'),
9
9
  formats: ['es'],
10
10
  fileName: 'index',
11
11
  },
@@ -22,7 +22,7 @@ export default defineConfig({
22
22
  },
23
23
  ],
24
24
  webServer: {
25
- command: 'npm run dev',
25
+ command: '{{packageManager}} run dev',
26
26
  url: 'http://localhost:5173',
27
27
  reuseExistingServer: !isCi,
28
28
  },
@@ -7,5 +7,5 @@ test('has title', async ({page}) => {
7
7
 
8
8
  test('header is visible', async ({page}) => {
9
9
  await page.goto('/');
10
- await expect(page.locator('h1')).toBeVisible();
10
+ await expect(page.getByRole('heading', {name: '{{projectName}}', exact: true})).toBeVisible();
11
11
  });
@@ -24,7 +24,7 @@
24
24
  "lint:css:fix": "stylelint --fix 'src/{demo,styles}/**/*.css'",
25
25
  "format": "oxfmt --write && stylelint --fix 'src/{demo,styles}/**/*.css'",
26
26
  "format:check": "oxfmt --check",
27
- "ci": "{{packageManager}} run typecheck && {{packageManager}} run lint && {{packageManager}} run lint:css && {{packageManager}} run format:check && {{packageManager}} run build:lib && {{packageManager}} run build && {{packageManager}} run docs:api && {{packageManager}} run test",
27
+ "ci": "{{packageManager}} run typecheck && {{packageManager}} run lint && {{packageManager}} run lint:css && {{packageManager}} run format:check && {{packageManager}} run build:lib && {{packageManager}} run build && {{packageManager}} run docs:api && {{packageManager}} run test && {{packageManager}} run integration-test",
28
28
  "build:lib": "tsdown",
29
29
  "build:demo": "vite build",
30
30
  "docs:api": "typedoc",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-template-project",
3
- "version": "1.6.2",
3
+ "version": "1.7.1",
4
4
  "private": false,
5
5
  "description": "An ultra-modular, type-safe Node.js CLI tool used to scaffold new project templates (CLI, Webpage, Web Widget, Webapp, Fullstack) with best-practice configurations pre-installed.",
6
6
  "keywords": [
@@ -56,7 +56,7 @@
56
56
  "@clack/prompts": "1.7.0",
57
57
  "commander": "15.0.0",
58
58
  "debug": "4.4.3",
59
- "execa": "10.0.0",
59
+ "execa": "10.0.1",
60
60
  "zod": "4.4.3"
61
61
  },
62
62
  "devDependencies": {
@@ -64,19 +64,19 @@
64
64
  "@commitlint/config-conventional": "21.2.0",
65
65
  "@types/cli-progress": "3.11.6",
66
66
  "@types/debug": "4.1.13",
67
- "@types/node": "26.1.2",
67
+ "@types/node": "26.2.0",
68
68
  "@vitest/coverage-v8": "4.1.10",
69
- "conventional-changelog": "8.1.0",
69
+ "conventional-changelog": "8.1.1",
70
70
  "conventional-changelog-angular": "9.2.1",
71
71
  "eslint-plugin-regexp": "3.1.1",
72
72
  "husky": "9.1.7",
73
- "oxfmt": "0.61.0",
74
- "oxlint": "1.76.0",
73
+ "oxfmt": "0.62.0",
74
+ "oxlint": "1.77.0",
75
75
  "oxlint-tsgolint": "7.0.2001",
76
- "release-it": "21.0.0",
76
+ "release-it": "21.0.1",
77
77
  "rimraf": "6.1.3",
78
78
  "typescript": "7.0.2",
79
- "vite": "8.2.0",
79
+ "vite": "8.2.1",
80
80
  "vitest": "4.1.10"
81
81
  },
82
82
  "engines": {