@xylabs/ts-scripts-yarn3 3.2.42 → 3.3.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 (184) hide show
  1. package/dist/actions/clean-docs.js +2 -2
  2. package/dist/actions/clean-docs.js.map +1 -1
  3. package/dist/actions/clean-docs.mjs +1 -1
  4. package/dist/actions/clean-docs.mjs.map +1 -1
  5. package/dist/actions/clean-eslint.js +2 -2
  6. package/dist/actions/clean-eslint.js.map +1 -1
  7. package/dist/actions/clean-eslint.mjs +1 -1
  8. package/dist/actions/clean-eslint.mjs.map +1 -1
  9. package/dist/actions/compile.js.map +1 -1
  10. package/dist/actions/compile.mjs.map +1 -1
  11. package/dist/actions/copy-assets.js +9 -6
  12. package/dist/actions/copy-assets.js.map +1 -1
  13. package/dist/actions/copy-assets.mjs +9 -6
  14. package/dist/actions/copy-assets.mjs.map +1 -1
  15. package/dist/actions/cycle.js +1 -1
  16. package/dist/actions/cycle.js.map +1 -1
  17. package/dist/actions/cycle.mjs +1 -1
  18. package/dist/actions/cycle.mjs.map +1 -1
  19. package/dist/actions/gitlint-fix.js +4 -4
  20. package/dist/actions/gitlint-fix.js.map +1 -1
  21. package/dist/actions/gitlint-fix.mjs +1 -1
  22. package/dist/actions/gitlint-fix.mjs.map +1 -1
  23. package/dist/actions/gitlint.js +6 -6
  24. package/dist/actions/gitlint.js.map +1 -1
  25. package/dist/actions/gitlint.mjs +6 -6
  26. package/dist/actions/gitlint.mjs.map +1 -1
  27. package/dist/actions/license.js +11 -11
  28. package/dist/actions/license.js.map +1 -1
  29. package/dist/actions/license.mjs +11 -11
  30. package/dist/actions/license.mjs.map +1 -1
  31. package/dist/actions/lint-clean.js +2 -2
  32. package/dist/actions/lint-clean.js.map +1 -1
  33. package/dist/actions/lint-clean.mjs +1 -1
  34. package/dist/actions/lint-clean.mjs.map +1 -1
  35. package/dist/actions/lint.js +4 -4
  36. package/dist/actions/lint.js.map +1 -1
  37. package/dist/actions/lint.mjs +4 -4
  38. package/dist/actions/lint.mjs.map +1 -1
  39. package/dist/actions/package/clean-outputs.js +6 -6
  40. package/dist/actions/package/clean-outputs.js.map +1 -1
  41. package/dist/actions/package/clean-outputs.mjs +2 -2
  42. package/dist/actions/package/clean-outputs.mjs.map +1 -1
  43. package/dist/actions/package/clean-typescript.js +3 -3
  44. package/dist/actions/package/clean-typescript.js.map +1 -1
  45. package/dist/actions/package/clean-typescript.mjs +1 -1
  46. package/dist/actions/package/clean-typescript.mjs.map +1 -1
  47. package/dist/actions/package/compile/buildEntries.js +6 -4
  48. package/dist/actions/package/compile/buildEntries.js.map +1 -1
  49. package/dist/actions/package/compile/buildEntries.mjs +6 -4
  50. package/dist/actions/package/compile/buildEntries.mjs.map +1 -1
  51. package/dist/actions/package/compile/copyTypeFiles.js +1 -1
  52. package/dist/actions/package/compile/copyTypeFiles.js.map +1 -1
  53. package/dist/actions/package/compile/copyTypeFiles.mjs +1 -1
  54. package/dist/actions/package/compile/copyTypeFiles.mjs.map +1 -1
  55. package/dist/actions/package/compile/getCompilerOptions.js +1 -1
  56. package/dist/actions/package/compile/getCompilerOptions.js.map +1 -1
  57. package/dist/actions/package/compile/getCompilerOptions.mjs +1 -1
  58. package/dist/actions/package/compile/getCompilerOptions.mjs.map +1 -1
  59. package/dist/actions/package/compile/inputs.js +2 -2
  60. package/dist/actions/package/compile/inputs.js.map +1 -1
  61. package/dist/actions/package/compile/inputs.mjs +2 -2
  62. package/dist/actions/package/compile/inputs.mjs.map +1 -1
  63. package/dist/actions/package/compile/packageCompileTsc.js +8 -8
  64. package/dist/actions/package/compile/packageCompileTsc.js.map +1 -1
  65. package/dist/actions/package/compile/packageCompileTsc.mjs +6 -6
  66. package/dist/actions/package/compile/packageCompileTsc.mjs.map +1 -1
  67. package/dist/actions/package/compile/packageCompileTscTypes.js +13 -10
  68. package/dist/actions/package/compile/packageCompileTscTypes.js.map +1 -1
  69. package/dist/actions/package/compile/packageCompileTscTypes.mjs +11 -8
  70. package/dist/actions/package/compile/packageCompileTscTypes.mjs.map +1 -1
  71. package/dist/actions/package/compile/packageCompileTsup.js +5 -5
  72. package/dist/actions/package/compile/packageCompileTsup.js.map +1 -1
  73. package/dist/actions/package/compile/packageCompileTsup.mjs +5 -5
  74. package/dist/actions/package/compile/packageCompileTsup.mjs.map +1 -1
  75. package/dist/actions/package/copy-assets.js +9 -6
  76. package/dist/actions/package/copy-assets.js.map +1 -1
  77. package/dist/actions/package/copy-assets.mjs +9 -6
  78. package/dist/actions/package/copy-assets.mjs.map +1 -1
  79. package/dist/actions/package/deps.js +23 -21
  80. package/dist/actions/package/deps.js.map +1 -1
  81. package/dist/actions/package/deps.mjs +19 -17
  82. package/dist/actions/package/deps.mjs.map +1 -1
  83. package/dist/actions/package/gen-docs.js +2 -4
  84. package/dist/actions/package/gen-docs.js.map +1 -1
  85. package/dist/actions/package/gen-docs.mjs +2 -4
  86. package/dist/actions/package/gen-docs.mjs.map +1 -1
  87. package/dist/actions/package/publint.js +10 -7
  88. package/dist/actions/package/publint.js.map +1 -1
  89. package/dist/actions/package/publint.mjs +9 -6
  90. package/dist/actions/package/publint.mjs.map +1 -1
  91. package/dist/actions/reinstall.js +3 -3
  92. package/dist/actions/reinstall.js.map +1 -1
  93. package/dist/actions/reinstall.mjs +1 -1
  94. package/dist/actions/reinstall.mjs.map +1 -1
  95. package/dist/actions/relint.js +2 -2
  96. package/dist/actions/relint.js.map +1 -1
  97. package/dist/actions/relint.mjs +1 -1
  98. package/dist/actions/relint.mjs.map +1 -1
  99. package/dist/index.d.mts +1 -1
  100. package/dist/index.d.ts +1 -1
  101. package/dist/lib/createBuildConfig.js +4 -4
  102. package/dist/lib/createBuildConfig.js.map +1 -1
  103. package/dist/lib/createBuildConfig.mjs +3 -3
  104. package/dist/lib/createBuildConfig.mjs.map +1 -1
  105. package/dist/lib/dependencies/DuplicateDetector.js +6 -6
  106. package/dist/lib/dependencies/DuplicateDetector.js.map +1 -1
  107. package/dist/lib/dependencies/DuplicateDetector.mjs +4 -4
  108. package/dist/lib/dependencies/DuplicateDetector.mjs.map +1 -1
  109. package/dist/lib/dependencies/detectDuplicateDependencies.js +10 -7
  110. package/dist/lib/dependencies/detectDuplicateDependencies.js.map +1 -1
  111. package/dist/lib/dependencies/detectDuplicateDependencies.mjs +9 -6
  112. package/dist/lib/dependencies/detectDuplicateDependencies.mjs.map +1 -1
  113. package/dist/lib/file/ReadFileSyncOptions.js +1 -1
  114. package/dist/lib/file/ReadFileSyncOptions.js.map +1 -1
  115. package/dist/lib/file/ReadFileSyncOptions.mjs +1 -1
  116. package/dist/lib/file/ReadFileSyncOptions.mjs.map +1 -1
  117. package/dist/lib/jsonFormatters.js +2 -2
  118. package/dist/lib/jsonFormatters.js.map +1 -1
  119. package/dist/lib/jsonFormatters.mjs +2 -2
  120. package/dist/lib/jsonFormatters.mjs.map +1 -1
  121. package/dist/lib/parsedPackageJSON.js +2 -2
  122. package/dist/lib/parsedPackageJSON.js.map +1 -1
  123. package/dist/lib/parsedPackageJSON.mjs +1 -1
  124. package/dist/lib/parsedPackageJSON.mjs.map +1 -1
  125. package/dist/lib/runSteps.js +6 -7
  126. package/dist/lib/runSteps.js.map +1 -1
  127. package/dist/lib/runSteps.mjs +4 -5
  128. package/dist/lib/runSteps.mjs.map +1 -1
  129. package/dist/lib/runStepsAsync.js +7 -7
  130. package/dist/lib/runStepsAsync.js.map +1 -1
  131. package/dist/lib/runStepsAsync.mjs +5 -5
  132. package/dist/lib/runStepsAsync.mjs.map +1 -1
  133. package/dist/lib/yarn/isYarnVersionOrGreater.js +3 -3
  134. package/dist/lib/yarn/isYarnVersionOrGreater.js.map +1 -1
  135. package/dist/lib/yarn/isYarnVersionOrGreater.mjs +2 -2
  136. package/dist/lib/yarn/isYarnVersionOrGreater.mjs.map +1 -1
  137. package/dist/lib/yarn/workspace/yarnWorkspaces.js +2 -2
  138. package/dist/lib/yarn/workspace/yarnWorkspaces.js.map +1 -1
  139. package/dist/lib/yarn/workspace/yarnWorkspaces.mjs +1 -1
  140. package/dist/lib/yarn/workspace/yarnWorkspaces.mjs.map +1 -1
  141. package/dist/loadPackageConfig.js +1 -1
  142. package/dist/loadPackageConfig.js.map +1 -1
  143. package/dist/loadPackageConfig.mjs +1 -1
  144. package/dist/loadPackageConfig.mjs.map +1 -1
  145. package/dist/xy/xyLintCommands.js.map +1 -1
  146. package/dist/xy/xyLintCommands.mjs.map +1 -1
  147. package/package.json +13 -13
  148. package/src/actions/clean-docs.ts +2 -1
  149. package/src/actions/clean-eslint.ts +2 -1
  150. package/src/actions/compile.ts +2 -2
  151. package/src/actions/copy-assets.ts +11 -6
  152. package/src/actions/cycle.ts +1 -1
  153. package/src/actions/gitlint-fix.ts +2 -1
  154. package/src/actions/gitlint.ts +6 -6
  155. package/src/actions/license.ts +44 -40
  156. package/src/actions/lint-clean.ts +2 -1
  157. package/src/actions/lint.ts +4 -4
  158. package/src/actions/package/clean-outputs.ts +3 -2
  159. package/src/actions/package/clean-typescript.ts +2 -1
  160. package/src/actions/package/compile/buildEntries.ts +6 -4
  161. package/src/actions/package/compile/copyTypeFiles.ts +2 -1
  162. package/src/actions/package/compile/getCompilerOptions.ts +1 -1
  163. package/src/actions/package/compile/inputs.ts +3 -2
  164. package/src/actions/package/compile/packageCompileTsc.ts +7 -5
  165. package/src/actions/package/compile/packageCompileTscTypes.ts +11 -7
  166. package/src/actions/package/compile/packageCompileTsup.ts +11 -13
  167. package/src/actions/package/copy-assets.ts +10 -6
  168. package/src/actions/package/deps.ts +19 -20
  169. package/src/actions/package/gen-docs.ts +2 -4
  170. package/src/actions/package/publint.ts +10 -6
  171. package/src/actions/reinstall.ts +2 -1
  172. package/src/actions/relint.ts +2 -1
  173. package/src/lib/createBuildConfig.ts +3 -3
  174. package/src/lib/dependencies/DuplicateDetector.ts +6 -4
  175. package/src/lib/dependencies/detectDuplicateDependencies.ts +9 -6
  176. package/src/lib/file/ReadFileSyncOptions.ts +1 -1
  177. package/src/lib/jsonFormatters.ts +2 -2
  178. package/src/lib/parsedPackageJSON.ts +1 -1
  179. package/src/lib/runSteps.ts +5 -5
  180. package/src/lib/runStepsAsync.ts +6 -5
  181. package/src/lib/yarn/isYarnVersionOrGreater.ts +2 -2
  182. package/src/lib/yarn/workspace/yarnWorkspaces.ts +1 -1
  183. package/src/loadPackageConfig.ts +2 -1
  184. package/src/xy/xyLintCommands.ts +4 -1
@@ -1,7 +1,7 @@
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import { cwd } from "node:process";
1
3
  import chalk from "chalk";
2
4
  import depcheck, { special } from "depcheck";
3
- import { existsSync, readFileSync } from "fs";
4
- import { cwd } from "process";
5
5
  import { checkResult } from "../../lib";
6
6
  const defaultIgnorePatterns = ["*.d.ts", "dist", ".*", "node_modules"];
