@skirtle/create-vue-lib 0.0.10 → 0.1.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.
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2025, skirtle
3
+ Copyright (c) 2025-2026, skirtle
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -12,4 +12,4 @@ This project is inspired by the official [create-vue](https://github.com/vuejs/c
12
12
 
13
13
  MIT
14
14
 
15
- Copyright © 2025, skirtle
15
+ Copyright © 2025-2026, skirtle
package/dist/index.cjs CHANGED
@@ -2629,7 +2629,7 @@ var require_dist = __commonJS({
2629
2629
  const override2 = prompt2._override || {};
2630
2630
  questions = [].concat(questions);
2631
2631
  let answer, question, quit, name, type, lastPrompt;
2632
- const getFormattedAnswer = /* @__PURE__ */ function() {
2632
+ const getFormattedAnswer = /* @__PURE__ */ (function() {
2633
2633
  var _ref = _asyncToGenerator(function* (question2, answer2, skipValidation = false) {
2634
2634
  if (!skipValidation && question2.validate && question2.validate(answer2) !== true) {
2635
2635
  return;
@@ -2639,7 +2639,7 @@ var require_dist = __commonJS({
2639
2639
  return function getFormattedAnswer2(_x, _x2) {
2640
2640
  return _ref.apply(this, arguments);
2641
2641
  };
2642
- }();
2642
+ })();
2643
2643
  var _iterator = _createForOfIteratorHelper(questions), _step;
2644
2644
  try {
2645
2645
  for (_iterator.s(); !(_step = _iterator.n()).done; ) {
@@ -4988,7 +4988,7 @@ function encode_char(c) {
4988
4988
  return match[1].toUpperCase();
4989
4989
  });
4990
4990
  };
4991
- exports2.createNullProtoObjWherePossible = function() {
4991
+ exports2.createNullProtoObjWherePossible = (function() {
4992
4992
  if (typeof Object.create == "function") {
4993
4993
  return function() {
4994
4994
  return /* @__PURE__ */ Object.create(null);
@@ -5002,7 +5002,7 @@ function encode_char(c) {
5002
5002
  return function() {
5003
5003
  return {};
5004
5004
  };
5005
- }();
5005
+ })();
5006
5006
  exports2.hasOwnOnlyObject = function(obj) {
5007
5007
  var o = exports2.createNullProtoObjWherePossible();
5008
5008
  for (var p in obj) {
@@ -5697,7 +5697,7 @@ var import_picocolors = __toESM(require_picocolors(), 1);
5697
5697
  // package.json
5698
5698
  var package_default = {
5699
5699
  name: "@skirtle/create-vue-lib",
5700
- version: "0.0.10",
5700
+ version: "0.1.1",
5701
5701
  author: "skirtle",
5702
5702
  license: "MIT",
5703
5703
  description: "Create a library using Vue and Vite",
@@ -5717,19 +5717,19 @@ var package_default = {
5717
5717
  "dist"
5718
5718
  ],
5719
5719
  devDependencies: {
5720
- "@tsconfig/node22": "^22.0.0",
5720
+ "@tsconfig/node24": "^24.0.3",
5721
5721
  "@types/ejs": "^3.1.5",
5722
- "@types/node": "^22.13.9",
5722
+ "@types/node": "^24.10.4",
5723
5723
  "@types/prompts": "^2.4.9",
5724
5724
  copyfiles: "^2.4.1",
5725
5725
  ejs: "^3.1.10",
5726
- "npm-run-all2": "^7.0.2",
5726
+ "npm-run-all2": "^8.0.4",
5727
5727
  picocolors: "^1.1.1",
5728
5728
  prompts: "^2.4.2",
5729
- publint: "^0.3.8",
5730
- rimraf: "^6.0.1",
5731
- tsup: "^8.4.0",
5732
- typescript: "~5.8.0"
5729
+ publint: "^0.3.16",
5730
+ rimraf: "^6.1.2",
5731
+ tsup: "^8.5.1",
5732
+ typescript: "~5.9.3"
5733
5733
  },
5734
5734
  scripts: {
5735
5735
  clean: "rimraf dist LICENSE README.md",
@@ -5743,6 +5743,43 @@ var package_default = {
5743
5743
  }
5744
5744
  };
5745
5745
 
5746
+ // src/template/versions.json
5747
+ var versions_default = {
5748
+ "@eslint/compat": "^2.0.0",
5749
+ "@rollup/plugin-replace": "^6.0.3",
5750
+ "@stylistic/eslint-plugin": "^5.6.1",
5751
+ "@tailwindcss/vite": "^4.1.18",
5752
+ "@tsconfig/node24": "^24.0.3",
5753
+ "@types/jsdom": "^27.0.0",
5754
+ "@types/node": "^24.10.4",
5755
+ "@vitejs/plugin-vue": "^6.0.3",
5756
+ "@vitest/coverage-v8": "^4.0.16",
5757
+ "@vitest/eslint-plugin": "^1.6.5",
5758
+ "@vue/eslint-config-typescript": "^14.6.0",
5759
+ "@vue/test-utils": "^2.4.6",
5760
+ "@vue/tsconfig": "^0.8.1",
5761
+ copyfiles: "^2.4.1",
5762
+ eslint: "^9.39.2",
5763
+ "eslint-plugin-vue": "~10.6.2",
5764
+ jiti: "^2.6.1",
5765
+ jsdom: "^27.3.0",
5766
+ "lint-staged": "^16.2.7",
5767
+ "npm-run-all2": "^8.0.4",
5768
+ postcss: "^8.5.6",
5769
+ publint: "^0.3.16",
5770
+ rimraf: "^6.1.2",
5771
+ "simple-git-hooks": "^2.13.1",
5772
+ tailwindcss: "^4.1.18",
5773
+ typescript: "~5.9.3",
5774
+ vite: "^7.3.0",
5775
+ "vite-plugin-dts": "^4.5.4",
5776
+ "vite-plugin-vue-devtools": "^8.0.5",
5777
+ vitepress: "^1.6.4",
5778
+ vitest: "^4.0.16",
5779
+ vue: "^3.5.26",
5780
+ "vue-tsc": "^3.2.1"
5781
+ };
5782
+
5746
5783
  // src/index.ts
5747
5784
  async function prompt(options) {
5748
5785
  try {
@@ -6074,6 +6111,18 @@ function copyFiles(templateFile, config) {
6074
6111
  content = content.replace(/, *(?:\n+(\n\s*)|(\s*))([}\])])/g, "$1$2$3");
6075
6112
  content = content.replace(/([{[(]\n)\n+/g, "$1");
6076
6113
  }
6114
+ if (target.endsWith("package.json")) {
6115
+ content = content.replace(/"([^"]+)": "\$"/g, (all, name) => {
6116
+ const version = versions_default[name];
6117
+ if (typeof version === "string") {
6118
+ return `"${name}": "${version}"`;
6119
+ } else {
6120
+ console.log((0, import_picocolors.bgRed)((0, import_picocolors.black)("ERROR")));
6121
+ console.log((0, import_picocolors.red)(`Couldn't find package version for "${name}"`));
6122
+ process.exit(1);
6123
+ }
6124
+ });
6125
+ }
6077
6126
  fs.writeFileSync(target, content);
6078
6127
  } else {
6079
6128
  fs.copyFileSync(templatePath, targetPath);
@@ -16,9 +16,6 @@ coverage
16
16
  <%- config.packagesDir %>docs/.vitepress/cache
17
17
  <%- config.packagesDir %><%- config.mainPackageDirName %>/README.md
18
18
 
19
- /cypress/videos/
20
- /cypress/screenshots/
21
-
22
19
  # Editor directories and files
23
20
  .vscode/*
24
21
  !.vscode/extensions.json
@@ -30,3 +27,12 @@ coverage
30
27
  *.sw?
31
28
 
32
29
  *.tsbuildinfo
30
+
31
+ .eslintcache
32
+
33
+ # Cypress
34
+ /cypress/videos/
35
+ /cypress/screenshots/
36
+
37
+ # Vitest
38
+ __screenshots__/
@@ -1,31 +1,31 @@
1
1
  {
2
2
  "private": true,
3
3
  "type": "module",
4
- "packageManager": "pnpm@9.15.4",
4
+ "packageManager": "pnpm@10.13.1",
5
5
  "engines": {
6
- "node": ">=v18.3.0"
6
+ "node": "^20.19.0 || >=22.12.0"
7
7
  },
8
8
  "devDependencies": {
9
9
  <%_ if (config.includeEsLint) { _%>
10
- "@eslint/compat": "^1.2.8",
10
+ "@eslint/compat": "$",
11
11
  <%_ if (config.includeEsLintStylistic) { _%>
12
- "@stylistic/eslint-plugin": "^4.2.0",
12
+ "@stylistic/eslint-plugin": "$",
13
13
  <%_ } _%>
14
- "@tsconfig/node22": "^22.0.1",
15
- "@types/node": "^22.13.14",
14
+ "@tsconfig/node24": "$",
15
+ "@types/node": "$",
16
16
  <%_ if (config.includeVitest) { _%>
17
- "@vitest/eslint-plugin": "^1.1.38",
17
+ "@vitest/eslint-plugin": "$",
18
18
  <%_ } _%>
19
- "@vue/eslint-config-typescript": "^14.5.0",
20
- "eslint": "^9.22.0",
21
- "eslint-plugin-vue": "~10.0.0",
22
- "jiti": "^2.4.2",
23
- "lint-staged": "^15.5.0",
24
- "npm-run-all2": "^7.0.2",
19
+ "@vue/eslint-config-typescript": "$",
20
+ "eslint": "$",
21
+ "eslint-plugin-vue": "$",
22
+ "jiti": "$",
23
+ "lint-staged": "$",
24
+ "npm-run-all2": "$",
25
25
  <%_ } _%>
26
- "simple-git-hooks": "^2.12.1",
26
+ "simple-git-hooks": "$",
27
27
  <%_ if (config.includeEsLint) { _%>
28
- "typescript": "~5.8.0"
28
+ "typescript": "$"
29
29
  <%_ } _%>
30
30
  },
31
31
  "scripts": {
@@ -45,8 +45,8 @@
45
45
  "type-check": "run-p type-check:*",
46
46
  "type-check:packages": "pnpm run -r type-check",
47
47
  "type-check:self": "tsc",
48
- "lint": "eslint",
49
- "lint:fix": "eslint --fix",
48
+ "lint": "eslint --cache",
49
+ "lint:fix": "eslint --fix --cache",
50
50
  "lint:staged": "lint-staged",
51
51
  <%_ } else { _%>
52
52
  "type-check": "pnpm run -r type-check",
@@ -60,7 +60,7 @@
60
60
  "pre-commit": "pnpm exec run-s type-check lint:staged"
61
61
  },
62
62
  "lint-staged": {
63
- "*.{vue,js,jsx,cjs,mjs,ts,tsx,cts,mts}": "eslint --fix"
63
+ "*.{vue,js,jsx,cjs,mjs,ts,tsx,cts,mts}": "eslint --fix --cache"
64
64
  }
65
65
  <%_ } else { _%>
66
66
  "simple-git-hooks": {
@@ -38,35 +38,35 @@
38
38
  "vue": "^3.2.0"
39
39
  },
40
40
  "devDependencies": {
41
- "@rollup/plugin-replace": "^6.0.2",
41
+ "@rollup/plugin-replace": "$",
42
42
  <%_ if (config.includeTailwind) { _%>
43
- "@tailwindcss/vite": "^4.1.5",
43
+ "@tailwindcss/vite": "$",
44
44
  <%_ } _%>
45
- "@tsconfig/node22": "^22.0.1",
46
- "@types/jsdom": "^21.1.7",
47
- "@types/node": "^22.13.14",
48
- "@vitejs/plugin-vue": "^5.2.3",
45
+ "@tsconfig/node24": "$",
46
+ "@types/jsdom": "$",
47
+ "@types/node": "$",
48
+ "@vitejs/plugin-vue": "$",
49
49
  <%_ if (config.includeVitest) { _%>
50
- "@vitest/coverage-v8": "^3.1.1",
51
- "@vue/test-utils": "^2.4.6",
50
+ "@vitest/coverage-v8": "$",
51
+ "@vue/test-utils": "$",
52
52
  <%_ } _%>
53
- "@vue/tsconfig": "^0.7.0",
54
- "copyfiles": "^2.4.1",
55
- "jsdom": "^26.0.0",
56
- "npm-run-all2": "^7.0.2",
57
- "publint": "^0.3.9",
58
- "rimraf": "^5.0.1",
53
+ "@vue/tsconfig": "$",
54
+ "copyfiles": "$",
55
+ "jsdom": "$",
56
+ "npm-run-all2": "$",
57
+ "publint": "$",
58
+ "rimraf": "$",
59
59
  <%_ if (config.includeTailwind) { _%>
60
- "tailwindcss": "^4.1.5",
60
+ "tailwindcss": "$",
61
61
  <%_ } _%>
62
- "typescript": "~5.8.0",
63
- "vite": "^6.2.4",
64
- "vite-plugin-dts": "^4.5.3",
62
+ "typescript": "$",
63
+ "vite": "$",
64
+ "vite-plugin-dts": "$",
65
65
  <%_ if (config.includeVitest) { _%>
66
- "vitest": "^3.1.1",
66
+ "vitest": "$",
67
67
  <%_ } _%>
68
- "vue": "^3.5.13",
69
- "vue-tsc": "^2.2.8"
68
+ "vue": "$",
69
+ "vue-tsc": "$"
70
70
  },
71
71
  "scripts": {
72
72
  "clean:dist": "rimraf dist",
@@ -1,5 +1,5 @@
1
1
  {
2
- "extends": "@tsconfig/node22/tsconfig.json",
2
+ "extends": "@tsconfig/node24/tsconfig.json",
3
3
  "include": [
4
4
  "vite.config.*",
5
5
  "vitest.config.*",
@@ -10,3 +10,12 @@ packages:
10
10
  - 'playground'
11
11
  <%_ } _%>
12
12
  <%_ } _%>
13
+
14
+ ignoredBuiltDependencies:
15
+ - simple-git-hooks
16
+
17
+ onlyBuiltDependencies:
18
+ <%_ if (config.includeTailwind) { _%>
19
+ - '@tailwindcss/oxide'
20
+ <%_ } _%>
21
+ - esbuild
@@ -2,9 +2,11 @@ name: CI
2
2
 
3
3
  on:
4
4
  push:
5
- branches: ['main']
5
+ branches:
6
+ - main
6
7
  pull_request:
7
- branches: ['main']
8
+ branches:
9
+ - main
8
10
 
9
11
  jobs:
10
12
  ci:
@@ -14,12 +14,12 @@ import pluginVitest from '@vitest/eslint-plugin'
14
14
  export default defineConfigWithVueTs(
15
15
  {
16
16
  name: 'app/files-to-lint',
17
- files: ['**/*.{ts,mts,vue}']
17
+ files: ['**/*.{vue,ts,mts}']
18
18
  },
19
19
 
20
20
  includeIgnoreFile(path.resolve(path.dirname(fileURLToPath(import.meta.url)), '.gitignore')),
21
21
 
22
- pluginVue.configs['flat/essential'],
22
+ ...pluginVue.configs['flat/essential'],
23
23
  vueTsConfigs.recommended,
24
24
 
25
25
  <%_ if (config.includeEsLintStylistic) { _%>
@@ -1,5 +1,5 @@
1
1
  {
2
- "extends": "@tsconfig/node22/tsconfig.json",
2
+ "extends": "@tsconfig/node24/tsconfig.json",
3
3
  "include": ["eslint.config.*"],
4
4
  "compilerOptions": {
5
5
  "noEmit": true,
@@ -4,7 +4,12 @@ name: Deploy to GitHub Pages
4
4
  on:
5
5
  # Runs on pushes targeting the default branch
6
6
  push:
7
- branches: ['main']
7
+ branches:
8
+ - main
9
+ <%_ if (config.includePlayground) { _%>
10
+ paths-ignore:
11
+ - '<%- config.packagesDir %>playground/**'
12
+ <%_ } _%>
8
13
 
9
14
  # Allows you to run this workflow manually from the Actions tab
10
15
  workflow_dispatch:
@@ -2,25 +2,25 @@
2
2
  "private": true,
3
3
  "type": "module",
4
4
  "dependencies": {
5
- "vue": "^3.5.13"
5
+ "vue": "$"
6
6
  },
7
7
  "devDependencies": {
8
8
  <%_ if (config.includeTailwind) { _%>
9
- "@tailwindcss/vite": "^4.1.5",
9
+ "@tailwindcss/vite": "$",
10
10
  <%_ } _%>
11
- "@tsconfig/node22": "^22.0.1",
12
- "@types/node": "^22.13.14",
13
- "@vitejs/plugin-vue": "^5.2.3",
14
- "@vue/tsconfig": "^0.7.0",
15
- "npm-run-all2": "^7.0.2",
16
- "rimraf": "^5.0.1",
11
+ "@tsconfig/node24": "$",
12
+ "@types/node": "$",
13
+ "@vitejs/plugin-vue": "$",
14
+ "@vue/tsconfig": "$",
15
+ "npm-run-all2": "$",
16
+ "rimraf": "$",
17
17
  <%_ if (config.includeTailwind) { _%>
18
- "tailwindcss": "^4.1.5",
18
+ "tailwindcss": "$",
19
19
  <%_ } _%>
20
- "typescript": "~5.8.0",
21
- "vite": "^6.2.4",
22
- "vite-plugin-vue-devtools": "^7.7.2",
23
- "vue-tsc": "^2.2.8"
20
+ "typescript": "$",
21
+ "vite": "$",
22
+ "vite-plugin-vue-devtools": "$",
23
+ "vue-tsc": "$"
24
24
  },
25
25
  "scripts": {
26
26
  "clean": "rimraf dist",
@@ -1,5 +1,5 @@
1
1
  {
2
- "extends": "@tsconfig/node22/tsconfig.json",
2
+ "extends": "@tsconfig/node24/tsconfig.json",
3
3
  "include": [
4
4
  "vite.config.*",
5
5
  "vitest.config.*",
@@ -1,3 +1,6 @@
1
+ <%_ if (config.includeAtAliases) { _%>
2
+ import { relative, sep as pathSeparator } from 'node:path'
3
+ <%_ } _%>
1
4
  import { fileURLToPath, URL } from 'node:url'
2
5
 
3
6
  import { defineConfig, type UserConfig } from 'vite'
@@ -28,10 +31,14 @@ export default defineConfig(({ mode }): UserConfig => ({
28
31
  find: '@',
29
32
  replacement: '@',
30
33
  customResolver(source, importer, options) {
31
- const filePath = source.replace(
32
- /^@\//,
33
- importer?.startsWith(librarySrc) ? librarySrc : playgroundSrc
34
- )
34
+ let target = playgroundSrc
35
+
36
+ // If the importer is inside librarySrc we resolve @ to that path
37
+ if (importer && relative(importer, librarySrc).split(pathSeparator).every(p => p === '..')) {
38
+ target = librarySrc
39
+ }
40
+
41
+ const filePath = source.replace(/^@\//, target)
35
42
 
36
43
  return this.resolve(filePath, importer, options)
37
44
  }
@@ -0,0 +1,35 @@
1
+ {
2
+ "@eslint/compat": "^2.0.0",
3
+ "@rollup/plugin-replace": "^6.0.3",
4
+ "@stylistic/eslint-plugin": "^5.6.1",
5
+ "@tailwindcss/vite": "^4.1.18",
6
+ "@tsconfig/node24": "^24.0.3",
7
+ "@types/jsdom": "^27.0.0",
8
+ "@types/node": "^24.10.4",
9
+ "@vitejs/plugin-vue": "^6.0.3",
10
+ "@vitest/coverage-v8": "^4.0.16",
11
+ "@vitest/eslint-plugin": "^1.6.5",
12
+ "@vue/eslint-config-typescript": "^14.6.0",
13
+ "@vue/test-utils": "^2.4.6",
14
+ "@vue/tsconfig": "^0.8.1",
15
+ "copyfiles": "^2.4.1",
16
+ "eslint": "^9.39.2",
17
+ "eslint-plugin-vue": "~10.6.2",
18
+ "jiti": "^2.6.1",
19
+ "jsdom": "^27.3.0",
20
+ "lint-staged": "^16.2.7",
21
+ "npm-run-all2": "^8.0.4",
22
+ "postcss": "^8.5.6",
23
+ "publint": "^0.3.16",
24
+ "rimraf": "^6.1.2",
25
+ "simple-git-hooks": "^2.13.1",
26
+ "tailwindcss": "^4.1.18",
27
+ "typescript": "~5.9.3",
28
+ "vite": "^7.3.0",
29
+ "vite-plugin-dts": "^4.5.4",
30
+ "vite-plugin-vue-devtools": "^8.0.5",
31
+ "vitepress": "^1.6.4",
32
+ "vitest": "^4.0.16",
33
+ "vue": "^3.5.26",
34
+ "vue-tsc": "^3.2.1"
35
+ }
@@ -1,3 +1,6 @@
1
+ <%_ if (config.includeAtAliases) { _%>
2
+ import { relative, sep as pathSeparator } from 'node:path'
3
+ <%_ } _%>
1
4
  import { fileURLToPath, URL } from 'node:url'
2
5
 
3
6
  import { defineConfigWithTheme } from 'vitepress'
@@ -50,10 +53,14 @@ export default ({ mode }: { mode: string }) => defineConfigWithTheme({
50
53
  find: '@',
51
54
  replacement: '@',
52
55
  customResolver(source, importer, options) {
53
- const filePath = source.replace(
54
- /^@\//,
55
- importer?.startsWith(librarySrc) ? librarySrc : docsSrc
56
- )
56
+ let target = docsSrc
57
+
58
+ // If the importer is inside librarySrc we resolve @ to that path
59
+ if (importer && relative(importer, librarySrc).split(pathSeparator).every(p => p === '..')) {
60
+ target = librarySrc
61
+ }
62
+
63
+ const filePath = source.replace(/^@\//, target)
57
64
 
58
65
  return this.resolve(filePath, importer, options)
59
66
  }
@@ -2,26 +2,26 @@
2
2
  "private": true,
3
3
  "type": "module",
4
4
  "dependencies": {
5
- "vue": "^3.5.13"
5
+ "vue": "$"
6
6
  },
7
7
  "devDependencies": {
8
8
  <%_ if (config.includeTailwind) { _%>
9
- "@tailwindcss/vite": "^4.1.5",
9
+ "@tailwindcss/vite": "$",
10
10
  <%_ } _%>
11
- "@tsconfig/node22": "^22.0.1",
12
- "@types/node": "^22.13.14",
13
- "@vue/tsconfig": "^0.7.0",
14
- "npm-run-all2": "^7.0.2",
11
+ "@tsconfig/node24": "$",
12
+ "@types/node": "$",
13
+ "@vue/tsconfig": "$",
14
+ "npm-run-all2": "$",
15
15
  <%_ if (config.includeVpRaw) { _%>
16
- "postcss": "^8.5.3",
16
+ "postcss": "$",
17
17
  <%_ } _%>
18
- "rimraf": "^5.0.1",
18
+ "rimraf": "$",
19
19
  <%_ if (config.includeTailwind) { _%>
20
- "tailwindcss": "^4.1.5",
20
+ "tailwindcss": "$",
21
21
  <%_ } _%>
22
- "typescript": "~5.8.0",
23
- "vitepress": "^1.6.3",
24
- "vue-tsc": "^2.2.8"
22
+ "typescript": "$",
23
+ "vitepress": "$",
24
+ "vue-tsc": "$"
25
25
  },
26
26
  "scripts": {
27
27
  "clean": "rimraf dist .vitepress/cache",
@@ -1,5 +1,5 @@
1
1
  {
2
- "extends": "@tsconfig/node22/tsconfig.json",
2
+ "extends": "@tsconfig/node24/tsconfig.json",
3
3
  "include": [".vitepress/config.*"],
4
4
  "compilerOptions": {
5
5
  "noEmit": true,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skirtle/create-vue-lib",
3
- "version": "0.0.10",
3
+ "version": "0.1.1",
4
4
  "author": "skirtle",
5
5
  "license": "MIT",
6
6
  "description": "Create a library using Vue and Vite",
@@ -26,19 +26,19 @@
26
26
  "dist"
27
27
  ],
28
28
  "devDependencies": {
29
- "@tsconfig/node22": "^22.0.0",
29
+ "@tsconfig/node24": "^24.0.3",
30
30
  "@types/ejs": "^3.1.5",
31
- "@types/node": "^22.13.9",
31
+ "@types/node": "^24.10.4",
32
32
  "@types/prompts": "^2.4.9",
33
33
  "copyfiles": "^2.4.1",
34
34
  "ejs": "^3.1.10",
35
- "npm-run-all2": "^7.0.2",
35
+ "npm-run-all2": "^8.0.4",
36
36
  "picocolors": "^1.1.1",
37
37
  "prompts": "^2.4.2",
38
- "publint": "^0.3.8",
39
- "rimraf": "^6.0.1",
40
- "tsup": "^8.4.0",
41
- "typescript": "~5.8.0"
38
+ "publint": "^0.3.16",
39
+ "rimraf": "^6.1.2",
40
+ "tsup": "^8.5.1",
41
+ "typescript": "~5.9.3"
42
42
  },
43
43
  "scripts": {
44
44
  "clean": "rimraf dist LICENSE README.md",