@cbnventures/nova 0.13.1 → 0.14.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 (332) hide show
  1. package/build/package.json +9 -13
  2. package/build/src/api/node-releases.d.ts +1 -1
  3. package/build/src/api/spdx-licenses.d.ts +1 -1
  4. package/build/src/cli/index.js +155 -39
  5. package/build/src/cli/index.js.map +1 -1
  6. package/build/src/cli/recipe/index.d.ts +3 -0
  7. package/build/src/cli/recipe/index.d.ts.map +1 -0
  8. package/build/src/cli/recipe/index.js +57 -0
  9. package/build/src/cli/recipe/index.js.map +1 -0
  10. package/build/src/cli/recipe/package-json/cleanup.d.ts +8 -0
  11. package/build/src/cli/recipe/package-json/cleanup.d.ts.map +1 -0
  12. package/build/src/cli/recipe/package-json/cleanup.js +174 -0
  13. package/build/src/cli/recipe/package-json/cleanup.js.map +1 -0
  14. package/build/src/cli/recipe/package-json/normalize-artifacts.d.ts +8 -0
  15. package/build/src/cli/recipe/package-json/normalize-artifacts.d.ts.map +1 -0
  16. package/build/src/cli/recipe/package-json/normalize-artifacts.js +242 -0
  17. package/build/src/cli/recipe/package-json/normalize-artifacts.js.map +1 -0
  18. package/build/src/cli/recipe/package-json/normalize-bundler.d.ts +6 -0
  19. package/build/src/cli/recipe/package-json/normalize-bundler.d.ts.map +1 -0
  20. package/build/src/cli/recipe/package-json/normalize-bundler.js +145 -0
  21. package/build/src/cli/recipe/package-json/normalize-bundler.js.map +1 -0
  22. package/build/src/cli/recipe/package-json/normalize-dependencies.d.ts +9 -0
  23. package/build/src/cli/recipe/package-json/normalize-dependencies.d.ts.map +1 -0
  24. package/build/src/cli/recipe/package-json/normalize-dependencies.js +262 -0
  25. package/build/src/cli/recipe/package-json/normalize-dependencies.js.map +1 -0
  26. package/build/src/cli/recipe/package-json/normalize-modules.d.ts +6 -0
  27. package/build/src/cli/recipe/package-json/normalize-modules.d.ts.map +1 -0
  28. package/build/src/cli/recipe/package-json/normalize-modules.js +249 -0
  29. package/build/src/cli/recipe/package-json/normalize-modules.js.map +1 -0
  30. package/build/src/cli/recipe/package-json/normalize-tooling.d.ts +7 -0
  31. package/build/src/cli/recipe/package-json/normalize-tooling.d.ts.map +1 -0
  32. package/build/src/cli/recipe/package-json/normalize-tooling.js +168 -0
  33. package/build/src/cli/recipe/package-json/normalize-tooling.js.map +1 -0
  34. package/build/src/cli/recipe/package-json/sync-environment.d.ts +9 -0
  35. package/build/src/cli/recipe/package-json/sync-environment.d.ts.map +1 -0
  36. package/build/src/cli/recipe/package-json/sync-environment.js +286 -0
  37. package/build/src/cli/recipe/package-json/sync-environment.js.map +1 -0
  38. package/build/src/cli/recipe/package-json/sync-identity.d.ts +6 -0
  39. package/build/src/cli/recipe/package-json/sync-identity.d.ts.map +1 -0
  40. package/build/src/cli/recipe/package-json/sync-identity.js +219 -0
  41. package/build/src/cli/recipe/package-json/sync-identity.js.map +1 -0
  42. package/build/src/cli/recipe/package-json/sync-ownership.d.ts +6 -0
  43. package/build/src/cli/recipe/package-json/sync-ownership.d.ts.map +1 -0
  44. package/build/src/cli/recipe/package-json/sync-ownership.js +349 -0
  45. package/build/src/cli/recipe/package-json/sync-ownership.js.map +1 -0
  46. package/build/src/cli/utility/changelog.d.ts +1 -1
  47. package/build/src/cli/utility/changelog.d.ts.map +1 -1
  48. package/build/src/cli/utility/changelog.js +10 -10
  49. package/build/src/cli/utility/changelog.js.map +1 -1
  50. package/build/src/cli/utility/initialize.d.ts +1 -1
  51. package/build/src/cli/utility/initialize.d.ts.map +1 -1
  52. package/build/src/cli/utility/initialize.js +259 -74
  53. package/build/src/cli/utility/initialize.js.map +1 -1
  54. package/build/src/cli/utility/run-recipes.d.ts +5 -0
  55. package/build/src/cli/utility/run-recipes.d.ts.map +1 -0
  56. package/build/src/cli/utility/run-recipes.js +42 -0
  57. package/build/src/cli/utility/run-recipes.js.map +1 -0
  58. package/build/src/cli/utility/run-scripts.d.ts +10 -0
  59. package/build/src/cli/utility/run-scripts.d.ts.map +1 -0
  60. package/build/src/cli/utility/run-scripts.js +160 -0
  61. package/build/src/cli/utility/run-scripts.js.map +1 -0
  62. package/build/src/cli/utility/transpile.d.ts +9 -0
  63. package/build/src/cli/utility/transpile.d.ts.map +1 -0
  64. package/build/src/cli/utility/transpile.js +59 -0
  65. package/build/src/cli/utility/transpile.js.map +1 -0
  66. package/build/src/cli/utility/type-check.d.ts +1 -1
  67. package/build/src/cli/utility/type-check.d.ts.map +1 -1
  68. package/build/src/cli/utility/type-check.js +3 -3
  69. package/build/src/cli/utility/type-check.js.map +1 -1
  70. package/build/src/cli/utility/version.d.ts +1 -1
  71. package/build/src/cli/utility/version.d.ts.map +1 -1
  72. package/build/src/cli/utility/version.js.map +1 -1
  73. package/build/src/lib/item.d.ts +7 -2
  74. package/build/src/lib/item.d.ts.map +1 -1
  75. package/build/src/lib/item.js +37 -10
  76. package/build/src/lib/item.js.map +1 -1
  77. package/build/src/lib/nova-config.d.ts +2 -2
  78. package/build/src/lib/nova-config.d.ts.map +1 -1
  79. package/build/src/lib/nova-config.js +46 -21
  80. package/build/src/lib/nova-config.js.map +1 -1
  81. package/build/src/lib/utility.d.ts +1 -1
  82. package/build/src/lib/utility.d.ts.map +1 -1
  83. package/build/src/lib/utility.js +9 -6
  84. package/build/src/lib/utility.js.map +1 -1
  85. package/build/src/presets/eslint/dx-code-style.d.mts +1 -1
  86. package/build/src/presets/eslint/dx-ignore.d.mts +1 -1
  87. package/build/src/presets/eslint/env-browser.d.mts +1 -1
  88. package/build/src/presets/eslint/env-edge.d.mts +1 -1
  89. package/build/src/presets/eslint/env-node.d.mts +1 -1
  90. package/build/src/presets/eslint/env-service-worker.d.mts +1 -1
  91. package/build/src/presets/eslint/env-web-worker.d.mts +1 -1
  92. package/build/src/presets/eslint/fw-docusaurus.d.mts +1 -1
  93. package/build/src/presets/eslint/fw-expressjs.d.mts +1 -1
  94. package/build/src/presets/eslint/fw-nextjs.d.mts +1 -1
  95. package/build/src/presets/eslint/lang-javascript.d.mts +1 -1
  96. package/build/src/presets/eslint/lang-mdx.d.mts +1 -1
  97. package/build/src/presets/eslint/lang-typescript.d.mts +1 -1
  98. package/build/src/presets/eslint/platform-cloudflare-workers.d.mts +1 -1
  99. package/build/src/presets/eslint/tool-vite.d.mts +1 -1
  100. package/build/src/rules/eslint/formatting/no-raw-text-in-code.d.ts.map +1 -0
  101. package/build/src/rules/eslint/{no-raw-text-in-code.js → formatting/no-raw-text-in-code.js} +1 -1
  102. package/build/src/rules/eslint/formatting/no-raw-text-in-code.js.map +1 -0
  103. package/build/src/rules/eslint/formatting/require-padding-lines.d.ts +13 -0
  104. package/build/src/rules/eslint/formatting/require-padding-lines.d.ts.map +1 -0
  105. package/build/src/rules/eslint/formatting/require-padding-lines.js +173 -0
  106. package/build/src/rules/eslint/formatting/require-padding-lines.js.map +1 -0
  107. package/build/src/rules/eslint/index.d.ts +14 -5
  108. package/build/src/rules/eslint/index.d.ts.map +1 -1
  109. package/build/src/rules/eslint/index.js +14 -5
  110. package/build/src/rules/eslint/index.js.map +1 -1
  111. package/build/src/rules/eslint/nova/no-logger-dev.d.ts.map +1 -0
  112. package/build/src/rules/eslint/{no-logger-dev.js → nova/no-logger-dev.js} +6 -4
  113. package/build/src/rules/eslint/nova/no-logger-dev.js.map +1 -0
  114. package/build/src/rules/eslint/patterns/no-assign-then-return.d.ts +6 -0
  115. package/build/src/rules/eslint/patterns/no-assign-then-return.d.ts.map +1 -0
  116. package/build/src/rules/eslint/patterns/no-assign-then-return.js +55 -0
  117. package/build/src/rules/eslint/patterns/no-assign-then-return.js.map +1 -0
  118. package/build/src/rules/eslint/patterns/no-bracket-assignment.d.ts +6 -0
  119. package/build/src/rules/eslint/patterns/no-bracket-assignment.d.ts.map +1 -0
  120. package/build/src/rules/eslint/patterns/no-bracket-assignment.js +31 -0
  121. package/build/src/rules/eslint/patterns/no-bracket-assignment.js.map +1 -0
  122. package/build/src/rules/eslint/patterns/no-destructuring.d.ts +13 -0
  123. package/build/src/rules/eslint/patterns/no-destructuring.d.ts.map +1 -0
  124. package/build/src/rules/eslint/patterns/no-destructuring.js +177 -0
  125. package/build/src/rules/eslint/patterns/no-destructuring.js.map +1 -0
  126. package/build/src/rules/eslint/patterns/no-implicit-boolean.d.ts +6 -0
  127. package/build/src/rules/eslint/patterns/no-implicit-boolean.d.ts.map +1 -0
  128. package/build/src/rules/eslint/patterns/no-implicit-boolean.js +62 -0
  129. package/build/src/rules/eslint/patterns/no-implicit-boolean.js.map +1 -0
  130. package/build/src/rules/eslint/patterns/no-ternary-in-template-literal.d.ts +6 -0
  131. package/build/src/rules/eslint/patterns/no-ternary-in-template-literal.d.ts.map +1 -0
  132. package/build/src/rules/eslint/patterns/no-ternary-in-template-literal.js +32 -0
  133. package/build/src/rules/eslint/patterns/no-ternary-in-template-literal.js.map +1 -0
  134. package/build/src/rules/eslint/patterns/switch-case-blocks.d.ts.map +1 -0
  135. package/build/src/rules/eslint/{switch-case-blocks.js → patterns/switch-case-blocks.js} +2 -2
  136. package/build/src/rules/eslint/patterns/switch-case-blocks.js.map +1 -0
  137. package/build/src/rules/eslint/regex/no-regex-literal-flags.d.ts.map +1 -0
  138. package/build/src/rules/eslint/regex/no-regex-literal-flags.js.map +1 -0
  139. package/build/src/rules/eslint/{no-regex-literals.d.ts → regex/no-regex-literals.d.ts} +1 -1
  140. package/build/src/rules/eslint/regex/no-regex-literals.d.ts.map +1 -0
  141. package/build/src/rules/eslint/{no-regex-literals.js → regex/no-regex-literals.js} +4 -4
  142. package/build/src/rules/eslint/regex/no-regex-literals.js.map +1 -0
  143. package/build/src/rules/eslint/typescript/no-catch-unknown-annotation.d.ts +6 -0
  144. package/build/src/rules/eslint/typescript/no-catch-unknown-annotation.d.ts.map +1 -0
  145. package/build/src/rules/eslint/typescript/no-catch-unknown-annotation.js +38 -0
  146. package/build/src/rules/eslint/typescript/no-catch-unknown-annotation.js.map +1 -0
  147. package/build/src/rules/eslint/typescript/no-inline-type-annotation.d.ts +6 -0
  148. package/build/src/rules/eslint/typescript/no-inline-type-annotation.d.ts.map +1 -0
  149. package/build/src/rules/eslint/typescript/no-inline-type-annotation.js +36 -0
  150. package/build/src/rules/eslint/typescript/no-inline-type-annotation.js.map +1 -0
  151. package/build/src/rules/eslint/typescript/no-shared-type-import.d.ts +9 -0
  152. package/build/src/rules/eslint/typescript/no-shared-type-import.d.ts.map +1 -0
  153. package/build/src/rules/eslint/typescript/no-shared-type-import.js +57 -0
  154. package/build/src/rules/eslint/typescript/no-shared-type-import.js.map +1 -0
  155. package/build/src/tests/cli/recipe/package-json/cleanup.test.d.ts +2 -0
  156. package/build/src/tests/cli/recipe/package-json/cleanup.test.d.ts.map +1 -0
  157. package/build/src/tests/cli/recipe/package-json/cleanup.test.js +240 -0
  158. package/build/src/tests/cli/recipe/package-json/cleanup.test.js.map +1 -0
  159. package/build/src/tests/cli/recipe/package-json/normalize-artifacts.test.d.ts +2 -0
  160. package/build/src/tests/cli/recipe/package-json/normalize-artifacts.test.d.ts.map +1 -0
  161. package/build/src/tests/cli/recipe/package-json/normalize-artifacts.test.js +161 -0
  162. package/build/src/tests/cli/recipe/package-json/normalize-artifacts.test.js.map +1 -0
  163. package/build/src/tests/cli/recipe/package-json/normalize-bundler.test.d.ts +2 -0
  164. package/build/src/tests/cli/recipe/package-json/normalize-bundler.test.d.ts.map +1 -0
  165. package/build/src/tests/cli/recipe/package-json/normalize-bundler.test.js +161 -0
  166. package/build/src/tests/cli/recipe/package-json/normalize-bundler.test.js.map +1 -0
  167. package/build/src/tests/cli/recipe/package-json/normalize-dependencies.test.d.ts +2 -0
  168. package/build/src/tests/cli/recipe/package-json/normalize-dependencies.test.d.ts.map +1 -0
  169. package/build/src/tests/cli/recipe/package-json/normalize-dependencies.test.js +175 -0
  170. package/build/src/tests/cli/recipe/package-json/normalize-dependencies.test.js.map +1 -0
  171. package/build/src/tests/cli/recipe/package-json/normalize-modules.test.d.ts +2 -0
  172. package/build/src/tests/cli/recipe/package-json/normalize-modules.test.d.ts.map +1 -0
  173. package/build/src/tests/cli/recipe/package-json/normalize-modules.test.js +164 -0
  174. package/build/src/tests/cli/recipe/package-json/normalize-modules.test.js.map +1 -0
  175. package/build/src/tests/cli/recipe/package-json/normalize-tooling.test.d.ts +2 -0
  176. package/build/src/tests/cli/recipe/package-json/normalize-tooling.test.d.ts.map +1 -0
  177. package/build/src/tests/cli/recipe/package-json/normalize-tooling.test.js +193 -0
  178. package/build/src/tests/cli/recipe/package-json/normalize-tooling.test.js.map +1 -0
  179. package/build/src/tests/cli/recipe/package-json/sync-environment.test.d.ts +2 -0
  180. package/build/src/tests/cli/recipe/package-json/sync-environment.test.d.ts.map +1 -0
  181. package/build/src/tests/cli/recipe/package-json/sync-environment.test.js +158 -0
  182. package/build/src/tests/cli/recipe/package-json/sync-environment.test.js.map +1 -0
  183. package/build/src/tests/cli/recipe/package-json/sync-identity.test.d.ts +2 -0
  184. package/build/src/tests/cli/recipe/package-json/sync-identity.test.d.ts.map +1 -0
  185. package/build/src/tests/cli/recipe/package-json/sync-identity.test.js +156 -0
  186. package/build/src/tests/cli/recipe/package-json/sync-identity.test.js.map +1 -0
  187. package/build/src/tests/cli/recipe/package-json/sync-ownership.test.d.ts +2 -0
  188. package/build/src/tests/cli/recipe/package-json/sync-ownership.test.d.ts.map +1 -0
  189. package/build/src/tests/cli/recipe/package-json/sync-ownership.test.js +164 -0
  190. package/build/src/tests/cli/recipe/package-json/sync-ownership.test.js.map +1 -0
  191. package/build/src/tests/cli/utility/changelog.test.d.ts +2 -0
  192. package/build/src/tests/cli/utility/changelog.test.d.ts.map +1 -0
  193. package/build/src/tests/cli/utility/changelog.test.js +274 -0
  194. package/build/src/tests/cli/utility/changelog.test.js.map +1 -0
  195. package/build/src/tests/cli/utility/initialize.test.d.ts +2 -0
  196. package/build/src/tests/cli/utility/initialize.test.d.ts.map +1 -0
  197. package/build/src/tests/cli/utility/initialize.test.js +27 -0
  198. package/build/src/tests/cli/utility/initialize.test.js.map +1 -0
  199. package/build/src/tests/cli/utility/run-recipes.test.d.ts +2 -0
  200. package/build/src/tests/cli/utility/run-recipes.test.d.ts.map +1 -0
  201. package/build/src/tests/cli/utility/run-recipes.test.js +41 -0
  202. package/build/src/tests/cli/utility/run-recipes.test.js.map +1 -0
  203. package/build/src/tests/cli/utility/run-scripts.test.d.ts +2 -0
  204. package/build/src/tests/cli/utility/run-scripts.test.d.ts.map +1 -0
  205. package/build/src/tests/cli/utility/run-scripts.test.js +153 -0
  206. package/build/src/tests/cli/utility/run-scripts.test.js.map +1 -0
  207. package/build/src/tests/cli/utility/transpile.test.d.ts +2 -0
  208. package/build/src/tests/cli/utility/transpile.test.d.ts.map +1 -0
  209. package/build/src/tests/cli/utility/transpile.test.js +65 -0
  210. package/build/src/tests/cli/utility/transpile.test.js.map +1 -0
  211. package/build/src/tests/cli/utility/type-check.test.d.ts +2 -0
  212. package/build/src/tests/cli/utility/type-check.test.d.ts.map +1 -0
  213. package/build/src/tests/cli/utility/type-check.test.js +63 -0
  214. package/build/src/tests/cli/utility/type-check.test.js.map +1 -0
  215. package/build/src/tests/cli/utility/version.test.d.ts +2 -0
  216. package/build/src/tests/cli/utility/version.test.d.ts.map +1 -0
  217. package/build/src/tests/cli/utility/version.test.js +38 -0
  218. package/build/src/tests/cli/utility/version.test.js.map +1 -0
  219. package/build/src/tests/lib/item.test.js +8 -8
  220. package/build/src/tests/lib/item.test.js.map +1 -1
  221. package/build/src/tests/lib/nova-config.test.js +53 -26
  222. package/build/src/tests/lib/nova-config.test.js.map +1 -1
  223. package/build/src/tests/rules/eslint/formatting/no-raw-text-in-code.test.d.ts.map +1 -0
  224. package/build/src/tests/rules/eslint/{no-raw-text-in-code.test.js → formatting/no-raw-text-in-code.test.js} +1 -1
  225. package/build/src/tests/rules/eslint/formatting/no-raw-text-in-code.test.js.map +1 -0
  226. package/build/src/tests/rules/eslint/formatting/require-padding-lines.test.d.ts +2 -0
  227. package/build/src/tests/rules/eslint/formatting/require-padding-lines.test.d.ts.map +1 -0
  228. package/build/src/tests/rules/eslint/formatting/require-padding-lines.test.js +131 -0
  229. package/build/src/tests/rules/eslint/formatting/require-padding-lines.test.js.map +1 -0
  230. package/build/src/tests/rules/eslint/nova/no-logger-dev.test.d.ts.map +1 -0
  231. package/build/src/tests/rules/eslint/{no-logger-dev.test.js → nova/no-logger-dev.test.js} +1 -1
  232. package/build/src/tests/rules/eslint/nova/no-logger-dev.test.js.map +1 -0
  233. package/build/src/tests/rules/eslint/patterns/no-assign-then-return.test.d.ts +2 -0
  234. package/build/src/tests/rules/eslint/patterns/no-assign-then-return.test.d.ts.map +1 -0
  235. package/build/src/tests/rules/eslint/patterns/no-assign-then-return.test.js +39 -0
  236. package/build/src/tests/rules/eslint/patterns/no-assign-then-return.test.js.map +1 -0
  237. package/build/src/tests/rules/eslint/patterns/no-bracket-assignment.test.d.ts +2 -0
  238. package/build/src/tests/rules/eslint/patterns/no-bracket-assignment.test.d.ts.map +1 -0
  239. package/build/src/tests/rules/eslint/patterns/no-bracket-assignment.test.js +40 -0
  240. package/build/src/tests/rules/eslint/patterns/no-bracket-assignment.test.js.map +1 -0
  241. package/build/src/tests/rules/eslint/patterns/no-destructuring.test.d.ts +2 -0
  242. package/build/src/tests/rules/eslint/patterns/no-destructuring.test.d.ts.map +1 -0
  243. package/build/src/tests/rules/eslint/patterns/no-destructuring.test.js +86 -0
  244. package/build/src/tests/rules/eslint/patterns/no-destructuring.test.js.map +1 -0
  245. package/build/src/tests/rules/eslint/patterns/no-implicit-boolean.test.d.ts +2 -0
  246. package/build/src/tests/rules/eslint/patterns/no-implicit-boolean.test.d.ts.map +1 -0
  247. package/build/src/tests/rules/eslint/patterns/no-implicit-boolean.test.js +76 -0
  248. package/build/src/tests/rules/eslint/patterns/no-implicit-boolean.test.js.map +1 -0
  249. package/build/src/tests/rules/eslint/patterns/no-ternary-in-template-literal.test.d.ts +2 -0
  250. package/build/src/tests/rules/eslint/patterns/no-ternary-in-template-literal.test.d.ts.map +1 -0
  251. package/build/src/tests/rules/eslint/patterns/no-ternary-in-template-literal.test.js +42 -0
  252. package/build/src/tests/rules/eslint/patterns/no-ternary-in-template-literal.test.js.map +1 -0
  253. package/build/src/tests/rules/eslint/patterns/switch-case-blocks.test.d.ts.map +1 -0
  254. package/build/src/tests/rules/eslint/{switch-case-blocks.test.js → patterns/switch-case-blocks.test.js} +1 -1
  255. package/build/src/tests/rules/eslint/patterns/switch-case-blocks.test.js.map +1 -0
  256. package/build/src/tests/rules/eslint/regex/no-regex-literal-flags.test.d.ts.map +1 -0
  257. package/build/src/tests/rules/eslint/{no-regex-literal-flags.test.js → regex/no-regex-literal-flags.test.js} +1 -1
  258. package/build/src/tests/rules/eslint/regex/no-regex-literal-flags.test.js.map +1 -0
  259. package/build/src/tests/rules/eslint/regex/no-regex-literals.test.d.ts.map +1 -0
  260. package/build/src/tests/rules/eslint/{no-regex-literals.test.js → regex/no-regex-literals.test.js} +1 -1
  261. package/build/src/tests/rules/eslint/regex/no-regex-literals.test.js.map +1 -0
  262. package/build/src/tests/rules/eslint/typescript/no-catch-unknown-annotation.test.d.ts +2 -0
  263. package/build/src/tests/rules/eslint/typescript/no-catch-unknown-annotation.test.d.ts.map +1 -0
  264. package/build/src/tests/rules/eslint/typescript/no-catch-unknown-annotation.test.js +34 -0
  265. package/build/src/tests/rules/eslint/typescript/no-catch-unknown-annotation.test.js.map +1 -0
  266. package/build/src/tests/rules/eslint/typescript/no-inline-type-annotation.test.d.ts +2 -0
  267. package/build/src/tests/rules/eslint/typescript/no-inline-type-annotation.test.d.ts.map +1 -0
  268. package/build/src/tests/rules/eslint/typescript/no-inline-type-annotation.test.js +55 -0
  269. package/build/src/tests/rules/eslint/typescript/no-inline-type-annotation.test.js.map +1 -0
  270. package/build/src/tests/rules/eslint/typescript/no-shared-type-import.test.d.ts +2 -0
  271. package/build/src/tests/rules/eslint/typescript/no-shared-type-import.test.d.ts.map +1 -0
  272. package/build/src/tests/rules/eslint/typescript/no-shared-type-import.test.js +51 -0
  273. package/build/src/tests/rules/eslint/typescript/no-shared-type-import.test.js.map +1 -0
  274. package/build/src/toolkit/cli-header.d.ts +1 -1
  275. package/build/src/toolkit/cli-header.js +1 -1
  276. package/build/src/toolkit/logger.d.ts +1 -1
  277. package/build/src/toolkit/markdown-table.d.ts +1 -1
  278. package/package.json +9 -13
  279. package/build/eslint.config.d.ts +0 -34
  280. package/build/eslint.config.d.ts.map +0 -1
  281. package/build/eslint.config.js +0 -40
  282. package/build/eslint.config.js.map +0 -1
  283. package/build/src/cli/recipe/pin-versions.d.ts +0 -7
  284. package/build/src/cli/recipe/pin-versions.d.ts.map +0 -1
  285. package/build/src/cli/recipe/pin-versions.js +0 -145
  286. package/build/src/cli/recipe/pin-versions.js.map +0 -1
  287. package/build/src/cli/recipe/sync-lts-engines.d.ts +0 -6
  288. package/build/src/cli/recipe/sync-lts-engines.d.ts.map +0 -1
  289. package/build/src/cli/recipe/sync-lts-engines.js +0 -118
  290. package/build/src/cli/recipe/sync-lts-engines.js.map +0 -1
  291. package/build/src/cli/recipe/sync-packages.d.ts +0 -18
  292. package/build/src/cli/recipe/sync-packages.d.ts.map +0 -1
  293. package/build/src/cli/recipe/sync-packages.js +0 -1212
  294. package/build/src/cli/recipe/sync-packages.js.map +0 -1
  295. package/build/src/rules/eslint/no-logger-dev.d.ts.map +0 -1
  296. package/build/src/rules/eslint/no-logger-dev.js.map +0 -1
  297. package/build/src/rules/eslint/no-raw-text-in-code.d.ts.map +0 -1
  298. package/build/src/rules/eslint/no-raw-text-in-code.js.map +0 -1
  299. package/build/src/rules/eslint/no-regex-literal-flags.d.ts.map +0 -1
  300. package/build/src/rules/eslint/no-regex-literal-flags.js.map +0 -1
  301. package/build/src/rules/eslint/no-regex-literals.d.ts.map +0 -1
  302. package/build/src/rules/eslint/no-regex-literals.js.map +0 -1
  303. package/build/src/rules/eslint/switch-case-blocks.d.ts.map +0 -1
  304. package/build/src/rules/eslint/switch-case-blocks.js.map +0 -1
  305. package/build/src/tests/cli/recipe/pin-versions.test.d.ts +0 -2
  306. package/build/src/tests/cli/recipe/pin-versions.test.d.ts.map +0 -1
  307. package/build/src/tests/cli/recipe/pin-versions.test.js +0 -197
  308. package/build/src/tests/cli/recipe/pin-versions.test.js.map +0 -1
  309. package/build/src/tests/cli/recipe/sync-lts-engines.test.d.ts +0 -2
  310. package/build/src/tests/cli/recipe/sync-lts-engines.test.d.ts.map +0 -1
  311. package/build/src/tests/cli/recipe/sync-lts-engines.test.js +0 -131
  312. package/build/src/tests/cli/recipe/sync-lts-engines.test.js.map +0 -1
  313. package/build/src/tests/rules/eslint/no-logger-dev.test.d.ts.map +0 -1
  314. package/build/src/tests/rules/eslint/no-logger-dev.test.js.map +0 -1
  315. package/build/src/tests/rules/eslint/no-raw-text-in-code.test.d.ts.map +0 -1
  316. package/build/src/tests/rules/eslint/no-raw-text-in-code.test.js.map +0 -1
  317. package/build/src/tests/rules/eslint/no-regex-literal-flags.test.d.ts.map +0 -1
  318. package/build/src/tests/rules/eslint/no-regex-literal-flags.test.js.map +0 -1
  319. package/build/src/tests/rules/eslint/no-regex-literals.test.d.ts.map +0 -1
  320. package/build/src/tests/rules/eslint/no-regex-literals.test.js.map +0 -1
  321. package/build/src/tests/rules/eslint/switch-case-blocks.test.d.ts.map +0 -1
  322. package/build/src/tests/rules/eslint/switch-case-blocks.test.js.map +0 -1
  323. /package/build/src/rules/eslint/{no-raw-text-in-code.d.ts → formatting/no-raw-text-in-code.d.ts} +0 -0
  324. /package/build/src/rules/eslint/{no-logger-dev.d.ts → nova/no-logger-dev.d.ts} +0 -0
  325. /package/build/src/rules/eslint/{switch-case-blocks.d.ts → patterns/switch-case-blocks.d.ts} +0 -0
  326. /package/build/src/rules/eslint/{no-regex-literal-flags.d.ts → regex/no-regex-literal-flags.d.ts} +0 -0
  327. /package/build/src/rules/eslint/{no-regex-literal-flags.js → regex/no-regex-literal-flags.js} +0 -0
  328. /package/build/src/tests/rules/eslint/{no-raw-text-in-code.test.d.ts → formatting/no-raw-text-in-code.test.d.ts} +0 -0
  329. /package/build/src/tests/rules/eslint/{no-logger-dev.test.d.ts → nova/no-logger-dev.test.d.ts} +0 -0
  330. /package/build/src/tests/rules/eslint/{switch-case-blocks.test.d.ts → patterns/switch-case-blocks.test.d.ts} +0 -0
  331. /package/build/src/tests/rules/eslint/{no-regex-literal-flags.test.d.ts → regex/no-regex-literal-flags.test.d.ts} +0 -0
  332. /package/build/src/tests/rules/eslint/{no-regex-literals.test.d.ts → regex/no-regex-literals.test.d.ts} +0 -0