7
7
  const defaultIgnoreDevDeps = [
@@ -14,19 +14,19 @@ const defaultIgnoreDevDeps = [
14
14
  ];
15
15
  const defaultIgnoreDevPatterns = ["*.stories.*", "*.spec.*", "spec", "stories", "tsconfig.json"];
16
16
  const reportUnused = (name, unused) => {
17
- if (unused.length) {
17
+ if (unused.length > 0) {
18
18
  const message = [chalk.yellow(`${unused.length} Unused ${name}`)];
19
- unused.forEach((value) => message.push(chalk.gray(` ${value}`)));
19
+ for (const value of unused)
20
+ message.push(chalk.gray(` ${value}`));
20
21
  console.log(message.join("\n"));
21
22
  }
22
23
  };
23
24
  const reportMissing = (name, missing) => {
24
- if (Object.keys(missing).length) {
25
+ if (Object.keys(missing).length > 0) {
25
26
  const message = [chalk.yellow(`${Object.entries(missing).length} Missing ${name}`)];
26
- Object.entries(missing).forEach(([key, value]) => {
27
- message.push(`${key}`);
28
- message.push(chalk.gray(` ${value.at(0)}`));
29
- });
27
+ for (const [key, value] of Object.entries(missing)) {
28
+ message.push(`${key}`, chalk.gray(` ${value.at(0)}`));
29
+ }
30
30
  console.log(chalk.yellow(message.join("\n")));
31
31
  }
32
32
  };
@@ -74,15 +74,15 @@ const packageDeps = async () => {
74
74
  );
75
75
  const missingDevDeps = Object.keys(usedDevDeps).filter((key) => !declaredDevDeps.includes(key) && !declaredDeps.includes(key));
76
76
  const missingDepsObject = {};
77
- missingDeps.forEach((key) => {
77
+ for (const key of missingDeps) {
78
78
  missingDepsObject[key] = missing[key] ?? [`devDep should be dep [${key}]`];
79
- });
79
+ }
80
80
  const missingDevDepsObject = {};
81
- missingDevDeps.forEach((key) => {
81
+ for (const key of missingDevDeps) {
82
82
  if (missing[key]) {
83
83
  missingDevDepsObject[key] = missing[key];
84
84
  }
85
- });
85
+ }
86
86
  const errorCounts = [
87
87
  unusedDeps.length,
88
88
  unusedDevDeps.length,
@@ -99,11 +99,13 @@ const packageDeps = async () => {
99
99
  }
100
100
  reportUnused("dependencies", unusedDeps);
101
101
  reportUnused("devDependencies", unusedDevDeps);
102
- if (Object.entries(invalidDirs).length) {
103
- Object.entries(invalidDirs).forEach(([key, value]) => console.warn(chalk.gray(`Invalid Dir: ${key}: ${value}`)));
102
+ if (Object.entries(invalidDirs).length > 0) {
103
+ for (const [key, value] of Object.entries(invalidDirs))
104
+ console.warn(chalk.gray(`Invalid Dir: ${key}: ${value}`));
104
105
  }
105
- if (Object.entries(invalidFiles).length) {
106
- Object.entries(invalidFiles).forEach(([key, value]) => console.warn(chalk.gray(`Invalid File: ${key}: ${value}`)));
106
+ if (Object.entries(invalidFiles).length > 0) {
107
+ for (const [key, value] of Object.entries(invalidFiles))
108
+ console.warn(chalk.gray(`Invalid File: ${key}: ${value}`));
107
109
  }
108
110
  reportMissing("dependencies", missingDepsObject);
109
111
  reportMissing("devDependencies", missingDevDepsObject);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/package/deps.ts"],"sourcesContent":["/* eslint-disable max-statements */\nimport chalk from 'chalk'\nimport depcheck, { special } from 'depcheck'\nimport { existsSync, readFileSync } from 'fs'\nimport { cwd } from 'process'\n\nimport { checkResult } from '../../lib'\n\nconst defaultIgnorePatterns = ['*.d.ts', 'dist', '.*', 'node_modules']\nconst defaultIgnoreDevDeps = [\n '@xylabs/ts-scripts-yarn3',\n '@xylabs/tsconfig',\n '@xylabs/tsconfig-dom',\n '@xylabs/tsconfig-react',\n '@xylabs/tsconfig-jest',\n 'typescript',\n]\nconst defaultIgnoreDevPatterns = ['*.stories.*', '*.spec.*', 'spec', 'stories', 'tsconfig.json']\n\nconst reportUnused = (name: string, unused: depcheck.Results['dependencies']) => {\n if (unused.length) {\n const message = [chalk.yellow(`${unused.length} Unused ${name}`)]\n unused.forEach((value) => message.push(chalk.gray(` ${value}`)))\n console.log(message.join('\\n'))\n }\n}\n\nconst reportMissing = (name: string, missing: depcheck.Results['missing']) => {\n if (Object.keys(missing).length) {\n const message = [chalk.yellow(`${Object.entries(missing).length} Missing ${name}`)]\n Object.entries(missing).forEach(([key, value]) => {\n message.push(`${key}`)\n message.push(chalk.gray(` ${value.at(0)}`))\n })\n console.log(chalk.yellow(message.join('\\n')))\n }\n}\n\nconst analyzeDeps = async (pkg: string, ignoreMatches: string[]) => {\n const packageContent = existsSync(`${pkg}/package.json`) ? JSON.parse(readFileSync(`${pkg}/package.json`, { encoding: 'utf8' })) : undefined\n const [srcUnused, allUnused] = await Promise.all([\n depcheck(`${pkg}/src`, {\n ignoreMatches,\n ignorePatterns: [...defaultIgnoreDevPatterns, ...defaultIgnorePatterns],\n package: packageContent,\n }),\n depcheck(`${pkg}/.`, {\n ignoreMatches: [...ignoreMatches, ...defaultIgnoreDevDeps],\n ignorePatterns: [...defaultIgnorePatterns],\n package: packageContent,\n specials: [special.eslint, special.babel, special.bin, special.prettier, special.jest, special.mocha],\n }),\n ])\n\n const unusedDeps = srcUnused.dependencies\n const unusedDevDeps = allUnused.devDependencies\n const usedDeps = srcUnused.using\n const usedDevDeps = allUnused.using\n const missing = { ...srcUnused.missing, ...allUnused.missing }\n const { invalidDirs, invalidFiles } = allUnused\n\n return { invalidDirs, invalidFiles, missing, unusedDeps, unusedDevDeps, usedDeps, usedDevDeps }\n}\n\nexport const packageDeps = async () => {\n const pkg = process.env.INIT_CWD ?? cwd()\n const pkgName = process.env.npm_package_name\n\n const packageContent = existsSync(`${pkg}/package.json`) ? JSON.parse(readFileSync(`${pkg}/package.json`, { encoding: 'utf8' })) : undefined\n\n const rawIgnore = existsSync(`${pkg}/.depcheckrc`)\n ? readFileSync(`${pkg}/.depcheckrc`, { encoding: 'utf8' }).replace('ignores:', '\"ignores\":')\n : undefined\n let ignoreMatches: string[] = []\n try {\n ignoreMatches = rawIgnore ? (JSON.parse(`{${rawIgnore}}`).ignores as string[]) : []\n } catch (ex) {\n const error = ex as Error\n console.log(`${pkgName} [${error.message}] Failed to parse .depcheckrc [${rawIgnore}]`)\n }\n\n const { invalidDirs, invalidFiles, unusedDeps, unusedDevDeps, usedDeps, usedDevDeps, missing } = await analyzeDeps(pkg, ignoreMatches)\n\n const declaredDeps = Object.keys(packageContent.dependencies ?? {})\n const declaredPeerDeps = Object.keys(packageContent.peerDependencies ?? {})\n const declaredDevDeps = Object.keys(packageContent.devDependencies ?? {})\n\n const missingDeps = Object.keys(usedDeps).filter(\n (key) => !declaredDeps.includes(key) && !declaredPeerDeps.includes(key) && !key.startsWith('@types/'),\n )\n\n const missingDevDeps = Object.keys(usedDevDeps).filter((key) => !declaredDevDeps.includes(key) && !declaredDeps.includes(key))\n\n const missingDepsObject: Record<string, string[]> = {}\n missingDeps.forEach((key) => {\n missingDepsObject[key] = missing[key] ?? [`devDep should be dep [${key}]`]\n })\n\n const missingDevDepsObject: Record<string, string[]> = {}\n missingDevDeps.forEach((key) => {\n if (missing[key]) {\n missingDevDepsObject[key] = missing[key]\n }\n })\n\n const errorCounts = [\n unusedDeps.length,\n unusedDevDeps.length,\n Object.entries(invalidDirs).length,\n Object.entries(invalidFiles).length,\n Object.entries(missingDepsObject).length,\n Object.entries(missingDevDepsObject).length,\n ]\n\n const errorCount = errorCounts.reduce((prev, count) => prev + count, 0)\n\n if (errorCount > 0) {\n console.log(`Deps [${pkgName}] = (${JSON.stringify(errorCounts)})`)\n } else {\n console.log(`Deps [${pkgName}] - Ok`)\n }\n\n reportUnused('dependencies', unusedDeps)\n reportUnused('devDependencies', unusedDevDeps)\n\n if (Object.entries(invalidDirs).length) {\n Object.entries(invalidDirs).forEach(([key, value]) => console.warn(chalk.gray(`Invalid Dir: ${key}: ${value}`)))\n }\n\n if (Object.entries(invalidFiles).length) {\n Object.entries(invalidFiles).forEach(([key, value]) => console.warn(chalk.gray(`Invalid File: ${key}: ${value}`)))\n }\n\n reportMissing('dependencies', missingDepsObject)\n reportMissing('devDependencies', missingDevDepsObject)\n\n checkResult(`Deps [${pkgName}]`, errorCount, 'warn', false)\n\n //returning 0 here since we never want deps to be fatal\n return 0\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/actions/package/deps.ts"],"sourcesContent":["/* eslint-disable max-statements */\nimport { existsSync, readFileSync } from 'node:fs'\nimport { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport depcheck, { special } from 'depcheck'\n\nimport { checkResult } from '../../lib'\n\nconst defaultIgnorePatterns = ['*.d.ts', 'dist', '.*', 'node_modules']\nconst defaultIgnoreDevDeps = [\n '@xylabs/ts-scripts-yarn3',\n '@xylabs/tsconfig',\n '@xylabs/tsconfig-dom',\n '@xylabs/tsconfig-react',\n '@xylabs/tsconfig-jest',\n 'typescript',\n]\nconst defaultIgnoreDevPatterns = ['*.stories.*', '*.spec.*', 'spec', 'stories', 'tsconfig.json']\n\nconst reportUnused = (name: string, unused: depcheck.Results['dependencies']) => {\n if (unused.length > 0) {\n const message = [chalk.yellow(`${unused.length} Unused ${name}`)]\n for (const value of unused) message.push(chalk.gray(` ${value}`))\n console.log(message.join('\\n'))\n }\n}\n\nconst reportMissing = (name: string, missing: depcheck.Results['missing']) => {\n if (Object.keys(missing).length > 0) {\n const message = [chalk.yellow(`${Object.entries(missing).length} Missing ${name}`)]\n for (const [key, value] of Object.entries(missing)) {\n message.push(`${key}`, chalk.gray(` ${value.at(0)}`))\n }\n console.log(chalk.yellow(message.join('\\n')))\n }\n}\n\nconst analyzeDeps = async (pkg: string, ignoreMatches: string[]) => {\n const packageContent = existsSync(`${pkg}/package.json`) ? JSON.parse(readFileSync(`${pkg}/package.json`, { encoding: 'utf8' })) : undefined\n const [srcUnused, allUnused] = await Promise.all([\n depcheck(`${pkg}/src`, {\n ignoreMatches,\n ignorePatterns: [...defaultIgnoreDevPatterns, ...defaultIgnorePatterns],\n package: packageContent,\n }),\n depcheck(`${pkg}/.`, {\n ignoreMatches: [...ignoreMatches, ...defaultIgnoreDevDeps],\n ignorePatterns: [...defaultIgnorePatterns],\n package: packageContent,\n specials: [special.eslint, special.babel, special.bin, special.prettier, special.jest, special.mocha],\n }),\n ])\n\n const unusedDeps = srcUnused.dependencies\n const unusedDevDeps = allUnused.devDependencies\n const usedDeps = srcUnused.using\n const usedDevDeps = allUnused.using\n const missing = { ...srcUnused.missing, ...allUnused.missing }\n const { invalidDirs, invalidFiles } = allUnused\n\n return { invalidDirs, invalidFiles, missing, unusedDeps, unusedDevDeps, usedDeps, usedDevDeps }\n}\n\nexport const packageDeps = async () => {\n const pkg = process.env.INIT_CWD ?? cwd()\n const pkgName = process.env.npm_package_name\n\n const packageContent = existsSync(`${pkg}/package.json`) ? JSON.parse(readFileSync(`${pkg}/package.json`, { encoding: 'utf8' })) : undefined\n\n const rawIgnore =\n existsSync(`${pkg}/.depcheckrc`) ? readFileSync(`${pkg}/.depcheckrc`, { encoding: 'utf8' }).replace('ignores:', '\"ignores\":') : undefined\n let ignoreMatches: string[] = []\n try {\n ignoreMatches = rawIgnore ? (JSON.parse(`{${rawIgnore}}`).ignores as string[]) : []\n } catch (ex) {\n const error = ex as Error\n console.log(`${pkgName} [${error.message}] Failed to parse .depcheckrc [${rawIgnore}]`)\n }\n\n const { invalidDirs, invalidFiles, unusedDeps, unusedDevDeps, usedDeps, usedDevDeps, missing } = await analyzeDeps(pkg, ignoreMatches)\n\n const declaredDeps = Object.keys(packageContent.dependencies ?? {})\n const declaredPeerDeps = Object.keys(packageContent.peerDependencies ?? {})\n const declaredDevDeps = Object.keys(packageContent.devDependencies ?? {})\n\n const missingDeps = Object.keys(usedDeps).filter(\n (key) => !declaredDeps.includes(key) && !declaredPeerDeps.includes(key) && !key.startsWith('@types/'),\n )\n\n const missingDevDeps = Object.keys(usedDevDeps).filter((key) => !declaredDevDeps.includes(key) && !declaredDeps.includes(key))\n\n const missingDepsObject: Record<string, string[]> = {}\n for (const key of missingDeps) {\n missingDepsObject[key] = missing[key] ?? [`devDep should be dep [${key}]`]\n }\n\n const missingDevDepsObject: Record<string, string[]> = {}\n for (const key of missingDevDeps) {\n if (missing[key]) {\n missingDevDepsObject[key] = missing[key]\n }\n }\n\n const errorCounts = [\n unusedDeps.length,\n unusedDevDeps.length,\n Object.entries(invalidDirs).length,\n Object.entries(invalidFiles).length,\n Object.entries(missingDepsObject).length,\n Object.entries(missingDevDepsObject).length,\n ]\n\n const errorCount = errorCounts.reduce((prev, count) => prev + count, 0)\n\n if (errorCount > 0) {\n console.log(`Deps [${pkgName}] = (${JSON.stringify(errorCounts)})`)\n } else {\n console.log(`Deps [${pkgName}] - Ok`)\n }\n\n reportUnused('dependencies', unusedDeps)\n reportUnused('devDependencies', unusedDevDeps)\n\n if (Object.entries(invalidDirs).length > 0) {\n for (const [key, value] of Object.entries(invalidDirs)) console.warn(chalk.gray(`Invalid Dir: ${key}: ${value}`))\n }\n\n if (Object.entries(invalidFiles).length > 0) {\n for (const [key, value] of Object.entries(invalidFiles)) console.warn(chalk.gray(`Invalid File: ${key}: ${value}`))\n }\n\n reportMissing('dependencies', missingDepsObject)\n reportMissing('devDependencies', missingDevDepsObject)\n\n checkResult(`Deps [${pkgName}]`, errorCount, 'warn', false)\n\n //returning 0 here since we never want deps to be fatal\n return 0\n}\n"],"mappings":"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","names":[]}
@@ -46,10 +46,8 @@ const ExitCodes = {
46
46
  };
47
47
  const packageGenDocs = async () => {
48
48
  const pkg = process.env.INIT_CWD;
49
- if (pkg) {
50
- if (!(0, import_node_fs.existsSync)(import_node_path.default.join(pkg, "typedoc.json"))) {
51
- return;
52
- }
49
+ if (pkg && !(0, import_node_fs.existsSync)(import_node_path.default.join(pkg, "typedoc.json"))) {
50
+ return;
53
51
  }
54
52
  const app = await import_typedoc.Application.bootstrap({
55
53
  entryPointStrategy: "merge",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/package/gen-docs.ts"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-statements */\nimport { existsSync } from 'node:fs'\nimport path from 'node:path'\n\nimport chalk from 'chalk'\nimport { Application, ArgumentsReader, TSConfigReader, TypeDocReader } from 'typedoc'\n\nconst ExitCodes = {\n CompileError: 3,\n ExceptionThrown: 6,\n NoEntryPoints: 2,\n Ok: 0,\n OptionError: 1,\n OutputError: 5,\n ValidationError: 4,\n}\n\nexport const packageGenDocs = async () => {\n const pkg = process.env.INIT_CWD\n\n if (pkg) {\n if (!existsSync(path.join(pkg, 'typedoc.json'))) {\n return\n }\n }\n\n const app = await Application.bootstrap({\n entryPointStrategy: 'merge',\n entryPoints: [`${pkg}/src/**/*.ts`, `${pkg}/packages/*/dist/docs.json`],\n excludeExternals: true,\n json: `${pkg}/dist/docs.json`,\n logLevel: 'Error',\n tsconfig: `${pkg}/tsconfig.json`,\n })\n\n app.options.addReader(new ArgumentsReader(0))\n app.options.addReader(new TypeDocReader())\n app.options.addReader(new TSConfigReader())\n app.options.addReader(new ArgumentsReader(300))\n\n return await runTypeDoc(app)\n}\n\nconst runTypeDoc = async (app: Application) => {\n const pkgName = process.env.npm_package_name\n if (app.options.getValue('version')) {\n console.log(app.toString())\n return ExitCodes.Ok\n }\n\n if (app.options.getValue('showConfig')) {\n console.log(app.options.getRawValues())\n return ExitCodes.Ok\n }\n\n if (app.logger.hasErrors()) {\n return ExitCodes.OptionError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.OptionError\n }\n\n if (app.options.getValue('entryPoints').length === 0) {\n app.logger.error('No entry points provided')\n return ExitCodes.NoEntryPoints\n }\n\n if (app.options.getValue('watch')) {\n app.convertAndWatch(async (project) => {\n const out = app.options.getValue('out')\n if (out) {\n await app.generateDocs(project, out)\n }\n const json = app.options.getValue('json')\n if (json) {\n await app.generateJson(project, json)\n }\n\n if (!out && !json) {\n await app.generateDocs(project, './docs')\n }\n })\n return ExitCodes.Ok\n }\n\n const project = await app.convert()\n if (!project) {\n return ExitCodes.CompileError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.CompileError\n }\n\n app.validate(project)\n if (app.logger.hasErrors()) {\n return ExitCodes.ValidationError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.ValidationError\n }\n\n if (app.options.getValue('emit') !== 'none') {\n const out = app.options.getValue('out')\n if (out) {\n await app.generateDocs(project, out)\n }\n const json = app.options.getValue('json')\n if (json) {\n await app.generateJson(project, json)\n }\n\n if (!out && !json) {\n await app.generateDocs(project, './docs')\n }\n\n if (app.logger.hasErrors()) {\n return ExitCodes.OutputError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.OutputError\n }\n }\n console.log(chalk.green(`${pkgName} - Ok`))\n return ExitCodes.Ok\n}\n"],"mappings":"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","names":["path","project","chalk"]}
1
+ {"version":3,"sources":["../../../src/actions/package/gen-docs.ts"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-statements */\nimport { existsSync } from 'node:fs'\nimport path from 'node:path'\n\nimport chalk from 'chalk'\nimport { Application, ArgumentsReader, TSConfigReader, TypeDocReader } from 'typedoc'\n\nconst ExitCodes = {\n CompileError: 3,\n ExceptionThrown: 6,\n NoEntryPoints: 2,\n Ok: 0,\n OptionError: 1,\n OutputError: 5,\n ValidationError: 4,\n}\n\nexport const packageGenDocs = async () => {\n const pkg = process.env.INIT_CWD\n\n if (pkg && !existsSync(path.join(pkg, 'typedoc.json'))) {\n return\n }\n\n const app = await Application.bootstrap({\n entryPointStrategy: 'merge',\n entryPoints: [`${pkg}/src/**/*.ts`, `${pkg}/packages/*/dist/docs.json`],\n excludeExternals: true,\n json: `${pkg}/dist/docs.json`,\n logLevel: 'Error',\n tsconfig: `${pkg}/tsconfig.json`,\n })\n\n app.options.addReader(new ArgumentsReader(0))\n app.options.addReader(new TypeDocReader())\n app.options.addReader(new TSConfigReader())\n app.options.addReader(new ArgumentsReader(300))\n\n return await runTypeDoc(app)\n}\n\nconst runTypeDoc = async (app: Application) => {\n const pkgName = process.env.npm_package_name\n if (app.options.getValue('version')) {\n console.log(app.toString())\n return ExitCodes.Ok\n }\n\n if (app.options.getValue('showConfig')) {\n console.log(app.options.getRawValues())\n return ExitCodes.Ok\n }\n\n if (app.logger.hasErrors()) {\n return ExitCodes.OptionError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.OptionError\n }\n\n if (app.options.getValue('entryPoints').length === 0) {\n app.logger.error('No entry points provided')\n return ExitCodes.NoEntryPoints\n }\n\n if (app.options.getValue('watch')) {\n app.convertAndWatch(async (project) => {\n const out = app.options.getValue('out')\n if (out) {\n await app.generateDocs(project, out)\n }\n const json = app.options.getValue('json')\n if (json) {\n await app.generateJson(project, json)\n }\n\n if (!out && !json) {\n await app.generateDocs(project, './docs')\n }\n })\n return ExitCodes.Ok\n }\n\n const project = await app.convert()\n if (!project) {\n return ExitCodes.CompileError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.CompileError\n }\n\n app.validate(project)\n if (app.logger.hasErrors()) {\n return ExitCodes.ValidationError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.ValidationError\n }\n\n if (app.options.getValue('emit') !== 'none') {\n const out = app.options.getValue('out')\n if (out) {\n await app.generateDocs(project, out)\n }\n const json = app.options.getValue('json')\n if (json) {\n await app.generateJson(project, json)\n }\n\n if (!out && !json) {\n await app.generateDocs(project, './docs')\n }\n\n if (app.logger.hasErrors()) {\n return ExitCodes.OutputError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.OutputError\n }\n }\n console.log(chalk.green(`${pkgName} - Ok`))\n return ExitCodes.Ok\n}\n"],"mappings":"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","names":["path","project","chalk"]}
@@ -13,10 +13,8 @@ const ExitCodes = {
13
13
  };
14
14
  const packageGenDocs = async () => {
15
15
  const pkg = process.env.INIT_CWD;
16
- if (pkg) {
17
- if (!existsSync(path.join(pkg, "typedoc.json"))) {
18
- return;
19
- }
16
+ if (pkg && !existsSync(path.join(pkg, "typedoc.json"))) {
17
+ return;
20
18
  }
21
19
  const app = await Application.bootstrap({
22
20
  entryPointStrategy: "merge",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/package/gen-docs.ts"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-statements */\nimport { existsSync } from 'node:fs'\nimport path from 'node:path'\n\nimport chalk from 'chalk'\nimport { Application, ArgumentsReader, TSConfigReader, TypeDocReader } from 'typedoc'\n\nconst ExitCodes = {\n CompileError: 3,\n ExceptionThrown: 6,\n NoEntryPoints: 2,\n Ok: 0,\n OptionError: 1,\n OutputError: 5,\n ValidationError: 4,\n}\n\nexport const packageGenDocs = async () => {\n const pkg = process.env.INIT_CWD\n\n if (pkg) {\n if (!existsSync(path.join(pkg, 'typedoc.json'))) {\n return\n }\n }\n\n const app = await Application.bootstrap({\n entryPointStrategy: 'merge',\n entryPoints: [`${pkg}/src/**/*.ts`, `${pkg}/packages/*/dist/docs.json`],\n excludeExternals: true,\n json: `${pkg}/dist/docs.json`,\n logLevel: 'Error',\n tsconfig: `${pkg}/tsconfig.json`,\n })\n\n app.options.addReader(new ArgumentsReader(0))\n app.options.addReader(new TypeDocReader())\n app.options.addReader(new TSConfigReader())\n app.options.addReader(new ArgumentsReader(300))\n\n return await runTypeDoc(app)\n}\n\nconst runTypeDoc = async (app: Application) => {\n const pkgName = process.env.npm_package_name\n if (app.options.getValue('version')) {\n console.log(app.toString())\n return ExitCodes.Ok\n }\n\n if (app.options.getValue('showConfig')) {\n console.log(app.options.getRawValues())\n return ExitCodes.Ok\n }\n\n if (app.logger.hasErrors()) {\n return ExitCodes.OptionError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.OptionError\n }\n\n if (app.options.getValue('entryPoints').length === 0) {\n app.logger.error('No entry points provided')\n return ExitCodes.NoEntryPoints\n }\n\n if (app.options.getValue('watch')) {\n app.convertAndWatch(async (project) => {\n const out = app.options.getValue('out')\n if (out) {\n await app.generateDocs(project, out)\n }\n const json = app.options.getValue('json')\n if (json) {\n await app.generateJson(project, json)\n }\n\n if (!out && !json) {\n await app.generateDocs(project, './docs')\n }\n })\n return ExitCodes.Ok\n }\n\n const project = await app.convert()\n if (!project) {\n return ExitCodes.CompileError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.CompileError\n }\n\n app.validate(project)\n if (app.logger.hasErrors()) {\n return ExitCodes.ValidationError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.ValidationError\n }\n\n if (app.options.getValue('emit') !== 'none') {\n const out = app.options.getValue('out')\n if (out) {\n await app.generateDocs(project, out)\n }\n const json = app.options.getValue('json')\n if (json) {\n await app.generateJson(project, json)\n }\n\n if (!out && !json) {\n await app.generateDocs(project, './docs')\n }\n\n if (app.logger.hasErrors()) {\n return ExitCodes.OutputError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.OutputError\n }\n }\n console.log(chalk.green(`${pkgName} - Ok`))\n return ExitCodes.Ok\n}\n"],"mappings":"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","names":["project"]}
1
+ {"version":3,"sources":["../../../src/actions/package/gen-docs.ts"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-statements */\nimport { existsSync } from 'node:fs'\nimport path from 'node:path'\n\nimport chalk from 'chalk'\nimport { Application, ArgumentsReader, TSConfigReader, TypeDocReader } from 'typedoc'\n\nconst ExitCodes = {\n CompileError: 3,\n ExceptionThrown: 6,\n NoEntryPoints: 2,\n Ok: 0,\n OptionError: 1,\n OutputError: 5,\n ValidationError: 4,\n}\n\nexport const packageGenDocs = async () => {\n const pkg = process.env.INIT_CWD\n\n if (pkg && !existsSync(path.join(pkg, 'typedoc.json'))) {\n return\n }\n\n const app = await Application.bootstrap({\n entryPointStrategy: 'merge',\n entryPoints: [`${pkg}/src/**/*.ts`, `${pkg}/packages/*/dist/docs.json`],\n excludeExternals: true,\n json: `${pkg}/dist/docs.json`,\n logLevel: 'Error',\n tsconfig: `${pkg}/tsconfig.json`,\n })\n\n app.options.addReader(new ArgumentsReader(0))\n app.options.addReader(new TypeDocReader())\n app.options.addReader(new TSConfigReader())\n app.options.addReader(new ArgumentsReader(300))\n\n return await runTypeDoc(app)\n}\n\nconst runTypeDoc = async (app: Application) => {\n const pkgName = process.env.npm_package_name\n if (app.options.getValue('version')) {\n console.log(app.toString())\n return ExitCodes.Ok\n }\n\n if (app.options.getValue('showConfig')) {\n console.log(app.options.getRawValues())\n return ExitCodes.Ok\n }\n\n if (app.logger.hasErrors()) {\n return ExitCodes.OptionError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.OptionError\n }\n\n if (app.options.getValue('entryPoints').length === 0) {\n app.logger.error('No entry points provided')\n return ExitCodes.NoEntryPoints\n }\n\n if (app.options.getValue('watch')) {\n app.convertAndWatch(async (project) => {\n const out = app.options.getValue('out')\n if (out) {\n await app.generateDocs(project, out)\n }\n const json = app.options.getValue('json')\n if (json) {\n await app.generateJson(project, json)\n }\n\n if (!out && !json) {\n await app.generateDocs(project, './docs')\n }\n })\n return ExitCodes.Ok\n }\n\n const project = await app.convert()\n if (!project) {\n return ExitCodes.CompileError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.CompileError\n }\n\n app.validate(project)\n if (app.logger.hasErrors()) {\n return ExitCodes.ValidationError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.ValidationError\n }\n\n if (app.options.getValue('emit') !== 'none') {\n const out = app.options.getValue('out')\n if (out) {\n await app.generateDocs(project, out)\n }\n const json = app.options.getValue('json')\n if (json) {\n await app.generateJson(project, json)\n }\n\n if (!out && !json) {\n await app.generateDocs(project, './docs')\n }\n\n if (app.logger.hasErrors()) {\n return ExitCodes.OutputError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.OutputError\n }\n }\n console.log(chalk.green(`${pkgName} - Ok`))\n return ExitCodes.Ok\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAC3B,OAAO,UAAU;AAEjB,OAAO,WAAW;AAClB,SAAS,aAAa,iBAAiB,gBAAgB,qBAAqB;AAE5E,MAAM,YAAY;AAAA,EAChB,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,IAAI;AAAA,EACJ,aAAa;AAAA,EACb,aAAa;AAAA,EACb,iBAAiB;AACnB;AAEO,MAAM,iBAAiB,YAAY;AACxC,QAAM,MAAM,QAAQ,IAAI;AAExB,MAAI,OAAO,CAAC,WAAW,KAAK,KAAK,KAAK,cAAc,CAAC,GAAG;AACtD;AAAA,EACF;AAEA,QAAM,MAAM,MAAM,YAAY,UAAU;AAAA,IACtC,oBAAoB;AAAA,IACpB,aAAa,CAAC,GAAG,GAAG,gBAAgB,GAAG,GAAG,4BAA4B;AAAA,IACtE,kBAAkB;AAAA,IAClB,MAAM,GAAG,GAAG;AAAA,IACZ,UAAU;AAAA,IACV,UAAU,GAAG,GAAG;AAAA,EAClB,CAAC;AAED,MAAI,QAAQ,UAAU,IAAI,gBAAgB,CAAC,CAAC;AAC5C,MAAI,QAAQ,UAAU,IAAI,cAAc,CAAC;AACzC,MAAI,QAAQ,UAAU,IAAI,eAAe,CAAC;AAC1C,MAAI,QAAQ,UAAU,IAAI,gBAAgB,GAAG,CAAC;AAE9C,SAAO,MAAM,WAAW,GAAG;AAC7B;AAEA,MAAM,aAAa,OAAO,QAAqB;AAC7C,QAAM,UAAU,QAAQ,IAAI;AAC5B,MAAI,IAAI,QAAQ,SAAS,SAAS,GAAG;AACnC,YAAQ,IAAI,IAAI,SAAS,CAAC;AAC1B,WAAO,UAAU;AAAA,EACnB;AAEA,MAAI,IAAI,QAAQ,SAAS,YAAY,GAAG;AACtC,YAAQ,IAAI,IAAI,QAAQ,aAAa,CAAC;AACtC,WAAO,UAAU;AAAA,EACnB;AAEA,MAAI,IAAI,OAAO,UAAU,GAAG;AAC1B,WAAO,UAAU;AAAA,EACnB;AACA,MAAI,IAAI,QAAQ,SAAS,uBAAuB,KAAK,IAAI,OAAO,YAAY,GAAG;AAC7E,WAAO,UAAU;AAAA,EACnB;AAEA,MAAI,IAAI,QAAQ,SAAS,aAAa,EAAE,WAAW,GAAG;AACpD,QAAI,OAAO,MAAM,0BAA0B;AAC3C,WAAO,UAAU;AAAA,EACnB;AAEA,MAAI,IAAI,QAAQ,SAAS,OAAO,GAAG;AACjC,QAAI,gBAAgB,OAAOA,aAAY;AACrC,YAAM,MAAM,IAAI,QAAQ,SAAS,KAAK;AACtC,UAAI,KAAK;AACP,cAAM,IAAI,aAAaA,UAAS,GAAG;AAAA,MACrC;AACA,YAAM,OAAO,IAAI,QAAQ,SAAS,MAAM;AACxC,UAAI,MAAM;AACR,cAAM,IAAI,aAAaA,UAAS,IAAI;AAAA,MACtC;AAEA,UAAI,CAAC,OAAO,CAAC,MAAM;AACjB,cAAM,IAAI,aAAaA,UAAS,QAAQ;AAAA,MAC1C;AAAA,IACF,CAAC;AACD,WAAO,UAAU;AAAA,EACnB;AAEA,QAAM,UAAU,MAAM,IAAI,QAAQ;AAClC,MAAI,CAAC,SAAS;AACZ,WAAO,UAAU;AAAA,EACnB;AACA,MAAI,IAAI,QAAQ,SAAS,uBAAuB,KAAK,IAAI,OAAO,YAAY,GAAG;AAC7E,WAAO,UAAU;AAAA,EACnB;AAEA,MAAI,SAAS,OAAO;AACpB,MAAI,IAAI,OAAO,UAAU,GAAG;AAC1B,WAAO,UAAU;AAAA,EACnB;AACA,MAAI,IAAI,QAAQ,SAAS,uBAAuB,KAAK,IAAI,OAAO,YAAY,GAAG;AAC7E,WAAO,UAAU;AAAA,EACnB;AAEA,MAAI,IAAI,QAAQ,SAAS,MAAM,MAAM,QAAQ;AAC3C,UAAM,MAAM,IAAI,QAAQ,SAAS,KAAK;AACtC,QAAI,KAAK;AACP,YAAM,IAAI,aAAa,SAAS,GAAG;AAAA,IACrC;AACA,UAAM,OAAO,IAAI,QAAQ,SAAS,MAAM;AACxC,QAAI,MAAM;AACR,YAAM,IAAI,aAAa,SAAS,IAAI;AAAA,IACtC;AAEA,QAAI,CAAC,OAAO,CAAC,MAAM;AACjB,YAAM,IAAI,aAAa,SAAS,QAAQ;AAAA,IAC1C;AAEA,QAAI,IAAI,OAAO,UAAU,GAAG;AAC1B,aAAO,UAAU;AAAA,IACnB;AACA,QAAI,IAAI,QAAQ,SAAS,uBAAuB,KAAK,IAAI,OAAO,YAAY,GAAG;AAC7E,aAAO,UAAU;AAAA,IACnB;AAAA,EACF;AACA,UAAQ,IAAI,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC;AAC1C,SAAO,UAAU;AACnB;","names":["project"]}
@@ -31,11 +31,11 @@ __export(publint_exports, {
31
31
  packagePublint: () => packagePublint
32
32
  });
33
33
  module.exports = __toCommonJS(publint_exports);
34
+ var import_node_fs = require("node:fs");
34
35
  var import_chalk = __toESM(require("chalk"));
35
- var import_fs = require("fs");
36
36
  const packagePublint = async (params) => {
37
37
  const pkgDir = process.env.INIT_CWD;
38
- const pkg = JSON.parse(await import_fs.promises.readFile(`${pkgDir}/package.json`, "utf8"));
38
+ const pkg = JSON.parse(await import_node_fs.promises.readFile(`${pkgDir}/package.json`, "utf8"));
39
39
  console.log(import_chalk.default.green(`Publint: ${pkg.name}`));
40
40
  console.log(import_chalk.default.gray(pkgDir));
41
41
  const { publint } = await import("publint");
@@ -49,19 +49,22 @@ const packagePublint = async (params) => {
49
49
  return true;
50
50
  };
51
51
  const validMessages = messages.filter(validMessage);
52
- validMessages.forEach((message) => {
52
+ for (const message of validMessages) {
53
53
  switch (message.type) {
54
- case "error":
54
+ case "error": {
55
55
  console.error(import_chalk.default.red(`[${message.code}] ${formatMessage(message, pkg)}`));
56
56
  break;
57
- case "warning":
57
+ }
58
+ case "warning": {
58
59
  console.warn(import_chalk.default.yellow(`[${message.code}] ${formatMessage(message, pkg)}`));
59
60
  break;
60
- default:
61
+ }
62
+ default: {
61
63
  console.log(import_chalk.default.white(`[${message.code}] ${formatMessage(message, pkg)}`));
62
64
  break;
65
+ }
63
66
  }
64
- });
67
+ }
65
68
  if (params == null ? void 0 : params.verbose) {
66
69
  console.log(import_chalk.default.gray(`Publint [Finish]: ${pkgDir} [${validMessages.length}]`));
67
70
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/package/publint.ts"],"sourcesContent":["import chalk from 'chalk'\nimport { promises as fs } from 'fs'\nimport { Message } from 'publint'\n\nexport interface PackagePublintParams {\n verbose?: boolean\n}\n\nexport const packagePublint = async (params?: PackagePublintParams) => {\n const pkgDir = process.env.INIT_CWD\n const pkg = JSON.parse(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n\n console.log(chalk.green(`Publint: ${pkg.name}`))\n console.log(chalk.gray(pkgDir))\n\n const { publint } = await import('publint')\n\n const { messages } = await publint({\n level: 'suggestion',\n pkgDir,\n strict: true,\n })\n\n // eslint-disable-next-line import/no-internal-modules\n const { formatMessage } = await import('publint/utils')\n\n const validMessage = (_message: Message): boolean => {\n return true\n /*try {\n const value = getValueFromPath(pkg, message.path)\n switch (message.code) {\n case 'FILE_INVALID_FORMAT':\n return !message.args?.actualFilePath?.includes('dist/browser') && !value?.includes('dist/browser')\n case 'EXPORT_TYPES_INVALID_FORMAT':\n return !`${value}`.includes('dist/browser')\n default:\n return true\n }\n } catch (ex) {\n const error = ex as Error\n console.error(chalk.red(`validMessage Excepted: ${error.message}`))\n console.error(chalk.gray(JSON.stringify(error.stack)))\n return true\n }*/\n }\n\n //we filter out invalid file formats for the esm folder since it is intentionally done\n const validMessages = messages.filter(validMessage)\n validMessages.forEach((message: Message) => {\n switch (message.type) {\n case 'error':\n console.error(chalk.red(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n case 'warning':\n console.warn(chalk.yellow(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n default:\n console.log(chalk.white(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n })\n\n if (params?.verbose) {\n console.log(chalk.gray(`Publint [Finish]: ${pkgDir} [${validMessages.length}]`))\n }\n\n return validMessages.filter((message) => message.type === 'error').length\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,gBAA+B;AAOxB,MAAM,iBAAiB,OAAO,WAAkC;AACrE,QAAM,SAAS,QAAQ,IAAI;AAC3B,QAAM,MAAM,KAAK,MAAM,MAAM,UAAAA,SAAG,SAAS,GAAG,MAAM,iBAAiB,MAAM,CAAC;AAE1E,UAAQ,IAAI,aAAAC,QAAM,MAAM,YAAY,IAAI,IAAI,EAAE,CAAC;AAC/C,UAAQ,IAAI,aAAAA,QAAM,KAAK,MAAM,CAAC;AAE9B,QAAM,EAAE,QAAQ,IAAI,MAAM,OAAO,SAAS;AAE1C,QAAM,EAAE,SAAS,IAAI,MAAM,QAAQ;AAAA,IACjC,OAAO;AAAA,IACP;AAAA,IACA,QAAQ;AAAA,EACV,CAAC;AAGD,QAAM,EAAE,cAAc,IAAI,MAAM,OAAO,eAAe;AAEtD,QAAM,eAAe,CAAC,aAA+B;AACnD,WAAO;AAAA,EAiBT;AAGA,QAAM,gBAAgB,SAAS,OAAO,YAAY;AAClD,gBAAc,QAAQ,CAAC,YAAqB;AAC1C,YAAQ,QAAQ,MAAM;AAAA,MACpB,KAAK;AACH,gBAAQ,MAAM,aAAAA,QAAM,IAAI,IAAI,QAAQ,IAAI,KAAK,cAAc,SAAS,GAAG,CAAC,EAAE,CAAC;AAC3E;AAAA,MACF,KAAK;AACH,gBAAQ,KAAK,aAAAA,QAAM,OAAO,IAAI,QAAQ,IAAI,KAAK,cAAc,SAAS,GAAG,CAAC,EAAE,CAAC;AAC7E;AAAA,MACF;AACE,gBAAQ,IAAI,aAAAA,QAAM,MAAM,IAAI,QAAQ,IAAI,KAAK,cAAc,SAAS,GAAG,CAAC,EAAE,CAAC;AAC3E;AAAA,IACJ;AAAA,EACF,CAAC;AAED,MAAI,iCAAQ,SAAS;AACnB,YAAQ,IAAI,aAAAA,QAAM,KAAK,qBAAqB,MAAM,KAAK,cAAc,MAAM,GAAG,CAAC;AAAA,EACjF;AAEA,SAAO,cAAc,OAAO,CAAC,YAAY,QAAQ,SAAS,OAAO,EAAE;AACrE;","names":["fs","chalk"]}
1
+ {"version":3,"sources":["../../../src/actions/package/publint.ts"],"sourcesContent":["import { promises as fs } from 'node:fs'\n\nimport chalk from 'chalk'\nimport { Message } from 'publint'\n\nexport interface PackagePublintParams {\n verbose?: boolean\n}\n\nexport const packagePublint = async (params?: PackagePublintParams) => {\n const pkgDir = process.env.INIT_CWD\n const pkg = JSON.parse(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n\n console.log(chalk.green(`Publint: ${pkg.name}`))\n console.log(chalk.gray(pkgDir))\n\n const { publint } = await import('publint')\n\n const { messages } = await publint({\n level: 'suggestion',\n pkgDir,\n strict: true,\n })\n\n // eslint-disable-next-line import/no-internal-modules\n const { formatMessage } = await import('publint/utils')\n\n const validMessage = (_message: Message): boolean => {\n return true\n /*try {\n const value = getValueFromPath(pkg, message.path)\n switch (message.code) {\n case 'FILE_INVALID_FORMAT':\n return !message.args?.actualFilePath?.includes('dist/browser') && !value?.includes('dist/browser')\n case 'EXPORT_TYPES_INVALID_FORMAT':\n return !`${value}`.includes('dist/browser')\n default:\n return true\n }\n } catch (ex) {\n const error = ex as Error\n console.error(chalk.red(`validMessage Excepted: ${error.message}`))\n console.error(chalk.gray(JSON.stringify(error.stack)))\n return true\n }*/\n }\n\n //we filter out invalid file formats for the esm folder since it is intentionally done\n const validMessages = messages.filter(validMessage)\n for (const message of validMessages) {\n switch (message.type) {\n case 'error': {\n console.error(chalk.red(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n case 'warning': {\n console.warn(chalk.yellow(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n default: {\n console.log(chalk.white(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n }\n }\n\n if (params?.verbose) {\n console.log(chalk.gray(`Publint [Finish]: ${pkgDir} [${validMessages.length}]`))\n }\n\n return validMessages.filter((message) => message.type === 'error').length\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA+B;AAE/B,mBAAkB;AAOX,MAAM,iBAAiB,OAAO,WAAkC;AACrE,QAAM,SAAS,QAAQ,IAAI;AAC3B,QAAM,MAAM,KAAK,MAAM,MAAM,eAAAA,SAAG,SAAS,GAAG,MAAM,iBAAiB,MAAM,CAAC;AAE1E,UAAQ,IAAI,aAAAC,QAAM,MAAM,YAAY,IAAI,IAAI,EAAE,CAAC;AAC/C,UAAQ,IAAI,aAAAA,QAAM,KAAK,MAAM,CAAC;AAE9B,QAAM,EAAE,QAAQ,IAAI,MAAM,OAAO,SAAS;AAE1C,QAAM,EAAE,SAAS,IAAI,MAAM,QAAQ;AAAA,IACjC,OAAO;AAAA,IACP;AAAA,IACA,QAAQ;AAAA,EACV,CAAC;AAGD,QAAM,EAAE,cAAc,IAAI,MAAM,OAAO,eAAe;AAEtD,QAAM,eAAe,CAAC,aAA+B;AACnD,WAAO;AAAA,EAiBT;AAGA,QAAM,gBAAgB,SAAS,OAAO,YAAY;AAClD,aAAW,WAAW,eAAe;AACnC,YAAQ,QAAQ,MAAM;AAAA,MACpB,KAAK,SAAS;AACZ,gBAAQ,MAAM,aAAAA,QAAM,IAAI,IAAI,QAAQ,IAAI,KAAK,cAAc,SAAS,GAAG,CAAC,EAAE,CAAC;AAC3E;AAAA,MACF;AAAA,MACA,KAAK,WAAW;AACd,gBAAQ,KAAK,aAAAA,QAAM,OAAO,IAAI,QAAQ,IAAI,KAAK,cAAc,SAAS,GAAG,CAAC,EAAE,CAAC;AAC7E;AAAA,MACF;AAAA,MACA,SAAS;AACP,gBAAQ,IAAI,aAAAA,QAAM,MAAM,IAAI,QAAQ,IAAI,KAAK,cAAc,SAAS,GAAG,CAAC,EAAE,CAAC;AAC3E;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,MAAI,iCAAQ,SAAS;AACnB,YAAQ,IAAI,aAAAA,QAAM,KAAK,qBAAqB,MAAM,KAAK,cAAc,MAAM,GAAG,CAAC;AAAA,EACjF;AAEA,SAAO,cAAc,OAAO,CAAC,YAAY,QAAQ,SAAS,OAAO,EAAE;AACrE;","names":["fs","chalk"]}
@@ -1,5 +1,5 @@
1
+ import { promises as fs } from "node:fs";
1
2
  import chalk from "chalk";
2
- import { promises as fs } from "fs";
3
3
  const packagePublint = async (params) => {
4
4
  const pkgDir = process.env.INIT_CWD;
5
5
  const pkg = JSON.parse(await fs.readFile(`${pkgDir}/package.json`, "utf8"));
@@ -16,19 +16,22 @@ const packagePublint = async (params) => {
16
16
  return true;
17
17
  };
18
18
  const validMessages = messages.filter(validMessage);
19
- validMessages.forEach((message) => {
19
+ for (const message of validMessages) {
20
20
  switch (message.type) {
21
- case "error":
21
+ case "error": {
22
22
  console.error(chalk.red(`[${message.code}] ${formatMessage(message, pkg)}`));
23
23
  break;
24
- case "warning":
24
+ }
25
+ case "warning": {
25
26
  console.warn(chalk.yellow(`[${message.code}] ${formatMessage(message, pkg)}`));
26
27
  break;
27
- default:
28
+ }
29
+ default: {
28
30
  console.log(chalk.white(`[${message.code}] ${formatMessage(message, pkg)}`));
29
31
  break;
32
+ }
30
33
  }
31
- });
34
+ }
32
35
  if (params == null ? void 0 : params.verbose) {
33
36
  console.log(chalk.gray(`Publint [Finish]: ${pkgDir} [${validMessages.length}]`));
34
37
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/package/publint.ts"],"sourcesContent":["import chalk from 'chalk'\nimport { promises as fs } from 'fs'\nimport { Message } from 'publint'\n\nexport interface PackagePublintParams {\n verbose?: boolean\n}\n\nexport const packagePublint = async (params?: PackagePublintParams) => {\n const pkgDir = process.env.INIT_CWD\n const pkg = JSON.parse(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n\n console.log(chalk.green(`Publint: ${pkg.name}`))\n console.log(chalk.gray(pkgDir))\n\n const { publint } = await import('publint')\n\n const { messages } = await publint({\n level: 'suggestion',\n pkgDir,\n strict: true,\n })\n\n // eslint-disable-next-line import/no-internal-modules\n const { formatMessage } = await import('publint/utils')\n\n const validMessage = (_message: Message): boolean => {\n return true\n /*try {\n const value = getValueFromPath(pkg, message.path)\n switch (message.code) {\n case 'FILE_INVALID_FORMAT':\n return !message.args?.actualFilePath?.includes('dist/browser') && !value?.includes('dist/browser')\n case 'EXPORT_TYPES_INVALID_FORMAT':\n return !`${value}`.includes('dist/browser')\n default:\n return true\n }\n } catch (ex) {\n const error = ex as Error\n console.error(chalk.red(`validMessage Excepted: ${error.message}`))\n console.error(chalk.gray(JSON.stringify(error.stack)))\n return true\n }*/\n }\n\n //we filter out invalid file formats for the esm folder since it is intentionally done\n const validMessages = messages.filter(validMessage)\n validMessages.forEach((message: Message) => {\n switch (message.type) {\n case 'error':\n console.error(chalk.red(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n case 'warning':\n console.warn(chalk.yellow(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n default:\n console.log(chalk.white(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n })\n\n if (params?.verbose) {\n console.log(chalk.gray(`Publint [Finish]: ${pkgDir} [${validMessages.length}]`))\n }\n\n return validMessages.filter((message) => message.type === 'error').length\n}\n"],"mappings":"AAAA,OAAO,WAAW;AAClB,SAAS,YAAY,UAAU;AAOxB,MAAM,iBAAiB,OAAO,WAAkC;AACrE,QAAM,SAAS,QAAQ,IAAI;AAC3B,QAAM,MAAM,KAAK,MAAM,MAAM,GAAG,SAAS,GAAG,MAAM,iBAAiB,MAAM,CAAC;AAE1E,UAAQ,IAAI,MAAM,MAAM,YAAY,IAAI,IAAI,EAAE,CAAC;AAC/C,UAAQ,IAAI,MAAM,KAAK,MAAM,CAAC;AAE9B,QAAM,EAAE,QAAQ,IAAI,MAAM,OAAO,SAAS;AAE1C,QAAM,EAAE,SAAS,IAAI,MAAM,QAAQ;AAAA,IACjC,OAAO;AAAA,IACP;AAAA,IACA,QAAQ;AAAA,EACV,CAAC;AAGD,QAAM,EAAE,cAAc,IAAI,MAAM,OAAO,eAAe;AAEtD,QAAM,eAAe,CAAC,aAA+B;AACnD,WAAO;AAAA,EAiBT;AAGA,QAAM,gBAAgB,SAAS,OAAO,YAAY;AAClD,gBAAc,QAAQ,CAAC,YAAqB;AAC1C,YAAQ,QAAQ,MAAM;AAAA,MACpB,KAAK;AACH,gBAAQ,MAAM,MAAM,IAAI,IAAI,QAAQ,IAAI,KAAK,cAAc,SAAS,GAAG,CAAC,EAAE,CAAC;AAC3E;AAAA,MACF,KAAK;AACH,gBAAQ,KAAK,MAAM,OAAO,IAAI,QAAQ,IAAI,KAAK,cAAc,SAAS,GAAG,CAAC,EAAE,CAAC;AAC7E;AAAA,MACF;AACE,gBAAQ,IAAI,MAAM,MAAM,IAAI,QAAQ,IAAI,KAAK,cAAc,SAAS,GAAG,CAAC,EAAE,CAAC;AAC3E;AAAA,IACJ;AAAA,EACF,CAAC;AAED,MAAI,iCAAQ,SAAS;AACnB,YAAQ,IAAI,MAAM,KAAK,qBAAqB,MAAM,KAAK,cAAc,MAAM,GAAG,CAAC;AAAA,EACjF;AAEA,SAAO,cAAc,OAAO,CAAC,YAAY,QAAQ,SAAS,OAAO,EAAE;AACrE;","names":[]}
1
+ {"version":3,"sources":["../../../src/actions/package/publint.ts"],"sourcesContent":["import { promises as fs } from 'node:fs'\n\nimport chalk from 'chalk'\nimport { Message } from 'publint'\n\nexport interface PackagePublintParams {\n verbose?: boolean\n}\n\nexport const packagePublint = async (params?: PackagePublintParams) => {\n const pkgDir = process.env.INIT_CWD\n const pkg = JSON.parse(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n\n console.log(chalk.green(`Publint: ${pkg.name}`))\n console.log(chalk.gray(pkgDir))\n\n const { publint } = await import('publint')\n\n const { messages } = await publint({\n level: 'suggestion',\n pkgDir,\n strict: true,\n })\n\n // eslint-disable-next-line import/no-internal-modules\n const { formatMessage } = await import('publint/utils')\n\n const validMessage = (_message: Message): boolean => {\n return true\n /*try {\n const value = getValueFromPath(pkg, message.path)\n switch (message.code) {\n case 'FILE_INVALID_FORMAT':\n return !message.args?.actualFilePath?.includes('dist/browser') && !value?.includes('dist/browser')\n case 'EXPORT_TYPES_INVALID_FORMAT':\n return !`${value}`.includes('dist/browser')\n default:\n return true\n }\n } catch (ex) {\n const error = ex as Error\n console.error(chalk.red(`validMessage Excepted: ${error.message}`))\n console.error(chalk.gray(JSON.stringify(error.stack)))\n return true\n }*/\n }\n\n //we filter out invalid file formats for the esm folder since it is intentionally done\n const validMessages = messages.filter(validMessage)\n for (const message of validMessages) {\n switch (message.type) {\n case 'error': {\n console.error(chalk.red(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n case 'warning': {\n console.warn(chalk.yellow(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n default: {\n console.log(chalk.white(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n }\n }\n\n if (params?.verbose) {\n console.log(chalk.gray(`Publint [Finish]: ${pkgDir} [${validMessages.length}]`))\n }\n\n return validMessages.filter((message) => message.type === 'error').length\n}\n"],"mappings":"AAAA,SAAS,YAAY,UAAU;AAE/B,OAAO,WAAW;AAOX,MAAM,iBAAiB,OAAO,WAAkC;AACrE,QAAM,SAAS,QAAQ,IAAI;AAC3B,QAAM,MAAM,KAAK,MAAM,MAAM,GAAG,SAAS,GAAG,MAAM,iBAAiB,MAAM,CAAC;AAE1E,UAAQ,IAAI,MAAM,MAAM,YAAY,IAAI,IAAI,EAAE,CAAC;AAC/C,UAAQ,IAAI,MAAM,KAAK,MAAM,CAAC;AAE9B,QAAM,EAAE,QAAQ,IAAI,MAAM,OAAO,SAAS;AAE1C,QAAM,EAAE,SAAS,IAAI,MAAM,QAAQ;AAAA,IACjC,OAAO;AAAA,IACP;AAAA,IACA,QAAQ;AAAA,EACV,CAAC;AAGD,QAAM,EAAE,cAAc,IAAI,MAAM,OAAO,eAAe;AAEtD,QAAM,eAAe,CAAC,aAA+B;AACnD,WAAO;AAAA,EAiBT;AAGA,QAAM,gBAAgB,SAAS,OAAO,YAAY;AAClD,aAAW,WAAW,eAAe;AACnC,YAAQ,QAAQ,MAAM;AAAA,MACpB,KAAK,SAAS;AACZ,gBAAQ,MAAM,MAAM,IAAI,IAAI,QAAQ,IAAI,KAAK,cAAc,SAAS,GAAG,CAAC,EAAE,CAAC;AAC3E;AAAA,MACF;AAAA,MACA,KAAK,WAAW;AACd,gBAAQ,KAAK,MAAM,OAAO,IAAI,QAAQ,IAAI,KAAK,cAAc,SAAS,GAAG,CAAC,EAAE,CAAC;AAC7E;AAAA,MACF;AAAA,MACA,SAAS;AACP,gBAAQ,IAAI,MAAM,MAAM,IAAI,QAAQ,IAAI,KAAK,cAAc,SAAS,GAAG,CAAC,EAAE,CAAC;AAC3E;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,MAAI,iCAAQ,SAAS;AACnB,YAAQ,IAAI,MAAM,KAAK,qBAAqB,MAAM,KAAK,cAAc,MAAM,GAAG,CAAC;AAAA,EACjF;AAEA,SAAO,cAAc,OAAO,CAAC,YAAY,QAAQ,SAAS,OAAO,EAAE;AACrE;","names":[]}
@@ -21,17 +21,17 @@ __export(reinstall_exports, {
21
21
  reinstall: () => reinstall
22
22
  });
23
23
  module.exports = __toCommonJS(reinstall_exports);
24
- var import_fs = require("fs");
24
+ var import_node_fs = require("node:fs");
25
25
  var import_lib = require("../lib");
26
26
  const reinstall = () => {
27
27
  console.log("Reinstall [Clear Lock File]");
28
- (0, import_fs.closeSync)((0, import_fs.openSync)("./yarn.lock", "w"));
28
+ (0, import_node_fs.closeSync)((0, import_node_fs.openSync)("./yarn.lock", "w"));
29
29
  console.log("Reinstall [Clear Node Modules]");
30
30
  const workspaces = (0, import_lib.yarnWorkspaces)();
31
31
  const result = workspaces.map(({ location, name }) => {
32
32
  const dist = `${location}/node_modules`;
33
33
  try {
34
- (0, import_fs.rmSync)(dist, { force: true, recursive: true });
34
+ (0, import_node_fs.rmSync)(dist, { force: true, recursive: true });
35
35
  return 0;
36
36
  } catch (ex) {
37
37
  const error = ex;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/actions/reinstall.ts"],"sourcesContent":["import { closeSync, openSync, rmSync } from 'fs'\n\nimport { runSteps, yarnWorkspaces } from '../lib'\n\nexport const reinstall = () => {\n console.log('Reinstall [Clear Lock File]')\n closeSync(openSync('./yarn.lock', 'w'))\n\n console.log('Reinstall [Clear Node Modules]')\n const workspaces = yarnWorkspaces()\n const result = workspaces\n .map(({ location, name }) => {\n const dist = `${location}/node_modules`\n try {\n rmSync(dist, { force: true, recursive: true })\n return 0\n } catch (ex) {\n const error = ex as Error\n console.error(`Reinstall [Clear Node Modules] Failed [${name}, ${error.message}]`)\n return 1\n }\n })\n .reduce((prev, result) => prev || result, 0)\n\n return result || runSteps('Reinstall', [['yarn', 'install --network-timeout 10000']])\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAA4C;AAE5C,iBAAyC;AAElC,MAAM,YAAY,MAAM;AAC7B,UAAQ,IAAI,6BAA6B;AACzC,+BAAU,oBAAS,eAAe,GAAG,CAAC;AAEtC,UAAQ,IAAI,gCAAgC;AAC5C,QAAM,iBAAa,2BAAe;AAClC,QAAM,SAAS,WACZ,IAAI,CAAC,EAAE,UAAU,KAAK,MAAM;AAC3B,UAAM,OAAO,GAAG,QAAQ;AACxB,QAAI;AACF,4BAAO,MAAM,EAAE,OAAO,MAAM,WAAW,KAAK,CAAC;AAC7C,aAAO;AAAA,IACT,SAAS,IAAI;AACX,YAAM,QAAQ;AACd,cAAQ,MAAM,0CAA0C,IAAI,KAAK,MAAM,OAAO,GAAG;AACjF,aAAO;AAAA,IACT;AAAA,EACF,CAAC,EACA,OAAO,CAAC,MAAMA,YAAW,QAAQA,SAAQ,CAAC;AAE7C,SAAO,cAAU,qBAAS,aAAa,CAAC,CAAC,QAAQ,iCAAiC,CAAC,CAAC;AACtF;","names":["result"]}
1
+ {"version":3,"sources":["../../src/actions/reinstall.ts"],"sourcesContent":["import { closeSync, openSync, rmSync } from 'node:fs'\n\nimport { runSteps, yarnWorkspaces } from '../lib'\n\nexport const reinstall = () => {\n console.log('Reinstall [Clear Lock File]')\n closeSync(openSync('./yarn.lock', 'w'))\n\n console.log('Reinstall [Clear Node Modules]')\n const workspaces = yarnWorkspaces()\n const result = workspaces\n .map(({ location, name }) => {\n const dist = `${location}/node_modules`\n try {\n rmSync(dist, { force: true, recursive: true })\n return 0\n } catch (ex) {\n const error = ex as Error\n console.error(`Reinstall [Clear Node Modules] Failed [${name}, ${error.message}]`)\n return 1\n }\n })\n // eslint-disable-next-line unicorn/no-array-reduce\n .reduce((prev, result) => prev || result, 0)\n\n return result || runSteps('Reinstall', [['yarn', 'install --network-timeout 10000']])\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA4C;AAE5C,iBAAyC;AAElC,MAAM,YAAY,MAAM;AAC7B,UAAQ,IAAI,6BAA6B;AACzC,oCAAU,yBAAS,eAAe,GAAG,CAAC;AAEtC,UAAQ,IAAI,gCAAgC;AAC5C,QAAM,iBAAa,2BAAe;AAClC,QAAM,SAAS,WACZ,IAAI,CAAC,EAAE,UAAU,KAAK,MAAM;AAC3B,UAAM,OAAO,GAAG,QAAQ;AACxB,QAAI;AACF,iCAAO,MAAM,EAAE,OAAO,MAAM,WAAW,KAAK,CAAC;AAC7C,aAAO;AAAA,IACT,SAAS,IAAI;AACX,YAAM,QAAQ;AACd,cAAQ,MAAM,0CAA0C,IAAI,KAAK,MAAM,OAAO,GAAG;AACjF,aAAO;AAAA,IACT;AAAA,EACF,CAAC,EAEA,OAAO,CAAC,MAAMA,YAAW,QAAQA,SAAQ,CAAC;AAE7C,SAAO,cAAU,qBAAS,aAAa,CAAC,CAAC,QAAQ,iCAAiC,CAAC,CAAC;AACtF;","names":["result"]}
@@ -1,4 +1,4 @@
1
- import { closeSync, openSync, rmSync } from "fs";
1
+ import { closeSync, openSync, rmSync } from "node:fs";
2
2
  import { runSteps, yarnWorkspaces } from "../lib";
3
3
  const reinstall = () => {
4
4
  console.log("Reinstall [Clear Lock File]");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/actions/reinstall.ts"],"sourcesContent":["import { closeSync, openSync, rmSync } from 'fs'\n\nimport { runSteps, yarnWorkspaces } from '../lib'\n\nexport const reinstall = () => {\n console.log('Reinstall [Clear Lock File]')\n closeSync(openSync('./yarn.lock', 'w'))\n\n console.log('Reinstall [Clear Node Modules]')\n const workspaces = yarnWorkspaces()\n const result = workspaces\n .map(({ location, name }) => {\n const dist = `${location}/node_modules`\n try {\n rmSync(dist, { force: true, recursive: true })\n return 0\n } catch (ex) {\n const error = ex as Error\n console.error(`Reinstall [Clear Node Modules] Failed [${name}, ${error.message}]`)\n return 1\n }\n })\n .reduce((prev, result) => prev || result, 0)\n\n return result || runSteps('Reinstall', [['yarn', 'install --network-timeout 10000']])\n}\n"],"mappings":"AAAA,SAAS,WAAW,UAAU,cAAc;AAE5C,SAAS,UAAU,sBAAsB;AAElC,MAAM,YAAY,MAAM;AAC7B,UAAQ,IAAI,6BAA6B;AACzC,YAAU,SAAS,eAAe,GAAG,CAAC;AAEtC,UAAQ,IAAI,gCAAgC;AAC5C,QAAM,aAAa,eAAe;AAClC,QAAM,SAAS,WACZ,IAAI,CAAC,EAAE,UAAU,KAAK,MAAM;AAC3B,UAAM,OAAO,GAAG,QAAQ;AACxB,QAAI;AACF,aAAO,MAAM,EAAE,OAAO,MAAM,WAAW,KAAK,CAAC;AAC7C,aAAO;AAAA,IACT,SAAS,IAAI;AACX,YAAM,QAAQ;AACd,cAAQ,MAAM,0CAA0C,IAAI,KAAK,MAAM,OAAO,GAAG;AACjF,aAAO;AAAA,IACT;AAAA,EACF,CAAC,EACA,OAAO,CAAC,MAAMA,YAAW,QAAQA,SAAQ,CAAC;AAE7C,SAAO,UAAU,SAAS,aAAa,CAAC,CAAC,QAAQ,iCAAiC,CAAC,CAAC;AACtF;","names":["result"]}
1
+ {"version":3,"sources":["../../src/actions/reinstall.ts"],"sourcesContent":["import { closeSync, openSync, rmSync } from 'node:fs'\n\nimport { runSteps, yarnWorkspaces } from '../lib'\n\nexport const reinstall = () => {\n console.log('Reinstall [Clear Lock File]')\n closeSync(openSync('./yarn.lock', 'w'))\n\n console.log('Reinstall [Clear Node Modules]')\n const workspaces = yarnWorkspaces()\n const result = workspaces\n .map(({ location, name }) => {\n const dist = `${location}/node_modules`\n try {\n rmSync(dist, { force: true, recursive: true })\n return 0\n } catch (ex) {\n const error = ex as Error\n console.error(`Reinstall [Clear Node Modules] Failed [${name}, ${error.message}]`)\n return 1\n }\n })\n // eslint-disable-next-line unicorn/no-array-reduce\n .reduce((prev, result) => prev || result, 0)\n\n return result || runSteps('Reinstall', [['yarn', 'install --network-timeout 10000']])\n}\n"],"mappings":"AAAA,SAAS,WAAW,UAAU,cAAc;AAE5C,SAAS,UAAU,sBAAsB;AAElC,MAAM,YAAY,MAAM;AAC7B,UAAQ,IAAI,6BAA6B;AACzC,YAAU,SAAS,eAAe,GAAG,CAAC;AAEtC,UAAQ,IAAI,gCAAgC;AAC5C,QAAM,aAAa,eAAe;AAClC,QAAM,SAAS,WACZ,IAAI,CAAC,EAAE,UAAU,KAAK,MAAM;AAC3B,UAAM,OAAO,GAAG,QAAQ;AACxB,QAAI;AACF,aAAO,MAAM,EAAE,OAAO,MAAM,WAAW,KAAK,CAAC;AAC7C,aAAO;AAAA,IACT,SAAS,IAAI;AACX,YAAM,QAAQ;AACd,cAAQ,MAAM,0CAA0C,IAAI,KAAK,MAAM,OAAO,GAAG;AACjF,aAAO;AAAA,IACT;AAAA,EACF,CAAC,EAEA,OAAO,CAAC,MAAMA,YAAW,QAAQA,SAAQ,CAAC;AAE7C,SAAO,UAAU,SAAS,aAAa,CAAC,CAAC,QAAQ,iCAAiC,CAAC,CAAC;AACtF;","names":["result"]}
@@ -21,7 +21,7 @@ __export(relint_exports, {
21
21
  relint: () => relint
22
22
  });
23
23
  module.exports = __toCommonJS(relint_exports);
24
- var import_fs = require("fs");
24
+ var import_node_fs = require("node:fs");
25
25
  var import_lib = require("../lib");
26
26
  const relint = () => {
27
27
  console.log("Relint - Cleaning [.eslintcache]");
@@ -29,7 +29,7 @@ const relint = () => {
29
29
  const result = workspaces.map(({ location, name }) => {
30
30
  const dist = `${location}/.eslintcache`;
31
31
  try {
32
- (0, import_fs.rmSync)(dist, { force: true, recursive: true });
32
+ (0, import_node_fs.rmSync)(dist, { force: true, recursive: true });
33
33
  return 0;
34
34
  } catch (ex) {
35
35
  const error = ex;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/actions/relint.ts"],"sourcesContent":["import { rmSync } from 'fs'\n\nimport { runSteps, yarnWorkspaces } from '../lib'\n\nexport const relint = () => {\n console.log('Relint - Cleaning [.eslintcache]')\n const workspaces = yarnWorkspaces()\n const result = workspaces\n .map(({ location, name }) => {\n const dist = `${location}/.eslintcache`\n try {\n rmSync(dist, { force: true, recursive: true })\n return 0\n } catch (ex) {\n const error = ex as Error\n console.error(`Relint - Cleaning [.eslintcache] Failed [${name}, ${error.message}]`)\n return 1\n }\n })\n .reduce((prev, result) => prev || result, 0)\n return result || runSteps('Relint', [['yarn', ['eslint', '.', '--cache']]])\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAuB;AAEvB,iBAAyC;AAElC,MAAM,SAAS,MAAM;AAC1B,UAAQ,IAAI,kCAAkC;AAC9C,QAAM,iBAAa,2BAAe;AAClC,QAAM,SAAS,WACZ,IAAI,CAAC,EAAE,UAAU,KAAK,MAAM;AAC3B,UAAM,OAAO,GAAG,QAAQ;AACxB,QAAI;AACF,4BAAO,MAAM,EAAE,OAAO,MAAM,WAAW,KAAK,CAAC;AAC7C,aAAO;AAAA,IACT,SAAS,IAAI;AACX,YAAM,QAAQ;AACd,cAAQ,MAAM,4CAA4C,IAAI,KAAK,MAAM,OAAO,GAAG;AACnF,aAAO;AAAA,IACT;AAAA,EACF,CAAC,EACA,OAAO,CAAC,MAAMA,YAAW,QAAQA,SAAQ,CAAC;AAC7C,SAAO,cAAU,qBAAS,UAAU,CAAC,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC;AAC5E;","names":["result"]}
1
+ {"version":3,"sources":["../../src/actions/relint.ts"],"sourcesContent":["import { rmSync } from 'node:fs'\n\nimport { runSteps, yarnWorkspaces } from '../lib'\n\nexport const relint = () => {\n console.log('Relint - Cleaning [.eslintcache]')\n const workspaces = yarnWorkspaces()\n const result = workspaces\n .map(({ location, name }) => {\n const dist = `${location}/.eslintcache`\n try {\n rmSync(dist, { force: true, recursive: true })\n return 0\n } catch (ex) {\n const error = ex as Error\n console.error(`Relint - Cleaning [.eslintcache] Failed [${name}, ${error.message}]`)\n return 1\n }\n })\n // eslint-disable-next-line unicorn/no-array-reduce\n .reduce((prev, result) => prev || result, 0)\n return result || runSteps('Relint', [['yarn', ['eslint', '.', '--cache']]])\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAuB;AAEvB,iBAAyC;AAElC,MAAM,SAAS,MAAM;AAC1B,UAAQ,IAAI,kCAAkC;AAC9C,QAAM,iBAAa,2BAAe;AAClC,QAAM,SAAS,WACZ,IAAI,CAAC,EAAE,UAAU,KAAK,MAAM;AAC3B,UAAM,OAAO,GAAG,QAAQ;AACxB,QAAI;AACF,iCAAO,MAAM,EAAE,OAAO,MAAM,WAAW,KAAK,CAAC;AAC7C,aAAO;AAAA,IACT,SAAS,IAAI;AACX,YAAM,QAAQ;AACd,cAAQ,MAAM,4CAA4C,IAAI,KAAK,MAAM,OAAO,GAAG;AACnF,aAAO;AAAA,IACT;AAAA,EACF,CAAC,EAEA,OAAO,CAAC,MAAMA,YAAW,QAAQA,SAAQ,CAAC;AAC7C,SAAO,cAAU,qBAAS,UAAU,CAAC,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC;AAC5E;","names":["result"]}
@@ -1,4 +1,4 @@
1
- import { rmSync } from "fs";
1
+ import { rmSync } from "node:fs";
2
2
  import { runSteps, yarnWorkspaces } from "../lib";
3
3
  const relint = () => {
4
4
  console.log("Relint - Cleaning [.eslintcache]");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/actions/relint.ts"],"sourcesContent":["import { rmSync } from 'fs'\n\nimport { runSteps, yarnWorkspaces } from '../lib'\n\nexport const relint = () => {\n console.log('Relint - Cleaning [.eslintcache]')\n const workspaces = yarnWorkspaces()\n const result = workspaces\n .map(({ location, name }) => {\n const dist = `${location}/.eslintcache`\n try {\n rmSync(dist, { force: true, recursive: true })\n return 0\n } catch (ex) {\n const error = ex as Error\n console.error(`Relint - Cleaning [.eslintcache] Failed [${name}, ${error.message}]`)\n return 1\n }\n })\n .reduce((prev, result) => prev || result, 0)\n return result || runSteps('Relint', [['yarn', ['eslint', '.', '--cache']]])\n}\n"],"mappings":"AAAA,SAAS,cAAc;AAEvB,SAAS,UAAU,sBAAsB;AAElC,MAAM,SAAS,MAAM;AAC1B,UAAQ,IAAI,kCAAkC;AAC9C,QAAM,aAAa,eAAe;AAClC,QAAM,SAAS,WACZ,IAAI,CAAC,EAAE,UAAU,KAAK,MAAM;AAC3B,UAAM,OAAO,GAAG,QAAQ;AACxB,QAAI;AACF,aAAO,MAAM,EAAE,OAAO,MAAM,WAAW,KAAK,CAAC;AAC7C,aAAO;AAAA,IACT,SAAS,IAAI;AACX,YAAM,QAAQ;AACd,cAAQ,MAAM,4CAA4C,IAAI,KAAK,MAAM,OAAO,GAAG;AACnF,aAAO;AAAA,IACT;AAAA,EACF,CAAC,EACA,OAAO,CAAC,MAAMA,YAAW,QAAQA,SAAQ,CAAC;AAC7C,SAAO,UAAU,SAAS,UAAU,CAAC,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC;AAC5E;","names":["result"]}
1
+ {"version":3,"sources":["../../src/actions/relint.ts"],"sourcesContent":["import { rmSync } from 'node:fs'\n\nimport { runSteps, yarnWorkspaces } from '../lib'\n\nexport const relint = () => {\n console.log('Relint - Cleaning [.eslintcache]')\n const workspaces = yarnWorkspaces()\n const result = workspaces\n .map(({ location, name }) => {\n const dist = `${location}/.eslintcache`\n try {\n rmSync(dist, { force: true, recursive: true })\n return 0\n } catch (ex) {\n const error = ex as Error\n console.error(`Relint - Cleaning [.eslintcache] Failed [${name}, ${error.message}]`)\n return 1\n }\n })\n // eslint-disable-next-line unicorn/no-array-reduce\n .reduce((prev, result) => prev || result, 0)\n return result || runSteps('Relint', [['yarn', ['eslint', '.', '--cache']]])\n}\n"],"mappings":"AAAA,SAAS,cAAc;AAEvB,SAAS,UAAU,sBAAsB;AAElC,MAAM,SAAS,MAAM;AAC1B,UAAQ,IAAI,kCAAkC;AAC9C,QAAM,aAAa,eAAe;AAClC,QAAM,SAAS,WACZ,IAAI,CAAC,EAAE,UAAU,KAAK,MAAM;AAC3B,UAAM,OAAO,GAAG,QAAQ;AACxB,QAAI;AACF,aAAO,MAAM,EAAE,OAAO,MAAM,WAAW,KAAK,CAAC;AAC7C,aAAO;AAAA,IACT,SAAS,IAAI;AACX,YAAM,QAAQ;AACd,cAAQ,MAAM,4CAA4C,IAAI,KAAK,MAAM,OAAO,GAAG;AACnF,aAAO;AAAA,IACT;AAAA,EACF,CAAC,EAEA,OAAO,CAAC,MAAMA,YAAW,QAAQA,SAAQ,CAAC;AAC7C,SAAO,UAAU,SAAS,UAAU,CAAC,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC;AAC5E;","names":["result"]}
package/dist/index.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Options } from 'tsup';
2
2
  import { CompilerOptions } from 'typescript';
3
3
  import { PathLike, WriteFileOptions } from 'node:fs';
4
- import { SpawnSyncOptionsWithBufferEncoding } from 'child_process';
4
+ import { SpawnSyncOptionsWithBufferEncoding } from 'node:child_process';
5
5
  import { PackageJson } from 'types-package-json';
6
6
  import { Argv } from 'yargs';
7
7
 
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Options } from 'tsup';
2
2
  import { CompilerOptions } from 'typescript';
3
3
  import { PathLike, WriteFileOptions } from 'node:fs';
4
- import { SpawnSyncOptionsWithBufferEncoding } from 'child_process';
4
+ import { SpawnSyncOptionsWithBufferEncoding } from 'node:child_process';
5
5
  import { PackageJson } from 'types-package-json';
6
6
  import { Argv } from 'yargs';
7
7
 
@@ -21,13 +21,13 @@ __export(createBuildConfig_exports, {
21
21
  createBuildConfig: () => createBuildConfig
22
22
  });
23
23
  module.exports = __toCommonJS(createBuildConfig_exports);
24
- var import_fs = require("fs");
24
+ var import_node_fs = require("node:fs");
25
25
  var import_defaultBuildConfig = require("./defaultBuildConfig");
26
26
  const getGeneralTypescriptConfig = (location) => {
27
27
  let generalConfig;
28
28
  try {
29
- generalConfig = (0, import_fs.readFileSync)(`${location}/tsconfig.json`, { encoding: "utf8" });
30
- } catch (ex) {
29
+ generalConfig = (0, import_node_fs.readFileSync)(`${location}/tsconfig.json`, { encoding: "utf8" });
30
+ } catch {
31
31
  return false;
32
32
  }
33
33
  return JSON.parse(generalConfig);
@@ -42,7 +42,7 @@ const createBuildConfig = (location, module2, target, outDirSuffix) => {
42
42
  ...generalConfigObject,
43
43
  compilerOptions: {
44
44
  ...import_defaultBuildConfig.defaultBuildConfig.compilerOptions,
45
- ...generalConfigObject.compilerOptions ?? {},
45
+ ...generalConfigObject.compilerOptions,
46
46
  module: module2,
47
47
  outDir: `./${((_a = generalConfigObject.compilerOptions) == null ? void 0 : _a.outDir) ?? "dist"}/${outDirSuffix}`,
48
48
  target
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/createBuildConfig.ts"],"sourcesContent":["import { readFileSync } from 'fs'\n\nimport { defaultBuildConfig } from './defaultBuildConfig'\n\nconst getGeneralTypescriptConfig = (location: string) => {\n let generalConfig: string | undefined\n try {\n generalConfig = readFileSync(`${location}/tsconfig.json`, { encoding: 'utf8' })\n } catch (ex) {\n return false\n }\n return JSON.parse(generalConfig)\n}\n\nexport const createBuildConfig = (\n location: string,\n module: 'ESNext' | 'CommonJS',\n target: 'ESNext' | 'ES6',\n outDirSuffix: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): Record<string, any> | undefined => {\n const generalConfigObject = getGeneralTypescriptConfig(location)\n if (generalConfigObject === false) {\n return undefined\n }\n return {\n ...generalConfigObject,\n compilerOptions: {\n ...defaultBuildConfig.compilerOptions,\n ...(generalConfigObject.compilerOptions ?? {}),\n module,\n outDir: `./${generalConfigObject.compilerOptions?.outDir ?? 'dist'}/${outDirSuffix}`,\n target,\n },\n exclude: [...(generalConfigObject.exclude ?? []), ...defaultBuildConfig.exclude],\n include: [...(generalConfigObject.include ?? []), ...defaultBuildConfig.include],\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAA6B;AAE7B,gCAAmC;AAEnC,MAAM,6BAA6B,CAAC,aAAqB;AACvD,MAAI;AACJ,MAAI;AACF,wBAAgB,wBAAa,GAAG,QAAQ,kBAAkB,EAAE,UAAU,OAAO,CAAC;AAAA,EAChF,SAAS,IAAI;AACX,WAAO;AAAA,EACT;AACA,SAAO,KAAK,MAAM,aAAa;AACjC;AAEO,MAAM,oBAAoB,CAC/B,UACAA,SACA,QACA,iBAEoC;AApBtC;AAqBE,QAAM,sBAAsB,2BAA2B,QAAQ;AAC/D,MAAI,wBAAwB,OAAO;AACjC,WAAO;AAAA,EACT;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,iBAAiB;AAAA,MACf,GAAG,6CAAmB;AAAA,MACtB,GAAI,oBAAoB,mBAAmB,CAAC;AAAA,MAC5C,QAAAA;AAAA,MACA,QAAQ,OAAK,yBAAoB,oBAApB,mBAAqC,WAAU,MAAM,IAAI,YAAY;AAAA,MAClF;AAAA,IACF;AAAA,IACA,SAAS,CAAC,GAAI,oBAAoB,WAAW,CAAC,GAAI,GAAG,6CAAmB,OAAO;AAAA,IAC/E,SAAS,CAAC,GAAI,oBAAoB,WAAW,CAAC,GAAI,GAAG,6CAAmB,OAAO;AAAA,EACjF;AACF;","names":["module"]}
1
+ {"version":3,"sources":["../../src/lib/createBuildConfig.ts"],"sourcesContent":["import { readFileSync } from 'node:fs'\n\nimport { defaultBuildConfig } from './defaultBuildConfig'\n\nconst getGeneralTypescriptConfig = (location: string) => {\n let generalConfig: string | undefined\n try {\n generalConfig = readFileSync(`${location}/tsconfig.json`, { encoding: 'utf8' })\n } catch {\n return false\n }\n return JSON.parse(generalConfig)\n}\n\nexport const createBuildConfig = (\n location: string,\n module: 'ESNext' | 'CommonJS',\n target: 'ESNext' | 'ES6',\n outDirSuffix: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): Record<string, any> | undefined => {\n const generalConfigObject = getGeneralTypescriptConfig(location)\n if (generalConfigObject === false) {\n return undefined\n }\n return {\n ...generalConfigObject,\n compilerOptions: {\n ...defaultBuildConfig.compilerOptions,\n ...generalConfigObject.compilerOptions,\n module,\n outDir: `./${generalConfigObject.compilerOptions?.outDir ?? 'dist'}/${outDirSuffix}`,\n target,\n },\n exclude: [...(generalConfigObject.exclude ?? []), ...defaultBuildConfig.exclude],\n include: [...(generalConfigObject.include ?? []), ...defaultBuildConfig.include],\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA6B;AAE7B,gCAAmC;AAEnC,MAAM,6BAA6B,CAAC,aAAqB;AACvD,MAAI;AACJ,MAAI;AACF,wBAAgB,6BAAa,GAAG,QAAQ,kBAAkB,EAAE,UAAU,OAAO,CAAC;AAAA,EAChF,QAAQ;AACN,WAAO;AAAA,EACT;AACA,SAAO,KAAK,MAAM,aAAa;AACjC;AAEO,MAAM,oBAAoB,CAC/B,UACAA,SACA,QACA,iBAEoC;AApBtC;AAqBE,QAAM,sBAAsB,2BAA2B,QAAQ;AAC/D,MAAI,wBAAwB,OAAO;AACjC,WAAO;AAAA,EACT;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,iBAAiB;AAAA,MACf,GAAG,6CAAmB;AAAA,MACtB,GAAG,oBAAoB;AAAA,MACvB,QAAAA;AAAA,MACA,QAAQ,OAAK,yBAAoB,oBAApB,mBAAqC,WAAU,MAAM,IAAI,YAAY;AAAA,MAClF;AAAA,IACF;AAAA,IACA,SAAS,CAAC,GAAI,oBAAoB,WAAW,CAAC,GAAI,GAAG,6CAAmB,OAAO;AAAA,IAC/E,SAAS,CAAC,GAAI,oBAAoB,WAAW,CAAC,GAAI,GAAG,6CAAmB,OAAO;AAAA,EACjF;AACF;","names":["module"]}
@@ -1,10 +1,10 @@
1
- import { readFileSync } from "fs";
1
+ import { readFileSync } from "node:fs";
2
2
  import { defaultBuildConfig } from "./defaultBuildConfig";
3
3
  const getGeneralTypescriptConfig = (location) => {
4
4
  let generalConfig;
5
5
  try {
6
6
  generalConfig = readFileSync(`${location}/tsconfig.json`, { encoding: "utf8" });
7
- } catch (ex) {
7
+ } catch {
8
8
  return false;
9
9
  }
10
10
  return JSON.parse(generalConfig);
@@ -19,7 +19,7 @@ const createBuildConfig = (location, module, target, outDirSuffix) => {
19
19
  ...generalConfigObject,
20
20
  compilerOptions: {
21
21
  ...defaultBuildConfig.compilerOptions,
22
- ...generalConfigObject.compilerOptions ?? {},
22
+ ...generalConfigObject.compilerOptions,
23
23
  module,
24
24
  outDir: `./${((_a = generalConfigObject.compilerOptions) == null ? void 0 : _a.outDir) ?? "dist"}/${outDirSuffix}`,
25
25
  target
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/createBuildConfig.ts"],"sourcesContent":["import { readFileSync } from 'fs'\n\nimport { defaultBuildConfig } from './defaultBuildConfig'\n\nconst getGeneralTypescriptConfig = (location: string) => {\n let generalConfig: string | undefined\n try {\n generalConfig = readFileSync(`${location}/tsconfig.json`, { encoding: 'utf8' })\n } catch (ex) {\n return false\n }\n return JSON.parse(generalConfig)\n}\n\nexport const createBuildConfig = (\n location: string,\n module: 'ESNext' | 'CommonJS',\n target: 'ESNext' | 'ES6',\n outDirSuffix: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): Record<string, any> | undefined => {\n const generalConfigObject = getGeneralTypescriptConfig(location)\n if (generalConfigObject === false) {\n return undefined\n }\n return {\n ...generalConfigObject,\n compilerOptions: {\n ...defaultBuildConfig.compilerOptions,\n ...(generalConfigObject.compilerOptions ?? {}),\n module,\n outDir: `./${generalConfigObject.compilerOptions?.outDir ?? 'dist'}/${outDirSuffix}`,\n target,\n },\n exclude: [...(generalConfigObject.exclude ?? []), ...defaultBuildConfig.exclude],\n include: [...(generalConfigObject.include ?? []), ...defaultBuildConfig.include],\n }\n}\n"],"mappings":"AAAA,SAAS,oBAAoB;AAE7B,SAAS,0BAA0B;AAEnC,MAAM,6BAA6B,CAAC,aAAqB;AACvD,MAAI;AACJ,MAAI;AACF,oBAAgB,aAAa,GAAG,QAAQ,kBAAkB,EAAE,UAAU,OAAO,CAAC;AAAA,EAChF,SAAS,IAAI;AACX,WAAO;AAAA,EACT;AACA,SAAO,KAAK,MAAM,aAAa;AACjC;AAEO,MAAM,oBAAoB,CAC/B,UACA,QACA,QACA,iBAEoC;AApBtC;AAqBE,QAAM,sBAAsB,2BAA2B,QAAQ;AAC/D,MAAI,wBAAwB,OAAO;AACjC,WAAO;AAAA,EACT;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,iBAAiB;AAAA,MACf,GAAG,mBAAmB;AAAA,MACtB,GAAI,oBAAoB,mBAAmB,CAAC;AAAA,MAC5C;AAAA,MACA,QAAQ,OAAK,yBAAoB,oBAApB,mBAAqC,WAAU,MAAM,IAAI,YAAY;AAAA,MAClF;AAAA,IACF;AAAA,IACA,SAAS,CAAC,GAAI,oBAAoB,WAAW,CAAC,GAAI,GAAG,mBAAmB,OAAO;AAAA,IAC/E,SAAS,CAAC,GAAI,oBAAoB,WAAW,CAAC,GAAI,GAAG,mBAAmB,OAAO;AAAA,EACjF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/lib/createBuildConfig.ts"],"sourcesContent":["import { readFileSync } from 'node:fs'\n\nimport { defaultBuildConfig } from './defaultBuildConfig'\n\nconst getGeneralTypescriptConfig = (location: string) => {\n let generalConfig: string | undefined\n try {\n generalConfig = readFileSync(`${location}/tsconfig.json`, { encoding: 'utf8' })\n } catch {\n return false\n }\n return JSON.parse(generalConfig)\n}\n\nexport const createBuildConfig = (\n location: string,\n module: 'ESNext' | 'CommonJS',\n target: 'ESNext' | 'ES6',\n outDirSuffix: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): Record<string, any> | undefined => {\n const generalConfigObject = getGeneralTypescriptConfig(location)\n if (generalConfigObject === false) {\n return undefined\n }\n return {\n ...generalConfigObject,\n compilerOptions: {\n ...defaultBuildConfig.compilerOptions,\n ...generalConfigObject.compilerOptions,\n module,\n outDir: `./${generalConfigObject.compilerOptions?.outDir ?? 'dist'}/${outDirSuffix}`,\n target,\n },\n exclude: [...(generalConfigObject.exclude ?? []), ...defaultBuildConfig.exclude],\n include: [...(generalConfigObject.include ?? []), ...defaultBuildConfig.include],\n }\n}\n"],"mappings":"AAAA,SAAS,oBAAoB;AAE7B,SAAS,0BAA0B;AAEnC,MAAM,6BAA6B,CAAC,aAAqB;AACvD,MAAI;AACJ,MAAI;AACF,oBAAgB,aAAa,GAAG,QAAQ,kBAAkB,EAAE,UAAU,OAAO,CAAC;AAAA,EAChF,QAAQ;AACN,WAAO;AAAA,EACT;AACA,SAAO,KAAK,MAAM,aAAa;AACjC;AAEO,MAAM,oBAAoB,CAC/B,UACA,QACA,QACA,iBAEoC;AApBtC;AAqBE,QAAM,sBAAsB,2BAA2B,QAAQ;AAC/D,MAAI,wBAAwB,OAAO;AACjC,WAAO;AAAA,EACT;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,iBAAiB;AAAA,MACf,GAAG,mBAAmB;AAAA,MACtB,GAAG,oBAAoB;AAAA,MACvB;AAAA,MACA,QAAQ,OAAK,yBAAoB,oBAApB,mBAAqC,WAAU,MAAM,IAAI,YAAY;AAAA,MAClF;AAAA,IACF;AAAA,IACA,SAAS,CAAC,GAAI,oBAAoB,WAAW,CAAC,GAAI,GAAG,mBAAmB,OAAO;AAAA,IAC/E,SAAS,CAAC,GAAI,oBAAoB,WAAW,CAAC,GAAI,GAAG,mBAAmB,OAAO;AAAA,EACjF;AACF;","names":[]}
@@ -31,9 +31,9 @@ __export(DuplicateDetector_exports, {
31
31
  DuplicateDetector: () => DuplicateDetector
32
32
  });
33
33
  module.exports = __toCommonJS(DuplicateDetector_exports);
34
+ var import_node_os = require("node:os");
34
35
  var import_chalk = __toESM(require("chalk"));
35
36
  var import_uniq = __toESM(require("lodash/uniq"));
36
- var import_os = require("os");
37
37
  var import_jsonFormatters = require("../jsonFormatters");
38
38
  const trimVirtualMeta = (value) => {
39
39
  const virtualParts = value.split("virtual:");
@@ -46,12 +46,12 @@ const trimVirtualMeta = (value) => {
46
46
  };
47
47
  const trimObjectDependencyVirtualMeta = (obj) => {
48
48
  const resultObj = {};
49
- Object.entries(obj).forEach(([key, value]) => {
49
+ for (const [key, value] of Object.entries(obj)) {
50
50
  resultObj[trimVirtualMeta(key)] = {
51
51
  descriptor: trimVirtualMeta(value.descriptor),
52
52
  locator: trimVirtualMeta(value.locator)
53
53
  };
54
- });
54
+ }
55
55
  return resultObj;
56
56
  };
57
57
  const trimDependencyVirtualMeta = (dependencies) => {
@@ -68,9 +68,9 @@ class DuplicateDetector {
68
68
  }
69
69
  detect() {
70
70
  const result = this.dependencyEntries.reduce(this.detectReducer, this.resultsFactory(this.dependency));
71
- if (result.duplicateVersions.length) {
72
- console.log(import_chalk.default.yellow(`${import_os.EOL}Duplicates found for: ${this.dependency}`));
73
- console.log(import_chalk.default.grey(` ${result.duplicateVersions.toString().replaceAll(",", `${import_os.EOL} `)}`, import_os.EOL));
71
+ if (result.duplicateVersions.length > 0) {
72
+ console.log(import_chalk.default.yellow(`${import_node_os.EOL}Duplicates found for: ${this.dependency}`));
73
+ console.log(import_chalk.default.grey(` ${result.duplicateVersions.toString().replaceAll(",", `${import_node_os.EOL} `)}`, import_node_os.EOL));
74
74
  return 1;
75
75
  } else {
76
76
  console.log(`${this.dependency} - OK`);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/dependencies/DuplicateDetector.ts"],"sourcesContent":["import chalk from 'chalk'\n// eslint-disable-next-line import/no-internal-modules\nimport uniq from 'lodash/uniq'\nimport { EOL } from 'os'\n\nimport { multiLineToJSONArray } from '../jsonFormatters'\n\ninterface ChildFields {\n descriptor: string\n locator: string\n}\n\nconst trimVirtualMeta = (value: string): string => {\n const virtualParts = value.split('virtual:')\n if (virtualParts.length > 1) {\n const hashParts = virtualParts[1].split('#')\n return virtualParts[0] + hashParts[1]\n } else {\n return value\n }\n}\n\nconst trimObjectDependencyVirtualMeta = (obj: Record<string, ChildFields>): Record<string, ChildFields> => {\n const resultObj: Record<string, ChildFields> = {}\n Object.entries(obj).forEach(([key, value]) => {\n resultObj[trimVirtualMeta(key)] = {\n descriptor: trimVirtualMeta(value.descriptor),\n locator: trimVirtualMeta(value.locator),\n }\n })\n return resultObj\n}\n\nconst trimDependencyVirtualMeta = (dependencies: DependencyEntries): DependencyEntries => {\n return dependencies.map((dependency) => {\n return { children: trimObjectDependencyVirtualMeta(dependency.children), value: trimVirtualMeta(dependency.value) }\n })\n}\n\ninterface DependencyEntry {\n children: Record<string, ChildFields>\n value: string\n}\n\ntype DependencyEntries = DependencyEntry[]\n\ninterface Results {\n currentVersion: string | undefined\n dependency: string\n duplicateVersions: string[]\n}\n\nexport class DuplicateDetector {\n private dependency: string\n private dependencyEntries: DependencyEntries\n\n constructor(output: string, dependency: string) {\n this.dependency = dependency\n this.dependencyEntries = trimDependencyVirtualMeta(multiLineToJSONArray(output))\n }\n\n public detect() {\n const result = this.dependencyEntries.reduce(this.detectReducer, this.resultsFactory(this.dependency))\n if (result.duplicateVersions.length) {\n console.log(chalk.yellow(`${EOL}Duplicates found for: ${this.dependency}`))\n console.log(chalk.grey(` ${result.duplicateVersions.toString().replaceAll(',', `${EOL} `)}`, EOL))\n return 1\n } else {\n console.log(`${this.dependency} - OK`)\n return 0\n }\n }\n\n private detectReducer(acc: Results, entry: DependencyEntry) {\n const version = Object.entries(entry.children).map(([k]) => k)[0]\n\n if (!acc.currentVersion) {\n acc.currentVersion = version\n return acc\n }\n\n if (acc.currentVersion && acc.currentVersion !== version && !version.includes('@virtual:')) {\n // if first duplicate, push the current version as the first duplicate\n if (acc.duplicateVersions.length === 0) {\n acc.duplicateVersions.push(acc.currentVersion)\n }\n acc.duplicateVersions.push(version)\n acc.duplicateVersions = uniq(acc.duplicateVersions)\n }\n return acc\n }\n\n private resultsFactory = (dependency: string): Results => ({ currentVersion: undefined, dependency, duplicateVersions: [] })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAElB,kBAAiB;AACjB,gBAAoB;AAEpB,4BAAqC;AAOrC,MAAM,kBAAkB,CAAC,UAA0B;AACjD,QAAM,eAAe,MAAM,MAAM,UAAU;AAC3C,MAAI,aAAa,SAAS,GAAG;AAC3B,UAAM,YAAY,aAAa,CAAC,EAAE,MAAM,GAAG;AAC3C,WAAO,aAAa,CAAC,IAAI,UAAU,CAAC;AAAA,EACtC,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAEA,MAAM,kCAAkC,CAAC,QAAkE;AACzG,QAAM,YAAyC,CAAC;AAChD,SAAO,QAAQ,GAAG,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC5C,cAAU,gBAAgB,GAAG,CAAC,IAAI;AAAA,MAChC,YAAY,gBAAgB,MAAM,UAAU;AAAA,MAC5C,SAAS,gBAAgB,MAAM,OAAO;AAAA,IACxC;AAAA,EACF,CAAC;AACD,SAAO;AACT;AAEA,MAAM,4BAA4B,CAAC,iBAAuD;AACxF,SAAO,aAAa,IAAI,CAAC,eAAe;AACtC,WAAO,EAAE,UAAU,gCAAgC,WAAW,QAAQ,GAAG,OAAO,gBAAgB,WAAW,KAAK,EAAE;AAAA,EACpH,CAAC;AACH;AAeO,MAAM,kBAAkB;AAAA,EACrB;AAAA,EACA;AAAA,EAER,YAAY,QAAgB,YAAoB;AAC9C,SAAK,aAAa;AAClB,SAAK,oBAAoB,8BAA0B,4CAAqB,MAAM,CAAC;AAAA,EACjF;AAAA,EAEO,SAAS;AACd,UAAM,SAAS,KAAK,kBAAkB,OAAO,KAAK,eAAe,KAAK,eAAe,KAAK,UAAU,CAAC;AACrG,QAAI,OAAO,kBAAkB,QAAQ;AACnC,cAAQ,IAAI,aAAAA,QAAM,OAAO,GAAG,aAAG,yBAAyB,KAAK,UAAU,EAAE,CAAC;AAC1E,cAAQ,IAAI,aAAAA,QAAM,KAAK,KAAK,OAAO,kBAAkB,SAAS,EAAE,WAAW,KAAK,GAAG,aAAG,IAAI,CAAC,IAAI,aAAG,CAAC;AACnG,aAAO;AAAA,IACT,OAAO;AACL,cAAQ,IAAI,GAAG,KAAK,UAAU,OAAO;AACrC,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEQ,cAAc,KAAc,OAAwB;AAC1D,UAAM,UAAU,OAAO,QAAQ,MAAM,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;AAEhE,QAAI,CAAC,IAAI,gBAAgB;AACvB,UAAI,iBAAiB;AACrB,aAAO;AAAA,IACT;AAEA,QAAI,IAAI,kBAAkB,IAAI,mBAAmB,WAAW,CAAC,QAAQ,SAAS,WAAW,GAAG;AAE1F,UAAI,IAAI,kBAAkB,WAAW,GAAG;AACtC,YAAI,kBAAkB,KAAK,IAAI,cAAc;AAAA,MAC/C;AACA,UAAI,kBAAkB,KAAK,OAAO;AAClC,UAAI,wBAAoB,YAAAC,SAAK,IAAI,iBAAiB;AAAA,IACpD;AACA,WAAO;AAAA,EACT;AAAA,EAEQ,iBAAiB,CAAC,gBAAiC,EAAE,gBAAgB,QAAW,YAAY,mBAAmB,CAAC,EAAE;AAC5H;","names":["chalk","uniq"]}
1
+ {"version":3,"sources":["../../../src/lib/dependencies/DuplicateDetector.ts"],"sourcesContent":["import { EOL } from 'node:os'\n\nimport chalk from 'chalk'\n// eslint-disable-next-line import/no-internal-modules\nimport uniq from 'lodash/uniq'\n\nimport { multiLineToJSONArray } from '../jsonFormatters'\n\ninterface ChildFields {\n descriptor: string\n locator: string\n}\n\nconst trimVirtualMeta = (value: string): string => {\n const virtualParts = value.split('virtual:')\n if (virtualParts.length > 1) {\n const hashParts = virtualParts[1].split('#')\n return virtualParts[0] + hashParts[1]\n } else {\n return value\n }\n}\n\nconst trimObjectDependencyVirtualMeta = (obj: Record<string, ChildFields>): Record<string, ChildFields> => {\n const resultObj: Record<string, ChildFields> = {}\n for (const [key, value] of Object.entries(obj)) {\n resultObj[trimVirtualMeta(key)] = {\n descriptor: trimVirtualMeta(value.descriptor),\n locator: trimVirtualMeta(value.locator),\n }\n }\n return resultObj\n}\n\nconst trimDependencyVirtualMeta = (dependencies: DependencyEntries): DependencyEntries => {\n return dependencies.map((dependency) => {\n return { children: trimObjectDependencyVirtualMeta(dependency.children), value: trimVirtualMeta(dependency.value) }\n })\n}\n\ninterface DependencyEntry {\n children: Record<string, ChildFields>\n value: string\n}\n\ntype DependencyEntries = DependencyEntry[]\n\ninterface Results {\n currentVersion: string | undefined\n dependency: string\n duplicateVersions: string[]\n}\n\nexport class DuplicateDetector {\n private dependency: string\n private dependencyEntries: DependencyEntries\n\n constructor(output: string, dependency: string) {\n this.dependency = dependency\n this.dependencyEntries = trimDependencyVirtualMeta(multiLineToJSONArray(output))\n }\n\n public detect() {\n // eslint-disable-next-line unicorn/no-array-reduce\n const result = this.dependencyEntries.reduce(this.detectReducer, this.resultsFactory(this.dependency))\n if (result.duplicateVersions.length > 0) {\n console.log(chalk.yellow(`${EOL}Duplicates found for: ${this.dependency}`))\n console.log(chalk.grey(` ${result.duplicateVersions.toString().replaceAll(',', `${EOL} `)}`, EOL))\n return 1\n } else {\n console.log(`${this.dependency} - OK`)\n return 0\n }\n }\n\n private detectReducer(acc: Results, entry: DependencyEntry) {\n const version = Object.entries(entry.children).map(([k]) => k)[0]\n\n if (!acc.currentVersion) {\n acc.currentVersion = version\n return acc\n }\n\n if (acc.currentVersion && acc.currentVersion !== version && !version.includes('@virtual:')) {\n // if first duplicate, push the current version as the first duplicate\n if (acc.duplicateVersions.length === 0) {\n acc.duplicateVersions.push(acc.currentVersion)\n }\n acc.duplicateVersions.push(version)\n acc.duplicateVersions = uniq(acc.duplicateVersions)\n }\n return acc\n }\n\n private resultsFactory = (dependency: string): Results => ({ currentVersion: undefined, dependency, duplicateVersions: [] })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAoB;AAEpB,mBAAkB;AAElB,kBAAiB;AAEjB,4BAAqC;AAOrC,MAAM,kBAAkB,CAAC,UAA0B;AACjD,QAAM,eAAe,MAAM,MAAM,UAAU;AAC3C,MAAI,aAAa,SAAS,GAAG;AAC3B,UAAM,YAAY,aAAa,CAAC,EAAE,MAAM,GAAG;AAC3C,WAAO,aAAa,CAAC,IAAI,UAAU,CAAC;AAAA,EACtC,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAEA,MAAM,kCAAkC,CAAC,QAAkE;AACzG,QAAM,YAAyC,CAAC;AAChD,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,GAAG,GAAG;AAC9C,cAAU,gBAAgB,GAAG,CAAC,IAAI;AAAA,MAChC,YAAY,gBAAgB,MAAM,UAAU;AAAA,MAC5C,SAAS,gBAAgB,MAAM,OAAO;AAAA,IACxC;AAAA,EACF;AACA,SAAO;AACT;AAEA,MAAM,4BAA4B,CAAC,iBAAuD;AACxF,SAAO,aAAa,IAAI,CAAC,eAAe;AACtC,WAAO,EAAE,UAAU,gCAAgC,WAAW,QAAQ,GAAG,OAAO,gBAAgB,WAAW,KAAK,EAAE;AAAA,EACpH,CAAC;AACH;AAeO,MAAM,kBAAkB;AAAA,EACrB;AAAA,EACA;AAAA,EAER,YAAY,QAAgB,YAAoB;AAC9C,SAAK,aAAa;AAClB,SAAK,oBAAoB,8BAA0B,4CAAqB,MAAM,CAAC;AAAA,EACjF;AAAA,EAEO,SAAS;AAEd,UAAM,SAAS,KAAK,kBAAkB,OAAO,KAAK,eAAe,KAAK,eAAe,KAAK,UAAU,CAAC;AACrG,QAAI,OAAO,kBAAkB,SAAS,GAAG;AACvC,cAAQ,IAAI,aAAAA,QAAM,OAAO,GAAG,kBAAG,yBAAyB,KAAK,UAAU,EAAE,CAAC;AAC1E,cAAQ,IAAI,aAAAA,QAAM,KAAK,KAAK,OAAO,kBAAkB,SAAS,EAAE,WAAW,KAAK,GAAG,kBAAG,IAAI,CAAC,IAAI,kBAAG,CAAC;AACnG,aAAO;AAAA,IACT,OAAO;AACL,cAAQ,IAAI,GAAG,KAAK,UAAU,OAAO;AACrC,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEQ,cAAc,KAAc,OAAwB;AAC1D,UAAM,UAAU,OAAO,QAAQ,MAAM,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;AAEhE,QAAI,CAAC,IAAI,gBAAgB;AACvB,UAAI,iBAAiB;AACrB,aAAO;AAAA,IACT;AAEA,QAAI,IAAI,kBAAkB,IAAI,mBAAmB,WAAW,CAAC,QAAQ,SAAS,WAAW,GAAG;AAE1F,UAAI,IAAI,kBAAkB,WAAW,GAAG;AACtC,YAAI,kBAAkB,KAAK,IAAI,cAAc;AAAA,MAC/C;AACA,UAAI,kBAAkB,KAAK,OAAO;AAClC,UAAI,wBAAoB,YAAAC,SAAK,IAAI,iBAAiB;AAAA,IACpD;AACA,WAAO;AAAA,EACT;AAAA,EAEQ,iBAAiB,CAAC,gBAAiC,EAAE,gBAAgB,QAAW,YAAY,mBAAmB,CAAC,EAAE;AAC5H;","names":["chalk","uniq"]}