@cbnventures/nova 0.12.0 → 0.13.0

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 (183) hide show
  1. package/build/eslint.config.d.ts +32 -1
  2. package/build/eslint.config.d.ts.map +1 -1
  3. package/build/eslint.config.js +9 -1
  4. package/build/eslint.config.js.map +1 -1
  5. package/build/package.json +63 -59
  6. package/build/src/api/node-releases.d.ts +7 -0
  7. package/build/src/api/node-releases.d.ts.map +1 -0
  8. package/build/src/api/node-releases.js +67 -0
  9. package/build/src/api/node-releases.js.map +1 -0
  10. package/build/src/api/spdx-licenses.d.ts +7 -0
  11. package/build/src/api/spdx-licenses.d.ts.map +1 -0
  12. package/build/src/api/spdx-licenses.js +43 -0
  13. package/build/src/api/spdx-licenses.js.map +1 -0
  14. package/build/src/cli/index.js +60 -18
  15. package/build/src/cli/index.js.map +1 -1
  16. package/build/src/cli/recipe/pin-versions.d.ts +7 -0
  17. package/build/src/cli/recipe/pin-versions.d.ts.map +1 -0
  18. package/build/src/cli/recipe/pin-versions.js +145 -0
  19. package/build/src/cli/recipe/pin-versions.js.map +1 -0
  20. package/build/src/cli/recipe/sync-lts-engines.d.ts +6 -0
  21. package/build/src/cli/recipe/sync-lts-engines.d.ts.map +1 -0
  22. package/build/src/cli/recipe/sync-lts-engines.js +118 -0
  23. package/build/src/cli/recipe/sync-lts-engines.js.map +1 -0
  24. package/build/src/cli/recipe/sync-packages.d.ts +18 -0
  25. package/build/src/cli/recipe/sync-packages.d.ts.map +1 -0
  26. package/build/src/cli/recipe/sync-packages.js +1212 -0
  27. package/build/src/cli/recipe/sync-packages.js.map +1 -0
  28. package/build/src/cli/utility/changelog.d.ts +11 -0
  29. package/build/src/cli/utility/changelog.d.ts.map +1 -0
  30. package/build/src/cli/utility/changelog.js +670 -0
  31. package/build/src/cli/utility/changelog.js.map +1 -0
  32. package/build/src/cli/utility/initialize.d.ts +9 -5
  33. package/build/src/cli/utility/initialize.d.ts.map +1 -1
  34. package/build/src/cli/utility/initialize.js +478 -210
  35. package/build/src/cli/utility/initialize.js.map +1 -1
  36. package/build/src/cli/utility/type-check.d.ts +9 -0
  37. package/build/src/cli/utility/type-check.d.ts.map +1 -0
  38. package/build/src/cli/utility/type-check.js +59 -0
  39. package/build/src/cli/utility/type-check.js.map +1 -0
  40. package/build/src/cli/utility/version.d.ts +2 -2
  41. package/build/src/cli/utility/version.d.ts.map +1 -1
  42. package/build/src/cli/utility/version.js +107 -68
  43. package/build/src/cli/utility/version.js.map +1 -1
  44. package/build/src/lib/item.d.ts +23 -5
  45. package/build/src/lib/item.d.ts.map +1 -1
  46. package/build/src/lib/item.js +329 -4
  47. package/build/src/lib/item.js.map +1 -1
  48. package/build/src/lib/nova-config.d.ts +4 -4
  49. package/build/src/lib/nova-config.d.ts.map +1 -1
  50. package/build/src/lib/nova-config.js +76 -88
  51. package/build/src/lib/nova-config.js.map +1 -1
  52. package/build/src/lib/regex.d.ts +9 -1
  53. package/build/src/lib/regex.d.ts.map +1 -1
  54. package/build/src/lib/regex.js +9 -1
  55. package/build/src/lib/regex.js.map +1 -1
  56. package/build/src/lib/schema.d.ts +18 -0
  57. package/build/src/lib/schema.d.ts.map +1 -0
  58. package/build/src/lib/schema.js +13 -0
  59. package/build/src/lib/schema.js.map +1 -0
  60. package/build/src/lib/utility.d.ts +9 -1
  61. package/build/src/lib/utility.d.ts.map +1 -1
  62. package/build/src/lib/utility.js +219 -40
  63. package/build/src/lib/utility.js.map +1 -1
  64. package/build/src/presets/eslint/dx-code-style.d.mts.map +1 -1
  65. package/build/src/presets/eslint/dx-code-style.mjs +0 -20
  66. package/build/src/presets/eslint/dx-code-style.mjs.map +1 -1
  67. package/build/src/presets/eslint/lang-mdx.d.mts.map +1 -1
  68. package/build/src/presets/eslint/lang-mdx.mjs +0 -21
  69. package/build/src/presets/eslint/lang-mdx.mjs.map +1 -1
  70. package/build/src/presets/tsconfig/dx-strict.json +2 -1
  71. package/build/src/rules/eslint/index.d.ts +4 -0
  72. package/build/src/rules/eslint/index.d.ts.map +1 -1
  73. package/build/src/rules/eslint/index.js +4 -0
  74. package/build/src/rules/eslint/index.js.map +1 -1
  75. package/build/src/rules/eslint/no-logger-dev.d.ts +3 -1
  76. package/build/src/rules/eslint/no-logger-dev.d.ts.map +1 -1
  77. package/build/src/rules/eslint/no-logger-dev.js +4 -4
  78. package/build/src/rules/eslint/no-logger-dev.js.map +1 -1
  79. package/build/src/rules/eslint/no-raw-text-in-code.d.ts +6 -0
  80. package/build/src/rules/eslint/no-raw-text-in-code.d.ts.map +1 -0
  81. package/build/src/rules/eslint/no-raw-text-in-code.js +34 -0
  82. package/build/src/rules/eslint/no-raw-text-in-code.js.map +1 -0
  83. package/build/src/rules/eslint/no-regex-literal-flags.d.ts +6 -0
  84. package/build/src/rules/eslint/no-regex-literal-flags.d.ts.map +1 -0
  85. package/build/src/rules/eslint/no-regex-literal-flags.js +30 -0
  86. package/build/src/rules/eslint/no-regex-literal-flags.js.map +1 -0
  87. package/build/src/rules/eslint/no-regex-literals.d.ts +9 -0
  88. package/build/src/rules/eslint/no-regex-literals.d.ts.map +1 -0
  89. package/build/src/rules/eslint/no-regex-literals.js +55 -0
  90. package/build/src/rules/eslint/no-regex-literals.js.map +1 -0
  91. package/build/src/rules/eslint/switch-case-blocks.d.ts +6 -0
  92. package/build/src/rules/eslint/switch-case-blocks.d.ts.map +1 -0
  93. package/build/src/rules/eslint/switch-case-blocks.js +36 -0
  94. package/build/src/rules/eslint/switch-case-blocks.js.map +1 -0
  95. package/build/src/tests/api/node-releases.test.d.ts +2 -0
  96. package/build/src/tests/api/node-releases.test.d.ts.map +1 -0
  97. package/build/src/tests/api/node-releases.test.js +193 -0
  98. package/build/src/tests/api/node-releases.test.js.map +1 -0
  99. package/build/src/tests/api/spdx-licenses.test.d.ts +2 -0
  100. package/build/src/tests/api/spdx-licenses.test.d.ts.map +1 -0
  101. package/build/src/tests/api/spdx-licenses.test.js +91 -0
  102. package/build/src/tests/api/spdx-licenses.test.js.map +1 -0
  103. package/build/src/tests/cli/recipe/pin-versions.test.d.ts +2 -0
  104. package/build/src/tests/cli/recipe/pin-versions.test.d.ts.map +1 -0
  105. package/build/src/tests/cli/recipe/pin-versions.test.js +197 -0
  106. package/build/src/tests/cli/recipe/pin-versions.test.js.map +1 -0
  107. package/build/src/tests/cli/recipe/sync-lts-engines.test.d.ts +2 -0
  108. package/build/src/tests/cli/recipe/sync-lts-engines.test.d.ts.map +1 -0
  109. package/build/src/tests/cli/recipe/sync-lts-engines.test.js +131 -0
  110. package/build/src/tests/cli/recipe/sync-lts-engines.test.js.map +1 -0
  111. package/build/src/tests/lib/item.test.d.ts +2 -0
  112. package/build/src/tests/lib/item.test.d.ts.map +1 -0
  113. package/build/src/tests/lib/item.test.js +142 -0
  114. package/build/src/tests/lib/item.test.js.map +1 -0
  115. package/build/src/tests/lib/nova-config.test.d.ts +2 -0
  116. package/build/src/tests/lib/nova-config.test.d.ts.map +1 -0
  117. package/build/src/tests/lib/nova-config.test.js +489 -0
  118. package/build/src/tests/lib/nova-config.test.js.map +1 -0
  119. package/build/src/tests/lib/regex.test.d.ts +2 -0
  120. package/build/src/tests/lib/regex.test.d.ts.map +1 -0
  121. package/build/src/tests/lib/regex.test.js +342 -0
  122. package/build/src/tests/lib/regex.test.js.map +1 -0
  123. package/build/src/tests/lib/schema.test.d.ts +2 -0
  124. package/build/src/tests/lib/schema.test.d.ts.map +1 -0
  125. package/build/src/tests/lib/schema.test.js +260 -0
  126. package/build/src/tests/lib/schema.test.js.map +1 -0
  127. package/build/src/tests/lib/utility.test.js +704 -44
  128. package/build/src/tests/lib/utility.test.js.map +1 -1
  129. package/build/src/tests/rules/eslint/no-logger-dev.test.d.ts +2 -0
  130. package/build/src/tests/rules/eslint/no-logger-dev.test.d.ts.map +1 -0
  131. package/build/src/tests/rules/eslint/no-logger-dev.test.js +55 -0
  132. package/build/src/tests/rules/eslint/no-logger-dev.test.js.map +1 -0
  133. package/build/src/tests/rules/eslint/no-raw-text-in-code.test.d.ts +2 -0
  134. package/build/src/tests/rules/eslint/no-raw-text-in-code.test.d.ts.map +1 -0
  135. package/build/src/tests/rules/eslint/no-raw-text-in-code.test.js +47 -0
  136. package/build/src/tests/rules/eslint/no-raw-text-in-code.test.js.map +1 -0
  137. package/build/src/tests/rules/eslint/no-regex-literal-flags.test.d.ts +2 -0
  138. package/build/src/tests/rules/eslint/no-regex-literal-flags.test.d.ts.map +1 -0
  139. package/build/src/tests/rules/eslint/no-regex-literal-flags.test.js +47 -0
  140. package/build/src/tests/rules/eslint/no-regex-literal-flags.test.js.map +1 -0
  141. package/build/src/tests/rules/eslint/no-regex-literals.test.d.ts +2 -0
  142. package/build/src/tests/rules/eslint/no-regex-literals.test.d.ts.map +1 -0
  143. package/build/src/tests/rules/eslint/no-regex-literals.test.js +49 -0
  144. package/build/src/tests/rules/eslint/no-regex-literals.test.js.map +1 -0
  145. package/build/src/tests/rules/eslint/switch-case-blocks.test.d.ts +2 -0
  146. package/build/src/tests/rules/eslint/switch-case-blocks.test.d.ts.map +1 -0
  147. package/build/src/tests/rules/eslint/switch-case-blocks.test.js +43 -0
  148. package/build/src/tests/rules/eslint/switch-case-blocks.test.js.map +1 -0
  149. package/build/src/tests/toolkit/cli-header.test.d.ts +2 -0
  150. package/build/src/tests/toolkit/cli-header.test.d.ts.map +1 -0
  151. package/build/src/tests/toolkit/cli-header.test.js +143 -0
  152. package/build/src/tests/toolkit/cli-header.test.js.map +1 -0
  153. package/build/src/tests/toolkit/logger.test.d.ts +2 -0
  154. package/build/src/tests/toolkit/logger.test.d.ts.map +1 -0
  155. package/build/src/tests/toolkit/logger.test.js +96 -0
  156. package/build/src/tests/toolkit/logger.test.js.map +1 -0
  157. package/build/src/tests/toolkit/markdown-table.test.d.ts +2 -0
  158. package/build/src/tests/toolkit/markdown-table.test.d.ts.map +1 -0
  159. package/build/src/tests/toolkit/markdown-table.test.js +138 -0
  160. package/build/src/tests/toolkit/markdown-table.test.js.map +1 -0
  161. package/build/src/toolkit/cli-header.d.ts +1 -0
  162. package/build/src/toolkit/cli-header.d.ts.map +1 -1
  163. package/build/src/toolkit/cli-header.js +24 -13
  164. package/build/src/toolkit/cli-header.js.map +1 -1
  165. package/build/src/toolkit/index.d.ts +1 -1
  166. package/build/src/toolkit/index.d.ts.map +1 -1
  167. package/build/src/toolkit/index.js +1 -1
  168. package/build/src/toolkit/index.js.map +1 -1
  169. package/build/src/toolkit/logger.d.ts.map +1 -1
  170. package/build/src/toolkit/logger.js +25 -10
  171. package/build/src/toolkit/logger.js.map +1 -1
  172. package/build/src/toolkit/markdown-table.d.ts.map +1 -1
  173. package/build/src/toolkit/markdown-table.js +3 -3
  174. package/build/src/toolkit/markdown-table.js.map +1 -1
  175. package/package.json +63 -59
  176. package/build/src/cli/recipe/sync-metadata.d.ts +0 -5
  177. package/build/src/cli/recipe/sync-metadata.d.ts.map +0 -1
  178. package/build/src/cli/recipe/sync-metadata.js +0 -7
  179. package/build/src/cli/recipe/sync-metadata.js.map +0 -1
  180. package/build/src/cli/recipe/sync-versions.d.ts +0 -5
  181. package/build/src/cli/recipe/sync-versions.d.ts.map +0 -1
  182. package/build/src/cli/recipe/sync-versions.js +0 -7
  183. package/build/src/cli/recipe/sync-versions.js.map +0 -1
