@cbnventures/nova 0.13.0 → 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 +12 -16
  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 +12 -16
  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,219 @@
1
+ import { dirname, join, relative, } from 'path';
2
+ import chalk from 'chalk';
3
+ import { SpdxLicenses } from '../../../api/spdx-licenses.js';
4
+ import { NovaConfig } from '../../../lib/nova-config.js';
5
+ import { PATTERN_SEMVER_STRICT } from '../../../lib/regex.js';
6
+ import { isProjectRoot, loadWorkspaceManifests, pathExists, saveWorkspaceManifest, } from '../../../lib/utility.js';
7
+ import { Logger } from '../../../toolkit/index.js';
8
+ export class CLIRecipePackageJsonSyncIdentity {
9
+ static async run(options) {
10
+ const currentDirectory = process.cwd();
11
+ const isAtProjectRoot = await isProjectRoot(currentDirectory);
12
+ if (isAtProjectRoot !== true) {
13
+ process.exitCode = 1;
14
+ return;
15
+ }
16
+ const isDryRun = options.dryRun === true;
17
+ const isReplaceFile = options.replaceFile === true;
18
+ if (isDryRun === true) {
19
+ Logger.customize({
20
+ name: 'CLIRecipePackageJsonSyncIdentity.run',
21
+ purpose: 'options',
22
+ }).warn('Dry run enabled. File changes will not be made in this session.');
23
+ }
24
+ if (isReplaceFile === true) {
25
+ const replaceFileNotice = (isDryRun) ? 'This option has no effect during a dry run session.' : 'Backup file will not be created.';
26
+ Logger.customize({
27
+ name: 'CLIRecipePackageJsonSyncIdentity.run',
28
+ purpose: 'options',
29
+ }).warn(`Replace file enabled. ${replaceFileNotice}`);
30
+ }
31
+ const novaConfig = new NovaConfig();
32
+ const workingFile = await novaConfig.load();
33
+ const workingFileWorkspaces = Object.entries(workingFile.workspaces ?? {});
34
+ if (workingFileWorkspaces.length === 0) {
35
+ Logger.customize({
36
+ name: 'CLIRecipePackageJsonSyncIdentity.run',
37
+ purpose: 'workspaces',
38
+ }).warn('Skipping sync-identity. No workspaces detected in the "nova.config.json" file.');
39
+ return;
40
+ }
41
+ const eligibleWorkspaces = workingFileWorkspaces.filter((workspace) => {
42
+ const workspaceConfig = workspace[1];
43
+ const workspaceRecipes = workspaceConfig.recipes;
44
+ if (workspaceRecipes === undefined) {
45
+ return false;
46
+ }
47
+ const recipeTuple = workspaceRecipes['sync-identity'];
48
+ if (recipeTuple === undefined) {
49
+ return false;
50
+ }
51
+ return recipeTuple[0] === true;
52
+ });
53
+ if (eligibleWorkspaces.length === 0) {
54
+ Logger.customize({
55
+ name: 'CLIRecipePackageJsonSyncIdentity.run',
56
+ purpose: 'workspaces',
57
+ }).warn('Skipping sync-identity. No workspaces have this recipe enabled.');
58
+ return;
59
+ }
60
+ const workspaces = await loadWorkspaceManifests({
61
+ projectRoot: currentDirectory,
62
+ workspaces: eligibleWorkspaces,
63
+ });
64
+ if (workspaces.length === 0) {
65
+ Logger.customize({
66
+ name: 'CLIRecipePackageJsonSyncIdentity.run',
67
+ purpose: 'workspaces',
68
+ }).warn('Skipping sync-identity. No accessible "package.json" files were found for the configured workspaces.');
69
+ return;
70
+ }
71
+ Logger.customize({
72
+ name: 'CLIRecipePackageJsonSyncIdentity.run',
73
+ purpose: 'summary',
74
+ }).info(`Prepared ${workspaces.length} workspace "package.json" file(s) for sync-identity.`);
75
+ for (const workspace of workspaces) {
76
+ Logger.customize({
77
+ name: 'CLIRecipePackageJsonSyncIdentity.run',
78
+ purpose: 'iteration',
79
+ }).info(`Running sync-identity for the "${workspace.manifest.name}" workspace ...`);
80
+ await CLIRecipePackageJsonSyncIdentity.handle(workspace, workingFile);
81
+ if (isDryRun === true) {
82
+ continue;
83
+ }
84
+ await saveWorkspaceManifest(workspace, isReplaceFile);
85
+ }
86
+ }
87
+ static async handle(workspace, workingFile) {
88
+ const fileContents = workspace.fileContents;
89
+ const filePath = workspace.filePath;
90
+ const manifest = workspace.manifest;
91
+ const packageName = fileContents['name'];
92
+ const packageVersion = fileContents['version'];
93
+ const packageDescription = fileContents['description'];
94
+ const packageKeywords = fileContents['keywords'];
95
+ const packageLicense = fileContents['license'];
96
+ const recipes = manifest.recipes;
97
+ const recipeTuple = (recipes !== undefined) ? recipes['sync-identity'] : undefined;
98
+ const recipeSettings = (recipeTuple !== undefined && recipeTuple.length > 1) ? recipeTuple[1] : undefined;
99
+ if (typeof packageName !== 'string'
100
+ || packageName !== manifest.name) {
101
+ Logger.customize({
102
+ name: 'CLIRecipePackageJsonSyncIdentity.handle',
103
+ purpose: 'name',
104
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Syncing "name" from workspace manifest ...`);
105
+ Reflect.set(fileContents, 'name', manifest.name);
106
+ }
107
+ if (typeof packageVersion !== 'string'
108
+ || !PATTERN_SEMVER_STRICT.test(packageVersion)
109
+ || (['freezable'].includes(manifest.policy)
110
+ && packageVersion !== '0.0.0') || (['trackable', 'distributable'].includes(manifest.policy)
111
+ && packageVersion === '0.0.0')) {
112
+ const validVersion = (manifest.policy === 'freezable') ? '0.0.0' : '0.0.1';
113
+ Logger.customize({
114
+ name: 'CLIRecipePackageJsonSyncIdentity.handle',
115
+ purpose: 'version',
116
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Invalid version detected. Setting it to "${validVersion}" ...`);
117
+ Reflect.set(fileContents, 'version', validVersion);
118
+ }
119
+ if (packageDescription !== undefined
120
+ && manifest.policy !== 'distributable') {
121
+ Logger.customize({
122
+ name: 'CLIRecipePackageJsonSyncIdentity.handle',
123
+ purpose: 'description',
124
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing "description". Workspace policy "${manifest.policy}" does not allow it.`);
125
+ Reflect.deleteProperty(fileContents, 'description');
126
+ }
127
+ else {
128
+ const validDescription = (workingFile.project !== undefined && workingFile.project.description !== undefined) ? workingFile.project.description.short : undefined;
129
+ if ((manifest.policy === 'distributable'
130
+ && recipeSettings !== undefined
131
+ && recipeSettings['description'] === true
132
+ && validDescription !== undefined)
133
+ && (typeof packageDescription !== 'string'
134
+ || packageDescription !== validDescription)) {
135
+ Logger.customize({
136
+ name: 'CLIRecipePackageJsonSyncIdentity.handle',
137
+ purpose: 'description',
138
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Syncing "description" from workspace manifest ...`);
139
+ Reflect.set(fileContents, 'description', validDescription);
140
+ }
141
+ if (manifest.policy === 'distributable'
142
+ && recipeSettings !== undefined
143
+ && recipeSettings['description'] === true
144
+ && validDescription === undefined) {
145
+ Logger.customize({
146
+ name: 'CLIRecipePackageJsonSyncIdentity.handle',
147
+ purpose: 'description',
148
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing "description". No description is defined.`);
149
+ Reflect.deleteProperty(fileContents, 'description');
150
+ }
151
+ }
152
+ if (packageKeywords !== undefined
153
+ && manifest.policy !== 'distributable') {
154
+ Logger.customize({
155
+ name: 'CLIRecipePackageJsonSyncIdentity.handle',
156
+ purpose: 'keywords',
157
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing "keywords". Workspace policy "${manifest.policy}" does not allow it.`);
158
+ Reflect.deleteProperty(fileContents, 'keywords');
159
+ }
160
+ else {
161
+ const validKeywords = (workingFile.project !== undefined) ? workingFile.project.keywords : undefined;
162
+ if ((manifest.policy === 'distributable'
163
+ && recipeSettings !== undefined
164
+ && recipeSettings['keywords'] === true
165
+ && validKeywords !== undefined)
166
+ && (JSON.stringify(packageKeywords) !== JSON.stringify(validKeywords))) {
167
+ Logger.customize({
168
+ name: 'CLIRecipePackageJsonSyncIdentity.handle',
169
+ purpose: 'keywords',
170
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Syncing "keywords" from workspace manifest ...`);
171
+ Reflect.set(fileContents, 'keywords', validKeywords);
172
+ }
173
+ if (manifest.policy === 'distributable'
174
+ && recipeSettings !== undefined
175
+ && recipeSettings['keywords'] === true
176
+ && validKeywords === undefined) {
177
+ Logger.customize({
178
+ name: 'CLIRecipePackageJsonSyncIdentity.handle',
179
+ purpose: 'keywords',
180
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing "keywords". No keywords are defined.`);
181
+ Reflect.deleteProperty(fileContents, 'keywords');
182
+ }
183
+ }
184
+ const spdxLicenses = await SpdxLicenses.fetchLicenses();
185
+ if (typeof packageLicense !== 'string'
186
+ || (spdxLicenses !== undefined && !spdxLicenses.has(packageLicense))) {
187
+ const packageDirectory = dirname(filePath);
188
+ const projectRoot = process.cwd();
189
+ const licenseCandidates = [
190
+ join(packageDirectory, 'LICENSE'),
191
+ join(packageDirectory, 'LICENSE.md'),
192
+ join(projectRoot, 'LICENSE'),
193
+ join(projectRoot, 'LICENSE.md'),
194
+ ];
195
+ let resolvedLicensePath;
196
+ for (const candidate of licenseCandidates) {
197
+ if (await pathExists(candidate)) {
198
+ resolvedLicensePath = candidate;
199
+ break;
200
+ }
201
+ }
202
+ const relativeLicensePath = (resolvedLicensePath !== undefined) ? relative(packageDirectory, resolvedLicensePath) : undefined;
203
+ let normalizedLicenseReference;
204
+ if (relativeLicensePath !== undefined) {
205
+ normalizedLicenseReference = (relativeLicensePath.startsWith('.')) ? relativeLicensePath : `./${relativeLicensePath}`;
206
+ }
207
+ const fallbackLicense = (normalizedLicenseReference !== undefined) ? `SEE LICENSE IN ${normalizedLicenseReference}` : 'UNLICENSED';
208
+ if (packageLicense === fallbackLicense) {
209
+ return;
210
+ }
211
+ Logger.customize({
212
+ name: 'CLIRecipePackageJsonSyncIdentity.handle',
213
+ purpose: 'license',
214
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Syncing "license" to "${fallbackLicense}" ...`);
215
+ Reflect.set(fileContents, 'license', fallbackLicense);
216
+ }
217
+ }
218
+ }
219
+ //# sourceMappingURL=sync-identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-identity.js","sourceRoot":"","sources":["../../../../../src/cli/recipe/package-json/sync-identity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { CLIRecipePackageJsonSyncOwnershipRunOptions, CLIRecipePackageJsonSyncOwnershipRunReturns } from '../../../types/cli/recipe/package-json/sync-ownership.d.ts';
2
+ export declare class CLIRecipePackageJsonSyncOwnership {
3
+ static run(options: CLIRecipePackageJsonSyncOwnershipRunOptions): CLIRecipePackageJsonSyncOwnershipRunReturns;
4
+ private static handle;
5
+ }
6
+ //# sourceMappingURL=sync-ownership.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-ownership.d.ts","sourceRoot":"","sources":["../../../../../src/cli/recipe/package-json/sync-ownership.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAIV,2CAA2C,EAC3C,2CAA2C,EAC5C,MAAM,qDAAqD,CAAC;AAO7D,qBAAa,iCAAiC;WAUxB,GAAG,CAAC,OAAO,EAAE,2CAA2C,GAAG,2CAA2C;IAqH1H,OAAO,CAAC,MAAM,CAAC,MAAM;CA4XtB"}
@@ -0,0 +1,349 @@
1
+ import { dirname, relative, sep, } from 'path';
2
+ import chalk from 'chalk';
3
+ import { NovaConfig } from '../../../lib/nova-config.js';
4
+ import { isProjectRoot, loadWorkspaceManifests, saveWorkspaceManifest, } from '../../../lib/utility.js';
5
+ import { Logger } from '../../../toolkit/index.js';
6
+ export class CLIRecipePackageJsonSyncOwnership {
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: 'CLIRecipePackageJsonSyncOwnership.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: 'CLIRecipePackageJsonSyncOwnership.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: 'CLIRecipePackageJsonSyncOwnership.run',
35
+ purpose: 'workspaces',
36
+ }).warn('Skipping sync-ownership. 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['sync-ownership'];
46
+ if (recipeTuple === undefined) {
47
+ return false;
48
+ }
49
+ return recipeTuple[0] === true;
50
+ });
51
+ if (eligibleWorkspaces.length === 0) {
52
+ Logger.customize({
53
+ name: 'CLIRecipePackageJsonSyncOwnership.run',
54
+ purpose: 'workspaces',
55
+ }).warn('Skipping sync-ownership. 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: 'CLIRecipePackageJsonSyncOwnership.run',
65
+ purpose: 'workspaces',
66
+ }).warn('Skipping sync-ownership. No accessible "package.json" files were found for the configured workspaces.');
67
+ return;
68
+ }
69
+ Logger.customize({
70
+ name: 'CLIRecipePackageJsonSyncOwnership.run',
71
+ purpose: 'summary',
72
+ }).info(`Prepared ${workspaces.length} workspace "package.json" file(s) for sync-ownership.`);
73
+ for (const workspace of workspaces) {
74
+ Logger.customize({
75
+ name: 'CLIRecipePackageJsonSyncOwnership.run',
76
+ purpose: 'iteration',
77
+ }).info(`Running sync-ownership for the "${workspace.manifest.name}" workspace ...`);
78
+ CLIRecipePackageJsonSyncOwnership.handle(workspace, workingFile);
79
+ if (isDryRun === true) {
80
+ continue;
81
+ }
82
+ await saveWorkspaceManifest(workspace, isReplaceFile);
83
+ }
84
+ }
85
+ static handle(workspace, workingFile) {
86
+ const fileContents = workspace.fileContents;
87
+ const manifest = workspace.manifest;
88
+ const packageHomepage = fileContents['homepage'];
89
+ const packageBugs = fileContents['bugs'];
90
+ const packageAuthor = fileContents['author'];
91
+ const packageContributors = fileContents['contributors'];
92
+ const packageFundingSources = fileContents['funding'];
93
+ const packageRepository = fileContents['repository'];
94
+ const recipes = manifest.recipes;
95
+ const recipeTuple = (recipes !== undefined) ? recipes['sync-ownership'] : undefined;
96
+ const recipeSettings = (recipeTuple !== undefined && recipeTuple.length > 1) ? recipeTuple[1] : undefined;
97
+ if (packageHomepage !== undefined
98
+ && manifest.policy !== 'distributable') {
99
+ Logger.customize({
100
+ name: 'CLIRecipePackageJsonSyncOwnership.handle',
101
+ purpose: 'homepage',
102
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing "homepage". Workspace policy "${manifest.policy}" does not allow it.`);
103
+ Reflect.deleteProperty(fileContents, 'homepage');
104
+ }
105
+ else {
106
+ const validHomepage = (workingFile.urls !== undefined) ? workingFile.urls.homepage : undefined;
107
+ if ((manifest.policy === 'distributable'
108
+ && recipeSettings !== undefined
109
+ && recipeSettings['homepage'] === true
110
+ && validHomepage !== undefined)
111
+ && (typeof packageHomepage !== 'string'
112
+ || packageHomepage !== validHomepage)) {
113
+ Logger.customize({
114
+ name: 'CLIRecipePackageJsonSyncOwnership.handle',
115
+ purpose: 'homepage',
116
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Syncing "homepage" from workspace manifest ...`);
117
+ Reflect.set(fileContents, 'homepage', validHomepage);
118
+ }
119
+ if (manifest.policy === 'distributable'
120
+ && recipeSettings !== undefined
121
+ && recipeSettings['homepage'] === true
122
+ && validHomepage === undefined) {
123
+ Logger.customize({
124
+ name: 'CLIRecipePackageJsonSyncOwnership.handle',
125
+ purpose: 'homepage',
126
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing "homepage". No homepage is defined.`);
127
+ Reflect.deleteProperty(fileContents, 'homepage');
128
+ }
129
+ }
130
+ if (packageBugs !== undefined
131
+ && manifest.policy !== 'distributable') {
132
+ Logger.customize({
133
+ name: 'CLIRecipePackageJsonSyncOwnership.handle',
134
+ purpose: 'bugs',
135
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing "bugs". Workspace policy "${manifest.policy}" does not allow it.`);
136
+ Reflect.deleteProperty(fileContents, 'bugs');
137
+ }
138
+ else {
139
+ const validBugs = {
140
+ email: (workingFile.emails !== undefined) ? workingFile.emails.bugs : undefined,
141
+ url: (workingFile.urls !== undefined) ? workingFile.urls.bugs : undefined,
142
+ };
143
+ if ((manifest.policy === 'distributable'
144
+ && recipeSettings !== undefined
145
+ && recipeSettings['bugs'] === true
146
+ && (validBugs.email !== undefined
147
+ || validBugs.url !== undefined))
148
+ && (JSON.stringify(packageBugs) !== JSON.stringify(validBugs))) {
149
+ Logger.customize({
150
+ name: 'CLIRecipePackageJsonSyncOwnership.handle',
151
+ purpose: 'bugs',
152
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Syncing "bugs" from workspace manifest ...`);
153
+ Reflect.set(fileContents, 'bugs', validBugs);
154
+ }
155
+ if (manifest.policy === 'distributable'
156
+ && recipeSettings !== undefined
157
+ && recipeSettings['bugs'] === true
158
+ && (validBugs.email === undefined
159
+ && validBugs.url === undefined)) {
160
+ Logger.customize({
161
+ name: 'CLIRecipePackageJsonSyncOwnership.handle',
162
+ purpose: 'bugs',
163
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing "bugs". No bug contacts are defined.`);
164
+ Reflect.deleteProperty(fileContents, 'bugs');
165
+ }
166
+ }
167
+ if (packageAuthor !== undefined
168
+ && manifest.policy !== 'distributable') {
169
+ Logger.customize({
170
+ name: 'CLIRecipePackageJsonSyncOwnership.handle',
171
+ purpose: 'author',
172
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing "author". Workspace policy "${manifest.policy}" does not allow it.`);
173
+ Reflect.deleteProperty(fileContents, 'author');
174
+ }
175
+ else {
176
+ const validAuthor = (() => {
177
+ const entity = (workingFile.entities !== undefined) ? workingFile.entities.find((entity) => {
178
+ return Array.isArray(entity.roles) && entity.roles.includes('author');
179
+ }) : undefined;
180
+ if (entity === undefined) {
181
+ return {
182
+ name: undefined,
183
+ email: undefined,
184
+ url: undefined,
185
+ };
186
+ }
187
+ return {
188
+ name: entity.name,
189
+ email: entity.email,
190
+ url: entity.url,
191
+ };
192
+ })();
193
+ if ((manifest.policy === 'distributable'
194
+ && recipeSettings !== undefined
195
+ && recipeSettings['author'] === true
196
+ && (validAuthor.name !== undefined
197
+ || validAuthor.email !== undefined
198
+ || validAuthor.url !== undefined))
199
+ && (JSON.stringify(packageAuthor) !== JSON.stringify(validAuthor))) {
200
+ Logger.customize({
201
+ name: 'CLIRecipePackageJsonSyncOwnership.handle',
202
+ purpose: 'author',
203
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Syncing "author" from workspace manifest ...`);
204
+ Reflect.set(fileContents, 'author', validAuthor);
205
+ }
206
+ if (manifest.policy === 'distributable'
207
+ && recipeSettings !== undefined
208
+ && recipeSettings['author'] === true
209
+ && (validAuthor.name === undefined
210
+ && validAuthor.email === undefined
211
+ && validAuthor.url === undefined)) {
212
+ Logger.customize({
213
+ name: 'CLIRecipePackageJsonSyncOwnership.handle',
214
+ purpose: 'author',
215
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing "author". No author is defined.`);
216
+ Reflect.deleteProperty(fileContents, 'author');
217
+ }
218
+ }
219
+ if (packageContributors !== undefined
220
+ && manifest.policy !== 'distributable') {
221
+ Logger.customize({
222
+ name: 'CLIRecipePackageJsonSyncOwnership.handle',
223
+ purpose: 'contributors',
224
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing "contributors". Workspace policy "${manifest.policy}" does not allow it.`);
225
+ Reflect.deleteProperty(fileContents, 'contributors');
226
+ }
227
+ else {
228
+ const validContributors = (() => {
229
+ const entities = workingFile.entities ?? [];
230
+ return entities
231
+ .filter((entity) => {
232
+ return Array.isArray(entity.roles) && entity.roles.includes('contributor');
233
+ })
234
+ .map((entity) => {
235
+ return {
236
+ name: entity.name,
237
+ email: entity.email,
238
+ url: entity.url,
239
+ };
240
+ })
241
+ .filter((entity) => {
242
+ return entity.name !== undefined || entity.email !== undefined || entity.url !== undefined;
243
+ });
244
+ })();
245
+ if ((manifest.policy === 'distributable'
246
+ && recipeSettings !== undefined
247
+ && recipeSettings['contributors'] === true
248
+ && (validContributors.length > 0))
249
+ && (JSON.stringify(packageContributors) !== JSON.stringify(validContributors))) {
250
+ Logger.customize({
251
+ name: 'CLIRecipePackageJsonSyncOwnership.handle',
252
+ purpose: 'contributors',
253
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Syncing "contributors" from workspace manifest ...`);
254
+ Reflect.set(fileContents, 'contributors', validContributors);
255
+ }
256
+ if (manifest.policy === 'distributable'
257
+ && recipeSettings !== undefined
258
+ && recipeSettings['contributors'] === true
259
+ && (validContributors.length === 0)) {
260
+ Logger.customize({
261
+ name: 'CLIRecipePackageJsonSyncOwnership.handle',
262
+ purpose: 'contributors',
263
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing "contributors". No contributors are defined.`);
264
+ Reflect.deleteProperty(fileContents, 'contributors');
265
+ }
266
+ }
267
+ if (packageFundingSources !== undefined
268
+ && manifest.policy !== 'distributable') {
269
+ Logger.customize({
270
+ name: 'CLIRecipePackageJsonSyncOwnership.handle',
271
+ purpose: 'funding',
272
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing "funding". Workspace policy "${manifest.policy}" does not allow it.`);
273
+ Reflect.deleteProperty(fileContents, 'funding');
274
+ }
275
+ else {
276
+ const validFundingSources = (workingFile.urls !== undefined) ? workingFile.urls.fundSources : undefined;
277
+ if ((manifest.policy === 'distributable'
278
+ && recipeSettings !== undefined
279
+ && recipeSettings['funding'] === true
280
+ && validFundingSources !== undefined)
281
+ && (JSON.stringify(packageFundingSources) !== JSON.stringify(validFundingSources))) {
282
+ Logger.customize({
283
+ name: 'CLIRecipePackageJsonSyncOwnership.handle',
284
+ purpose: 'funding',
285
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Syncing "funding" from workspace manifest ...`);
286
+ Reflect.set(fileContents, 'funding', validFundingSources);
287
+ }
288
+ if (manifest.policy === 'distributable'
289
+ && recipeSettings !== undefined
290
+ && recipeSettings['funding'] === true
291
+ && validFundingSources === undefined) {
292
+ Logger.customize({
293
+ name: 'CLIRecipePackageJsonSyncOwnership.handle',
294
+ purpose: 'funding',
295
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing "funding". No funding sources are defined.`);
296
+ Reflect.deleteProperty(fileContents, 'funding');
297
+ }
298
+ }
299
+ if (packageRepository !== undefined
300
+ && manifest.policy !== 'distributable') {
301
+ Logger.customize({
302
+ name: 'CLIRecipePackageJsonSyncOwnership.handle',
303
+ purpose: 'repository',
304
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing "repository". Workspace policy "${manifest.policy}" does not allow it.`);
305
+ Reflect.deleteProperty(fileContents, 'repository');
306
+ }
307
+ else {
308
+ const validRepository = (() => {
309
+ const repositoryUrl = (workingFile.urls !== undefined) ? workingFile.urls.repository : undefined;
310
+ if (repositoryUrl === undefined) {
311
+ return undefined;
312
+ }
313
+ const projectRoot = process.cwd();
314
+ const packageDirectory = dirname(workspace.filePath);
315
+ const relativeDirectory = relative(projectRoot, packageDirectory);
316
+ const repositoryDirectory = relativeDirectory.replaceAll(sep, '/');
317
+ return {
318
+ type: 'git',
319
+ url: repositoryUrl,
320
+ ...(repositoryDirectory !== '' && repositoryDirectory !== '.' ? {
321
+ directory: repositoryDirectory,
322
+ } : {}),
323
+ };
324
+ })();
325
+ if ((manifest.policy === 'distributable'
326
+ && recipeSettings !== undefined
327
+ && recipeSettings['repository'] === true
328
+ && validRepository !== undefined)
329
+ && (JSON.stringify(packageRepository) !== JSON.stringify(validRepository))) {
330
+ Logger.customize({
331
+ name: 'CLIRecipePackageJsonSyncOwnership.handle',
332
+ purpose: 'repository',
333
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Syncing "repository" from workspace manifest ...`);
334
+ Reflect.set(fileContents, 'repository', validRepository);
335
+ }
336
+ if (manifest.policy === 'distributable'
337
+ && recipeSettings !== undefined
338
+ && recipeSettings['repository'] === true
339
+ && validRepository === undefined) {
340
+ Logger.customize({
341
+ name: 'CLIRecipePackageJsonSyncOwnership.handle',
342
+ purpose: 'repository',
343
+ }).info(`${chalk.magenta(`"${manifest.name}" workspace`)} → Removing "repository". No repository url is defined.`);
344
+ Reflect.deleteProperty(fileContents, 'repository');
345
+ }
346
+ }
347
+ }
348
+ }
349
+ //# sourceMappingURL=sync-ownership.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-ownership.js","sourceRoot":"","sources":["../../../../../src/cli/recipe/package-json/sync-ownership.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { CLIUtilityChangelogRunOptions, CLIUtilityChangelogRunReturns } from '@/types/cli/utility/changelog.d.ts';
1
+ import type { CLIUtilityChangelogRunOptions, CLIUtilityChangelogRunReturns } from '../../types/cli/utility/changelog.d.ts';
2
2
  export declare class CLIUtilityChangelog {
3
3
  static run(options: CLIUtilityChangelogRunOptions): CLIUtilityChangelogRunReturns;
4
4
  private static record;
@@ -1 +1 @@
1
- {"version":3,"file":"changelog.d.ts","sourceRoot":"","sources":["../../../../src/cli/utility/changelog.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAmCV,6BAA6B,EAC7B,6BAA6B,EAS9B,MAAM,oCAAoC,CAAC;AAO5C,qBAAa,mBAAmB;WAUV,GAAG,CAAC,OAAO,EAAE,6BAA6B,GAAG,6BAA6B;mBAyGzE,MAAM;mBAiUN,OAAO;mBAqSP,YAAY;mBA4HZ,cAAc;mBA6Ed,gBAAgB;IAgCrC,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAOhC"}
1
+ {"version":3,"file":"changelog.d.ts","sourceRoot":"","sources":["../../../../src/cli/utility/changelog.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAmCV,6BAA6B,EAC7B,6BAA6B,EAS9B,MAAM,oCAAoC,CAAC;AAO5C,qBAAa,mBAAmB;WAUV,GAAG,CAAC,OAAO,EAAE,6BAA6B,GAAG,6BAA6B;mBAyGzE,MAAM;mBAiUN,OAAO;mBAsSP,YAAY;mBA4HZ,cAAc;mBA6Ed,gBAAgB;IAgCrC,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAOhC"}