create-template-project 1.11.0 → 1.11.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.
@@ -37,7 +37,7 @@
37
37
  "description": "TypeScript definitions for debug."
38
38
  },
39
39
  "@types/node": {
40
- "version": "26.4.1",
40
+ "version": "26.5.1",
41
41
  "description": "TypeScript definitions for Node.js."
42
42
  },
43
43
  "@vitest/coverage-v8": {
@@ -57,7 +57,7 @@
57
57
  "description": "Modern native git hooks made easy."
58
58
  },
59
59
  "oxlint": {
60
- "version": "1.81.0",
60
+ "version": "1.82.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.66.0",
68
+ "version": "0.67.0",
69
69
  "description": "High performance JavaScript / TypeScript formatter."
70
70
  },
71
71
  "typescript": {
@@ -98,11 +98,11 @@
98
98
  "description": "TypeScript definitions for Express."
99
99
  },
100
100
  "react": {
101
- "version": "19.2.8",
101
+ "version": "19.3.0",
102
102
  "description": "A JavaScript library for building user interfaces."
103
103
  },
104
104
  "react-dom": {
105
- "version": "19.2.8",
105
+ "version": "19.3.0",
106
106
  "description": "React package for working with the DOM."
107
107
  },
108
108
  "@mui/material": {
@@ -122,11 +122,11 @@
122
122
  "description": "Styled components for Emotion."
123
123
  },
124
124
  "@types/react": {
125
- "version": "19.2.18",
125
+ "version": "19.3.0",
126
126
  "description": "TypeScript definitions for React."
127
127
  },
128
128
  "@types/react-dom": {
129
- "version": "19.2.7",
129
+ "version": "19.3.0",
130
130
  "description": "TypeScript definitions for React DOM."
131
131
  },
132
132
  "@playwright/test": {
@@ -150,7 +150,7 @@
150
150
  "description": "Powerful asynchronous state management for TS/JS."
151
151
  },
152
152
  "zod": {
153
- "version": "4.5.4",
153
+ "version": "4.6.1",
154
154
  "description": "TypeScript-first schema validation with static type inference."
155
155
  },
156
156
  "react-router-dom": {
package/dist/index.js CHANGED
@@ -64,7 +64,7 @@ var genericProcessor = (content, { opts }) => {
64
64
  var WORKFLOW_PNPM_SETUP = ` - name: Setup pnpm
65
65
  uses: pnpm/action-setup@v6
66
66
  with:
67
- version: 9
67
+ version: latest
68
68
  run_install: false`;
69
69
  var WORKFLOW_PLAYWRIGHT_SETUP = ` - name: Install Playwright Browsers & Deps
70
70
  run: npx playwright install --with-deps chromium`;
@@ -1035,7 +1035,7 @@ Templates:
1035
1035
  message: `Add create-template-project marker for template "${template}" to ${path.join(directory, "package.json")}?`,
1036
1036
  initialValue: false
1037
1037
  });
1038
- if (p.isCancel(confirmed) || !confirmed) {
1038
+ if (p.isCancel(confirmed) || confirmed !== true) {
1039
1039
  p.cancel("Adoption cancelled.");
1040
1040
  process.exit(0);
1041
1041
  }
@@ -1130,7 +1130,7 @@ Restrictions & Behavior:
1130
1130
  defaultValue: "my-app",
1131
1131
  validate: (value = "") => value.length > 0 ? void 0 : "Project name is required"
1132
1132
  });
1133
- if (p.isCancel(projectName)) {
1133
+ if (p.isCancel(projectName) || typeof projectName !== "string") {
1134
1134
  p.cancel("Operation cancelled.");
1135
1135
  process.exit(0);
1136
1136
  }
@@ -1138,7 +1138,7 @@ Restrictions & Behavior:
1138
1138
  message: "Target parent directory (project name will be appended):",
1139
1139
  initialValue: "."
1140
1140
  });
1141
- if (p.isCancel(directory)) {
1141
+ if (p.isCancel(directory) || typeof directory !== "string") {
1142
1142
  p.cancel("Operation cancelled.");
1143
1143
  process.exit(0);
1144
1144
  }
@@ -1167,7 +1167,7 @@ Restrictions & Behavior:
1167
1167
  placeholder: "A new project",
1168
1168
  defaultValue: existingDescription
1169
1169
  });
