@xylabs/ts-scripts-yarn3 7.0.0-rc.8 → 7.0.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 (273) hide show
  1. package/dist/actions/build.mjs +87 -39
  2. package/dist/actions/build.mjs.map +1 -1
  3. package/dist/actions/clean-docs.mjs +22 -8
  4. package/dist/actions/clean-docs.mjs.map +1 -1
  5. package/dist/actions/clean-eslint.mjs +11 -5
  6. package/dist/actions/clean-eslint.mjs.map +1 -1
  7. package/dist/actions/clean-jest.mjs +29 -16
  8. package/dist/actions/clean-jest.mjs.map +1 -1
  9. package/dist/actions/clean.mjs +63 -32
  10. package/dist/actions/clean.mjs.map +1 -1
  11. package/dist/actions/compile.mjs +76 -50
  12. package/dist/actions/compile.mjs.map +1 -1
  13. package/dist/actions/copy-assets.mjs +38 -23
  14. package/dist/actions/copy-assets.mjs.map +1 -1
  15. package/dist/actions/cycle.mjs +57 -28
  16. package/dist/actions/cycle.mjs.map +1 -1
  17. package/dist/actions/dead.mjs +31 -16
  18. package/dist/actions/dead.mjs.map +1 -1
  19. package/dist/actions/deplint/checkPackage/checkPackage.mjs +74 -50
  20. package/dist/actions/deplint/checkPackage/checkPackage.mjs.map +1 -1
  21. package/dist/actions/deplint/checkPackage/getUnlistedDependencies.mjs +7 -7
  22. package/dist/actions/deplint/checkPackage/getUnlistedDependencies.mjs.map +1 -1
  23. package/dist/actions/deplint/checkPackage/getUnlistedDevDependencies.mjs +6 -10
  24. package/dist/actions/deplint/checkPackage/getUnlistedDevDependencies.mjs.map +1 -1
  25. package/dist/actions/deplint/checkPackage/getUnusedDependencies.mjs +5 -5
  26. package/dist/actions/deplint/checkPackage/getUnusedDependencies.mjs.map +1 -1
  27. package/dist/actions/deplint/checkPackage/getUnusedPeerDependencies.mjs +4 -0
  28. package/dist/actions/deplint/checkPackage/getUnusedPeerDependencies.mjs.map +1 -1
  29. package/dist/actions/deplint/checkPackage/index.mjs +74 -50
  30. package/dist/actions/deplint/checkPackage/index.mjs.map +1 -1
  31. package/dist/actions/deplint/deplint.mjs +89 -62
  32. package/dist/actions/deplint/deplint.mjs.map +1 -1
  33. package/dist/actions/deplint/findFiles.mjs +20 -4
  34. package/dist/actions/deplint/findFiles.mjs.map +1 -1
  35. package/dist/actions/deplint/findFilesByGlob.mjs +8 -1
  36. package/dist/actions/deplint/findFilesByGlob.mjs.map +1 -1
  37. package/dist/actions/deplint/getBasePackageName.mjs +4 -0
  38. package/dist/actions/deplint/getBasePackageName.mjs.map +1 -1
  39. package/dist/actions/deplint/getDependenciesFromPackageJson.mjs +4 -0
  40. package/dist/actions/deplint/getDependenciesFromPackageJson.mjs.map +1 -1
  41. package/dist/actions/deplint/getExternalImportsFromFiles.mjs +24 -12
  42. package/dist/actions/deplint/getExternalImportsFromFiles.mjs.map +1 -1
  43. package/dist/actions/deplint/getImportsFromFile.mjs +16 -9
  44. package/dist/actions/deplint/getImportsFromFile.mjs.map +1 -1
  45. package/dist/actions/deplint/index.mjs +89 -62
  46. package/dist/actions/deplint/index.mjs.map +1 -1
  47. package/dist/actions/deploy-major.mjs +57 -26
  48. package/dist/actions/deploy-major.mjs.map +1 -1
  49. package/dist/actions/deploy-minor.mjs +57 -26
  50. package/dist/actions/deploy-minor.mjs.map +1 -1
  51. package/dist/actions/deploy-next.mjs +57 -26
  52. package/dist/actions/deploy-next.mjs.map +1 -1
  53. package/dist/actions/deploy.mjs +57 -26
  54. package/dist/actions/deploy.mjs.map +1 -1
  55. package/dist/actions/dupdeps.mjs +37 -26
  56. package/dist/actions/dupdeps.mjs.map +1 -1
  57. package/dist/actions/fix.mjs +54 -36
  58. package/dist/actions/fix.mjs.map +1 -1
  59. package/dist/actions/gen-docs.mjs +65 -25
  60. package/dist/actions/gen-docs.mjs.map +1 -1
  61. package/dist/actions/gitignore-gen.mjs +44 -28
  62. package/dist/actions/gitignore-gen.mjs.map +1 -1
  63. package/dist/actions/gitlint-fix.mjs +14 -5
  64. package/dist/actions/gitlint-fix.mjs.map +1 -1
  65. package/dist/actions/gitlint.mjs +7 -4
  66. package/dist/actions/gitlint.mjs.map +1 -1
  67. package/dist/actions/index.mjs +1481 -901
  68. package/dist/actions/index.mjs.map +1 -1
  69. package/dist/actions/knip.mjs +31 -16
  70. package/dist/actions/knip.mjs.map +1 -1
  71. package/dist/actions/license.mjs +51 -37
  72. package/dist/actions/license.mjs.map +1 -1
  73. package/dist/actions/lint.mjs +48 -33
  74. package/dist/actions/lint.mjs.map +1 -1
  75. package/dist/actions/npmignore-gen.mjs +44 -28
  76. package/dist/actions/npmignore-gen.mjs.map +1 -1
  77. package/dist/actions/package/clean-outputs.mjs +16 -6
  78. package/dist/actions/package/clean-outputs.mjs.map +1 -1
  79. package/dist/actions/package/clean-typescript.mjs +16 -6
  80. package/dist/actions/package/clean-typescript.mjs.map +1 -1
  81. package/dist/actions/package/clean.mjs +29 -12
  82. package/dist/actions/package/clean.mjs.map +1 -1
  83. package/dist/actions/package/compile/buildEntries.mjs +36 -8
  84. package/dist/actions/package/compile/buildEntries.mjs.map +1 -1
  85. package/dist/actions/package/compile/compile.mjs +347 -144
  86. package/dist/actions/package/compile/compile.mjs.map +1 -1
  87. package/dist/actions/package/compile/copyTypeFiles.mjs +23 -20
  88. package/dist/actions/package/compile/copyTypeFiles.mjs.map +1 -1
  89. package/dist/actions/package/compile/deepMerge.mjs +5 -0
  90. package/dist/actions/package/compile/deepMerge.mjs.map +1 -1
  91. package/dist/actions/package/compile/getCompilerOptions.mjs +9 -23
  92. package/dist/actions/package/compile/getCompilerOptions.mjs.map +1 -1
  93. package/dist/actions/package/compile/index.mjs +347 -226
  94. package/dist/actions/package/compile/index.mjs.map +1 -1
  95. package/dist/actions/package/compile/inputs.mjs +26 -3
  96. package/dist/actions/package/compile/inputs.mjs.map +1 -1
  97. package/dist/actions/package/compile/packageCompileTsc.mjs +57 -96
  98. package/dist/actions/package/compile/packageCompileTsc.mjs.map +1 -1
  99. package/dist/actions/package/compile/packageCompileTscTypes.mjs +95 -24
  100. package/dist/actions/package/compile/packageCompileTscTypes.mjs.map +1 -1
  101. package/dist/actions/package/compile/packageCompileTsup.mjs +322 -126
  102. package/dist/actions/package/compile/packageCompileTsup.mjs.map +1 -1
  103. package/dist/actions/package/copy-assets.mjs +21 -12
  104. package/dist/actions/package/copy-assets.mjs.map +1 -1
  105. package/dist/actions/package/cycle.mjs +16 -9
  106. package/dist/actions/package/cycle.mjs.map +1 -1
  107. package/dist/actions/package/gen-docs.mjs +12 -11
  108. package/dist/actions/package/gen-docs.mjs.map +1 -1
  109. package/dist/actions/package/index.mjs +467 -304
  110. package/dist/actions/package/index.mjs.map +1 -1
  111. package/dist/actions/package/lint.mjs +39 -16
  112. package/dist/actions/package/lint.mjs.map +1 -1
  113. package/dist/actions/package/publint.mjs +7 -4
  114. package/dist/actions/package/publint.mjs.map +1 -1
  115. package/dist/actions/package/recompile.mjs +375 -158
  116. package/dist/actions/package/recompile.mjs.map +1 -1
  117. package/dist/actions/publint.mjs +71 -37
  118. package/dist/actions/publint.mjs.map +1 -1
  119. package/dist/actions/rebuild.mjs +29 -17
  120. package/dist/actions/rebuild.mjs.map +1 -1
  121. package/dist/actions/recompile.mjs +67 -50
  122. package/dist/actions/recompile.mjs.map +1 -1
  123. package/dist/actions/reinstall.mjs +43 -25
  124. package/dist/actions/reinstall.mjs.map +1 -1
  125. package/dist/actions/relint.mjs +63 -40
  126. package/dist/actions/relint.mjs.map +1 -1
  127. package/dist/actions/retest.mjs +35 -17
  128. package/dist/actions/retest.mjs.map +1 -1
  129. package/dist/actions/sonar.mjs +32 -16
  130. package/dist/actions/sonar.mjs.map +1 -1
  131. package/dist/actions/statics.mjs +46 -27
  132. package/dist/actions/statics.mjs.map +1 -1
  133. package/dist/actions/test.mjs +30 -16
  134. package/dist/actions/test.mjs.map +1 -1
  135. package/dist/actions/up.mjs +27 -16
  136. package/dist/actions/up.mjs.map +1 -1
  137. package/dist/actions/updo.mjs +33 -18
  138. package/dist/actions/updo.mjs.map +1 -1
  139. package/dist/actions/upplug.mjs +53 -19
  140. package/dist/actions/upplug.mjs.map +1 -1
  141. package/dist/actions/upyarn.mjs +31 -16
  142. package/dist/actions/upyarn.mjs.map +1 -1
  143. package/dist/actions/yarn3only.mjs +23 -12
  144. package/dist/actions/yarn3only.mjs.map +1 -1
  145. package/dist/bin/package/build-only.mjs +350 -148
  146. package/dist/bin/package/build-only.mjs.map +1 -1
  147. package/dist/bin/package/build.mjs +352 -148
  148. package/dist/bin/package/build.mjs.map +1 -1
  149. package/dist/bin/package/clean-outputs.mjs +15 -6
  150. package/dist/bin/package/clean-outputs.mjs.map +1 -1
  151. package/dist/bin/package/clean-typescript.mjs +15 -6
  152. package/dist/bin/package/clean-typescript.mjs.map +1 -1
  153. package/dist/bin/package/clean.mjs +28 -12
  154. package/dist/bin/package/clean.mjs.map +1 -1
  155. package/dist/bin/package/compile-only.mjs +349 -147
  156. package/dist/bin/package/compile-only.mjs.map +1 -1
  157. package/dist/bin/package/compile-tsup.mjs +324 -129
  158. package/dist/bin/package/compile-tsup.mjs.map +1 -1
  159. package/dist/bin/package/compile.mjs +350 -148
  160. package/dist/bin/package/compile.mjs.map +1 -1
  161. package/dist/bin/package/copy-assets-cjs.mjs +23 -13
  162. package/dist/bin/package/copy-assets-cjs.mjs.map +1 -1
  163. package/dist/bin/package/copy-assets-esm.mjs +23 -13
  164. package/dist/bin/package/copy-assets-esm.mjs.map +1 -1
  165. package/dist/bin/package/cycle.mjs +17 -11
  166. package/dist/bin/package/cycle.mjs.map +1 -1
  167. package/dist/bin/package/fix.mjs +38 -16
  168. package/dist/bin/package/fix.mjs.map +1 -1
  169. package/dist/bin/package/gen-docs.mjs +11 -11
  170. package/dist/bin/package/gen-docs.mjs.map +1 -1
  171. package/dist/bin/package/lint.mjs +38 -16
  172. package/dist/bin/package/lint.mjs.map +1 -1
  173. package/dist/bin/package/publint.mjs +6 -4
  174. package/dist/bin/package/publint.mjs.map +1 -1
  175. package/dist/bin/package/recompile.mjs +376 -160
  176. package/dist/bin/package/recompile.mjs.map +1 -1
  177. package/dist/bin/package/relint.mjs +38 -16
  178. package/dist/bin/package/relint.mjs.map +1 -1
  179. package/dist/bin/xy.mjs +1319 -1056
  180. package/dist/bin/xy.mjs.map +1 -1
  181. package/dist/index.d.ts +9 -26
  182. package/dist/index.mjs +1848 -1410
  183. package/dist/index.mjs.map +1 -1
  184. package/dist/lib/checkResult.mjs +5 -2
  185. package/dist/lib/checkResult.mjs.map +1 -1
  186. package/dist/lib/createBuildConfig.mjs +24 -9
  187. package/dist/lib/createBuildConfig.mjs.map +1 -1
  188. package/dist/lib/defaultBuildConfig.mjs +6 -2
  189. package/dist/lib/defaultBuildConfig.mjs.map +1 -1
  190. package/dist/lib/deleteGlob.mjs +9 -3
  191. package/dist/lib/deleteGlob.mjs.map +1 -1
  192. package/dist/lib/dependencies/DuplicateDetector.mjs +23 -12
  193. package/dist/lib/dependencies/DuplicateDetector.mjs.map +1 -1
  194. package/dist/lib/dependencies/detectDuplicateDependencies.mjs +33 -22
  195. package/dist/lib/dependencies/detectDuplicateDependencies.mjs.map +1 -1
  196. package/dist/lib/dependencies/index.mjs +33 -22
  197. package/dist/lib/dependencies/index.mjs.map +1 -1
  198. package/dist/lib/file/ReadFileSyncOptions.mjs +3 -1
  199. package/dist/lib/file/ReadFileSyncOptions.mjs.map +1 -1
  200. package/dist/lib/file/constants.mjs.map +1 -1
  201. package/dist/lib/file/fileLines.mjs +13 -12
  202. package/dist/lib/file/fileLines.mjs.map +1 -1
  203. package/dist/lib/file/index.mjs +15 -14
  204. package/dist/lib/file/index.mjs.map +1 -1
  205. package/dist/lib/file/tryReadFileSync.mjs +8 -3
  206. package/dist/lib/file/tryReadFileSync.mjs.map +1 -1
  207. package/dist/lib/generateIgnoreFiles.mjs +43 -27
  208. package/dist/lib/generateIgnoreFiles.mjs.map +1 -1
  209. package/dist/lib/index.mjs +166 -106
  210. package/dist/lib/index.mjs.map +1 -1
  211. package/dist/lib/jsonFormatters.mjs +5 -2
  212. package/dist/lib/jsonFormatters.mjs.map +1 -1
  213. package/dist/lib/loadConfig.mjs +20 -10
  214. package/dist/lib/loadConfig.mjs.map +1 -1
  215. package/dist/lib/parsedPackageJSON.mjs +5 -2
  216. package/dist/lib/parsedPackageJSON.mjs.map +1 -1
  217. package/dist/lib/processEx.mjs +9 -6
  218. package/dist/lib/processEx.mjs.map +1 -1
  219. package/dist/lib/runSteps.mjs +19 -13
  220. package/dist/lib/runSteps.mjs.map +1 -1
  221. package/dist/lib/runStepsAsync.mjs +22 -22
  222. package/dist/lib/runStepsAsync.mjs.map +1 -1
  223. package/dist/lib/runXy.mjs +31 -19
  224. package/dist/lib/runXy.mjs.map +1 -1
  225. package/dist/lib/runXyWithWarning.mjs +5 -2
  226. package/dist/lib/runXyWithWarning.mjs.map +1 -1
  227. package/dist/lib/safeExit.mjs +13 -10
  228. package/dist/lib/safeExit.mjs.map +1 -1
  229. package/dist/lib/string/empty.mjs +5 -2
  230. package/dist/lib/string/empty.mjs.map +1 -1
  231. package/dist/lib/string/index.mjs +9 -3
  232. package/dist/lib/string/index.mjs.map +1 -1
  233. package/dist/lib/string/union.mjs +7 -1
  234. package/dist/lib/string/union.mjs.map +1 -1
  235. package/dist/lib/withErrnoException.mjs +7 -4
  236. package/dist/lib/withErrnoException.mjs.map +1 -1
  237. package/dist/lib/withError.mjs +5 -2
  238. package/dist/lib/withError.mjs.map +1 -1
  239. package/dist/lib/yarn/index.mjs +30 -11
  240. package/dist/lib/yarn/index.mjs.map +1 -1
  241. package/dist/lib/yarn/isYarnVersionOrGreater.mjs +15 -4
  242. package/dist/lib/yarn/isYarnVersionOrGreater.mjs.map +1 -1
  243. package/dist/lib/yarn/workspace/index.mjs +16 -5
  244. package/dist/lib/yarn/workspace/index.mjs.map +1 -1
  245. package/dist/lib/yarn/workspace/yarnWorkspace.mjs +16 -5
  246. package/dist/lib/yarn/workspace/yarnWorkspace.mjs.map +1 -1
  247. package/dist/lib/yarn/workspace/yarnWorkspaces.mjs +14 -3
  248. package/dist/lib/yarn/workspace/yarnWorkspaces.mjs.map +1 -1
  249. package/dist/lib/yarn/yarnInitCwd.mjs +5 -2
  250. package/dist/lib/yarn/yarnInitCwd.mjs.map +1 -1
  251. package/dist/loadPackageConfig.mjs +8 -3
  252. package/dist/loadPackageConfig.mjs.map +1 -1
  253. package/dist/xy/index.mjs +1320 -1056
  254. package/dist/xy/index.mjs.map +1 -1
  255. package/dist/xy/param.mjs +9 -3
  256. package/dist/xy/param.mjs.map +1 -1
  257. package/dist/xy/xy.mjs +1320 -1056
  258. package/dist/xy/xy.mjs.map +1 -1
  259. package/dist/xy/xyBuildCommands.mjs +324 -305
  260. package/dist/xy/xyBuildCommands.mjs.map +1 -1
  261. package/dist/xy/xyCommonCommands.mjs +336 -251
  262. package/dist/xy/xyCommonCommands.mjs.map +1 -1
  263. package/dist/xy/xyDeployCommands.mjs +161 -99
  264. package/dist/xy/xyDeployCommands.mjs.map +1 -1
  265. package/dist/xy/xyInstallCommands.mjs +193 -145
  266. package/dist/xy/xyInstallCommands.mjs.map +1 -1
  267. package/dist/xy/xyLintCommands.mjs +405 -302
  268. package/dist/xy/xyLintCommands.mjs.map +1 -1
  269. package/dist/xy/xyParseOptions.mjs +5 -2
  270. package/dist/xy/xyParseOptions.mjs.map +1 -1
  271. package/package.json +11 -9
  272. package/dist/actions/compile-types.mjs +0 -153
  273. package/dist/actions/compile-types.mjs.map +0 -1
