@storm-software/workspace-tools 1.279.3 → 1.281.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 (207) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +2 -1
  3. package/dist/{chunk-MZEFNYBT.js → chunk-2FLQWXE5.js} +2 -2
  4. package/dist/{chunk-KRAHIMKO.js → chunk-2NF3YUV5.js} +2 -2
  5. package/dist/{chunk-KX7XTUYW.js → chunk-3NGWW4TI.js} +552 -249
  6. package/dist/{chunk-N46RWKEK.mjs → chunk-3ZRR5MT7.mjs} +2 -2
  7. package/dist/{chunk-63DISBXN.js → chunk-4S36VQAW.js} +2 -2
  8. package/dist/{chunk-5KP5KWGU.mjs → chunk-75U5BCHL.mjs} +1 -1
  9. package/dist/{chunk-RMWG74QA.mjs → chunk-7IJVTV2B.mjs} +2 -2
  10. package/dist/{chunk-CHSTJ3AR.js → chunk-7ZX63ESB.js} +7 -5
  11. package/dist/{chunk-JCEMECUD.mjs → chunk-BPG3OMCI.mjs} +1 -1
  12. package/dist/{chunk-PYS5P7QE.mjs → chunk-BVSY5RGQ.mjs} +552 -249
  13. package/dist/{chunk-DJLGYPRA.js → chunk-BWORIUPC.js} +2 -2
  14. package/dist/{chunk-JX3KVFO5.js → chunk-CH5FES5E.js} +2 -2
  15. package/dist/{chunk-UGBVA3KE.mjs → chunk-CKTQUYMO.mjs} +7 -5
  16. package/dist/{chunk-GNIDPNI3.mjs → chunk-EIG2GLLA.mjs} +1 -1
  17. package/dist/{chunk-UGJVZ6LI.js → chunk-G7Q436PD.js} +2 -2
  18. package/dist/{chunk-GWT4ZQ6Y.js → chunk-G7XAPBVN.js} +2 -2
  19. package/dist/{chunk-LVIDSVDC.mjs → chunk-HJHJTEFF.mjs} +1 -1
  20. package/dist/{chunk-V2UGPEY2.mjs → chunk-HOCWBZG4.mjs} +2 -2
  21. package/dist/{chunk-FVGLL54Y.mjs → chunk-HQD7CMHA.mjs} +2 -2
  22. package/dist/{chunk-5EK4H7VB.mjs → chunk-IPJSQ4JM.mjs} +1 -1
  23. package/dist/{chunk-47X3OTR5.mjs → chunk-JJKB5LJY.mjs} +1 -1
  24. package/dist/{chunk-64LWOWPE.mjs → chunk-JXUTCXYW.mjs} +1 -1
  25. package/dist/{chunk-2AZFAMT2.mjs → chunk-KNFTKCYF.mjs} +1 -1
  26. package/dist/{chunk-WASXXREW.mjs → chunk-MNHMPN5N.mjs} +1 -1
  27. package/dist/{chunk-ZVL2TRR6.js → chunk-N35Q2KYG.js} +2 -2
  28. package/dist/{chunk-YEUILWDR.js → chunk-RBIKWDFC.js} +2 -2
  29. package/dist/{chunk-CCMBHSV7.mjs → chunk-S6I7KEIX.mjs} +3 -3
  30. package/dist/{chunk-G3YKHGPE.js → chunk-SZGFK6EV.js} +2 -2
  31. package/dist/{chunk-ESFH6QVE.js → chunk-TARBFSCL.js} +2 -2
  32. package/dist/{chunk-5FBIPGPD.mjs → chunk-VLRI6BBL.mjs} +1 -1
  33. package/dist/{chunk-47VSL76K.mjs → chunk-VYBW3BAP.mjs} +1 -1
  34. package/dist/{chunk-UTAJHUJL.js → chunk-WMO5LTRB.js} +4 -4
  35. package/dist/{chunk-VR3OLKAI.js → chunk-XMZ6TDUE.js} +2 -2
  36. package/dist/{chunk-YBUD4GFC.js → chunk-Y7EP2VC4.js} +2 -2
  37. package/dist/{chunk-K7FEZWBA.mjs → chunk-Z6PFI3J5.mjs} +1 -1
  38. package/dist/{chunk-ARTBWDR4.js → chunk-Z7GL7LZ5.js} +2 -2
  39. package/dist/{chunk-AH253N44.js → chunk-ZPKT334B.js} +2 -2
  40. package/dist/{executor-DJb8r-Zb.d.mts → executor-BKX42Sw7.d.mts} +1 -1
  41. package/dist/{executor-BZYJEb9V.d.ts → executor-CkNxaoIY.d.ts} +1 -1
  42. package/dist/{executor-CUlX29YN.d.mts → executor-D3PNL4CV.d.mts} +1 -1
  43. package/dist/{executor-CysN0MTH.d.ts → executor-DPM2Z36c.d.ts} +1 -1
  44. package/dist/{executor-CwENKkEy.d.mts → executor-GBuel7B7.d.mts} +1 -1
  45. package/dist/{executor-Bez_tWxf.d.mts → executor-aDXEPVsT.d.mts} +1 -1
  46. package/dist/{executor-D3Tip-ad.d.ts → executor-foxQoOAn.d.ts} +1 -1
  47. package/dist/{executor-_WT0Qd2F.d.ts → executor-rXyqR2O7.d.ts} +1 -1
  48. package/dist/executors.d.mts +6 -5
  49. package/dist/executors.d.ts +6 -5
  50. package/dist/executors.js +12 -12
  51. package/dist/executors.mjs +12 -12
  52. package/dist/{generator-DpjPMueC.d.ts → generator-Atoj4M31.d.ts} +2 -2
  53. package/dist/{generator-Biz_Ai4B.d.ts → generator-B8wuX3dQ.d.ts} +1 -1
  54. package/dist/{generator-DKZjOzNw.d.mts → generator-BBL6R81T.d.mts} +2 -2
  55. package/dist/{generator-ujd2pu2I.d.ts → generator-BrHx51q7.d.ts} +2 -2
  56. package/dist/{generator-CYCzda2K.d.mts → generator-C89d9hiO.d.mts} +2 -2
  57. package/dist/{generator-D7tljo-K.d.mts → generator-CA85Rjt_.d.mts} +1 -1
  58. package/dist/{generator-CVPI52z3.d.mts → generator-Cl7VLDBp.d.mts} +2 -2
  59. package/dist/{generator-De9XOTip.d.mts → generator-DY4LnD3U.d.mts} +2 -2
  60. package/dist/{generator-o2v2Q4At.d.mts → generator-DuzhU6Nt.d.mts} +1 -1
  61. package/dist/{generator-Dyk2TjIp.d.ts → generator-Lo6Lesoa.d.ts} +1 -1
  62. package/dist/{generator-CmkSA-dv.d.ts → generator-ggEO-y1w.d.ts} +2 -2
  63. package/dist/{generator-Dk1ihwF-.d.ts → generator-l6HKZhyL.d.ts} +2 -2
  64. package/dist/generators.d.mts +9 -8
  65. package/dist/generators.d.ts +9 -8
  66. package/dist/generators.js +9 -9
  67. package/dist/generators.mjs +9 -9
  68. package/dist/index.d.mts +13 -12
  69. package/dist/index.d.ts +13 -12
  70. package/dist/index.js +19 -19
  71. package/dist/index.mjs +19 -19
  72. package/dist/src/base/base-executor.d.mts +3 -2
  73. package/dist/src/base/base-executor.d.ts +3 -2
  74. package/dist/src/base/base-executor.js +3 -3
  75. package/dist/src/base/base-executor.mjs +3 -3
  76. package/dist/src/base/base-executor.untyped.mjs +1 -1
  77. package/dist/src/base/base-generator.d.mts +3 -2
  78. package/dist/src/base/base-generator.d.ts +3 -2
  79. package/dist/src/base/base-generator.js +3 -3
  80. package/dist/src/base/base-generator.mjs +3 -3
  81. package/dist/src/base/base-generator.untyped.mjs +1 -1
  82. package/dist/src/base/cargo-base-executor.untyped.mjs +1 -1
  83. package/dist/src/base/index.d.mts +3 -2
  84. package/dist/src/base/index.d.ts +3 -2
  85. package/dist/src/base/index.js +4 -4
  86. package/dist/src/base/index.mjs +4 -4
  87. package/dist/src/base/typescript-build-executor.untyped.mjs +1 -1
  88. package/dist/src/base/typescript-library-generator.untyped.mjs +1 -1
  89. package/dist/src/executors/cargo-build/executor.js +4 -4
  90. package/dist/src/executors/cargo-build/executor.mjs +4 -4
  91. package/dist/src/executors/cargo-build/untyped.mjs +1 -1
  92. package/dist/src/executors/cargo-check/executor.js +4 -4
  93. package/dist/src/executors/cargo-check/executor.mjs +4 -4
  94. package/dist/src/executors/cargo-check/untyped.mjs +1 -1
  95. package/dist/src/executors/cargo-clippy/executor.js +4 -4
  96. package/dist/src/executors/cargo-clippy/executor.mjs +4 -4
  97. package/dist/src/executors/cargo-clippy/untyped.mjs +1 -1
  98. package/dist/src/executors/cargo-doc/executor.js +4 -4
  99. package/dist/src/executors/cargo-doc/executor.mjs +4 -4
  100. package/dist/src/executors/cargo-doc/untyped.mjs +1 -1
  101. package/dist/src/executors/cargo-format/executor.js +4 -4
  102. package/dist/src/executors/cargo-format/executor.mjs +4 -4
  103. package/dist/src/executors/cargo-format/untyped.mjs +1 -1
  104. package/dist/src/executors/cargo-publish/executor.mjs +1 -1
  105. package/dist/src/executors/cargo-publish/untyped.mjs +1 -1
  106. package/dist/src/executors/clean-package/executor.d.mts +2 -1
  107. package/dist/src/executors/clean-package/executor.d.ts +2 -1
  108. package/dist/src/executors/clean-package/executor.js +3 -3
  109. package/dist/src/executors/clean-package/executor.mjs +3 -3
  110. package/dist/src/executors/clean-package/untyped.mjs +1 -1
  111. package/dist/src/executors/esbuild/executor.d.mts +3 -2
  112. package/dist/src/executors/esbuild/executor.d.ts +3 -2
  113. package/dist/src/executors/esbuild/executor.js +4 -4
  114. package/dist/src/executors/esbuild/executor.mjs +4 -4
  115. package/dist/src/executors/esbuild/untyped.mjs +1 -1
  116. package/dist/src/executors/npm-publish/executor.mjs +1 -1
  117. package/dist/src/executors/npm-publish/untyped.mjs +1 -1
  118. package/dist/src/executors/size-limit/executor.d.mts +3 -2
  119. package/dist/src/executors/size-limit/executor.d.ts +3 -2
  120. package/dist/src/executors/size-limit/executor.js +4 -4
  121. package/dist/src/executors/size-limit/executor.mjs +4 -4
  122. package/dist/src/executors/size-limit/untyped.mjs +1 -1
  123. package/dist/src/executors/typia/executor.d.mts +3 -2
  124. package/dist/src/executors/typia/executor.d.ts +3 -2
  125. package/dist/src/executors/typia/executor.js +4 -4
  126. package/dist/src/executors/typia/executor.mjs +4 -4
  127. package/dist/src/executors/typia/untyped.mjs +1 -1
  128. package/dist/src/executors/unbuild/executor.d.mts +3 -2
  129. package/dist/src/executors/unbuild/executor.d.ts +3 -2
  130. package/dist/src/executors/unbuild/executor.js +4 -4
  131. package/dist/src/executors/unbuild/executor.mjs +4 -4
  132. package/dist/src/executors/unbuild/untyped.mjs +1 -1
  133. package/dist/src/generators/browser-library/generator.d.mts +4 -3
  134. package/dist/src/generators/browser-library/generator.d.ts +4 -3
  135. package/dist/src/generators/browser-library/generator.js +4 -4
  136. package/dist/src/generators/browser-library/generator.mjs +4 -4
  137. package/dist/src/generators/browser-library/untyped.mjs +1 -1
  138. package/dist/src/generators/config-schema/generator.d.mts +4 -3
  139. package/dist/src/generators/config-schema/generator.d.ts +4 -3
  140. package/dist/src/generators/config-schema/generator.js +4 -4
  141. package/dist/src/generators/config-schema/generator.mjs +4 -4
  142. package/dist/src/generators/config-schema/untyped.mjs +1 -1
  143. package/dist/src/generators/init/init.mjs +1 -1
  144. package/dist/src/generators/init/untyped.mjs +1 -1
  145. package/dist/src/generators/neutral-library/generator.d.mts +4 -3
  146. package/dist/src/generators/neutral-library/generator.d.ts +4 -3
  147. package/dist/src/generators/neutral-library/generator.js +4 -4
  148. package/dist/src/generators/neutral-library/generator.mjs +4 -4
  149. package/dist/src/generators/neutral-library/untyped.mjs +1 -1
  150. package/dist/src/generators/node-library/generator.d.mts +4 -3
  151. package/dist/src/generators/node-library/generator.d.ts +4 -3
  152. package/dist/src/generators/node-library/generator.js +4 -4
  153. package/dist/src/generators/node-library/generator.mjs +4 -4
  154. package/dist/src/generators/node-library/untyped.mjs +1 -1
  155. package/dist/src/generators/preset/generator.d.mts +4 -3
  156. package/dist/src/generators/preset/generator.d.ts +4 -3
  157. package/dist/src/generators/preset/generator.js +4 -4
  158. package/dist/src/generators/preset/generator.mjs +4 -4
  159. package/dist/src/generators/preset/untyped.mjs +1 -1
  160. package/dist/src/generators/release-version/generator.d.mts +3 -2
  161. package/dist/src/generators/release-version/generator.d.ts +3 -2
  162. package/dist/src/generators/release-version/generator.js +3 -3
  163. package/dist/src/generators/release-version/generator.mjs +3 -3
  164. package/dist/src/generators/release-version/untyped.mjs +1 -1
  165. package/dist/src/plugins/rust/cargo-toml.mjs +1 -1
  166. package/dist/src/plugins/rust/index.mjs +1 -1
  167. package/dist/src/plugins/typescript/index.d.mts +47 -2
  168. package/dist/src/plugins/typescript/index.d.ts +47 -2
  169. package/dist/src/plugins/typescript/index.js +435 -5
  170. package/dist/src/plugins/typescript/index.mjs +436 -6
  171. package/dist/src/plugins/typescript/tsup.mjs +1 -1
  172. package/dist/src/plugins/typescript/untyped-schema.mjs +1 -1
  173. package/dist/src/types.d.mts +3 -2
  174. package/dist/src/types.d.ts +3 -2
  175. package/dist/src/types.mjs +1 -1
  176. package/dist/src/utils/apply-workspace-tokens.d.mts +2 -1
  177. package/dist/src/utils/apply-workspace-tokens.d.ts +2 -1
  178. package/dist/src/utils/apply-workspace-tokens.mjs +1 -1
  179. package/dist/src/utils/cargo.mjs +1 -1
  180. package/dist/src/utils/create-cli-options.mjs +1 -1
  181. package/dist/src/utils/get-project-configurations.mjs +1 -1
  182. package/dist/src/utils/index.d.mts +3 -2
  183. package/dist/src/utils/index.d.ts +3 -2
  184. package/dist/src/utils/index.mjs +1 -1
  185. package/dist/src/utils/lock-file.mjs +1 -1
  186. package/dist/src/utils/nx-json.mjs +1 -1
  187. package/dist/src/utils/package-helpers.mjs +1 -1
  188. package/dist/src/utils/plugin-helpers.mjs +1 -1
  189. package/dist/src/utils/pnpm-deps-update.mjs +1 -1
  190. package/dist/src/utils/project-tags.d.mts +3 -2
  191. package/dist/src/utils/project-tags.d.ts +3 -2
  192. package/dist/src/utils/project-tags.mjs +1 -1
  193. package/dist/src/utils/typia-transform.mjs +1 -1
  194. package/dist/src/utils/versions.mjs +1 -1
  195. package/dist/{types-DXRPpxuL.d.mts → types-BuQFM0Hk.d.mts} +1 -1
  196. package/dist/types-Ca7EE8eb.d.mts +226 -0
  197. package/dist/types-Ca7EE8eb.d.ts +226 -0
  198. package/dist/{types-ifEQCCcO.d.ts → types-yDwoa0v2.d.ts} +1 -1
  199. package/package.json +5 -5
  200. package/dist/chunk-D7XLAFS5.mjs +0 -434
  201. package/dist/chunk-QDQ5YUCN.js +0 -434
  202. package/dist/src/plugins/typescript/project-config.d.mts +0 -37
  203. package/dist/src/plugins/typescript/project-config.d.ts +0 -37
  204. package/dist/src/plugins/typescript/project-config.js +0 -11
  205. package/dist/src/plugins/typescript/project-config.mjs +0 -11
  206. package/dist/types-DWiPwz5j.d.mts +0 -218
  207. package/dist/types-DWiPwz5j.d.ts +0 -218