package/package.json CHANGED
@@ -1,10 +1,49 @@
1
1
  {
2
2
  "name": "@cbnventures/nova",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "description": "Scripts, templates, and project configuration for the common JavaScript and TypeScript developer",
5
- "main": "",
6
- "bin": {
7
- "nova": "build/src/cli/index.js"
5
+ "keywords": [
6
+ "eslint",
7
+ "eslint-config",
8
+ "eslint-flat-config",
9
+ "typescript",
10
+ "tsconfig",
11
+ "tsconfig-presets",
12
+ "linting",
13
+ "code-style",
14
+ "scripts",
15
+ "templates",
16
+ "react",
17
+ "nextjs",
18
+ "node",
19
+ "monorepo"
20
+ ],
21
+ "license": "MIT",
22
+ "homepage": "https://cbnventures.github.io/nova/",
23
+ "bugs": {
24
+ "email": "bugs@cbnventures.io",
25
+ "url": "https://github.com/cbnventures/nova/issues"
26
+ },
27
+ "author": {
28
+ "name": "CBN Ventures",
29
+ "email": "contact@cbnventures.io",
30
+ "url": "https://www.cbnventures.io/"
31
+ },
32
+ "contributors": [
33
+ {
34
+ "name": "Jacky Liang",
35
+ "email": "hello@mrjackyliang.com",
36
+ "url": "https://www.mrjackyliang.com/"
37
+ }
38
+ ],
39
+ "funding": [
40
+ "https://github.com/sponsors/cbnventures",
41
+ "https://www.paypal.com/biz/profile/cbnventures"
42
+ ],
43
+ "repository": {
44
+ "type": "git",
45
+ "url": "git+https://github.com/cbnventures/nova.git",
46
+ "directory": "packages/nova"
8
47
  },
9
48
  "exports": {
10
49
  "./rules/eslint": "./build/src/rules/eslint/index.js",
@@ -27,6 +66,12 @@
27
66
  "./toolkit/*": "./build/src/presets/toolkit/*.js"
28
67
  },
29
68
  "type": "module",
69
+ "files": [
70
+ "./build"
71
+ ],
72
+ "bin": {
73
+ "nova": "./build/src/cli/index.js"
74
+ },
30
75
  "private": false,
31
76
  "scripts": {
32
77
  "dev": "npm-run-all --parallel dev:*",
@@ -40,79 +85,38 @@
40
85
  "build:copy-tsconfig": "shx cp -r \"./src/presets/tsconfig\" \"./build/src/presets/tsconfig\"",
41
86
  "check": "npm-run-all --sequential check:*",
42
87
  "check:lint": "eslint ./ --max-warnings=0",
43
- "check:types": "tsc --noEmit",
88
+ "check:types": "nova utility type-check",
44
89
  "check:test": "node --test ./build/src/tests/**/*.test.js",
45
90
  "clean": "npm-run-all --parallel clean:*",
46
91
  "clean:clear": "shx rm -rf ./build"
47
92
  },
48
- "repository": {
49
- "type": "git",
50
- "url": "git://github.com/cbnventures/nova.git"
51
- },
52
- "funding": [
53
- {
54
- "type": "github",
55
- "url": "https://github.com/sponsors/cbnventures"
56
- },
57
- {
58
- "type": "custom",
59
- "url": "https://www.cbnventures.io/paypal/"
60
- }
61
- ],
62
- "keywords": [
63
- "eslint",
64
- "eslint-config",
65
- "eslint-flat-config",
66
- "typescript",
67
- "tsconfig",
68
- "tsconfig-presets",
69
- "linting",
70
- "code-style",
71
- "scripts",
72
- "templates",
73
- "react",
74
- "nextjs",
75
- "node",
76
- "monorepo"
77
- ],
78
- "author": {
79
- "name": "Jacky Liang",
80
- "email": "hello@mrjackyliang.com",
81
- "url": "https://www.mrjackyliang.com"
82
- },
83
- "license": "MIT",
84
- "bugs": {
85
- "url": "https://github.com/cbnventures/nova/issues"
86
- },
87
- "files": [
88
- "./build"
89
- ],
90
- "homepage": "https://cbnventures.github.io/nova/",
91
93
  "engines": {
92
- "node": "^22"
94
+ "node": "^20 || ^22 || ^24"
93
95
  },
94
96
  "dependencies": {
95
- "@eslint/js": "9.38.0",
96
- "@stylistic/eslint-plugin": "5.5.0",
97
+ "@eslint/js": "9.39.3",
98
+ "@stylistic/eslint-plugin": "5.9.0",
97
99
  "chalk": "5.6.2",
98
- "commander": "14.0.1",
99
- "eslint-mdx": "3.6.2",
100
+ "commander": "14.0.3",
101
+ "eslint-mdx": "3.7.0",
100
102
  "eslint-plugin-import": "2.32.0",
101
103
  "eslint-plugin-jsx-a11y": "6.10.2",
102
- "eslint-plugin-mdx": "3.6.2",
103
- "eslint-plugin-n": "17.23.1",
104
+ "eslint-plugin-mdx": "3.7.0",
105
+ "eslint-plugin-n": "17.24.0",
104
106
  "eslint-plugin-react": "7.37.5",
105
- "eslint-plugin-react-hooks": "7.0.0",
106
- "globals": "16.4.0",
107
+ "eslint-plugin-react-hooks": "7.0.1",
108
+ "globals": "17.3.0",
107
109
  "prompts": "2.4.2",
108
- "typescript-eslint": "8.46.2"
110
+ "typescript-eslint": "8.56.1",
111
+ "zod": "4.3.6"
109
112
  },
110
113
  "devDependencies": {
111
114
  "@commander-js/extra-typings": "14.0.0",
112
115
  "@types/eslint-plugin-jsx-a11y": "6.10.1",
113
116
  "@types/node": "24.9.1",
114
117
  "@types/prompts": "2.4.9",
115
- "eslint": "9.38.0",
118
+ "@typescript-eslint/rule-tester": "8.56.1",
119
+ "eslint": "9.39.3",
116
120
  "eslint-import-resolver-typescript": "4.4.4",
117
121
  "npm-run-all": "4.1.5",
118
122
  "shx": "0.4.0",
@@ -1,5 +0,0 @@
1
- import type { CLIRecipeSyncMetadataRunOptions, CLIRecipeSyncMetadataRunReturns } from '@/types/cli/recipe.d.ts';
2
- export declare class CLIRecipeSyncMetadata {
3
- static run(options: CLIRecipeSyncMetadataRunOptions): CLIRecipeSyncMetadataRunReturns;
4
- }
5
- //# sourceMappingURL=sync-metadata.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync-metadata.d.ts","sourceRoot":"","sources":["../../../../src/cli/recipe/sync-metadata.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,+BAA+B,EAC/B,+BAA+B,EAChC,MAAM,yBAAyB,CAAC;AAOjC,qBAAa,qBAAqB;WAUZ,GAAG,CAAC,OAAO,EAAE,+BAA+B,GAAG,+BAA+B;CAGnG"}
@@ -1,7 +0,0 @@
1
- import { Logger } from '../../toolkit/index.js';
2
- export class CLIRecipeSyncMetadata {
3
- static async run(options) {
4
- Logger.debug(`cli recipe sync metadata - ${JSON.stringify(options, null, 2)}`);
5
- }
6
- }
7
- //# sourceMappingURL=sync-metadata.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync-metadata.js","sourceRoot":"","sources":["../../../../src/cli/recipe/sync-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAW5C,MAAM,OAAO,qBAAqB;IAUzB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAwC;QAC9D,MAAM,CAAC,KAAK,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;CACF"}
@@ -1,5 +0,0 @@
1
- import type { CLIRecipeSyncVersionsRunOptions, CLIRecipeSyncVersionsRunReturns } from '@/types/cli/recipe.d.ts';
2
- export declare class CLIRecipeSyncVersions {
3
- static run(options: CLIRecipeSyncVersionsRunOptions): CLIRecipeSyncVersionsRunReturns;
4
- }
5
- //# sourceMappingURL=sync-versions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync-versions.d.ts","sourceRoot":"","sources":["../../../../src/cli/recipe/sync-versions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,+BAA+B,EAC/B,+BAA+B,EAChC,MAAM,yBAAyB,CAAC;AAOjC,qBAAa,qBAAqB;WAUZ,GAAG,CAAC,OAAO,EAAE,+BAA+B,GAAG,+BAA+B;CAGnG"}
@@ -1,7 +0,0 @@
1
- import { Logger } from '../../toolkit/index.js';
2
- export class CLIRecipeSyncVersions {
3
- static async run(options) {
4
- Logger.debug(`cli recipe sync versions - ${JSON.stringify(options, null, 2)}`);
5
- }
6
- }
7
- //# sourceMappingURL=sync-versions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync-versions.js","sourceRoot":"","sources":["../../../../src/cli/recipe/sync-versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAW5C,MAAM,OAAO,qBAAqB;IAUzB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAwC;QAC9D,MAAM,CAAC,KAAK,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;CACF"}