@xylabs/ts-scripts-yarn3 6.0.8 → 6.1.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 (161) hide show
  1. package/dist/actions/build.mjs +2 -2
  2. package/dist/actions/build.mjs.map +1 -1
  3. package/dist/actions/index.mjs +16 -2
  4. package/dist/actions/index.mjs.map +1 -1
  5. package/dist/actions/knip.mjs +112 -0
  6. package/dist/actions/knip.mjs.map +1 -0
  7. package/dist/actions/relint.mjs.map +1 -1
  8. package/dist/bin/xy.mjs +22 -2
  9. package/dist/bin/xy.mjs.map +1 -1
  10. package/dist/index.d.ts +3 -1
  11. package/dist/index.mjs +23 -2
  12. package/dist/index.mjs.map +1 -1
  13. package/dist/types/actions/index.d.ts +1 -0
  14. package/dist/types/actions/index.d.ts.map +1 -1
  15. package/dist/types/actions/knip.d.ts +2 -0
  16. package/dist/types/actions/knip.d.ts.map +1 -0
  17. package/dist/types/actions/relint.d.ts.map +1 -1
  18. package/dist/types/xy/xyLintCommands.d.ts.map +1 -1
  19. package/dist/xy/index.mjs +22 -2
  20. package/dist/xy/index.mjs.map +1 -1
  21. package/dist/xy/xy.mjs +22 -2
  22. package/dist/xy/xy.mjs.map +1 -1
  23. package/dist/xy/xyBuildCommands.mjs +2 -2
  24. package/dist/xy/xyBuildCommands.mjs.map +1 -1
  25. package/dist/xy/xyLintCommands.mjs +20 -0
  26. package/dist/xy/xyLintCommands.mjs.map +1 -1
  27. package/package.json +11 -5
  28. package/spec/yarn/workspace/tsconfig.json +0 -3
  29. package/src/actions/build.ts +0 -34
  30. package/src/actions/clean-docs.ts +0 -12
  31. package/src/actions/clean-eslint.ts +0 -15
  32. package/src/actions/clean-jest.ts +0 -7
  33. package/src/actions/clean.ts +0 -26
  34. package/src/actions/compile-types.ts +0 -67
  35. package/src/actions/compile.ts +0 -67
  36. package/src/actions/copy-assets.ts +0 -70
  37. package/src/actions/cycle.ts +0 -15
  38. package/src/actions/dead.ts +0 -5
  39. package/src/actions/deploy-major.ts +0 -11
  40. package/src/actions/deploy-minor.ts +0 -11
  41. package/src/actions/deploy-next.ts +0 -11
  42. package/src/actions/deploy.ts +0 -11
  43. package/src/actions/deps.ts +0 -43
  44. package/src/actions/dupdeps.ts +0 -12
  45. package/src/actions/fix.ts +0 -6
  46. package/src/actions/gen-docs.ts +0 -26
  47. package/src/actions/gitignore-gen.ts +0 -5
  48. package/src/actions/gitlint-fix.ts +0 -27
  49. package/src/actions/gitlint.ts +0 -46
  50. package/src/actions/index.ts +0 -37
  51. package/src/actions/license.ts +0 -81
  52. package/src/actions/lint.ts +0 -61
  53. package/src/actions/npmignore-gen.ts +0 -5
  54. package/src/actions/package/clean-outputs.ts +0 -18
  55. package/src/actions/package/clean-typescript.ts +0 -18
  56. package/src/actions/package/clean.ts +0 -6
  57. package/src/actions/package/compile/XyConfig.ts +0 -60
  58. package/src/actions/package/compile/buildEntries.ts +0 -22
  59. package/src/actions/package/compile/compile.ts +0 -21
  60. package/src/actions/package/compile/compileTypes.ts +0 -13
  61. package/src/actions/package/compile/copyTypeFiles.ts +0 -38
  62. package/src/actions/package/compile/deepMerge.ts +0 -33
  63. package/src/actions/package/compile/getCompilerOptions.ts +0 -30
  64. package/src/actions/package/compile/index.ts +0 -6
  65. package/src/actions/package/compile/inputs.ts +0 -6
  66. package/src/actions/package/compile/packageCompileTsc.ts +0 -67
  67. package/src/actions/package/compile/packageCompileTscTypes.ts +0 -68
  68. package/src/actions/package/compile/packageCompileTsup.ts +0 -154
  69. package/src/actions/package/copy-assets.ts +0 -46
  70. package/src/actions/package/deps.ts +0 -144
  71. package/src/actions/package/gen-docs.ts +0 -126
  72. package/src/actions/package/index.ts +0 -10
  73. package/src/actions/package/lint.ts +0 -86
  74. package/src/actions/package/publint.ts +0 -75
  75. package/src/actions/package/recompile.ts +0 -6
  76. package/src/actions/publint.ts +0 -26
  77. package/src/actions/rebuild.ts +0 -13
  78. package/src/actions/recompile.ts +0 -81
  79. package/src/actions/reinstall.ts +0 -29
  80. package/src/actions/relint.ts +0 -76
  81. package/src/actions/retest.ts +0 -8
  82. package/src/actions/sonar.ts +0 -5
  83. package/src/actions/statics.ts +0 -13
  84. package/src/actions/test.ts +0 -5
  85. package/src/actions/up.ts +0 -5
  86. package/src/actions/updo.ts +0 -9
  87. package/src/actions/upplug.ts +0 -10
  88. package/src/actions/upyarn.ts +0 -5
  89. package/src/actions/yarn3only.ts +0 -9
  90. package/src/bin/package/build-only.ts +0 -16
  91. package/src/bin/package/build.ts +0 -16
  92. package/src/bin/package/clean-outputs.ts +0 -5
  93. package/src/bin/package/clean-typescript.ts +0 -5
  94. package/src/bin/package/clean.ts +0 -12
  95. package/src/bin/package/compile-only.ts +0 -12
  96. package/src/bin/package/compile-tsup.ts +0 -12
  97. package/src/bin/package/compile-types.ts +0 -16
  98. package/src/bin/package/compile.ts +0 -16
  99. package/src/bin/package/copy-assets-cjs.ts +0 -12
  100. package/src/bin/package/copy-assets-esm.ts +0 -12
  101. package/src/bin/package/deps.ts +0 -12
  102. package/src/bin/package/fix.ts +0 -16
  103. package/src/bin/package/gen-docs.ts +0 -12
  104. package/src/bin/package/lint.ts +0 -16
  105. package/src/bin/package/publint.ts +0 -13
  106. package/src/bin/package/recompile.ts +0 -12
  107. package/src/bin/package/relint.ts +0 -16
  108. package/src/bin/xy.ts +0 -12
  109. package/src/index.ts +0 -4
  110. package/src/lib/checkResult.ts +0 -12
  111. package/src/lib/createBuildConfig.ts +0 -37
  112. package/src/lib/defaultBuildConfig.ts +0 -18
  113. package/src/lib/deleteGlob.ts +0 -13
  114. package/src/lib/dependencies/DuplicateDetector.ts +0 -97
  115. package/src/lib/dependencies/detectDuplicateDependencies.ts +0 -41
  116. package/src/lib/dependencies/index.ts +0 -2
  117. package/src/lib/file/ReadFileSyncOptions.ts +0 -6
  118. package/src/lib/file/constants.ts +0 -2
  119. package/src/lib/file/fileLines.ts +0 -25
  120. package/src/lib/file/index.ts +0 -4
  121. package/src/lib/file/tryReadFileSync.ts +0 -9
  122. package/src/lib/generateIgnoreFiles.ts +0 -31
  123. package/src/lib/index.ts +0 -20
  124. package/src/lib/jsonFormatters.ts +0 -6
  125. package/src/lib/loadConfig.ts +0 -19
  126. package/src/lib/parsedPackageJSON.ts +0 -7
  127. package/src/lib/processEx.ts +0 -27
  128. package/src/lib/runSteps.ts +0 -40
  129. package/src/lib/runStepsAsync.ts +0 -53
  130. package/src/lib/runXy.ts +0 -8
  131. package/src/lib/runXyWithWarning.ts +0 -9
  132. package/src/lib/safeExit.ts +0 -29
  133. package/src/lib/string/empty.ts +0 -2
  134. package/src/lib/string/index.ts +0 -2
  135. package/src/lib/string/union.ts +0 -1
  136. package/src/lib/withErrnoException.ts +0 -7
  137. package/src/lib/withError.ts +0 -8
  138. package/src/lib/yarn/index.ts +0 -3
  139. package/src/lib/yarn/isYarnVersionOrGreater.ts +0 -16
  140. package/src/lib/yarn/workspace/Workspace.ts +0 -4
  141. package/src/lib/yarn/workspace/index.ts +0 -3
  142. package/src/lib/yarn/workspace/yarnWorkspace.ts +0 -8
  143. package/src/lib/yarn/workspace/yarnWorkspaces.ts +0 -21
  144. package/src/lib/yarn/yarnInitCwd.ts +0 -4
  145. package/src/loadPackageConfig.ts +0 -13
  146. package/src/types.d.ts +0 -26
  147. package/src/xy/index.ts +0 -7
  148. package/src/xy/param.ts +0 -5
  149. package/src/xy/xy.ts +0 -20
  150. package/src/xy/xyBuildCommands.ts +0 -127
  151. package/src/xy/xyCommonCommands.ts +0 -167
  152. package/src/xy/xyDeployCommands.ts +0 -53
  153. package/src/xy/xyInstallCommands.ts +0 -80
  154. package/src/xy/xyLintCommands.ts +0 -92
  155. package/src/xy/xyParseOptions.ts +0 -58
  156. package/tsconfig.build.json +0 -29
  157. package/tsconfig.json +0 -4
  158. package/tsconfig.test.json +0 -4
  159. package/tsup.config.ts +0 -16
  160. package/types/node-cmd.d.ts +0 -1
  161. package/xy.config.ts +0 -3