@@ -0,0 +1,262 @@
1
+ import chalk from 'chalk';
2
+ import { NovaConfig } from '../../../lib/nova-config.js';
3
+ import { PATTERN_RANGE_CAPTURE_REMAINDER } from '../../../lib/regex.js';
4
+ import { isPlainObject, isProjectRoot, loadWorkspaceManifests, saveWorkspaceManifest, } from '../../../lib/utility.js';
5
+ import { Logger } from '../../../toolkit/index.js';
6
+ export class CLIRecipePackageJsonNormalizeDependencies {
7
+ static async run(options) {
8
+ const currentDirectory = process.cwd();
9
+ const isAtProjectRoot = await isProjectRoot(currentDirectory);
10
+ if (isAtProjectRoot !== true) {
11
+ process.exitCode = 1;
12
+ return;
13
+ }
14
+ const isDryRun = options.dryRun === true;
15
+ const isReplaceFile = options.replaceFile === true;
16
+ if (isDryRun === true) {
17
+ Logger.customize({
18
+ name: 'CLIRecipePackageJsonNormalizeDependencies.run',
19
+ purpose: 'options',
20
+ }).warn('Dry run enabled. File changes will not be made in this session.');
21
+ }
22
+ if (isReplaceFile === true) {
23
+ const replaceFileNotice = (isDryRun) ? 'This option has no effect during a dry run session.' : 'Backup file will not be created.';
24
+ Logger.customize({
25
+ name: 'CLIRecipePackageJsonNormalizeDependencies.run',
26
+ purpose: 'options',
27
+ }).warn(`Replace file enabled. ${replaceFileNotice}`);
28
+ }
29
+ const novaConfig = new NovaConfig();
30
+ const workingFile = await novaConfig.load();
31
+ const workingFileWorkspaces = Object.entries(workingFile.workspaces ?? {});
32
+ if (workingFileWorkspaces.length === 0) {
33
+ Logger.customize({
34
+ name: 'CLIRecipePackageJsonNormalizeDependencies.run',
35
+ purpose: 'workspaces',
36
+ }).warn('Skipping normalize-dependencies. No workspaces detected in the "nova.config.json" file.');
37
+ return;
38
+ }
39
+ const eligibleWorkspaces = workingFileWorkspaces.filter((workspace) => {
40
+ const workspaceConfig = workspace[1];
41
+ const workspaceRecipes = workspaceConfig.recipes;
42
+ if (workspaceRecipes === undefined) {
43
+ return false;
44
+ }
45
+ const recipeTuple = workspaceRecipes['normalize-dependencies'];
46
+ if (recipeTuple === undefined) {
47
+ return false;
48
+ }
49
+ return recipeTuple[0] === true;
50
+ });
51
+ if (eligibleWorkspaces.length === 0) {
52
+ Logger.customize({
53
+ name: 'CLIRecipePackageJsonNormalizeDependencies.run',
54
+ purpose: 'workspaces',
55
+ }).warn('Skipping normalize-dependencies. No workspaces have this recipe enabled.');
56
+ return;
57
+ }
58
+ const workspaces = await loadWorkspaceManifests({
59
+ projectRoot: currentDirectory,
60
+ workspaces: eligibleWorkspaces,
61
+ });
62
+ if (workspaces.length === 0) {
63
+ Logger.customize({
64
+ name: 'CLIRecipePackageJsonNormalizeDependencies.run',
65
+ purpose: 'workspaces',
66
+ }).warn('Skipping normalize-dependencies. No accessible "package.json" files were found for the configured workspaces.');
67
+ return;
68
+ }
69
+ Logger.customize({
70
+ name: 'CLIRecipePackageJsonNormalizeDependencies.run',
71
+ purpose: 'summary',
72
+ }).info(`Prepared ${workspaces.length} workspace "package.json" file(s) for normalize-dependencies.`);
73
+ let hasUnpinnable = false;
74
+ for (const workspace of workspaces) {
75
+ Logger.customize({
76
+ name: 'CLIRecipePackageJsonNormalizeDependencies.run',
77
+ purpose: 'iteration',
78
+ }).info(`Running normalize-dependencies for the "${workspace.manifest.name}" workspace ...`);
79
+ await CLIRecipePackageJsonNormalizeDependencies.handle(workspace);
80
+ const recipes = workspace.manifest.recipes;
81
+ const recipeTuple = (recipes !== undefined) ? recipes['normalize-dependencies'] : undefined;
82
+ const recipeSettings = (recipeTuple !== undefined && recipeTuple.length > 1) ? recipeTuple[1] : undefined;
83
+ const pinDependencyVersions = (recipeSettings !== undefined && recipeSettings['pinDependencyVersions'] === true);
84
+ const pinDevDependencyVersions = (recipeSettings !== undefined && recipeSettings['pinDevDependencyVersions'] === true);
85
+ if (pinDependencyVersions === true || pinDevDependencyVersions === true) {
86
+ const count = CLIRecipePackageJsonNormalizeDependencies.pinDependencies(workspace, pinDependencyVersions, pinDevDependencyVersions);
87
+ if (count < 0) {
88
+ hasUnpinnable = true;
89
+ }
90
+ }
91
+ if (isDryRun === true) {
92
+ continue;
93
+ }
94
+ await saveWorkspaceManifest(workspace, isReplaceFile);
95
+ }
96
+ if (hasUnpinnable === true) {
97
+ process.exitCode = 1;
98
+ }
99
+ }
100
+ static async handle(workspace) {
101
+ const fileContents = workspace.fileContents;
102
+ const manifest = workspace.manifest;
103
+ const packageDependencies = fileContents['dependencies'];
104
+ const packageDevDependencies = fileContents['devDependencies'];
105
+ const packagePeerDependencies = fileContents['peerDependencies'];
106
+ const packagePeerDependenciesMeta = fileContents['peerDependenciesMeta'];
107
+ const packageBundleDependencies = fileContents['bundleDependencies'];
108
+ const packageBundledDependencies = fileContents['bundledDependencies'];
109
+ const packageOptionalDependencies = fileContents['optionalDependencies'];
110
+ const packageOverrides = fileContents['overrides'];
111
+ if (packageDependencies !== undefined
112
+ && CLIRecipePackageJsonNormalizeDependencies.isEmpty(packageDependencies)) {
113
+ Logger.customize({
114
+ name: 'CLIRecipePackageJsonNormalizeDependencies.handle',
115
+ purpose: 'dependencies',
116
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing empty "dependencies" ...`);
117
+ Reflect.deleteProperty(fileContents, 'dependencies');
118
+ }
119
+ if (packageDevDependencies !== undefined
120
+ && CLIRecipePackageJsonNormalizeDependencies.isEmpty(packageDevDependencies)) {
121
+ Logger.customize({
122
+ name: 'CLIRecipePackageJsonNormalizeDependencies.handle',
123
+ purpose: 'devDependencies',
124
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing empty "devDependencies" ...`);
125
+ Reflect.deleteProperty(fileContents, 'devDependencies');
126
+ }
127
+ if (packagePeerDependencies !== undefined
128
+ && CLIRecipePackageJsonNormalizeDependencies.isEmpty(packagePeerDependencies)) {
129
+ Logger.customize({
130
+ name: 'CLIRecipePackageJsonNormalizeDependencies.handle',
131
+ purpose: 'peerDependencies',
132
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing empty "peerDependencies" ...`);
133
+ Reflect.deleteProperty(fileContents, 'peerDependencies');
134
+ }
135
+ if (packagePeerDependenciesMeta !== undefined
136
+ && CLIRecipePackageJsonNormalizeDependencies.isEmpty(packagePeerDependenciesMeta)) {
137
+ Logger.customize({
138
+ name: 'CLIRecipePackageJsonNormalizeDependencies.handle',
139
+ purpose: 'peerDependenciesMeta',
140
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing empty "peerDependenciesMeta" ...`);
141
+ Reflect.deleteProperty(fileContents, 'peerDependenciesMeta');
142
+ }
143
+ if (packageBundledDependencies !== undefined) {
144
+ const bundleDependencies = Array.isArray(packageBundleDependencies) ? packageBundleDependencies : [];
145
+ const bundledDependencies = Array.isArray(packageBundledDependencies) ? packageBundledDependencies : [];
146
+ const mergedBundleDependencies = [...new Set([...bundleDependencies, ...bundledDependencies])];
147
+ Logger.customize({
148
+ name: 'CLIRecipePackageJsonNormalizeDependencies.handle',
149
+ purpose: 'bundleDependencies',
150
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Merging "bundledDependencies" into "bundleDependencies" ...`);
151
+ Reflect.set(fileContents, 'bundleDependencies', mergedBundleDependencies);
152
+ Logger.customize({
153
+ name: 'CLIRecipePackageJsonNormalizeDependencies.handle',
154
+ purpose: 'bundledDependencies',
155
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing "bundledDependencies". "bundledDependencies" is an alias of "bundleDependencies".`);
156
+ Reflect.deleteProperty(fileContents, 'bundledDependencies');
157
+ }
158
+ if (fileContents['bundleDependencies'] !== undefined
159
+ && CLIRecipePackageJsonNormalizeDependencies.isEmpty(fileContents['bundleDependencies'])) {
160
+ Logger.customize({
161
+ name: 'CLIRecipePackageJsonNormalizeDependencies.handle',
162
+ purpose: 'bundleDependencies',
163
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing empty "bundleDependencies" ...`);
164
+ Reflect.deleteProperty(fileContents, 'bundleDependencies');
165
+ }
166
+ if (packageOptionalDependencies !== undefined
167
+ && CLIRecipePackageJsonNormalizeDependencies.isEmpty(packageOptionalDependencies)) {
168
+ Logger.customize({
169
+ name: 'CLIRecipePackageJsonNormalizeDependencies.handle',
170
+ purpose: 'optionalDependencies',
171
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing empty "optionalDependencies" ...`);
172
+ Reflect.deleteProperty(fileContents, 'optionalDependencies');
173
+ }
174
+ if (packageOverrides !== undefined
175
+ && CLIRecipePackageJsonNormalizeDependencies.isEmpty(packageOverrides)) {
176
+ Logger.customize({
177
+ name: 'CLIRecipePackageJsonNormalizeDependencies.handle',
178
+ purpose: 'overrides',
179
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing empty "overrides" ...`);
180
+ Reflect.deleteProperty(fileContents, 'overrides');
181
+ }
182
+ }
183
+ static pinDependencies(workspace, pinDependencyVersions, pinDevDependencyVersions) {
184
+ const depGroups = [];
185
+ if (pinDependencyVersions === true) {
186
+ depGroups.push('dependencies');
187
+ }
188
+ if (pinDevDependencyVersions === true) {
189
+ depGroups.push('devDependencies');
190
+ }
191
+ let pinned = 0;
192
+ let unpinnable = 0;
193
+ for (const depGroup of depGroups) {
194
+ const deps = workspace.fileContents[depGroup];
195
+ if (!isPlainObject(deps)) {
196
+ continue;
197
+ }
198
+ for (const [depName, depVersion] of Object.entries(deps)) {
199
+ if (typeof depVersion !== 'string') {
200
+ continue;
201
+ }
202
+ const stripped = CLIRecipePackageJsonNormalizeDependencies.stripPrefix(depVersion);
203
+ if (stripped === undefined) {
204
+ Logger.customize({
205
+ name: 'CLIRecipePackageJsonNormalizeDependencies.pinDependencies',
206
+ purpose: depGroup,
207
+ }).error(`${chalk.magenta(`"${workspace.manifest.name}" workspace`)} → "${depName}" has unpinnable version "${depVersion}".`);
208
+ unpinnable += 1;
209
+ continue;
210
+ }
211
+ if (stripped === depVersion) {
212
+ continue;
213
+ }
214
+ Reflect.set(deps, depName, stripped);
215
+ Logger.customize({
216
+ name: 'CLIRecipePackageJsonNormalizeDependencies.pinDependencies',
217
+ purpose: depGroup,
218
+ }).info(`${chalk.magenta(`"${workspace.manifest.name}" workspace`)} → Pinned "${depName}" from "${depVersion}" to "${stripped}".`);
219
+ pinned += 1;
220
+ }
221
+ }
222
+ if (pinned === 0 && unpinnable === 0) {
223
+ Logger.customize({
224
+ name: 'CLIRecipePackageJsonNormalizeDependencies.pinDependencies',
225
+ purpose: 'summary',
226
+ }).info(`${chalk.magenta(`"${workspace.manifest.name}" workspace`)} → All versions are already pinned.`);
227
+ }
228
+ if (unpinnable > 0) {
229
+ return -unpinnable;
230
+ }
231
+ return pinned;
232
+ }
233
+ static stripPrefix(version) {
234
+ if (version.startsWith('file:')) {
235
+ return version;
236
+ }
237
+ if (version === '*' || version === 'latest') {
238
+ return undefined;
239
+ }
240
+ const match = version.match(PATTERN_RANGE_CAPTURE_REMAINDER);
241
+ if (match !== null && match[1] !== undefined) {
242
+ return match[1];
243
+ }
244
+ return version;
245
+ }
246
+ static isEmpty(value) {
247
+ if (value === null || value === undefined) {
248
+ return true;
249
+ }
250
+ if (typeof value === 'string') {
251
+ return value.trim() === '';
252
+ }
253
+ if (Array.isArray(value)) {
254
+ return value.length === 0;
255
+ }
256
+ if (typeof value === 'object') {
257
+ return Object.keys(value).length === 0;
258
+ }
259
+ return false;
260
+ }
261
+ }
262
+ //# sourceMappingURL=normalize-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-dependencies.js","sourceRoot":"","sources":["../../../../../src/cli/recipe/package-json/normalize-dependencies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { CLIRecipePackageJsonNormalizeModulesRunOptions, CLIRecipePackageJsonNormalizeModulesRunReturns } from '../../../types/cli/recipe/package-json/normalize-modules.d.ts';
2
+ export declare class CLIRecipePackageJsonNormalizeModules {
3
+ static run(options: CLIRecipePackageJsonNormalizeModulesRunOptions): CLIRecipePackageJsonNormalizeModulesRunReturns;
4
+ private static handle;
5
+ }
6
+ //# sourceMappingURL=normalize-modules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-modules.d.ts","sourceRoot":"","sources":["../../../../../src/cli/recipe/package-json/normalize-modules.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAGV,8CAA8C,EAC9C,8CAA8C,EAC/C,MAAM,wDAAwD,CAAC;AAOhE,qBAAa,oCAAoC;WAU3B,GAAG,CAAC,OAAO,EAAE,8CAA8C,GAAG,8CAA8C;IAoHhI,OAAO,CAAC,MAAM,CAAC,MAAM;CAiOtB"}
@@ -0,0 +1,249 @@
1
+ import chalk from 'chalk';
2
+ import { NovaConfig } from '../../../lib/nova-config.js';
3
+ import { isPlainObject, isProjectRoot, loadWorkspaceManifests, saveWorkspaceManifest, } from '../../../lib/utility.js';
4
+ import { Logger } from '../../../toolkit/index.js';
5
+ export class CLIRecipePackageJsonNormalizeModules {
6
+ static async run(options) {
7
+ const currentDirectory = process.cwd();
8
+ const isAtProjectRoot = await isProjectRoot(currentDirectory);
9
+ if (isAtProjectRoot !== true) {
10
+ process.exitCode = 1;
11
+ return;
12
+ }
13
+ const isDryRun = options.dryRun === true;
14
+ const isReplaceFile = options.replaceFile === true;
15
+ if (isDryRun === true) {
16
+ Logger.customize({
17
+ name: 'CLIRecipePackageJsonNormalizeModules.run',
18
+ purpose: 'options',
19
+ }).warn('Dry run enabled. File changes will not be made in this session.');
20
+ }
21
+ if (isReplaceFile === true) {
22
+ const replaceFileNotice = (isDryRun) ? 'This option has no effect during a dry run session.' : 'Backup file will not be created.';
23
+ Logger.customize({
24
+ name: 'CLIRecipePackageJsonNormalizeModules.run',
25
+ purpose: 'options',
26
+ }).warn(`Replace file enabled. ${replaceFileNotice}`);
27
+ }
28
+ const novaConfig = new NovaConfig();
29
+ const workingFile = await novaConfig.load();
30
+ const workingFileWorkspaces = Object.entries(workingFile.workspaces ?? {});
31
+ if (workingFileWorkspaces.length === 0) {
32
+ Logger.customize({
33
+ name: 'CLIRecipePackageJsonNormalizeModules.run',
34
+ purpose: 'workspaces',
35
+ }).warn('Skipping normalize-modules. No workspaces detected in the "nova.config.json" file.');
36
+ return;
37
+ }
38
+ const eligibleWorkspaces = workingFileWorkspaces.filter((workspace) => {
39
+ const workspaceConfig = workspace[1];
40
+ const workspaceRecipes = workspaceConfig.recipes;
41
+ if (workspaceRecipes === undefined) {
42
+ return false;
43
+ }
44
+ const recipeTuple = workspaceRecipes['normalize-modules'];
45
+ if (recipeTuple === undefined) {
46
+ return false;
47
+ }
48
+ return recipeTuple[0] === true;
49
+ });
50
+ if (eligibleWorkspaces.length === 0) {
51
+ Logger.customize({
52
+ name: 'CLIRecipePackageJsonNormalizeModules.run',
53
+ purpose: 'workspaces',
54
+ }).warn('Skipping normalize-modules. No workspaces have this recipe enabled.');
55
+ return;
56
+ }
57
+ const workspaces = await loadWorkspaceManifests({
58
+ projectRoot: currentDirectory,
59
+ workspaces: eligibleWorkspaces,
60
+ });
61
+ if (workspaces.length === 0) {
62
+ Logger.customize({
63
+ name: 'CLIRecipePackageJsonNormalizeModules.run',
64
+ purpose: 'workspaces',
65
+ }).warn('Skipping normalize-modules. No accessible "package.json" files were found for the configured workspaces.');
66
+ return;
67
+ }
68
+ Logger.customize({
69
+ name: 'CLIRecipePackageJsonNormalizeModules.run',
70
+ purpose: 'summary',
71
+ }).info(`Prepared ${workspaces.length} workspace "package.json" file(s) for normalize-modules.`);
72
+ for (const workspace of workspaces) {
73
+ Logger.customize({
74
+ name: 'CLIRecipePackageJsonNormalizeModules.run',
75
+ purpose: 'iteration',
76
+ }).info(`Running normalize-modules for the "${workspace.manifest.name}" workspace ...`);
77
+ CLIRecipePackageJsonNormalizeModules.handle(workspace);
78
+ if (isDryRun === true) {
79
+ continue;
80
+ }
81
+ await saveWorkspaceManifest(workspace, isReplaceFile);
82
+ }
83
+ }
84
+ static handle(workspace) {
85
+ const fileContents = workspace.fileContents;
86
+ const manifest = workspace.manifest;
87
+ const packageExports = fileContents['exports'];
88
+ const packageMain = fileContents['main'];
89
+ const packageType = fileContents['type'];
90
+ const packageBrowser = fileContents['browser'];
91
+ const packageImports = fileContents['imports'];
92
+ if (packageExports !== undefined
93
+ && ['config', 'package', 'tool'].includes(manifest.role) === false) {
94
+ Logger.customize({
95
+ name: 'CLIRecipePackageJsonNormalizeModules.handle',
96
+ purpose: 'exports',
97
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing "exports". Workspace role "${manifest.role}" does not allow it.`);
98
+ Reflect.deleteProperty(fileContents, 'exports');
99
+ }
100
+ else {
101
+ if (manifest.role === 'config'
102
+ || manifest.role === 'package'
103
+ || manifest.role === 'tool') {
104
+ if (typeof packageExports === 'string') {
105
+ Logger.customize({
106
+ name: 'CLIRecipePackageJsonNormalizeModules.handle',
107
+ purpose: 'exports',
108
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Normalizing "exports" from string to object ...`);
109
+ Reflect.set(fileContents, 'exports', {
110
+ '.': {
111
+ default: packageExports,
112
+ },
113
+ });
114
+ }
115
+ }
116
+ }
117
+ if (packageMain !== undefined
118
+ && ['config', 'app', 'package', 'tool'].includes(manifest.role) === false) {
119
+ Logger.customize({
120
+ name: 'CLIRecipePackageJsonNormalizeModules.handle',
121
+ purpose: 'main',
122
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing "main". Workspace role "${manifest.role}" does not allow it.`);
123
+ Reflect.deleteProperty(fileContents, 'main');
124
+ }
125
+ else {
126
+ if (manifest.role === 'config'
127
+ || manifest.role === 'app'
128
+ || manifest.role === 'package'
129
+ || manifest.role === 'tool') {
130
+ const currentPackageExports = fileContents['exports'];
131
+ if (typeof packageMain === 'string'
132
+ && (isPlainObject(currentPackageExports)
133
+ && isPlainObject(currentPackageExports['.'])
134
+ && typeof currentPackageExports['.']['require'] === 'string')
135
+ && packageMain !== currentPackageExports['.']['require']) {
136
+ Logger.customize({
137
+ name: 'CLIRecipePackageJsonNormalizeModules.handle',
138
+ purpose: 'main',
139
+ }).warn(`${chalk.magenta(`"${manifest.name}" workspace`)} → "main" differs from "exports['.'].require". No changes applied.`);
140
+ }
141
+ else if (typeof packageMain === 'string'
142
+ && (isPlainObject(currentPackageExports)
143
+ && isPlainObject(currentPackageExports['.']))
144
+ && typeof currentPackageExports['.']['require'] !== 'string') {
145
+ Logger.customize({
146
+ name: 'CLIRecipePackageJsonNormalizeModules.handle',
147
+ purpose: 'main',
148
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Syncing "exports['.'].require" from "main" ...`);
149
+ Reflect.set(currentPackageExports['.'], 'require', packageMain);
150
+ }
151
+ else if ((isPlainObject(currentPackageExports)
152
+ && isPlainObject(currentPackageExports['.'])
153
+ && typeof currentPackageExports['.']['require'] === 'string')
154
+ && typeof packageMain !== 'string') {
155
+ Logger.customize({
156
+ name: 'CLIRecipePackageJsonNormalizeModules.handle',
157
+ purpose: 'main',
158
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Syncing "main" from "exports['.'].require" ...`);
159
+ Reflect.set(fileContents, 'main', currentPackageExports['.']['require']);
160
+ }
161
+ else if (typeof packageMain === 'string'
162
+ && isPlainObject(currentPackageExports)
163
+ && typeof currentPackageExports['.'] === 'string') {
164
+ Logger.customize({
165
+ name: 'CLIRecipePackageJsonNormalizeModules.handle',
166
+ purpose: 'main',
167
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Normalizing "exports['.']" from string to object ...`);
168
+ Reflect.set(currentPackageExports, '.', {
169
+ default: currentPackageExports['.'],
170
+ require: packageMain,
171
+ });
172
+ }
173
+ }
174
+ }
175
+ if (packageType !== undefined
176
+ && ['config', 'app', 'package', 'tool'].includes(manifest.role) === false) {
177
+ Logger.customize({
178
+ name: 'CLIRecipePackageJsonNormalizeModules.handle',
179
+ purpose: 'type',
180
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing "type". Workspace role "${manifest.role}" does not allow it.`);
181
+ Reflect.deleteProperty(fileContents, 'type');
182
+ }
183
+ if (packageBrowser !== undefined
184
+ && ['package'].includes(manifest.role) === false) {
185
+ Logger.customize({
186
+ name: 'CLIRecipePackageJsonNormalizeModules.handle',
187
+ purpose: 'browser',
188
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing "browser". Workspace role "${manifest.role}" does not allow it.`);
189
+ Reflect.deleteProperty(fileContents, 'browser');
190
+ }
191
+ else {
192
+ if (manifest.role === 'package') {
193
+ const currentPackageExports = fileContents['exports'];
194
+ if (typeof packageBrowser === 'string'
195
+ && (isPlainObject(currentPackageExports)
196
+ && isPlainObject(currentPackageExports['.'])
197
+ && typeof currentPackageExports['.']['browser'] === 'string')
198
+ && packageBrowser !== currentPackageExports['.']['browser']) {
199
+ Logger.customize({
200
+ name: 'CLIRecipePackageJsonNormalizeModules.handle',
201
+ purpose: 'browser',
202
+ }).warn(`${chalk.magenta(`"${manifest.name}" workspace`)} → "browser" differs from "exports['.'].browser". No changes applied.`);
203
+ }
204
+ else if (typeof packageBrowser === 'string'
205
+ && (isPlainObject(currentPackageExports)
206
+ && isPlainObject(currentPackageExports['.']))
207
+ && typeof currentPackageExports['.']['browser'] !== 'string') {
208
+ Logger.customize({
209
+ name: 'CLIRecipePackageJsonNormalizeModules.handle',
210
+ purpose: 'browser',
211
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Syncing "exports['.'].browser" from "browser" ...`);
212
+ Reflect.set(currentPackageExports['.'], 'browser', packageBrowser);
213
+ }
214
+ else if ((isPlainObject(currentPackageExports)
215
+ && isPlainObject(currentPackageExports['.'])
216
+ && typeof currentPackageExports['.']['browser'] === 'string')
217
+ && typeof packageBrowser !== 'string'
218
+ && !isPlainObject(packageBrowser)) {
219
+ Logger.customize({
220
+ name: 'CLIRecipePackageJsonNormalizeModules.handle',
221
+ purpose: 'browser',
222
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Syncing "browser" from "exports['.'].browser" ...`);
223
+ Reflect.set(fileContents, 'browser', currentPackageExports['.']['browser']);
224
+ }
225
+ else if (typeof packageBrowser === 'string'
226
+ && isPlainObject(currentPackageExports)
227
+ && typeof currentPackageExports['.'] === 'string') {
228
+ Logger.customize({
229
+ name: 'CLIRecipePackageJsonNormalizeModules.handle',
230
+ purpose: 'browser',
231
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Normalizing "exports['.']" from string to object ...`);
232
+ Reflect.set(currentPackageExports, '.', {
233
+ default: currentPackageExports['.'],
234
+ browser: packageBrowser,
235
+ });
236
+ }
237
+ }
238
+ }
239
+ if (packageImports !== undefined
240
+ && ['config', 'app', 'package', 'tool'].includes(manifest.role) === false) {
241
+ Logger.customize({
242
+ name: 'CLIRecipePackageJsonNormalizeModules.handle',
243
+ purpose: 'imports',
244
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing "imports". Workspace role "${manifest.role}" does not allow it.`);
245
+ Reflect.deleteProperty(fileContents, 'imports');
246
+ }
247
+ }
248
+ }
249
+ //# sourceMappingURL=normalize-modules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-modules.js","sourceRoot":"","sources":["../../../../../src/cli/recipe/package-json/normalize-modules.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { CLIRecipePackageJsonNormalizeToolingRunOptions, CLIRecipePackageJsonNormalizeToolingRunReturns } from '../../../types/cli/recipe/package-json/normalize-tooling.d.ts';
2
+ export declare class CLIRecipePackageJsonNormalizeTooling {
3
+ static run(options: CLIRecipePackageJsonNormalizeToolingRunOptions): CLIRecipePackageJsonNormalizeToolingRunReturns;
4
+ private static handle;
5
+ private static isEmpty;
6
+ }
7
+ //# sourceMappingURL=normalize-tooling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-tooling.d.ts","sourceRoot":"","sources":["../../../../../src/cli/recipe/package-json/normalize-tooling.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAKV,8CAA8C,EAC9C,8CAA8C,EAC/C,MAAM,wDAAwD,CAAC;AAOhE,qBAAa,oCAAoC;WAU3B,GAAG,CAAC,OAAO,EAAE,8CAA8C,GAAG,8CAA8C;mBAoH3G,MAAM;IA6G3B,OAAO,CAAC,MAAM,CAAC,OAAO;CAmBvB"}