@@ -1,434 +0,0 @@
1
- import {
2
- getProjectPlatform,
3
- getRoot
4
- } from "./chunk-FHBOYSRN.mjs";
5
- import {
6
- ProjectTagConstants,
7
- addProjectTag,
8
- isEqualProjectTag,
9
- setDefaultProjectTags
10
- } from "./chunk-F66XEAID.mjs";
11
-
12
- // src/plugins/typescript/project-config.ts
13
- import {
14
- createNodesFromFiles
15
- } from "@nx/devkit";
16
- import defu from "defu";
17
- import { existsSync } from "node:fs";
18
- import { dirname, join } from "node:path";
19
- import { readNxJson } from "nx/src/config/nx-json.js";
20
- import { readJsonFile } from "nx/src/utils/fileutils";
21
- import { readTargetsFromPackageJson } from "nx/src/utils/package-json";
22
- import { readTSConfig } from "pkg-types";
23
- var name = "storm-software/typescript";
24
- var createNodesV2 = [
25
- "{project.json,**/project.json}",
26
- async (configFiles, options = { includeApps: true }, context) => {
27
- const nxJson = readNxJson(context.workspaceRoot);
28
- return createNodesFromFiles(
29
- async (file, options2 = { includeApps: true }, context2) => {
30
- try {
31
- const packageJson = createPackageJson(file, context2.workspaceRoot);
32
- if (!packageJson) {
33
- return {};
34
- }
35
- const tsconfig = await createTsconfig(file, context2.workspaceRoot);
36
- if (!tsconfig) {
37
- return {};
38
- }
39
- const projectConfig = createProjectFromPackageJsonNextToProjectJson(
40
- file,
41
- packageJson
42
- );
43
- if (options2?.includeApps === false && projectConfig.projectType === "application") {
44
- return {};
45
- }
46
- const root = getRoot(projectConfig.root, context2);
47
- const enableMarkdownlint = options2?.enableMarkdownlint !== false;
48
- const enableEslint = options2?.enableEslint !== false;
49
- const targets = readTargetsFromPackageJson(
50
- packageJson,
51
- nxJson,
52
- projectConfig.root,
53
- context2.workspaceRoot
54
- );
55
- if (join(context2.workspaceRoot, projectConfig.root).startsWith(
56
- join(context2.workspaceRoot, "tools")
57
- ) && options2?.lintInternalTools !== true) {
58
- targets.lint ??= {
59
- dependsOn: ["^lint"],
60
- executor: "nx:run-commands",
61
- options: {
62
- command: "echo 'Skipping linting of internal tools package \"{projectName}\". This can be changed by setting `lintInternalTools` to `true` in the Storm TypeScript plugin options.' "
63
- }
64
- };
65
- } else {
66
- targets["lint-ls"] ??= {
67
- cache: true,
68
- inputs: ["linting", "typescript", "^production"],
69
- dependsOn: ["^lint-ls"],
70
- executor: "nx:run-commands",
71
- options: {
72
- command: 'pnpm exec ls-lint --config="node_modules/@storm-software/linting-tools/ls-lint/.ls-lint.yml" '
73
- }
74
- };
75
- if (enableMarkdownlint) {
76
- targets["lint-markdown"] ??= {
77
- cache: true,
78
- inputs: [
79
- "linting",
80
- "{projectRoot}/**/*.md",
81
- "{projectRoot}/**/*.mdx"
82
- ],
83
- outputs: ["{projectRoot}/**/*.md", "{projectRoot}/**/*.mdx"],
84
- dependsOn: ["^lint-markdown"],
85
- executor: "nx:run-commands",
86
- options: {
87
- command: 'pnpm exec markdownlint-cli2 "{projectRoot}/*.{md,mdx}" "{projectRoot}/**/*.{md,mdx}" --config "node_modules/@storm-software/markdownlint/config/base.markdownlint-cli2.jsonc" --fix'
88
- }
89
- };
90
- }
91
- if (enableEslint) {
92
- let eslintConfig = checkEslintConfigAtPath(projectConfig.root);
93
- if (!eslintConfig) {
94
- eslintConfig = checkEslintConfigAtPath(context2.workspaceRoot);
95
- }
96
- if (eslintConfig) {
97
- targets.lint ??= {
98
- cache: true,
99
- inputs: ["linting", "typescript", "^production"],
100
- outputs: [
101
- "{projectRoot}/**/*.{ts,tsx,js,jsx,json,md,mdx,yaml,yml,html,css,scss,sass,less,graphql,gql}"
102
- ],
103
- dependsOn: ["lint-markdown", "^lint"],
104
- executor: "@nx/eslint:lint",
105
- options: {
106
- format: "stylish",
107
- fix: true,
108
- errorOnUnmatchedPattern: false,
109
- cache: true,
110
- cacheLocation: "{workspaceRoot}/node_modules/.cache/eslint/{projectRoot}",
111
- eslintConfig
112
- }
113
- };
114
- }
115
- }
116
- }
117
- targets["format-toml"] ??= {
118
- cache: true,
119
- inputs: ["linting", "{projectRoot}/**/*.toml"],
120
- outputs: ["{projectRoot}/**/*.toml"],
121
- dependsOn: ["^format-toml"],
122
- executor: "nx:run-commands",
123
- options: {
124
- command: 'pnpm exec taplo format --config="node_modules/@storm-software/linting-tools/taplo/config.toml" --cache-path="node_modules/.cache/taplo/{projectRoot}" --colors="always" "{projectRoot}/*.toml" "{projectRoot}/**/*.toml" '
125
- }
126
- };
127
- targets["format-readme"] ??= {
128
- cache: true,
129
- inputs: [
130
- "linting",
131
- "documentation",
132
- "{projectRoot}/{README.md,package.json,Cargo.toml,executors.json,generators.json}"
133
- ],
134
- outputs: ["{projectRoot}/README.md"],
135
- dependsOn: ["^format-readme"],
136
- executor: "nx:run-commands",
137
- options: {
138
- command: 'pnpm exec storm-git readme --templates="tools/readme-templates" --project="{projectName}"'
139
- }
140
- };
141
- targets["format-prettier"] ??= {
142
- cache: true,
143
- inputs: ["linting", "typescript", "^production"],
144
- outputs: ["{projectRoot}/**/*"],
145
- dependsOn: ["^format-prettier"],
146
- executor: "nx:run-commands",
147
- options: {
148
- command: 'pnpm exec prettier "{projectRoot}/**/*" --write --ignore-unknown --no-error-on-unmatched-pattern --config="node_modules/@storm-software/prettier/config.json" --ignore-path="node_modules/@storm-software/prettier/.prettierignore" --cache --cache-location="node_modules/.cache/prettier/{projectRoot}" '
149
- }
150
- };
151
- targets.format ??= {
152
- cache: true,
153
- inputs: ["linting", "typescript", "^production"],
154
- outputs: ["{projectRoot}/**/*"],
155
- dependsOn: [
156
- "format-readme",
157
- "format-toml",
158
- "format-prettier",
159
- "^format"
160
- ],
161
- executor: "nx:run-commands",
162
- options: {
163
- command: `echo 'Formatting the project files in "{projectRoot}"' `
164
- }
165
- };
166
- targets["type-check"] ??= {
167
- cache: true,
168
- inputs: ["typescript", "^production"],
169
- outputs: ["{workspaceRoot}/dist/{projectRoot}"],
170
- executor: "nx:run-commands",
171
- dependsOn: ["^type-check", "^build"],
172
- options: {
173
- command: `pnpm exec tsc --noEmit --pretty --project ${join(
174
- projectConfig.root,
175
- "tsconfig.json"
176
- )}`
177
- }
178
- };
179
- targets.clean ??= {
180
- cache: true,
181
- executor: "nx:run-commands",
182
- inputs: ["typescript", "^production"],
183
- outputs: ["{workspaceRoot}/dist/{projectRoot}"],
184
- options: {
185
- command: "pnpm exec rimraf dist/{projectRoot}",
186
- color: true,
187
- cwd: "{workspaceRoot}"
188
- }
189
- };
190
- targets.rebuild ??= {
191
- cache: false,
192
- executor: "nx:run-commands",
193
- dependsOn: ["clean", "^build"],
194
- inputs: ["typescript", "^production"],
195
- outputs: ["{workspaceRoot}/dist/{projectRoot}"],
196
- options: {
197
- command: `pnpm exec nx run ${projectConfig.name}:build`
198
- }
199
- };
200
- if (checkJestConfigAtPath(projectConfig.root)) {
201
- targets.test ??= {
202
- cache: true,
203
- executor: "@nx/jest:jest",
204
- inputs: ["testing", "typescript", "^production"],
205
- outputs: ["{workspaceRoot}/coverage/{projectRoot}"],
206
- defaultConfiguration: "development",
207
- options: {
208
- jestConfig: "{projectRoot}/jest.config.ts",
209
- passWithNoTests: true
210
- },
211
- configurations: {
212
- development: {
213
- ci: false,
214
- codeCoverage: true
215
- },
216
- production: {
217
- ci: true,
218
- codeCoverage: true
219
- }
220
- }
221
- };
222
- }
223
- targets["docs"] ??= {
224
- cache: true,
225
- inputs: ["linting", "documentation", "typescript", "^production"],
226
- outputs: ["{projectRoot}/docs"],
227
- dependsOn: ["build", "format-readme", "lint-docs", "^docs"],
228
- options: {}
229
- };
230
- targets["size-limit"] ??= {
231
- cache: true,
232
- inputs: ["testing", "typescript", "^production"],
233
- outputs: ["{workspaceRoot}/dist/{projectRoot}"],
234
- dependsOn: ["build", "^size-limit"],
235
- options: {}
236
- };
237
- const isPrivate = packageJson.private ?? false;
238
- if (!isPrivate) {
239
- addProjectTag(
240
- projectConfig,
241
- ProjectTagConstants.Registry.TAG_ID,
242
- ProjectTagConstants.Registry.NPM,
243
- { overwrite: true }
244
- );
245
- targets["nx-release-publish"] = {
246
- cache: false,
247
- dependsOn: ["build", "size-limit", "^nx-release-publish"],
248
- executor: "@storm-software/workspace-tools:npm-publish",
249
- options: {}
250
- };
251
- if (projectConfig.projectType === "application" || isEqualProjectTag(
252
- projectConfig,
253
- ProjectTagConstants.ProjectType.TAG_ID,
254
- ProjectTagConstants.ProjectType.APPLICATION
255
- ) || isEqualProjectTag(
256
- projectConfig,
257
- ProjectTagConstants.DistStyle.TAG_ID,
258
- ProjectTagConstants.DistStyle.CLEAN
259
- )) {
260
- targets["clean-package"] ??= {
261
- cache: true,
262
- dependsOn: ["build"],
263
- inputs: ["{workspaceRoot}/dist/{projectRoot}"],
264
- outputs: ["{workspaceRoot}/dist/{projectRoot}"],
265
- executor: "@storm-software/workspace-tools:clean-package",
266
- options: {
267
- cleanReadMe: true,
268
- cleanComments: true
269
- }
270
- };
271
- targets["nx-release-publish"].dependsOn?.push("clean-package");
272
- targets["size-limit"].dependsOn?.push("clean-package");
273
- }
274
- }
275
- addProjectTag(
276
- projectConfig,
277
- ProjectTagConstants.Language.TAG_ID,
278
- ProjectTagConstants.Language.TYPESCRIPT,
279
- { overwrite: true }
280
- );
281
- const platform = getProjectPlatform(projectConfig);
282
- switch (platform) {
283
- case "worker":
284
- addProjectTag(
285
- projectConfig,
286
- ProjectTagConstants.Platform.TAG_ID,
287
- ProjectTagConstants.Platform.WORKER,
288
- { overwrite: true }
289
- );
290
- break;
291
- case "node":
292
- addProjectTag(
293
- projectConfig,
294
- ProjectTagConstants.Platform.TAG_ID,
295
- ProjectTagConstants.Platform.NODE,
296
- { overwrite: true }
297
- );
298
- break;
299
- case "browser":
300
- addProjectTag(
301
- projectConfig,
302
- ProjectTagConstants.Platform.TAG_ID,
303
- ProjectTagConstants.Platform.BROWSER,
304
- { overwrite: true }
305
- );
306
- break;
307
- default:
308
- addProjectTag(
309
- projectConfig,
310
- ProjectTagConstants.Platform.TAG_ID,
311
- ProjectTagConstants.Platform.NEUTRAL,
312
- { overwrite: true }
313
- );
314
- break;
315
- }
316
- setDefaultProjectTags(projectConfig, name);
317
- return {
318
- projects: {
319
- [root]: defu(
320
- {
321
- root,
322
- targets,
323
- release: {
324
- version: {
325
- generator: "@storm-software/workspace-tools:release-version"
326
- }
327
- }
328
- },
329
- projectConfig
330
- )
331
- }
332
- };
333
- } catch (e) {
334
- console.error(e);
335
- return {};
336
- }
337
- },
338
- configFiles,
339
- options,
340
- context
341
- );
342
- }
343
- ];
344
- function createProjectFromPackageJsonNextToProjectJson(projectJsonPath, packageJson) {
345
- const { nx, name: name2 } = packageJson;
346
- const root = dirname(projectJsonPath);
347
- return {
348
- ...nx,
349
- name: name2,
350
- root,
351
- targets: {}
352
- };
353
- }
354
- function createPackageJson(projectJsonPath, workspaceRoot) {
355
- try {
356
- const root = dirname(projectJsonPath);
357
- const packageJsonPath = join(workspaceRoot, root, "package.json");
358
- if (!existsSync(packageJsonPath)) {
359
- return null;
360
- }
361
- return readJsonFile(packageJsonPath);
362
- } catch (e) {
363
- console.warn(e);
364
- return null;
365
- }
366
- }
367
- async function createTsconfig(projectJsonPath, workspaceRoot) {
368
- try {
369
- const root = dirname(projectJsonPath);
370
- const tsconfigJsonPath = join(workspaceRoot, root, "tsconfig.json");
371
- if (!existsSync(tsconfigJsonPath)) {
372
- return null;
373
- }
374
- return readTSConfig(tsconfigJsonPath);
375
- } catch (e) {
376
- console.warn(e);
377
- return null;
378
- }
379
- }
380
- function checkEslintConfigAtPath(directory) {
381
- const hasEslintConfigFile = (fileName) => {
382
- return existsSync(join(directory, fileName));
383
- };
384
- if (hasEslintConfigFile(".eslintrc.js")) {
385
- return ".eslintrc.js";
386
- } else if (hasEslintConfigFile(".eslintrc.cjs")) {
387
- return ".eslintrc.cjs";
388
- } else if (hasEslintConfigFile(".eslintrc.yaml")) {
389
- return ".eslintrc.yaml";
390
- } else if (hasEslintConfigFile(".eslintrc.yml")) {
391
- return ".eslintrc.yml";
392
- } else if (hasEslintConfigFile(".eslintrc.json")) {
393
- return ".eslintrc.json";
394
- } else if (hasEslintConfigFile(".eslintrc")) {
395
- return ".eslintrc";
396
- } else if (hasEslintConfigFile("eslint.config.js")) {
397
- return "eslint.config.js";
398
- } else if (hasEslintConfigFile("eslint.config.cjs")) {
399
- return "eslint.config.cjs";
400
- } else if (hasEslintConfigFile("eslint.config.mjs")) {
401
- return "eslint.config.mjs";
402
- } else if (hasEslintConfigFile("eslint.config.ts")) {
403
- return "eslint.config.ts";
404
- } else if (hasEslintConfigFile("eslint.config.cts")) {
405
- return "eslint.config.cts";
406
- } else if (hasEslintConfigFile("eslint.config.mts")) {
407
- return "eslint.config.mts";
408
- }
409
- return null;
410
- }
411
- function checkJestConfigAtPath(directory) {
412
- const hasJestConfigFile = (fileName) => {
413
- return existsSync(join(directory, fileName));
414
- };
415
- if (hasJestConfigFile("eslint.config.js")) {
416
- return "jest.config.js";
417
- } else if (hasJestConfigFile("eslint.config.cjs")) {
418
- return "jest.config.cjs";
419
- } else if (hasJestConfigFile("eslint.config.mjs")) {
420
- return "jest.config.mjs";
421
- } else if (hasJestConfigFile("eslint.config.ts")) {
422
- return "jest.config.ts";
423
- } else if (hasJestConfigFile("jest.config.cts")) {
424
- return "jest.config.cts";
425
- } else if (hasJestConfigFile("jest.config.mts")) {
426
- return "jest.config.mts";
427
- }
428
- return null;
429
- }
430
-
431
- export {
432
- name,
433
- createNodesV2
434
- };