@xylabs/ts-scripts-yarn3 7.0.0-rc.9 → 7.0.1

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