1170
- if (p.isCancel(projectDescription)) {
1170
+ if (p.isCancel(projectDescription) || typeof projectDescription !== "string") {
1171
1171
  p.cancel("Operation cancelled.");
1172
1172
  process.exit(0);
1173
1173
  }
@@ -1176,7 +1176,7 @@ Restrictions & Behavior:
1176
1176
  placeholder: "cli, nodejs, typescript",
1177
1177
  defaultValue: existingKeywords.join(", ")
1178
1178
  });
1179
- if (p.isCancel(projectKeywords)) {
1179
+ if (p.isCancel(projectKeywords) || typeof projectKeywords !== "string") {
1180
1180
  p.cancel("Operation cancelled.");
1181
1181
  process.exit(0);
1182
1182
  }
@@ -1188,7 +1188,7 @@ Restrictions & Behavior:
1188
1188
  defaultValue: authorDefault,
1189
1189
  validate: (value = "") => value.length > 0 ? void 0 : "Author name is required"
1190
1190
  });
1191
- if (p.isCancel(author)) {
1191
+ if (p.isCancel(author) || typeof author !== "string") {
1192
1192
  p.cancel("Operation cancelled.");
1193
1193
  process.exit(0);
1194
1194
  }
@@ -1200,7 +1200,7 @@ Restrictions & Behavior:
1200
1200
  defaultValue: githubDefault,
1201
1201
  validate: (value = "") => value.length > 0 ? void 0 : "GitHub username is required"
1202
1202
  });
1203
- if (p.isCancel(githubUsername)) {
1203
+ if (p.isCancel(githubUsername) || typeof githubUsername !== "string") {
1204
1204
  p.cancel("Operation cancelled.");
1205
1205
  process.exit(0);
1206
1206
  }
@@ -1304,7 +1304,7 @@ Restrictions & Behavior:
1304
1304
  message: "Should we run the CI script (lint, build, test)?",
1305
1305
  initialValue: true
1306
1306
  });
1307
- if (p.isCancel(build)) {
1307
+ if (p.isCancel(build) || typeof build !== "boolean") {
1308
1308
  p.cancel("Operation cancelled.");
1309
1309
  process.exit(0);
1310
1310
  }
@@ -1312,7 +1312,7 @@ Restrictions & Behavior:
1312
1312
  message: "Create GitHub repository and push initial commit?",
1313
1313
  initialValue: false
1314
1314
  });