@@ -1,27 +1,53 @@
1
1
  #!/usr/bin/env node
2
+ var __defProp = Object.defineProperty;
3
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
2
4
 
3
5
  // src/bin/package/compile-tsup.ts
4
- import chalk from "chalk";
6
+ import chalk5 from "chalk";
5
7
 
6
8
  // src/actions/package/compile/packageCompileTsup.ts
9
+ import chalk4 from "chalk";
7
10
  import { build, defineConfig } from "tsup";
8
11
 
9
12
  // src/actions/package/compile/inputs.ts
13
+ import chalk from "chalk";
10
14
  import { glob } from "glob";
11
- var getAllInputs = (folder) => {
12
- return glob.sync(`${folder}/**/*.*`, { posix: true });
13
- };
15
+ var getAllInputs = /* @__PURE__ */ __name((srcDir, verbose = false) => {
16
+ return [
17
+ ...glob.sync(`${srcDir}/**/*.ts`, {
18
+ posix: true
19
+ }).map((file) => {
20
+ const result = file.slice(Math.max(0, srcDir.length + 1));
21
+ if (verbose) {
22
+ console.log(chalk.gray(`getAllInputs: ${JSON.stringify(result, null, 2)}`));
23
+ }
24
+ return result;
25
+ }),
26
+ ...glob.sync(`${srcDir}/**/*.tsx`, {
27
+ posix: true
28
+ }).map((file) => {
29
+ const result = file.slice(Math.max(0, srcDir.length + 1));
30
+ if (verbose) {
31
+ console.log(chalk.gray(`getAllInputs: ${JSON.stringify(result, null, 2)}`));
32
+ }
33
+ return result;
34
+ })
35
+ ];
36
+ }, "getAllInputs");
14
37
 