@@ -160,7 +160,7 @@ var build = /* @__PURE__ */ __name(async ({ incremental, jobs, target, verbose,
160
160
  "yarn",
161
161
  [
162
162
  "xy",
163
- "deps",
163
+ "publint",
164
164
  ...pkgOptions,
165
165
  ...verboseOptions,
166
166
  ...jobsOptions,
@@ -171,7 +171,7 @@ var build = /* @__PURE__ */ __name(async ({ incremental, jobs, target, verbose,
171
171
  "yarn",
172
172
  [
173
173
  "xy",
174
- "publint",
174
+ "knip",
175
175
  ...pkgOptions,
176
176
  ...verboseOptions,
177
177
  ...jobsOptions,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/actions/build.ts","../../src/lib/checkResult.ts","../../src/lib/processEx.ts","../../src/lib/withError.ts","../../src/lib/withErrnoException.ts","../../src/lib/safeExit.ts","../../src/lib/runStepsAsync.ts"],"sourcesContent":["import chalk from 'chalk'\n\nimport { runStepsAsync } from '../lib/index.ts'\n\nexport interface BuildParams {\n incremental?: boolean\n jobs?: number\n pkg?: string\n target?: 'esm' | 'cjs'\n verbose?: boolean\n}\n\nexport const build = async ({\n incremental, jobs, target, verbose, pkg,\n}: BuildParams) => {\n const start = Date.now()\n const pkgOptions = pkg ? [pkg] : [] // must go first\n const incrementalOptions = incremental ? ['-i'] : []\n const verboseOptions = verbose ? ['-v'] : []\n const targetOptions = target ? ['-t', target] : []\n const jobsOptions = jobs ? ['-j', `${jobs}`] : []\n if (jobs) {\n console.log(chalk.blue(`Jobs set to [${jobs}]`))\n }\n\n const result = await runStepsAsync(`Build${incremental ? '-Incremental' : ''} [${pkg ?? 'All'}]`, [\n ['yarn', ['xy', 'compile', ...pkgOptions, ...targetOptions, ...verboseOptions, ...jobsOptions, ...incrementalOptions, '--types', 'tsup']],\n ['yarn', ['xy', 'lint', ...pkgOptions, ...verboseOptions, ...incrementalOptions]],\n ['yarn', ['xy', 'deps', ...pkgOptions, ...verboseOptions, ...jobsOptions, ...incrementalOptions]],\n ['yarn', ['xy', 'publint', ...pkgOptions, ...verboseOptions, ...jobsOptions, ...incrementalOptions]],\n ])\n console.log(`${chalk.gray('Built in')} [${chalk.magenta(((Date.now() - start) / 1000).toFixed(2))}] ${chalk.gray('seconds')}`)\n return result\n}\n","import chalk from 'chalk'\n\nexport const checkResult = (name: string, result: number, level: 'error' | 'warn' = 'error', exitOnFail = false) => {\n if (result) {\n const exiting = exitOnFail ? '[Exiting Process]' : '[Continuing]'\n const chalkFunc = level === 'error' ? chalk.red : chalk.yellow\n console[level](chalkFunc(`${name} had ${result} failures ${exiting}`))\n if (exitOnFail) {\n process.exit(result)\n }\n }\n}\n","import chalk from 'chalk'\n\nimport { withErrnoException } from './withErrnoException.ts'\nimport { withError } from './withError.ts'\n\nexport const processEx = (ex: unknown) => {\n const error = typeof ex === 'string' ? new Error(ex) : ex\n const exitCode\n = withErrnoException(error, (error) => {\n if (error.code === 'ENOENT') {\n console.error(chalk.red(`'${error.path}' not found.`))\n } else {\n console.error(chalk.red(`Errno: ${error.code}`))\n }\n return error.errno ?? -1\n })\n ?? withError(error, (error) => {\n console.error(chalk.red(`${error.name}: ${error.message}`))\n return -1\n })\n ?? (() => {\n console.error(chalk.red(`Unexpected Error: ${JSON.stringify(ex, null, 2)}`))\n return -1\n })()\n // This allows us to use a previously set exit code\n process.exit(process.exitCode ?? exitCode)\n}\n","export const withError = <T extends Error = Error>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ex: any,\n closure: (error: T) => number,\n predicate = (ex: T) => (!!ex.name && !!ex.message),\n) => {\n return predicate(ex as T) ? closure(ex as T) : undefined\n}\n","import { withError } from './withError.ts'\n\nexport const withErrnoException = <T extends NodeJS.ErrnoException = NodeJS.ErrnoException>(\n ex: unknown, closure: (error: T) => number,\n) => {\n return withError<T>(ex, closure, (ex: unknown) => (ex as NodeJS.ErrnoException).errno !== undefined)\n}\n","/** Catch child process a crash and returns the code */\n\nimport { processEx } from './processEx.ts'\n\nconst safeExit = (func: () => number, exitOnFail = true): number => {\n try {\n const result = func()\n if (result && exitOnFail) {\n process.exit(result)\n }\n return result\n } catch (ex) {\n return processEx(ex)\n }\n}\n\nconst safeExitAsync = async (func: () => Promise<number>, exitOnFail = true): Promise<number> => {\n try {\n const result = await func()\n if (result && exitOnFail) {\n process.exit(result)\n }\n return result\n } catch (ex) {\n return processEx(ex)\n }\n}\n\nexport { safeExit, safeExitAsync }\n","import { spawn } from 'node:child_process'\nimport { existsSync } from 'node:fs'\n\nimport chalk from 'chalk'\n\nimport { checkResult } from './checkResult.ts'\nimport type { ScriptStep } from './runSteps.ts'\nimport { safeExitAsync } from './safeExit.ts'\n\nexport const runStepAsync = (name: string, step: ScriptStep, exitOnFail = true, message?: string) => {\n return new Promise<number>((resolve) => {\n const [command, args, config] = step\n if (message) {\n console.log(chalk.gray(message))\n }\n const argList = Array.isArray(args) ? args : args.split(' ')\n if (command === 'node' && !existsSync(argList[0])) {\n throw new Error(`File not found [${argList[0]}]`)\n }\n spawn(command, Array.isArray(args) ? args : args.split(' '), {\n ...config,\n env: { FORCE_COLOR: '3', ...process.env },\n shell: true,\n stdio: 'inherit',\n }).on('close', (code) => {\n if (code) {\n console.error(\n chalk.red(\n `Command Exited With Non-Zero Result [${chalk.gray(code)}] | ${chalk.yellow(command)} ${chalk.white(\n Array.isArray(args) ? args.join(' ') : args,\n )}`,\n ),\n )\n checkResult(name, code, 'error', exitOnFail)\n resolve(code)\n } else {\n resolve(0)\n }\n })\n })\n}\n\nexport const runStepsAsync = async (name: string, steps: ScriptStep[], exitOnFail = true, messages?: string[]) => {\n return await safeExitAsync(async () => {\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`${name} [${pkgName}]`))\n let result = 0\n for (const [i, step] of steps.entries()) {\n result += await runStepAsync(name, step, exitOnFail, messages?.[i])\n }\n return result\n })\n}\n"],"mappings":"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","names":["chalk","chalk","checkResult","name","result","level","exitOnFail","exiting","chalkFunc","chalk","red","yellow","console","process","exit","chalk","withError","ex","closure","predicate","name","message","undefined","withErrnoException","ex","closure","withError","errno","undefined","processEx","ex","error","Error","exitCode","withErrnoException","code","console","chalk","red","path","errno","withError","name","message","JSON","stringify","process","exit","safeExitAsync","func","exitOnFail","result","process","exit","ex","processEx","spawn","existsSync","chalk","runStepAsync","name","step","exitOnFail","message","Promise","resolve","command","args","config","console","log","chalk","gray","argList","Array","isArray","split","existsSync","Error","spawn","env","FORCE_COLOR","process","shell","stdio","on","code","error","red","yellow","white","join","checkResult","runStepsAsync","steps","messages","safeExitAsync","pkgName","npm_package_name","green","result","i","entries","build","incremental","jobs","target","verbose","pkg","start","Date","now","pkgOptions","incrementalOptions","verboseOptions","targetOptions","jobsOptions","console","log","chalk","blue","result","runStepsAsync","gray","magenta","toFixed"]}
1
+ {"version":3,"sources":["../../src/actions/build.ts","../../src/lib/checkResult.ts","../../src/lib/processEx.ts","../../src/lib/withError.ts","../../src/lib/withErrnoException.ts","../../src/lib/safeExit.ts","../../src/lib/runStepsAsync.ts"],"sourcesContent":["import chalk from 'chalk'\n\nimport { runStepsAsync } from '../lib/index.ts'\n\nexport interface BuildParams {\n incremental?: boolean\n jobs?: number\n pkg?: string\n target?: 'esm' | 'cjs'\n verbose?: boolean\n}\n\nexport const build = async ({\n incremental, jobs, target, verbose, pkg,\n}: BuildParams) => {\n const start = Date.now()\n const pkgOptions = pkg ? [pkg] : [] // must go first\n const incrementalOptions = incremental ? ['-i'] : []\n const verboseOptions = verbose ? ['-v'] : []\n const targetOptions = target ? ['-t', target] : []\n const jobsOptions = jobs ? ['-j', `${jobs}`] : []\n if (jobs) {\n console.log(chalk.blue(`Jobs set to [${jobs}]`))\n }\n\n const result = await runStepsAsync(`Build${incremental ? '-Incremental' : ''} [${pkg ?? 'All'}]`, [\n ['yarn', ['xy', 'compile', ...pkgOptions, ...targetOptions, ...verboseOptions, ...jobsOptions, ...incrementalOptions, '--types', 'tsup']],\n ['yarn', ['xy', 'lint', ...pkgOptions, ...verboseOptions, ...incrementalOptions]],\n ['yarn', ['xy', 'publint', ...pkgOptions, ...verboseOptions, ...jobsOptions, ...incrementalOptions]],\n ['yarn', ['xy', 'knip', ...pkgOptions, ...verboseOptions, ...jobsOptions, ...incrementalOptions]],\n ])\n console.log(`${chalk.gray('Built in')} [${chalk.magenta(((Date.now() - start) / 1000).toFixed(2))}] ${chalk.gray('seconds')}`)\n return result\n}\n","import chalk from 'chalk'\n\nexport const checkResult = (name: string, result: number, level: 'error' | 'warn' = 'error', exitOnFail = false) => {\n if (result) {\n const exiting = exitOnFail ? '[Exiting Process]' : '[Continuing]'\n const chalkFunc = level === 'error' ? chalk.red : chalk.yellow\n console[level](chalkFunc(`${name} had ${result} failures ${exiting}`))\n if (exitOnFail) {\n process.exit(result)\n }\n }\n}\n","import chalk from 'chalk'\n\nimport { withErrnoException } from './withErrnoException.ts'\nimport { withError } from './withError.ts'\n\nexport const processEx = (ex: unknown) => {\n const error = typeof ex === 'string' ? new Error(ex) : ex\n const exitCode\n = withErrnoException(error, (error) => {\n if (error.code === 'ENOENT') {\n console.error(chalk.red(`'${error.path}' not found.`))\n } else {\n console.error(chalk.red(`Errno: ${error.code}`))\n }\n return error.errno ?? -1\n })\n ?? withError(error, (error) => {\n console.error(chalk.red(`${error.name}: ${error.message}`))\n return -1\n })\n ?? (() => {\n console.error(chalk.red(`Unexpected Error: ${JSON.stringify(ex, null, 2)}`))\n return -1\n })()\n // This allows us to use a previously set exit code\n process.exit(process.exitCode ?? exitCode)\n}\n","export const withError = <T extends Error = Error>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ex: any,\n closure: (error: T) => number,\n predicate = (ex: T) => (!!ex.name && !!ex.message),\n) => {\n return predicate(ex as T) ? closure(ex as T) : undefined\n}\n","import { withError } from './withError.ts'\n\nexport const withErrnoException = <T extends NodeJS.ErrnoException = NodeJS.ErrnoException>(\n ex: unknown, closure: (error: T) => number,\n) => {\n return withError<T>(ex, closure, (ex: unknown) => (ex as NodeJS.ErrnoException).errno !== undefined)\n}\n","/** Catch child process a crash and returns the code */\n\nimport { processEx } from './processEx.ts'\n\nconst safeExit = (func: () => number, exitOnFail = true): number => {\n try {\n const result = func()\n if (result && exitOnFail) {\n process.exit(result)\n }\n return result\n } catch (ex) {\n return processEx(ex)\n }\n}\n\nconst safeExitAsync = async (func: () => Promise<number>, exitOnFail = true): Promise<number> => {\n try {\n const result = await func()\n if (result && exitOnFail) {\n process.exit(result)\n }\n return result\n } catch (ex) {\n return processEx(ex)\n }\n}\n\nexport { safeExit, safeExitAsync }\n","import { spawn } from 'node:child_process'\nimport { existsSync } from 'node:fs'\n\nimport chalk from 'chalk'\n\nimport { checkResult } from './checkResult.ts'\nimport type { ScriptStep } from './runSteps.ts'\nimport { safeExitAsync } from './safeExit.ts'\n\nexport const runStepAsync = (name: string, step: ScriptStep, exitOnFail = true, message?: string) => {\n return new Promise<number>((resolve) => {\n const [command, args, config] = step\n if (message) {\n console.log(chalk.gray(message))\n }\n const argList = Array.isArray(args) ? args : args.split(' ')\n if (command === 'node' && !existsSync(argList[0])) {\n throw new Error(`File not found [${argList[0]}]`)\n }\n spawn(command, Array.isArray(args) ? args : args.split(' '), {\n ...config,\n env: { FORCE_COLOR: '3', ...process.env },\n shell: true,\n stdio: 'inherit',\n }).on('close', (code) => {\n if (code) {\n console.error(\n chalk.red(\n `Command Exited With Non-Zero Result [${chalk.gray(code)}] | ${chalk.yellow(command)} ${chalk.white(\n Array.isArray(args) ? args.join(' ') : args,\n )}`,\n ),\n )\n checkResult(name, code, 'error', exitOnFail)\n resolve(code)\n } else {\n resolve(0)\n }\n })\n })\n}\n\nexport const runStepsAsync = async (name: string, steps: ScriptStep[], exitOnFail = true, messages?: string[]) => {\n return await safeExitAsync(async () => {\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`${name} [${pkgName}]`))\n let result = 0\n for (const [i, step] of steps.entries()) {\n result += await runStepAsync(name, step, exitOnFail, messages?.[i])\n }\n return result\n })\n}\n"],"mappings":"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","names":["chalk","chalk","checkResult","name","result","level","exitOnFail","exiting","chalkFunc","chalk","red","yellow","console","process","exit","chalk","withError","ex","closure","predicate","name","message","undefined","withErrnoException","ex","closure","withError","errno","undefined","processEx","ex","error","Error","exitCode","withErrnoException","code","console","chalk","red","path","errno","withError","name","message","JSON","stringify","process","exit","safeExitAsync","func","exitOnFail","result","process","exit","ex","processEx","spawn","existsSync","chalk","runStepAsync","name","step","exitOnFail","message","Promise","resolve","command","args","config","console","log","chalk","gray","argList","Array","isArray","split","existsSync","Error","spawn","env","FORCE_COLOR","process","shell","stdio","on","code","error","red","yellow","white","join","checkResult","runStepsAsync","steps","messages","safeExitAsync","pkgName","npm_package_name","green","result","i","entries","build","incremental","jobs","target","verbose","pkg","start","Date","now","pkgOptions","incrementalOptions","verboseOptions","targetOptions","jobsOptions","console","log","chalk","blue","result","runStepsAsync","gray","magenta","toFixed"]}
@@ -486,7 +486,7 @@ var build = /* @__PURE__ */ __name(async ({ incremental, jobs, target, verbose,
486
486
  "yarn",
487
487
  [
488
488
  "xy",
489
- "deps",
489
+ "publint",
490
490
  ...pkgOptions,
491
491
  ...verboseOptions,
492
492
  ...jobsOptions,
@@ -497,7 +497,7 @@ var build = /* @__PURE__ */ __name(async ({ incremental, jobs, target, verbose,
497
497
  "yarn",
498
498
  [
499
499
  "xy",
500
- "publint",
500
+ "knip",
501
501
  ...pkgOptions,
502
502
  ...verboseOptions,
503
503
  ...jobsOptions,
@@ -1191,6 +1191,19 @@ Gitlint Fix Start [${process.cwd()}]
1191
1191
  return 1;
1192
1192
  }, "gitlintFix");
1193
1193
 
1194
+ // src/actions/knip.ts
1195
+ var knip = /* @__PURE__ */ __name(() => {
1196
+ return runSteps("Knip", [
1197
+ [
1198
+ "yarn",
1199
+ [
1200
+ "knip",
1201
+ "--dependencies"
1202
+ ]
1203
+ ]
1204
+ ]);
1205
+ }, "knip");
1206
+
1194
1207
  // src/actions/license.ts
1195
1208
  import chalk18 from "chalk";
1196
1209
  import { init } from "license-checker";
@@ -2545,6 +2558,7 @@ export {
2545
2558
  gitignoreGen,
2546
2559
  gitlint,
2547
2560
  gitlintFix,
2561
+ knip,
2548
2562
  license,
2549
2563
  lint,
2550
2564
  lintAllPackages,