1315
- if (p.isCancel(createGithubRepositoryRes)) {
1315
+ if (p.isCancel(createGithubRepositoryRes) || typeof createGithubRepositoryRes !== "boolean") {
1316
1316
  p.cancel("Operation cancelled.");
1317
1317
  process.exit(0);
1318
1318
  }
@@ -1392,7 +1392,6 @@ Restrictions & Behavior:
1392
1392
  //#region src/generators/project.ts
1393
1393
  var debug$1 = debugLib("create-template-project:generator");
1394
1394
  var moduleDir = import.meta.dirname;
1395
- var PNPM_PACKAGE_MANAGER_VERSION = "pnpm@11.16.0";
1396
1395
  var PNPM_NPMRC_CONTENT = "resolution-mode=highest\nnode-linker=hoisted\n";
1397
1396
  var pathExists = async (filePath) => {
1398
1397
  try {
@@ -1975,7 +1974,7 @@ var generateProject = async (opts) => {
1975
1974
  }
1976
1975
  }
1977
1976
  const pm = opts.packageManager;
1978
- if (pm === "pnpm") finalPkg.packageManager = PNPM_PACKAGE_MANAGER_VERSION;
1977
+ if (typeof finalPkg.packageManager === "string" && finalPkg.packageManager.startsWith("pnpm@")) delete finalPkg.packageManager;
1979
1978
  const npmrcPath = path.join(projectDir, ".npmrc");
1980
1979
  const npmrcExists = await pathExists(npmrcPath);
1981
1980
  if (isUpdate && npmrcExists) actions.push({
@@ -2098,7 +2097,7 @@ var generateProject = async (opts) => {
2098
2097
  }
2099
2098
  ]
2100
2099
  });
2101
- if (p.isCancel(selectedFile) || selectedFile === "cancel") {
2100
+ if (p.isCancel(selectedFile) || typeof selectedFile !== "string" || selectedFile === "cancel") {
2102
2101
  p.cancel("Update cancelled.");
2103
2102
  process.exit(0);
2104
2103
  }
@@ -0,0 +1,97 @@
1
+ # ---------------------------
2
+ # OS / Filesystem
3
+ # ---------------------------
4
+ .DS_Store
5
+ Thumbs.db
6
+ Desktop.ini
7
+
8
+ # ---------------------------
9
+ # Editor / IDE
10
+ # ---------------------------
11
+ .vscode/
12
+ .idea/
13
+ *.swp
14
+ *.swo
15
+ *~
16
+
17
+ # ---------------------------
18
+ # AI
19
+ # ---------------------------
20
+ .opencode
21
+
22
+ # ---------------------------
23
+ # Logs
24
+ # ---------------------------
25
+ logs/
26
+ *.log
27
+ npm-debug.log*
28
+ yarn-debug.log*
29
+ pnpm-debug.log*
30
+
31
+ # ---------------------------
32
+ # Env / Secrets
33
+ # ---------------------------
34
+ .env
35
+ .env.*
36
+ !.env.example
37
+
38
+ # ---------------------------
39
+ # Dependency directories
40
+ # ---------------------------
41
+ node_modules/
42
+ .pnpm-store/
43
+ .npm/
44
+
45
+ # ---------------------------
46
+ # Build output
47
+ # ---------------------------
48
+ dist/
49
+ dist-demo/
50
+ docs/
51
+ coverage/
52
+ .nyc_output/
53
+ playwright-report/
54
+ test-results/
55
+ .vitest-attachments/
56
+ tmp/
57
+ temp/
58
+ .tmp/
59
+ .temp/
60
+
61
+ # ---------------------------
62
+ # TypeScript
63
+ # ---------------------------
64
+ *.tsbuildinfo
65
+
66
+ # ---------------------------
67
+ # Package managers
68
+ # ---------------------------
69
+ {{lockfileRules}}
70
+
71
+ # NOTE:
72
+ # keep EXACTLY ONE lockfile depending on PM:
73
+ # - npm -> keep package-lock.json
74
+ # - yarn -> keep yarn.lock
75
+ # - pnpm -> keep pnpm-lock.yaml
76
+
77
+ # ---------------------------
78
+ # Caches
79
+ # ---------------------------
80
+ .cache/
81
+ .eslintcache
82
+ .oxc_cache
83
+
84
+ # ---------------------------
85
+ # Misc
86
+ # ---------------------------
87
+ *.tgz
88
+ *.bak
89
+ *.tmp
90
+
91
+ # ---------------------------
92
+ # Custom
93
+ # ---------------------------
94
+
95
+ # NOTE:
96
+ # add custom ignores here
97
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-template-project",
3
- "version": "1.11.0",
3
+ "version": "1.11.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": [
@@ -53,25 +53,25 @@
53
53
  "./package.json": "./package.json"
54
54
  },
55
55
  "dependencies": {
56
- "@clack/prompts": "1.7.0",
56
+ "@clack/prompts": "1.8.0",
57
57
  "commander": "15.0.0",
58
58
  "debug": "4.4.3",
59
59
  "execa": "10.0.1",
60
- "zod": "4.5.4"
60
+ "zod": "4.6.1"
61
61
  },
62
62
  "devDependencies": {
63
63
  "@commitlint/cli": "21.2.2",
64
64
  "@commitlint/config-conventional": "21.2.2",
65
65
  "@types/cli-progress": "3.11.6",
66
66
  "@types/debug": "4.1.13",
67
- "@types/node": "26.4.1",
67
+ "@types/node": "26.5.0",
68
68
  "@vitest/coverage-v8": "5.0.0",
69
69
  "conventional-changelog": "8.1.3",
70
70
  "conventional-changelog-angular": "9.4.0",
71
71
  "eslint-plugin-regexp": "3.3.0",
72
72
  "husky": "9.1.7",
73
- "oxfmt": "0.66.0",
74
- "oxlint": "1.81.0",
73
+ "oxfmt": "0.67.0",
74
+ "oxlint": "1.82.0",
75
75
  "oxlint-tsgolint": "7.0.2001",
76
76
  "release-it": "21.0.2",
77
77
  "rimraf": "6.1.3",