15
38
  // src/actions/package/compile/buildEntries.ts
16
- var buildEntries = (folder, entryMode = "single", options, excludeSpecAndStories = true, verbose = false) => {
39
+ var buildEntries = /* @__PURE__ */ __name((srcDir, entryMode = "single", options, excludeSpecAndStories = true, verbose = false) => {
17
40
  let entries = [];
18
41
  switch (entryMode) {
19
42
  case "platform": {
20
- entries = [`${folder}/index-node.ts`, `${folder}/index-browser.ts`];
43
+ entries = [
44
+ "index-node.ts",
45
+ "index-browser.ts"
46
+ ];
21
47
  break;
22
48
  }
23
49
  case "all": {
24
- entries = excludeSpecAndStories ? getAllInputs(folder).filter((entry) => !entry.includes(".spec.") && !entry.includes(".stories.")) : getAllInputs(folder);
50
+ entries = (excludeSpecAndStories ? getAllInputs(srcDir).filter((entry) => !entry.includes(".spec.") && !entry.includes(".stories.")) : getAllInputs(srcDir)).filter((entry) => !entry.endsWith(".d.ts"));
25
51
  break;
26
52
  }
27
53
  case "custom": {
@@ -29,7 +55,9 @@ var buildEntries = (folder, entryMode = "single", options, excludeSpecAndStories
29
55
  break;
30
56
  }
31
57
  default: {
32
- entries = [`${folder}/index.ts`];
58
+ entries = [
59
+ "index.ts"
60
+ ];
33
61
  break;
34
62
  }
35
63
  }
@@ -38,7 +66,7 @@ var buildEntries = (folder, entryMode = "single", options, excludeSpecAndStories
38
66
  }
39
67
  if (verbose) console.log(`buildEntries [${entryMode}] ${entries.length}`);
40
68
  return entries;
41
- };
69
+ }, "buildEntries");
42
70
 
43
71
  // src/actions/package/compile/deepMerge.ts
44
72
  function deepMerge(target, source) {
@@ -55,6 +83,7 @@ function deepMerge(target, source) {
55
83
  }
56
84
  return target;
57
85
  }
86
+ __name(deepMerge, "deepMerge");
58
87
  function deepMergeObjects(objects) {
59
88
  const result = {};
60
89
  for (const obj of objects) {
@@ -62,168 +91,334 @@ function deepMergeObjects(objects) {
62
91
  }
63
92
  return result;
64
93
  }
94
+ __name(deepMergeObjects, "deepMergeObjects");
65
95
 
66
- // src/actions/package/compile/packageCompileTscTypes.ts
96
+ // src/actions/package/compile/packageCompileTsc.ts
97
+ import { cwd as cwd2 } from "process";
98
+ import chalk2 from "chalk";
99
+ import { createProgramFromConfig } from "tsc-prog";
100
+ import ts, { DiagnosticCategory, formatDiagnosticsWithColorAndContext, getPreEmitDiagnostics, sys } from "typescript";
101
+
102
+ // src/actions/package/compile/getCompilerOptions.ts
67
103
  import { cwd } from "process";
104
+ import deepmerge from "deepmerge";
105
+ import { getTsconfig } from "get-tsconfig";
106
+ var getCompilerOptions = /* @__PURE__ */ __name((options = {}, fileName = "tsconfig.json") => {
107
+ const resolvedTsConfigCompilerOptions = getTsconfig(cwd(), fileName)?.config?.compilerOptions ?? {};
108
+ return deepmerge(resolvedTsConfigCompilerOptions, options);
109
+ }, "getCompilerOptions");
110
+
111
+ // src/actions/package/compile/packageCompileTsc.ts
112
+ var packageCompileTsc = /* @__PURE__ */ __name((platform, entries, srcDir = "src", outDir = "dist", compilerOptionsParam, verbose = false) => {
113
+ const pkg = process.env.INIT_CWD ?? cwd2();
114
+ if (verbose) {
115
+ console.log(chalk2.cyan(`Validating code START: ${entries.length} files to ${outDir} from ${srcDir}`));
116
+ }
117
+ const configFilePath = ts.findConfigFile("./", ts.sys.fileExists, "tsconfig.json");
118
+ if (configFilePath === void 0) {
119
+ throw new Error("Could not find tsconfig.json");
120
+ }
121
+ const compilerOptions = {
122
+ ...getCompilerOptions({
123
+ removeComments: false,
124
+ skipDefaultLibCheck: true,
125
+ skipLibCheck: true,
126
+ sourceMap: false
127
+ }),
128
+ ...compilerOptionsParam,
129
+ outDir: `${outDir}/${platform}`,
130
+ emitDeclarationOnly: true,
131
+ noEmit: false
132
+ };
133
+ console.log(chalk2.cyan(`Validating Files: ${entries.length}`));
134
+ if (verbose) {
135
+ for (const entry of entries) {
136
+ console.log(chalk2.grey(`Validating: ${entry}`));
137
+ }
138
+ }
139
+ try {
140
+ if (entries.length > 0) {
141
+ const program = createProgramFromConfig({
142
+ configFilePath,
143
+ basePath: pkg ?? cwd2(),
144
+ compilerOptions,
145
+ files: entries.map((entry) => `${srcDir}/${entry}`),
146
+ include: [
147
+ `${srcDir}/**/*.*`
148
+ ]
149
+ });
150
+ const diagnostics = getPreEmitDiagnostics(program);
151
+ if (diagnostics.length > 0) {
152
+ const formattedDiagnostics = formatDiagnosticsWithColorAndContext(diagnostics, {
153
+ getCanonicalFileName: /* @__PURE__ */ __name((fileName) => fileName, "getCanonicalFileName"),
154
+ getCurrentDirectory: /* @__PURE__ */ __name(() => srcDir, "getCurrentDirectory"),
155
+ getNewLine: /* @__PURE__ */ __name(() => sys.newLine, "getNewLine")
156
+ });
157
+ console.error(formattedDiagnostics);
158
+ }
159
+ program.emit();
160
+ return diagnostics.reduce((acc, diag) => acc + (diag.category === DiagnosticCategory.Error ? 1 : 0), 0);
161
+ }
162
+ return 0;
163
+ } finally {
164
+ if (verbose) {
165
+ console.log(chalk2.cyan(`Validating code FINISH: ${entries.length} files to ${outDir} from ${srcDir}`));
166
+ }
167
+ }
168
+ }, "packageCompileTsc");
169
+
170
+ // src/actions/package/compile/packageCompileTscTypes.ts
171
+ import path from "path";
172
+ import { cwd as cwd3 } from "process";
173
+ import chalk3 from "chalk";
68
174
  import { rollup } from "rollup";
69
175
  import dts from "rollup-plugin-dts";
70
- async function bundleDts(inputPath, outputPath) {
71
- const bundle = await rollup({
72
- input: inputPath,
73
- plugins: [dts()],
74
- onwarn(warning, warn) {
75
- if (warning.code === "UNUSED_EXTERNAL_IMPORT") return;
76
- warn(warning);
77
- }
78
- });
79
- await bundle.write({
80
- file: outputPath,
81
- format: "es"
82
- });
83
- console.log(`Bundled declarations written to ${outputPath}`);
176
+ import nodeExternals from "rollup-plugin-node-externals";
177
+ var ignoredWarningCodes = /* @__PURE__ */ new Set([
178
+ "EMPTY_BUNDLE",
179
+ "UNRESOLVED_IMPORT"
180
+ ]);
181
+ async function bundleDts(inputPath, outputPath, platform, options, verbose = false) {
182
+ const pkg = process.env.INIT_CWD ?? cwd3();
183
+ const tsconfigPath = path.resolve(pkg, "tsconfig.json");
184
+ const nodePlugIns = platform === "node" ? [
185
+ nodeExternals()
186
+ ] : [];
187
+ try {
188
+ const bundle = await rollup({
189
+ input: inputPath,
190
+ plugins: [
191
+ dts({
192
+ ...options,
193
+ tsconfig: tsconfigPath,
194
+ compilerOptions: {
195
+ emitDeclarationOnly: true,
196
+ noEmit: false,
197
+ declarationMap: true
198
+ }
199
+ }),
200
+ ...nodePlugIns
201
+ ],
202
+ onwarn(warning, warn) {
203
+ if (ignoredWarningCodes.has(warning.code ?? "")) {
204
+ return;
205
+ }
206
+ console.warn(chalk3.yellow(`[${warning.code}] ${warning.message}`));
207
+ console.warn(chalk3.gray(inputPath));
208
+ warn(warning);
209
+ }
210
+ });
211
+ await bundle.write({
212
+ file: outputPath,
213
+ format: "es"
214
+ });
215
+ } catch (ex) {
216
+ const error = ex;
217
+ console.warn(chalk3.red(error));
218
+ console.warn(chalk3.gray(inputPath));
219
+ }
220
+ if (verbose) {
221
+ console.log(`Bundled declarations written to ${outputPath}`);
222
+ }
84
223
  }
85
- var packageCompileTscTypes = async (entries, outDir, folder = "src") => {
86
- const pkg = process.env.INIT_CWD ?? cwd();
87
- const srcRoot = `${pkg}/${folder}`;
88
- const entryNameToTypeName = (entry) => {
224
+ __name(bundleDts, "bundleDts");
225
+ var packageCompileTscTypes = /* @__PURE__ */ __name(async (entries, outDir, platform, srcDir = "build", verbose = false) => {
226
+ if (verbose) {
227
+ console.log(chalk3.cyan(`Compiling Types START [${platform}]: ${entries.length} files to ${outDir} from ${srcDir}`));
228
+ console.log(`Entries: ${entries.join(", ")}`);
229
+ }
230
+ const pkg = process.env.INIT_CWD ?? cwd3();
231
+ const srcRoot = `${pkg}/${srcDir}/${platform}`;
232
+ const entryNameToTypeName = /* @__PURE__ */ __name((entry) => {
89
233
  const splitEntryName = entry.split(".");
90
234
  const newEntryExtension = "d." + splitEntryName.at(-1);
91
- return [...splitEntryName.slice(0, -1), newEntryExtension].join(".");
92
- };
93
- const entryNames = entries.map((entry) => entry.split(`${folder}/`).at(-1) ?? entry);
235
+ return [
236
+ ...splitEntryName.slice(0, -1),
237
+ newEntryExtension
238
+ ].join(".");
239
+ }, "entryNameToTypeName");
240
+ const compilerOptions = getCompilerOptions({
241
+ removeComments: false,
242
+ skipDefaultLibCheck: true,
243
+ skipLibCheck: true,
244
+ declarationMap: true,
245
+ emitDeclarationOnly: true,
246
+ noEmit: true
247
+ });
248
+ const entryNames = entries.map((entry) => entry.split(`${srcDir}/`).at(-1) ?? entry);
94
249
  await Promise.all(entryNames.map(async (entryName) => {
95
- await bundleDts(`${srcRoot}/${entryName}`, outDir + "/" + entryNameToTypeName(entryName));
250
+ const entryTypeName = entryNameToTypeName(entryName);
251
+ await bundleDts(`${srcRoot}/${entryTypeName}`, `${outDir}/${entryTypeName}`, platform, {
252
+ compilerOptions
253
+ }, verbose);
96
254
  }));
255
+ if (verbose) {
256
+ console.log(chalk3.cyan(`Compiling Types FINISH: ${entries.length} files to ${outDir} from ${srcDir}`));
257
+ }
97
258
  return 0;
98
- };
259
+ }, "packageCompileTscTypes");
99
260
 
100
261
  // src/actions/package/compile/packageCompileTsup.ts
101
- var compileFolder = async (folder, entryMode = "single", entries, options, verbose) => {
262
+ var compileFolder = /* @__PURE__ */ __name(async (srcDir, entries, buildDir, options, bundleTypes = false, verbose) => {
102
263
  const outDir = options?.outDir ?? "dist";
103
264
  if (verbose) {
104
- console.log(`compileFolder [${folder}]`);
265
+ console.log(`compileFolder [${srcDir}, ${options?.outDir}]`);
105
266
  }
106
- const entry = buildEntries(folder, entryMode, options, true, verbose);
107
- const optionsResult = defineConfig({
108
- bundle: true,
109
- cjsInterop: true,
110
- clean: true,
111
- dts: false,
112
- entry,
113
- format: ["esm"],
114
- outDir,
115
- silent: true,
116
- sourcemap: true,
117
- splitting: false,
118
- tsconfig: "tsconfig.json",
119
- ...options
120
- });
121
- const optionsList = (await Promise.all(
122
- (Array.isArray(optionsResult) ? optionsResult : [optionsResult]).flatMap(async (options2) => {
123
- const result = typeof options2 === "function" ? await options2({}) : [options2];
124
- return Array.isArray(result) ? result : [result];
125
- })
126
- )).flat();
267
+ if (entries.length === 0) {
268
+ console.warn(chalk4.yellow(`No entries found in ${srcDir} to compile`));
269
+ return 0;
270
+ }
271
+ if (verbose) {
272
+ console.log(chalk4.gray(`buildDir [${buildDir}]`));
273
+ }
274
+ const validationResult = packageCompileTsc(options?.platform ?? "neutral", entries, srcDir, buildDir, void 0, verbose);
275
+ if (validationResult !== 0) {
276
+ console.error(chalk4.red(`Compile:Validation had ${validationResult} errors`));
277
+ return validationResult;
278
+ }
279
+ const optionsParams = tsupOptions([
280
+ {
281
+ bundle: true,
282
+ cjsInterop: true,
283
+ clean: false,
284
+ dts: false,
285
+ format: [
286
+ "esm"
287
+ ],
288
+ outDir,
289
+ silent: true,
290
+ sourcemap: true,
291
+ splitting: false,
292
+ tsconfig: "tsconfig.json",
293
+ ...options,
294
+ entry: entries.map((entry) => `${srcDir}/${entry}`)
295
+ }
296
+ ]);
297
+ const optionsResult = defineConfig(optionsParams);
298
+ const optionsList = (await Promise.all((Array.isArray(optionsResult) ? optionsResult : [
299
+ optionsResult
300
+ ]).flatMap(async (options2) => {
301
+ const result = typeof options2 === "function" ? await options2({}) : [
302
+ options2
303
+ ];
304
+ return Array.isArray(result) ? result : [
305
+ result
306
+ ];
307
+ }))).flat();
127
308
  if (verbose) {
128
- console.log(`TSUP:build:start [${folder}]`);
309
+ console.log(chalk4.cyan(`TSUP:build:start [${srcDir}]`));
310
+ console.log(chalk4.gray(`TSUP:build:options [${JSON.stringify(optionsList, null, 2)}]`));
129
311
  }
130
312
  await Promise.all(optionsList.map((options2) => build(options2)));
131
313
  if (verbose) {
132
- console.log(`TSUP:build:stop [${folder}]`);
314
+ console.log(chalk4.cyan(`TSUP:build:stop [${srcDir}]`));
315
+ }
316
+ if (bundleTypes) {
317
+ await packageCompileTscTypes(entries, outDir, options?.platform ?? "neutral", buildDir, verbose);
133
318
  }
134
- await packageCompileTscTypes(entry, outDir);
135
319
  return 0;
136
- };
137
- var tsupOptions = (options = []) => {
320
+ }, "compileFolder");
321
+ var tsupOptions = /* @__PURE__ */ __name((options = []) => {
138
322
  const standardLoaders = {
139
323
  ".gif": "copy",
140
324
  ".html": "copy",
141
325
  ".jpg": "copy",
142
326
  ".json": "json",
143
327
  ".png": "copy",
144
- ".svg": "copy",
328
+ ".svg": "text",
145
329
  ".webp": "copy"
146
330
  };
147
331
  const standardOptions = {
148
332
  bundle: true,
149
- format: ["esm"],
333
+ format: [
334
+ "esm"
335
+ ],
150
336
  loader: standardLoaders,
151
- outExtension: ({ format }) => format === "esm" ? { js: ".mjs" } : { js: ".cjs" },
337
+ outExtension: /* @__PURE__ */ __name(({ format }) => format === "esm" ? {
338
+ js: ".mjs"
339
+ } : {
340
+ js: ".cjs"
341
+ }, "outExtension"),
152
342
  skipNodeModulesBundle: true,
153
343
  sourcemap: true,
154
344
  target: "esnext"
155
345
  };
156
- return deepMergeObjects([standardOptions, ...options]);
157
- };
158
- var packageCompileTsup = async (config) => {
346
+ return deepMergeObjects([
347
+ standardOptions,
348
+ ...options
349
+ ]);
350
+ }, "tsupOptions");
351
+ var packageCompileTsup = /* @__PURE__ */ __name(async (config) => {
159
352
  const compile = config?.compile;
160
353
  const verbose = config?.verbose ?? false;
354
+ const outDirAsBuildDir = compile?.outDirAsBuildDir ?? true;
355
+ const bundleTypes = compile?.bundleTypes ?? false;
161
356
  if (verbose) {
162
- console.log(`Compiling with TSUP [Depth: ${compile?.depth}]`);
357
+ console.log("Compiling with TSUP");
163
358
  }
164
- const compileForNode = compile?.node ?? { src: {} };
165
- const compileForBrowser = compile?.browser ?? { src: {} };
166
- const compileForNeutral = compile?.neutral ?? { src: {} };
167
- if (verbose) {
168
- console.log("Calling packageCompileTscTypes");
169
- }
170
- return (await Promise.all(
171
- Object.entries(compileForNode).map(async ([folder, options]) => {
172
- const optionsObject = typeof options === "object" ? options : {};
173
- const inEsBuildOptions = typeof compile?.node?.esbuildOptions === "object" ? compile?.node?.esbuildOptions : {};
174
- return typeof folder === "string" ? await compileFolder(
175
- folder,
176
- compile?.entryMode,
177
- buildEntries(folder, compile?.entryMode, options, true, verbose),
178
- tsupOptions([
179
- inEsBuildOptions,
180
- compile?.tsup?.options ?? {},
181
- typeof options === "object" ? options : {},
182
- { platform: "node", outDir: optionsObject.outDir ?? "dist/node" }
183
- ]),
184
- verbose
185
- ) : 0;
186
- })
187
- )).reduce((prev, value) => prev + value, 0) + (await Promise.all(
188
- Object.entries(compileForBrowser).map(async ([folder, options]) => {
189
- const optionsObject = typeof options === "object" ? options : {};
190
- const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === "object" ? compile?.browser?.esbuildOptions : {};
191
- return typeof folder === "string" ? await compileFolder(
192
- folder,
193
- compile?.entryMode,
194
- buildEntries(folder, compile?.entryMode, options, true, verbose),
195
- tsupOptions([
196
- inEsBuildOptions,
197
- compile?.tsup?.options ?? {},
198
- typeof options === "object" ? options : {},
199
- { platform: "browser", outDir: optionsObject.outDir ?? "dist/browser" }
200
- ]),
201
- verbose
202
- ) : 0;
203
- })
204
- )).reduce((prev, value) => prev + value, 0) + (await Promise.all(
205
- Object.entries(compileForNeutral).map(async ([folder, options]) => {
206
- const optionsObject = typeof options === "object" ? options : {};
207
- const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === "object" ? compile?.neutral?.esbuildOptions : {};
208
- return typeof folder === "string" ? await compileFolder(
209
- folder,
210
- compile?.entryMode,
211
- buildEntries(folder, compile?.entryMode, options, true, verbose),
212
- tsupOptions([
213
- inEsBuildOptions,
214
- compile?.tsup?.options ?? {},
215
- typeof options === "object" ? options : {},
216
- { platform: "neutral", outDir: optionsObject.outDir ?? "dist/neutral" }
217
- ]),
218
- verbose
219
- ) : 0;
220
- })
221
- )).reduce((prev, value) => prev + value, 0) + 0;
222
- };
359
+ const compileForNode = compile?.node ?? {
360
+ src: {}
361
+ };
362
+ const compileForBrowser = compile?.browser ?? {
363
+ src: {}
364
+ };
365
+ const compileForNeutral = compile?.neutral ?? {
366
+ src: {}
367
+ };
368
+ return (await Promise.all(Object.entries(compileForNode).map(async ([srcDir, options]) => {
369
+ const optionsObject = typeof options === "object" ? options : {};
370
+ const inEsBuildOptions = typeof compile?.node?.esbuildOptions === "object" ? compile?.node?.esbuildOptions : {};
371
+ const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose);
372
+ const platform = "node";
373
+ const rootOutDir = optionsObject.outDir ?? "dist";
374
+ const outDir = rootOutDir + "/" + platform;
375
+ return typeof srcDir === "string" ? await compileFolder(srcDir, entry, outDirAsBuildDir ? rootOutDir : "build", tsupOptions([
376
+ inEsBuildOptions,
377
+ compile?.tsup?.options ?? {},
378
+ typeof options === "object" ? options : {},
379
+ {
380
+ platform: "node",
381
+ outDir
382
+ }
383
+ ]), bundleTypes, verbose) : 0;
384
+ }))).reduce((prev, value) => prev + value, 0) + (await Promise.all(Object.entries(compileForBrowser).map(async ([srcDir, options]) => {
385
+ const optionsObject = typeof options === "object" ? options : {};
386
+ const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === "object" ? compile?.browser?.esbuildOptions : {};
387
+ const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose);
388
+ const platform = "browser";
389
+ const rootOutDir = optionsObject.outDir ?? "dist";
390
+ const outDir = rootOutDir + "/" + platform;
391
+ return typeof srcDir === "string" ? await compileFolder(srcDir, entry, outDirAsBuildDir ? rootOutDir : "build", tsupOptions([
392
+ inEsBuildOptions,
393
+ compile?.tsup?.options ?? {},
394
+ typeof options === "object" ? options : {},
395
+ {
396
+ platform: "browser",
397
+ outDir
398
+ }
399
+ ]), bundleTypes, verbose) : 0;
400
+ }))).reduce((prev, value) => prev + value, 0) + (await Promise.all(Object.entries(compileForNeutral).map(async ([srcDir, options]) => {
401
+ const optionsObject = typeof options === "object" ? options : {};
402
+ const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === "object" ? compile?.neutral?.esbuildOptions : {};
403
+ const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose);
404
+ const platform = "neutral";
405
+ const rootOutDir = optionsObject.outDir ?? "dist";
406
+ const outDir = rootOutDir + "/" + platform;
407
+ return typeof srcDir === "string" ? await compileFolder(srcDir, entry, outDirAsBuildDir ? rootOutDir : "build", tsupOptions([
408
+ inEsBuildOptions,
409
+ compile?.tsup?.options ?? {},
410
+ typeof options === "object" ? options : {},
411
+ {
412
+ platform: "neutral",
413
+ outDir
414
+ }
415
+ ]), bundleTypes, verbose) : 0;
416
+ }))).reduce((prev, value) => prev + value, 0) + 0;
417
+ }, "packageCompileTsup");
223
418
 
224
419
  // src/bin/package/compile-tsup.ts
225
- packageCompileTsup({ verbose: true }).then((value) => process.exitCode = value).catch((reason) => {
226
- console.error(chalk.red(reason));
420
+ packageCompileTsup().then((value) => process.exitCode = value).catch((reason) => {
421
+ console.error(chalk5.red(reason));
227
422
  process.exitCode = 1;
228
423
  });
229
424
  //# sourceMappingURL=compile-tsup.mjs.map