@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,7 +1,9 @@
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/build.ts
4
- import chalk4 from "chalk";
6
+ import chalk8 from "chalk";
5
7
 
6
8
  // src/lib/loadConfig.ts
7
9
  import chalk from "chalk";
@@ -9,27 +11,34 @@ import { cosmiconfig } from "cosmiconfig";
9
11
  import { TypeScriptLoader } from "cosmiconfig-typescript-loader";
10
12
  import deepmerge from "deepmerge";
11
13
  var config;
12
- var loadConfig = async (params) => {
13
- if (config) {
14
- return deepmerge(config, params ?? {});
15
- }
16
- const cosmicConfigResult = await cosmiconfig("xy", { cache: true, loaders: { ".ts": TypeScriptLoader() } }).search();
17
- config = cosmicConfigResult?.config;
18
- const configFilePath = cosmicConfigResult?.filepath;
19
- if (configFilePath) {
20
- console.log(chalk.gray(`Loading config from ${configFilePath}`));
14
+ var loadConfig = /* @__PURE__ */ __name(async (params) => {
15
+ if (config === void 0) {
16
+ const cosmicConfigResult = await cosmiconfig("xy", {
17
+ cache: true,
18
+ loaders: {
19
+ ".ts": TypeScriptLoader()
20
+ }
21
+ }).search();
22
+ config = cosmicConfigResult?.config;
23
+ const configFilePath = cosmicConfigResult?.filepath;
24
+ if (configFilePath !== void 0) {
25
+ console.log(chalk.green(`Loaded config from ${configFilePath}`));
26
+ if (config.verbose) {
27
+ console.log(chalk.gray(`${JSON.stringify(config, null, 2)}`));
28
+ }
29
+ }
21
30
  }
22
31
  return deepmerge(config, params ?? {});
23
- };
32
+ }, "loadConfig");
24
33
 
25
34
  // src/actions/package/compile/compile.ts
26
- import chalk3 from "chalk";
35
+ import chalk7 from "chalk";
27
36
 
28
37
  // src/actions/package/publint.ts
29
38
  import { promises as fs } from "fs";
30
39
  import chalk2 from "chalk";
31
40
  import sortPackageJson from "sort-package-json";
32
- var packagePublint = async (params) => {
41
+ var packagePublint = /* @__PURE__ */ __name(async (params) => {
33
42
  const pkgDir = process.env.INIT_CWD;
34
43
  const sortedPkg = sortPackageJson(await fs.readFile(`${pkgDir}/package.json`, "utf8"));
35
44
  await fs.writeFile(`${pkgDir}/package.json`, sortedPkg);
@@ -43,9 +52,9 @@ var packagePublint = async (params) => {
43
52
  strict: true
44
53
  });
45
54
  const { formatMessage } = await import("publint/utils");
46
- const validMessage = (_message) => {
55
+ const validMessage = /* @__PURE__ */ __name((_message) => {
47
56
  return true;
48
- };
57
+ }, "validMessage");
49
58
  const validMessages = messages.filter(validMessage);
50
59
  for (const message of validMessages) {
51
60
  switch (message.type) {
@@ -67,27 +76,51 @@ var packagePublint = async (params) => {
67
76
  console.log(chalk2.gray(`Publint [Finish]: ${pkgDir} [${validMessages.length}]`));
68
77
  }
69
78
  return validMessages.filter((message) => message.type === "error").length;
70
- };
79
+ }, "packagePublint");
71
80
 
72
81
  // src/actions/package/compile/packageCompileTsup.ts
82
+ import chalk6 from "chalk";
73
83
  import { build, defineConfig } from "tsup";
74
84
 
75
85
  // src/actions/package/compile/inputs.ts
86
+ import chalk3 from "chalk";
76
87
  import { glob } from "glob";
77
- var getAllInputs = (folder) => {
78
- return glob.sync(`${folder}/**/*.*`, { posix: true });
79
- };
88
+ var getAllInputs = /* @__PURE__ */ __name((srcDir, verbose = false) => {
89
+ return [
90
+ ...glob.sync(`${srcDir}/**/*.ts`, {
91
+ posix: true
92
+ }).map((file) => {
93
+ const result = file.slice(Math.max(0, srcDir.length + 1));
94
+ if (verbose) {
95
+ console.log(chalk3.gray(`getAllInputs: ${JSON.stringify(result, null, 2)}`));
96
+ }
97
+ return result;
98
+ }),
99
+ ...glob.sync(`${srcDir}/**/*.tsx`, {
100
+ posix: true
101
+ }).map((file) => {
102
+ const result = file.slice(Math.max(0, srcDir.length + 1));
103
+ if (verbose) {
104
+ console.log(chalk3.gray(`getAllInputs: ${JSON.stringify(result, null, 2)}`));
105
+ }
106
+ return result;
107
+ })
108
+ ];
109
+ }, "getAllInputs");
80
110
 
81
111
  // src/actions/package/compile/buildEntries.ts
82
- var buildEntries = (folder, entryMode = "single", options, excludeSpecAndStories = true, verbose = false) => {
112
+ var buildEntries = /* @__PURE__ */ __name((srcDir, entryMode = "single", options, excludeSpecAndStories = true, verbose = false) => {
83
113
  let entries = [];
84
114
  switch (entryMode) {
85
115
  case "platform": {
86
- entries = [`${folder}/index-node.ts`, `${folder}/index-browser.ts`];
116
+ entries = [
117
+ "index-node.ts",
118
+ "index-browser.ts"
119
+ ];
87
120
  break;
88
121
  }
89
122
  case "all": {
90
- entries = excludeSpecAndStories ? getAllInputs(folder).filter((entry) => !entry.includes(".spec.") && !entry.includes(".stories.")) : getAllInputs(folder);
123
+ entries = (excludeSpecAndStories ? getAllInputs(srcDir).filter((entry) => !entry.includes(".spec.") && !entry.includes(".stories.")) : getAllInputs(srcDir)).filter((entry) => !entry.endsWith(".d.ts"));
91
124
  break;
92
125
  }
93
126
  case "custom": {
@@ -95,7 +128,9 @@ var buildEntries = (folder, entryMode = "single", options, excludeSpecAndStories
95
128
  break;
96
129
  }
97
130
  default: {
98
- entries = [`${folder}/index.ts`];
131
+ entries = [
132
+ "index.ts"
133
+ ];
99
134
  break;
100
135
  }
101
136
  }
@@ -104,7 +139,7 @@ var buildEntries = (folder, entryMode = "single", options, excludeSpecAndStories
104
139
  }
105
140
  if (verbose) console.log(`buildEntries [${entryMode}] ${entries.length}`);
106
141
  return entries;
107
- };
142
+ }, "buildEntries");
108
143
 
109
144
  // src/actions/package/compile/deepMerge.ts
110
145
  function deepMerge(target, source) {
@@ -121,6 +156,7 @@ function deepMerge(target, source) {
121
156
  }
122
157
  return target;
123
158
  }
159
+ __name(deepMerge, "deepMerge");
124
160
  function deepMergeObjects(objects) {
125
161
  const result = {};
126
162
  for (const obj of objects) {
@@ -128,169 +164,335 @@ function deepMergeObjects(objects) {
128
164
  }
129
165
  return result;
130
166
  }
167
+ __name(deepMergeObjects, "deepMergeObjects");
131
168
 
132
- // src/actions/package/compile/packageCompileTscTypes.ts
169
+ // src/actions/package/compile/packageCompileTsc.ts
170
+ import { cwd as cwd2 } from "process";
171
+ import chalk4 from "chalk";
172
+ import { createProgramFromConfig } from "tsc-prog";
173
+ import ts, { DiagnosticCategory, formatDiagnosticsWithColorAndContext, getPreEmitDiagnostics, sys } from "typescript";
174
+
175
+ // src/actions/package/compile/getCompilerOptions.ts
133
176
  import { cwd } from "process";
177
+ import deepmerge2 from "deepmerge";
178
+ import { getTsconfig } from "get-tsconfig";
179
+ var getCompilerOptions = /* @__PURE__ */ __name((options = {}, fileName = "tsconfig.json") => {
180
+ const resolvedTsConfigCompilerOptions = getTsconfig(cwd(), fileName)?.config?.compilerOptions ?? {};
181
+ return deepmerge2(resolvedTsConfigCompilerOptions, options);
182
+ }, "getCompilerOptions");
183
+
184
+ // src/actions/package/compile/packageCompileTsc.ts
185
+ var packageCompileTsc = /* @__PURE__ */ __name((platform, entries, srcDir = "src", outDir = "dist", compilerOptionsParam, verbose = false) => {
186
+ const pkg = process.env.INIT_CWD ?? cwd2();
187
+ if (verbose) {
188
+ console.log(chalk4.cyan(`Validating code START: ${entries.length} files to ${outDir} from ${srcDir}`));
189
+ }
190
+ const configFilePath = ts.findConfigFile("./", ts.sys.fileExists, "tsconfig.json");
191
+ if (configFilePath === void 0) {
192
+ throw new Error("Could not find tsconfig.json");
193
+ }
194
+ const compilerOptions = {
195
+ ...getCompilerOptions({
196
+ removeComments: false,
197
+ skipDefaultLibCheck: true,
198
+ skipLibCheck: true,
199
+ sourceMap: false
200
+ }),
201
+ ...compilerOptionsParam,
202
+ outDir: `${outDir}/${platform}`,
203
+ emitDeclarationOnly: true,
204
+ noEmit: false
205
+ };
206
+ console.log(chalk4.cyan(`Validating Files: ${entries.length}`));
207
+ if (verbose) {
208
+ for (const entry of entries) {
209
+ console.log(chalk4.grey(`Validating: ${entry}`));
210
+ }
211
+ }
212
+ try {
213
+ if (entries.length > 0) {
214
+ const program = createProgramFromConfig({
215
+ configFilePath,
216
+ basePath: pkg ?? cwd2(),
217
+ compilerOptions,
218
+ files: entries.map((entry) => `${srcDir}/${entry}`),
219
+ include: [
220
+ `${srcDir}/**/*.*`
221
+ ]
222
+ });
223
+ const diagnostics = getPreEmitDiagnostics(program);
224
+ if (diagnostics.length > 0) {
225
+ const formattedDiagnostics = formatDiagnosticsWithColorAndContext(diagnostics, {
226
+ getCanonicalFileName: /* @__PURE__ */ __name((fileName) => fileName, "getCanonicalFileName"),
227
+ getCurrentDirectory: /* @__PURE__ */ __name(() => srcDir, "getCurrentDirectory"),
228
+ getNewLine: /* @__PURE__ */ __name(() => sys.newLine, "getNewLine")
229
+ });
230
+ console.error(formattedDiagnostics);
231
+ }
232
+ program.emit();
233
+ return diagnostics.reduce((acc, diag) => acc + (diag.category === DiagnosticCategory.Error ? 1 : 0), 0);
234
+ }
235
+ return 0;
236
+ } finally {
237
+ if (verbose) {
238
+ console.log(chalk4.cyan(`Validating code FINISH: ${entries.length} files to ${outDir} from ${srcDir}`));
239
+ }
240
+ }
241
+ }, "packageCompileTsc");
242
+
243
+ // src/actions/package/compile/packageCompileTscTypes.ts
244
+ import path from "path";
245
+ import { cwd as cwd3 } from "process";
246
+ import chalk5 from "chalk";
134
247
  import { rollup } from "rollup";
135
248
  import dts from "rollup-plugin-dts";
136
- async function bundleDts(inputPath, outputPath) {
137
- const bundle = await rollup({
138
- input: inputPath,
139
- plugins: [dts()],
140
- onwarn(warning, warn) {
141
- if (warning.code === "UNUSED_EXTERNAL_IMPORT") return;
142
- warn(warning);
143
- }
144
- });
145
- await bundle.write({
146
- file: outputPath,
147
- format: "es"
148
- });
149
- console.log(`Bundled declarations written to ${outputPath}`);
249
+ import nodeExternals from "rollup-plugin-node-externals";
250
+ var ignoredWarningCodes = /* @__PURE__ */ new Set([
251
+ "EMPTY_BUNDLE",
252
+ "UNRESOLVED_IMPORT"
253
+ ]);
254
+ async function bundleDts(inputPath, outputPath, platform, options, verbose = false) {
255
+ const pkg = process.env.INIT_CWD ?? cwd3();
256
+ const tsconfigPath = path.resolve(pkg, "tsconfig.json");
257
+ const nodePlugIns = platform === "node" ? [
258
+ nodeExternals()
259
+ ] : [];
260
+ try {
261
+ const bundle = await rollup({
262
+ input: inputPath,
263
+ plugins: [
264
+ dts({
265
+ ...options,
266
+ tsconfig: tsconfigPath,
267
+ compilerOptions: {
268
+ emitDeclarationOnly: true,
269
+ noEmit: false,
270
+ declarationMap: true
271
+ }
272
+ }),
273
+ ...nodePlugIns
274
+ ],
275
+ onwarn(warning, warn) {
276
+ if (ignoredWarningCodes.has(warning.code ?? "")) {
277
+ return;
278
+ }
279
+ console.warn(chalk5.yellow(`[${warning.code}] ${warning.message}`));
280
+ console.warn(chalk5.gray(inputPath));
281
+ warn(warning);
282
+ }
283
+ });
284
+ await bundle.write({
285
+ file: outputPath,
286
+ format: "es"
287
+ });
288
+ } catch (ex) {
289
+ const error = ex;
290
+ console.warn(chalk5.red(error));
291
+ console.warn(chalk5.gray(inputPath));
292
+ }
293
+ if (verbose) {
294
+ console.log(`Bundled declarations written to ${outputPath}`);
295
+ }
150
296
  }
151
- var packageCompileTscTypes = async (entries, outDir, folder = "src") => {
152
- const pkg = process.env.INIT_CWD ?? cwd();
153
- const srcRoot = `${pkg}/${folder}`;
154
- const entryNameToTypeName = (entry) => {
297
+ __name(bundleDts, "bundleDts");
298
+ var packageCompileTscTypes = /* @__PURE__ */ __name(async (entries, outDir, platform, srcDir = "build", verbose = false) => {
299
+ if (verbose) {
300
+ console.log(chalk5.cyan(`Compiling Types START [${platform}]: ${entries.length} files to ${outDir} from ${srcDir}`));
301
+ console.log(`Entries: ${entries.join(", ")}`);
302
+ }
303
+ const pkg = process.env.INIT_CWD ?? cwd3();
304
+ const srcRoot = `${pkg}/${srcDir}/${platform}`;
305
+ const entryNameToTypeName = /* @__PURE__ */ __name((entry) => {
155
306
  const splitEntryName = entry.split(".");
156
307
  const newEntryExtension = "d." + splitEntryName.at(-1);
157
- return [...splitEntryName.slice(0, -1), newEntryExtension].join(".");
158
- };
159
- const entryNames = entries.map((entry) => entry.split(`${folder}/`).at(-1) ?? entry);
308
+ return [
309
+ ...splitEntryName.slice(0, -1),
310
+ newEntryExtension
311
+ ].join(".");
312
+ }, "entryNameToTypeName");
313
+ const compilerOptions = getCompilerOptions({
314
+ removeComments: false,
315
+ skipDefaultLibCheck: true,
316
+ skipLibCheck: true,
317
+ declarationMap: true,
318
+ emitDeclarationOnly: true,
319
+ noEmit: true
320
+ });
321
+ const entryNames = entries.map((entry) => entry.split(`${srcDir}/`).at(-1) ?? entry);
160
322
  await Promise.all(entryNames.map(async (entryName) => {
161
- await bundleDts(`${srcRoot}/${entryName}`, outDir + "/" + entryNameToTypeName(entryName));
323
+ const entryTypeName = entryNameToTypeName(entryName);
324
+ await bundleDts(`${srcRoot}/${entryTypeName}`, `${outDir}/${entryTypeName}`, platform, {
325
+ compilerOptions
326
+ }, verbose);
162
327
  }));
328
+ if (verbose) {
329
+ console.log(chalk5.cyan(`Compiling Types FINISH: ${entries.length} files to ${outDir} from ${srcDir}`));
330
+ }
163
331
  return 0;
164
- };
332
+ }, "packageCompileTscTypes");
165
333
 
166
334
  // src/actions/package/compile/packageCompileTsup.ts
167
- var compileFolder = async (folder, entryMode = "single", entries, options, verbose) => {
335
+ var compileFolder = /* @__PURE__ */ __name(async (srcDir, entries, buildDir, options, bundleTypes = false, verbose) => {
168
336
  const outDir = options?.outDir ?? "dist";
169
337
  if (verbose) {
170
- console.log(`compileFolder [${folder}]`);
338
+ console.log(`compileFolder [${srcDir}, ${options?.outDir}]`);
171
339
  }
172
- const entry = buildEntries(folder, entryMode, options, true, verbose);
173
- const optionsResult = defineConfig({
174
- bundle: true,
175
- cjsInterop: true,
176
- clean: true,
177
- dts: false,
178
- entry,
179
- format: ["esm"],
180
- outDir,
181
- silent: true,
182
- sourcemap: true,
183
- splitting: false,
184
- tsconfig: "tsconfig.json",
185
- ...options
186
- });
187
- const optionsList = (await Promise.all(
188
- (Array.isArray(optionsResult) ? optionsResult : [optionsResult]).flatMap(async (options2) => {
189
- const result = typeof options2 === "function" ? await options2({}) : [options2];
190
- return Array.isArray(result) ? result : [result];
191
- })
192
- )).flat();
340
+ if (entries.length === 0) {
341
+ console.warn(chalk6.yellow(`No entries found in ${srcDir} to compile`));
342
+ return 0;
343
+ }
344
+ if (verbose) {
345
+ console.log(chalk6.gray(`buildDir [${buildDir}]`));
346
+ }
347
+ const validationResult = packageCompileTsc(options?.platform ?? "neutral", entries, srcDir, buildDir, void 0, verbose);
348
+ if (validationResult !== 0) {
349
+ console.error(chalk6.red(`Compile:Validation had ${validationResult} errors`));
350
+ return validationResult;
351
+ }
352
+ const optionsParams = tsupOptions([
353
+ {
354
+ bundle: true,
355
+ cjsInterop: true,
356
+ clean: false,
357
+ dts: false,
358
+ format: [
359
+ "esm"
360
+ ],
361
+ outDir,
362
+ silent: true,
363
+ sourcemap: true,
364
+ splitting: false,
365
+ tsconfig: "tsconfig.json",
366
+ ...options,
367
+ entry: entries.map((entry) => `${srcDir}/${entry}`)
368
+ }
369
+ ]);
370
+ const optionsResult = defineConfig(optionsParams);
371
+ const optionsList = (await Promise.all((Array.isArray(optionsResult) ? optionsResult : [
372
+ optionsResult
373
+ ]).flatMap(async (options2) => {
374
+ const result = typeof options2 === "function" ? await options2({}) : [
375
+ options2
376
+ ];
377
+ return Array.isArray(result) ? result : [
378
+ result
379
+ ];
380
+ }))).flat();
193
381
  if (verbose) {
194
- console.log(`TSUP:build:start [${folder}]`);
382
+ console.log(chalk6.cyan(`TSUP:build:start [${srcDir}]`));
383
+ console.log(chalk6.gray(`TSUP:build:options [${JSON.stringify(optionsList, null, 2)}]`));
195
384
  }
196
385
  await Promise.all(optionsList.map((options2) => build(options2)));
197
386
  if (verbose) {
198
- console.log(`TSUP:build:stop [${folder}]`);
387
+ console.log(chalk6.cyan(`TSUP:build:stop [${srcDir}]`));
388
+ }
389
+ if (bundleTypes) {
390
+ await packageCompileTscTypes(entries, outDir, options?.platform ?? "neutral", buildDir, verbose);
199
391
  }
200
- await packageCompileTscTypes(entry, outDir);
201
392
  return 0;
202
- };
203
- var tsupOptions = (options = []) => {
393
+ }, "compileFolder");
394
+ var tsupOptions = /* @__PURE__ */ __name((options = []) => {
204
395
  const standardLoaders = {
205
396
  ".gif": "copy",
206
397
  ".html": "copy",
207
398
  ".jpg": "copy",
208
399
  ".json": "json",
209
400
  ".png": "copy",
210
- ".svg": "copy",
401
+ ".svg": "text",
211
402
  ".webp": "copy"
212
403
  };
213
404
  const standardOptions = {
214
405
  bundle: true,
215
- format: ["esm"],
406
+ format: [
407
+ "esm"
408
+ ],
216
409
  loader: standardLoaders,
217
- outExtension: ({ format }) => format === "esm" ? { js: ".mjs" } : { js: ".cjs" },
410
+ outExtension: /* @__PURE__ */ __name(({ format }) => format === "esm" ? {
411
+ js: ".mjs"
412
+ } : {
413
+ js: ".cjs"
414
+ }, "outExtension"),
218
415
  skipNodeModulesBundle: true,
219
416
  sourcemap: true,
220
417
  target: "esnext"
221
418
  };
222
- return deepMergeObjects([standardOptions, ...options]);
223
- };
224
- var packageCompileTsup = async (config2) => {
419
+ return deepMergeObjects([
420
+ standardOptions,
421
+ ...options
422
+ ]);
423
+ }, "tsupOptions");
424
+ var packageCompileTsup = /* @__PURE__ */ __name(async (config2) => {
225
425
  const compile = config2?.compile;
226
426
  const verbose = config2?.verbose ?? false;
427
+ const outDirAsBuildDir = compile?.outDirAsBuildDir ?? true;
428
+ const bundleTypes = compile?.bundleTypes ?? false;
227
429
  if (verbose) {
228
- console.log(`Compiling with TSUP [Depth: ${compile?.depth}]`);
229
- }
230
- const compileForNode = compile?.node ?? { src: {} };
231
- const compileForBrowser = compile?.browser ?? { src: {} };
232
- const compileForNeutral = compile?.neutral ?? { src: {} };
233
- if (verbose) {
234
- console.log("Calling packageCompileTscTypes");
430
+ console.log("Compiling with TSUP");
235
431
  }
236
- return (await Promise.all(
237
- Object.entries(compileForNode).map(async ([folder, options]) => {
238
- const optionsObject = typeof options === "object" ? options : {};
239
- const inEsBuildOptions = typeof compile?.node?.esbuildOptions === "object" ? compile?.node?.esbuildOptions : {};
240
- return typeof folder === "string" ? await compileFolder(
241
- folder,
242
- compile?.entryMode,
243
- buildEntries(folder, compile?.entryMode, options, true, verbose),
244
- tsupOptions([
245
- inEsBuildOptions,
246
- compile?.tsup?.options ?? {},
247
- typeof options === "object" ? options : {},
248
- { platform: "node", outDir: optionsObject.outDir ?? "dist/node" }
249
- ]),
250
- verbose
251
- ) : 0;
252
- })
253
- )).reduce((prev, value) => prev + value, 0) + (await Promise.all(
254
- Object.entries(compileForBrowser).map(async ([folder, options]) => {
255
- const optionsObject = typeof options === "object" ? options : {};
256
- const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === "object" ? compile?.browser?.esbuildOptions : {};
257
- return typeof folder === "string" ? await compileFolder(
258
- folder,
259
- compile?.entryMode,
260
- buildEntries(folder, compile?.entryMode, options, true, verbose),
261
- tsupOptions([
262
- inEsBuildOptions,
263
- compile?.tsup?.options ?? {},
264
- typeof options === "object" ? options : {},
265
- { platform: "browser", outDir: optionsObject.outDir ?? "dist/browser" }
266
- ]),
267
- verbose
268
- ) : 0;
269
- })
270
- )).reduce((prev, value) => prev + value, 0) + (await Promise.all(
271
- Object.entries(compileForNeutral).map(async ([folder, options]) => {
272
- const optionsObject = typeof options === "object" ? options : {};
273
- const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === "object" ? compile?.neutral?.esbuildOptions : {};
274
- return typeof folder === "string" ? await compileFolder(
275
- folder,
276
- compile?.entryMode,
277
- buildEntries(folder, compile?.entryMode, options, true, verbose),
278
- tsupOptions([
279
- inEsBuildOptions,
280
- compile?.tsup?.options ?? {},
281
- typeof options === "object" ? options : {},
282
- { platform: "neutral", outDir: optionsObject.outDir ?? "dist/neutral" }
283
- ]),
284
- verbose
285
- ) : 0;
286
- })
287
- )).reduce((prev, value) => prev + value, 0) + 0;
288
- };
432
+ const compileForNode = compile?.node ?? {
433
+ src: {}
434
+ };
435
+ const compileForBrowser = compile?.browser ?? {
436
+ src: {}
437
+ };
438
+ const compileForNeutral = compile?.neutral ?? {
439
+ src: {}
440
+ };
441
+ return (await Promise.all(Object.entries(compileForNode).map(async ([srcDir, options]) => {
442
+ const optionsObject = typeof options === "object" ? options : {};
443
+ const inEsBuildOptions = typeof compile?.node?.esbuildOptions === "object" ? compile?.node?.esbuildOptions : {};
444
+ const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose);
445
+ const platform = "node";
446
+ const rootOutDir = optionsObject.outDir ?? "dist";
447
+ const outDir = rootOutDir + "/" + platform;
448
+ return typeof srcDir === "string" ? await compileFolder(srcDir, entry, outDirAsBuildDir ? rootOutDir : "build", tsupOptions([
449
+ inEsBuildOptions,
450
+ compile?.tsup?.options ?? {},
451
+ typeof options === "object" ? options : {},
452
+ {
453
+ platform: "node",
454
+ outDir
455
+ }
456
+ ]), bundleTypes, verbose) : 0;
457
+ }))).reduce((prev, value) => prev + value, 0) + (await Promise.all(Object.entries(compileForBrowser).map(async ([srcDir, options]) => {
458
+ const optionsObject = typeof options === "object" ? options : {};
459
+ const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === "object" ? compile?.browser?.esbuildOptions : {};
460
+ const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose);
461
+ const platform = "browser";
462
+ const rootOutDir = optionsObject.outDir ?? "dist";
463
+ const outDir = rootOutDir + "/" + platform;
464
+ return typeof srcDir === "string" ? await compileFolder(srcDir, entry, outDirAsBuildDir ? rootOutDir : "build", tsupOptions([
465
+ inEsBuildOptions,
466
+ compile?.tsup?.options ?? {},
467
+ typeof options === "object" ? options : {},
468
+ {
469
+ platform: "browser",
470
+ outDir
471
+ }
472
+ ]), bundleTypes, verbose) : 0;
473
+ }))).reduce((prev, value) => prev + value, 0) + (await Promise.all(Object.entries(compileForNeutral).map(async ([srcDir, options]) => {
474
+ const optionsObject = typeof options === "object" ? options : {};
475
+ const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === "object" ? compile?.neutral?.esbuildOptions : {};
476
+ const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose);
477
+ const platform = "neutral";
478
+ const rootOutDir = optionsObject.outDir ?? "dist";
479
+ const outDir = rootOutDir + "/" + platform;
480
+ return typeof srcDir === "string" ? await compileFolder(srcDir, entry, outDirAsBuildDir ? rootOutDir : "build", tsupOptions([
481
+ inEsBuildOptions,
482
+ compile?.tsup?.options ?? {},
483
+ typeof options === "object" ? options : {},
484
+ {
485
+ platform: "neutral",
486
+ outDir
487
+ }
488
+ ]), bundleTypes, verbose) : 0;
489
+ }))).reduce((prev, value) => prev + value, 0) + 0;
490
+ }, "packageCompileTsup");
289
491
 
290
492
  // src/actions/package/compile/compile.ts
291
- var packageCompile = async (inConfig = {}) => {
493
+ var packageCompile = /* @__PURE__ */ __name(async (inConfig = {}) => {
292
494
  const pkg = process.env.INIT_CWD;
293
- console.log(chalk3.green(`Compiling ${pkg}`));
495
+ console.log(chalk7.green(`Compiling ${pkg}`));
294
496
  const config2 = await loadConfig(inConfig);
295
497
  const publint = config2.publint;
296
498
  const tsupResults = await packageCompileTsup(config2);
@@ -298,15 +500,17 @@ var packageCompile = async (inConfig = {}) => {
298
500
  return tsupResults;
299
501
  }
300
502
  return publint ? await packagePublint(config2) : 0;
301
- };
503
+ }, "packageCompile");
302
504
 
303
505
  // src/bin/package/build.ts
304
- packageCompile({ verbose: false, publint: true }).then((value) => {
305
- if (value) {
506
+ packageCompile({
507
+ publint: true
508
+ }).then((value) => {
509
+ if (value > 0) {
306
510
  process.exit(value);
307
511
  }
308
512
  }).catch((reason) => {
309
- console.error(chalk4.red(reason));
513
+ console.error(chalk8.red(reason));
310
514
  process.exit(-1);
311
515
  });
312
516
  //# sourceMappingURL=build.mjs.map