@xylabs/ts-scripts-yarn3 3.14.1 → 3.15.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.
- package/dist/actions/build.cjs +208 -0
- package/dist/actions/build.cjs.map +1 -0
- package/dist/actions/build.mjs +164 -13
- package/dist/actions/build.mjs.map +1 -1
- package/dist/actions/{clean-docs.js → clean-docs.cjs} +33 -7
- package/dist/actions/clean-docs.cjs.map +1 -0
- package/dist/actions/clean-docs.mjs +31 -4
- package/dist/actions/clean-docs.mjs.map +1 -1
- package/dist/actions/{clean-eslint.js → clean-eslint.cjs} +11 -6
- package/dist/actions/clean-eslint.cjs.map +1 -0
- package/dist/actions/clean-eslint.mjs +9 -3
- package/dist/actions/clean-eslint.mjs.map +1 -1
- package/dist/actions/clean-jest.cjs +147 -0
- package/dist/actions/clean-jest.cjs.map +1 -0
- package/dist/actions/clean-jest.mjs +107 -4
- package/dist/actions/clean-jest.mjs.map +1 -1
- package/dist/actions/clean.cjs +192 -0
- package/dist/actions/clean.cjs.map +1 -0
- package/dist/actions/clean.mjs +149 -11
- package/dist/actions/clean.mjs.map +1 -1
- package/dist/actions/compile.cjs +217 -0
- package/dist/actions/compile.cjs.map +1 -0
- package/dist/actions/compile.mjs +169 -17
- package/dist/actions/compile.mjs.map +1 -1
- package/dist/actions/{copy-assets.js → copy-assets.cjs} +54 -26
- package/dist/actions/copy-assets.cjs.map +1 -0
- package/dist/actions/copy-assets.mjs +50 -21
- package/dist/actions/copy-assets.mjs.map +1 -1
- package/dist/actions/cycle.cjs +156 -0
- package/dist/actions/cycle.cjs.map +1 -0
- package/dist/actions/cycle.mjs +117 -5
- package/dist/actions/cycle.mjs.map +1 -1
- package/dist/actions/dead.cjs +148 -0
- package/dist/actions/dead.cjs.map +1 -0
- package/dist/actions/dead.mjs +109 -4
- package/dist/actions/dead.mjs.map +1 -1
- package/dist/actions/deploy-major.cjs +160 -0
- package/dist/actions/deploy-major.cjs.map +1 -0
- package/dist/actions/deploy-major.mjs +119 -8
- package/dist/actions/deploy-major.mjs.map +1 -1
- package/dist/actions/deploy-minor.cjs +160 -0
- package/dist/actions/deploy-minor.cjs.map +1 -0
- package/dist/actions/deploy-minor.mjs +119 -8
- package/dist/actions/deploy-minor.mjs.map +1 -1
- package/dist/actions/deploy-next.cjs +160 -0
- package/dist/actions/deploy-next.cjs.map +1 -0
- package/dist/actions/deploy-next.mjs +119 -8
- package/dist/actions/deploy-next.mjs.map +1 -1
- package/dist/actions/deploy.cjs +160 -0
- package/dist/actions/deploy.cjs.map +1 -0
- package/dist/actions/deploy.mjs +119 -8
- package/dist/actions/deploy.mjs.map +1 -1
- package/dist/actions/deps.cjs +205 -0
- package/dist/actions/deps.cjs.map +1 -0
- package/dist/actions/deps.mjs +158 -17
- package/dist/actions/deps.mjs.map +1 -1
- package/dist/actions/dupdeps.cjs +229 -0
- package/dist/actions/dupdeps.cjs.map +1 -0
- package/dist/actions/dupdeps.mjs +189 -6
- package/dist/actions/dupdeps.mjs.map +1 -1
- package/dist/actions/fix.cjs +149 -0
- package/dist/actions/fix.cjs.map +1 -0
- package/dist/actions/fix.mjs +110 -4
- package/dist/actions/fix.mjs.map +1 -1
- package/dist/actions/gen-docs.cjs +186 -0
- package/dist/actions/gen-docs.cjs.map +1 -0
- package/dist/actions/gen-docs.mjs +143 -13
- package/dist/actions/gen-docs.mjs.map +1 -1
- package/dist/actions/gitignore-gen.cjs +138 -0
- package/dist/actions/gitignore-gen.cjs.map +1 -0
- package/dist/actions/gitignore-gen.mjs +99 -3
- package/dist/actions/gitignore-gen.mjs.map +1 -1
- package/dist/actions/{gitlint-fix.js → gitlint-fix.cjs} +19 -10
- package/dist/actions/gitlint-fix.cjs.map +1 -0
- package/dist/actions/gitlint-fix.mjs +17 -7
- package/dist/actions/gitlint-fix.mjs.map +1 -1
- package/dist/actions/{gitlint.js → gitlint.cjs} +11 -8
- package/dist/actions/gitlint.cjs.map +1 -0
- package/dist/actions/gitlint.mjs +10 -6
- package/dist/actions/gitlint.mjs.map +1 -1
- package/dist/actions/index.cjs +2598 -0
- package/dist/actions/index.cjs.map +1 -0
- package/dist/actions/index.mjs +2499 -38
- package/dist/actions/index.mjs.map +1 -1
- package/dist/actions/license.cjs +133 -0
- package/dist/actions/license.cjs.map +1 -0
- package/dist/actions/license.mjs +65 -37
- package/dist/actions/license.mjs.map +1 -1
- package/dist/actions/lint-clean.cjs +227 -0
- package/dist/actions/lint-clean.cjs.map +1 -0
- package/dist/actions/lint-clean.mjs +176 -5
- package/dist/actions/lint-clean.mjs.map +1 -1
- package/dist/actions/lint-profile.cjs +153 -0
- package/dist/actions/lint-profile.cjs.map +1 -0
- package/dist/actions/lint-profile.mjs +114 -4
- package/dist/actions/lint-profile.mjs.map +1 -1
- package/dist/actions/lint.cjs +217 -0
- package/dist/actions/lint.cjs.map +1 -0
- package/dist/actions/lint.mjs +159 -23
- package/dist/actions/lint.mjs.map +1 -1
- package/dist/actions/npmignore-gen.cjs +138 -0
- package/dist/actions/npmignore-gen.cjs.map +1 -0
- package/dist/actions/npmignore-gen.mjs +99 -3
- package/dist/actions/npmignore-gen.mjs.map +1 -1
- package/dist/actions/package/{clean-outputs.js → clean-outputs.cjs} +13 -6
- package/dist/actions/package/clean-outputs.cjs.map +1 -0
- package/dist/actions/package/clean-outputs.mjs +11 -3
- package/dist/actions/package/clean-outputs.mjs.map +1 -1
- package/dist/actions/package/{clean-typescript.js → clean-typescript.cjs} +13 -6
- package/dist/actions/package/clean-typescript.cjs.map +1 -0
- package/dist/actions/package/clean-typescript.mjs +11 -3
- package/dist/actions/package/clean-typescript.mjs.map +1 -1
- package/dist/actions/package/clean.cjs +83 -0
- package/dist/actions/package/clean.cjs.map +1 -0
- package/dist/actions/package/clean.mjs +44 -5
- package/dist/actions/package/clean.mjs.map +1 -1
- package/dist/actions/package/compile/{XyConfig.js → XyConfig.cjs} +3 -1
- package/dist/actions/package/compile/XyConfig.cjs.map +1 -0
- package/dist/actions/package/compile/{buildEntries.js → buildEntries.cjs} +30 -7
- package/dist/actions/package/compile/buildEntries.cjs.map +1 -0
- package/dist/actions/package/compile/buildEntries.mjs +26 -5
- package/dist/actions/package/compile/buildEntries.mjs.map +1 -1
- package/dist/actions/package/compile/compile.cjs +560 -0
- package/dist/actions/package/compile/compile.cjs.map +1 -0
- package/dist/actions/package/compile/compile.mjs +510 -14
- package/dist/actions/package/compile/compile.mjs.map +1 -1
- package/dist/actions/package/compile/{copyTypeFiles.js → copyTypeFiles.cjs} +26 -23
- package/dist/actions/package/compile/{copyTypeFiles.js.map → copyTypeFiles.cjs.map} +1 -1
- package/dist/actions/package/compile/copyTypeFiles.mjs +25 -21
- package/dist/actions/package/compile/copyTypeFiles.mjs.map +1 -1
- package/dist/actions/package/compile/{getCompilerOptions.js → getCompilerOptions.cjs} +21 -24
- package/dist/actions/package/compile/getCompilerOptions.cjs.map +1 -0
- package/dist/actions/package/compile/getCompilerOptions.mjs +19 -12
- package/dist/actions/package/compile/getCompilerOptions.mjs.map +1 -1
- package/dist/actions/package/compile/index.cjs +566 -0
- package/dist/actions/package/compile/index.cjs.map +1 -0
- package/dist/actions/package/compile/index.mjs +526 -4
- package/dist/actions/package/compile/index.mjs.map +1 -1
- package/dist/actions/package/compile/{inputs.js → inputs.cjs} +29 -17
- package/dist/actions/package/compile/inputs.cjs.map +1 -0
- package/dist/actions/package/compile/inputs.mjs +28 -15
- package/dist/actions/package/compile/inputs.mjs.map +1 -1
- package/dist/actions/package/compile/packageCompileTsc.cjs +164 -0
- package/dist/actions/package/compile/packageCompileTsc.cjs.map +1 -0
- package/dist/actions/package/compile/packageCompileTsc.mjs +103 -24
- package/dist/actions/package/compile/packageCompileTsc.mjs.map +1 -1
- package/dist/actions/package/compile/packageCompileTscTypes.cjs +199 -0
- package/dist/actions/package/compile/packageCompileTscTypes.cjs.map +1 -0
- package/dist/actions/package/compile/packageCompileTscTypes.mjs +111 -11
- package/dist/actions/package/compile/packageCompileTscTypes.mjs.map +1 -1
- package/dist/actions/package/compile/packageCompileTsup.cjs +516 -0
- package/dist/actions/package/compile/packageCompileTsup.cjs.map +1 -0
- package/dist/actions/package/compile/packageCompileTsup.mjs +456 -164
- package/dist/actions/package/compile/packageCompileTsup.mjs.map +1 -1
- package/dist/actions/package/{copy-assets.js → copy-assets.cjs} +25 -16
- package/dist/actions/package/{copy-assets.js.map → copy-assets.cjs.map} +1 -1
- package/dist/actions/package/copy-assets.mjs +22 -12
- package/dist/actions/package/copy-assets.mjs.map +1 -1
- package/dist/actions/package/{deps.js → deps.cjs} +103 -38
- package/dist/actions/package/deps.cjs.map +1 -0
- package/dist/actions/package/deps.mjs +99 -33
- package/dist/actions/package/deps.mjs.map +1 -1
- package/dist/actions/package/{gen-docs.js → gen-docs.cjs} +16 -10
- package/dist/actions/package/{gen-docs.js.map → gen-docs.cjs.map} +1 -1
- package/dist/actions/package/gen-docs.mjs +13 -6
- package/dist/actions/package/gen-docs.mjs.map +1 -1
- package/dist/actions/package/index.cjs +963 -0
- package/dist/actions/package/index.cjs.map +1 -0
- package/dist/actions/package/index.mjs +915 -9
- package/dist/actions/package/index.mjs.map +1 -1
- package/dist/actions/package/{publint.js → publint.cjs} +11 -8
- package/dist/actions/package/publint.cjs.map +1 -0
- package/dist/actions/package/publint.mjs +9 -5
- package/dist/actions/package/publint.mjs.map +1 -1
- package/dist/actions/package/recompile.cjs +612 -0
- package/dist/actions/package/recompile.cjs.map +1 -0
- package/dist/actions/package/recompile.mjs +571 -5
- package/dist/actions/package/recompile.mjs.map +1 -1
- package/dist/actions/publint.cjs +237 -0
- package/dist/actions/publint.cjs.map +1 -0
- package/dist/actions/publint.mjs +194 -11
- package/dist/actions/publint.mjs.map +1 -1
- package/dist/actions/rebuild.cjs +148 -0
- package/dist/actions/rebuild.cjs.map +1 -0
- package/dist/actions/rebuild.mjs +107 -5
- package/dist/actions/rebuild.mjs.map +1 -1
- package/dist/actions/recompile.cjs +232 -0
- package/dist/actions/recompile.cjs.map +1 -0
- package/dist/actions/recompile.mjs +184 -18
- package/dist/actions/recompile.mjs.map +1 -1
- package/dist/actions/reinstall.cjs +183 -0
- package/dist/actions/reinstall.cjs.map +1 -0
- package/dist/actions/reinstall.mjs +131 -5
- package/dist/actions/reinstall.mjs.map +1 -1
- package/dist/actions/relint.cjs +185 -0
- package/dist/actions/relint.cjs.map +1 -0
- package/dist/actions/relint.mjs +135 -5
- package/dist/actions/relint.mjs.map +1 -1
- package/dist/actions/retest.cjs +154 -0
- package/dist/actions/retest.cjs.map +1 -0
- package/dist/actions/retest.mjs +113 -5
- package/dist/actions/retest.mjs.map +1 -1
- package/dist/actions/sonar.cjs +149 -0
- package/dist/actions/sonar.cjs.map +1 -0
- package/dist/actions/sonar.mjs +110 -4
- package/dist/actions/sonar.mjs.map +1 -1
- package/dist/actions/statics.cjs +237 -0
- package/dist/actions/statics.cjs.map +1 -0
- package/dist/actions/statics.mjs +198 -7
- package/dist/actions/statics.mjs.map +1 -1
- package/dist/actions/test.cjs +147 -0
- package/dist/actions/test.cjs.map +1 -0
- package/dist/actions/test.mjs +108 -4
- package/dist/actions/test.mjs.map +1 -1
- package/dist/actions/up.cjs +144 -0
- package/dist/actions/up.cjs.map +1 -0
- package/dist/actions/up.mjs +105 -4
- package/dist/actions/up.mjs.map +1 -1
- package/dist/actions/updo.cjs +152 -0
- package/dist/actions/updo.cjs.map +1 -0
- package/dist/actions/updo.mjs +111 -6
- package/dist/actions/updo.mjs.map +1 -1
- package/dist/actions/upplug.cjs +172 -0
- package/dist/actions/upplug.cjs.map +1 -0
- package/dist/actions/upplug.mjs +131 -7
- package/dist/actions/upplug.mjs.map +1 -1
- package/dist/actions/upyarn.cjs +148 -0
- package/dist/actions/upyarn.cjs.map +1 -0
- package/dist/actions/upyarn.mjs +109 -4
- package/dist/actions/upyarn.mjs.map +1 -1
- package/dist/actions/yarn3only.cjs +106 -0
- package/dist/actions/yarn3only.cjs.map +1 -0
- package/dist/actions/yarn3only.mjs +62 -3
- package/dist/actions/yarn3only.mjs.map +1 -1
- package/dist/bin/build.cjs +39 -0
- package/dist/bin/build.cjs.map +1 -0
- package/dist/bin/build.mjs +15 -11
- package/dist/bin/build.mjs.map +1 -1
- package/dist/bin/clean.cjs +39 -0
- package/dist/bin/clean.cjs.map +1 -0
- package/dist/bin/clean.mjs +15 -11
- package/dist/bin/clean.mjs.map +1 -1
- package/dist/bin/compile-only.cjs +39 -0
- package/dist/bin/compile-only.cjs.map +1 -0
- package/dist/bin/compile-only.mjs +15 -11
- package/dist/bin/compile-only.mjs.map +1 -1
- package/dist/bin/compile.cjs +39 -0
- package/dist/bin/compile.cjs.map +1 -0
- package/dist/bin/compile.mjs +15 -11
- package/dist/bin/compile.mjs.map +1 -1
- package/dist/bin/cycle.cjs +39 -0
- package/dist/bin/cycle.cjs.map +1 -0
- package/dist/bin/cycle.mjs +15 -11
- package/dist/bin/cycle.mjs.map +1 -1
- package/dist/bin/{package/copy-assets-cjs.js → dead.cjs} +15 -7
- package/dist/bin/dead.cjs.map +1 -0
- package/dist/bin/dead.mjs +15 -11
- package/dist/bin/dead.mjs.map +1 -1
- package/dist/bin/deploy-major.cjs +39 -0
- package/dist/bin/deploy-major.cjs.map +1 -0
- package/dist/bin/deploy-major.mjs +15 -11
- package/dist/bin/deploy-major.mjs.map +1 -1
- package/dist/bin/deploy-minor.cjs +39 -0
- package/dist/bin/deploy-minor.cjs.map +1 -0
- package/dist/bin/deploy-minor.mjs +15 -11
- package/dist/bin/deploy-minor.mjs.map +1 -1
- package/dist/bin/deploy-next.cjs +39 -0
- package/dist/bin/deploy-next.cjs.map +1 -0
- package/dist/bin/deploy-next.mjs +15 -11
- package/dist/bin/deploy-next.mjs.map +1 -1
- package/dist/bin/deploy.cjs +39 -0
- package/dist/bin/deploy.cjs.map +1 -0
- package/dist/bin/deploy.mjs +15 -11
- package/dist/bin/deploy.mjs.map +1 -1
- package/dist/bin/deps.cjs +39 -0
- package/dist/bin/deps.cjs.map +1 -0
- package/dist/bin/deps.mjs +15 -11
- package/dist/bin/deps.mjs.map +1 -1
- package/dist/bin/{package/compile-tsup.js → fix.cjs} +15 -7
- package/dist/bin/fix.cjs.map +1 -0
- package/dist/bin/fix.mjs +15 -11
- package/dist/bin/fix.mjs.map +1 -1
- package/dist/bin/gen-docs.cjs +39 -0
- package/dist/bin/gen-docs.cjs.map +1 -0
- package/dist/bin/gen-docs.mjs +15 -11
- package/dist/bin/gen-docs.mjs.map +1 -1
- package/dist/bin/gitlint-fix.cjs +39 -0
- package/dist/bin/gitlint-fix.cjs.map +1 -0
- package/dist/bin/gitlint-fix.mjs +15 -11
- package/dist/bin/gitlint-fix.mjs.map +1 -1
- package/dist/bin/gitlint.cjs +39 -0
- package/dist/bin/gitlint.cjs.map +1 -0
- package/dist/bin/gitlint.mjs +15 -11
- package/dist/bin/gitlint.mjs.map +1 -1
- package/dist/bin/license.cjs +39 -0
- package/dist/bin/license.cjs.map +1 -0
- package/dist/bin/license.mjs +15 -11
- package/dist/bin/license.mjs.map +1 -1
- package/dist/bin/lint-clean.cjs +39 -0
- package/dist/bin/lint-clean.cjs.map +1 -0
- package/dist/bin/lint-clean.mjs +15 -11
- package/dist/bin/lint-clean.mjs.map +1 -1
- package/dist/bin/lint-fast.cjs +39 -0
- package/dist/bin/lint-fast.cjs.map +1 -0
- package/dist/bin/lint-fast.mjs +15 -11
- package/dist/bin/lint-fast.mjs.map +1 -1
- package/dist/bin/lint-profile.cjs +39 -0
- package/dist/bin/lint-profile.cjs.map +1 -0
- package/dist/bin/lint-profile.mjs +15 -11
- package/dist/bin/lint-profile.mjs.map +1 -1
- package/dist/bin/lint.cjs +39 -0
- package/dist/bin/lint.cjs.map +1 -0
- package/dist/bin/lint.mjs +15 -11
- package/dist/bin/lint.mjs.map +1 -1
- package/dist/bin/package/clean-outputs.cjs +51 -0
- package/dist/bin/package/clean-outputs.cjs.map +1 -0
- package/dist/bin/package/clean-outputs.mjs +26 -15
- package/dist/bin/package/clean-outputs.mjs.map +1 -1
- package/dist/bin/package/clean-typescript.cjs +51 -0
- package/dist/bin/package/clean-typescript.cjs.map +1 -0
- package/dist/bin/package/clean-typescript.mjs +26 -15
- package/dist/bin/package/clean-typescript.mjs.map +1 -1
- package/dist/bin/package/clean.cjs +76 -0
- package/dist/bin/package/clean.cjs.map +1 -0
- package/dist/bin/package/clean.mjs +51 -15
- package/dist/bin/package/clean.mjs.map +1 -1
- package/dist/bin/package/compile-only.cjs +559 -0
- package/dist/bin/package/compile-only.cjs.map +1 -0
- package/dist/bin/package/compile-only.mjs +530 -12
- package/dist/bin/package/compile-only.mjs.map +1 -1
- package/dist/bin/package/compile-tsup.cjs +514 -0
- package/dist/bin/package/compile-tsup.cjs.map +1 -0
- package/dist/bin/package/compile-tsup.mjs +485 -12
- package/dist/bin/package/compile-tsup.mjs.map +1 -1
- package/dist/bin/package/compile.cjs +562 -0
- package/dist/bin/package/compile.cjs.map +1 -0
- package/dist/bin/package/compile.mjs +532 -15
- package/dist/bin/package/compile.mjs.map +1 -1
- package/dist/bin/package/copy-assets-cjs.cjs +86 -0
- package/dist/bin/package/copy-assets-cjs.cjs.map +1 -0
- package/dist/bin/package/copy-assets-cjs.mjs +58 -11
- package/dist/bin/package/copy-assets-cjs.mjs.map +1 -1
- package/dist/bin/package/copy-assets-esm.cjs +86 -0
- package/dist/bin/package/copy-assets-esm.cjs.map +1 -0
- package/dist/bin/package/copy-assets-esm.mjs +58 -11
- package/dist/bin/package/copy-assets-esm.mjs.map +1 -1
- package/dist/bin/package/deps.cjs +208 -0
- package/dist/bin/package/deps.cjs.map +1 -0
- package/dist/bin/package/deps.mjs +181 -12
- package/dist/bin/package/deps.mjs.map +1 -1
- package/dist/bin/package/gen-docs.cjs +143 -0
- package/dist/bin/package/gen-docs.cjs.map +1 -0
- package/dist/bin/package/gen-docs.mjs +115 -12
- package/dist/bin/package/gen-docs.mjs.map +1 -1
- package/dist/bin/package/publint.cjs +77 -0
- package/dist/bin/package/publint.cjs.map +1 -0
- package/dist/bin/package/publint.mjs +50 -13
- package/dist/bin/package/publint.mjs.map +1 -1
- package/dist/bin/package/recompile.cjs +606 -0
- package/dist/bin/package/recompile.cjs.map +1 -0
- package/dist/bin/package/recompile.mjs +577 -12
- package/dist/bin/package/recompile.mjs.map +1 -1
- package/dist/bin/publint.cjs +39 -0
- package/dist/bin/publint.cjs.map +1 -0
- package/dist/bin/publint.mjs +15 -11
- package/dist/bin/publint.mjs.map +1 -1
- package/dist/bin/rebuild.cjs +39 -0
- package/dist/bin/rebuild.cjs.map +1 -0
- package/dist/bin/rebuild.mjs +15 -11
- package/dist/bin/rebuild.mjs.map +1 -1
- package/dist/bin/recompile.cjs +39 -0
- package/dist/bin/recompile.cjs.map +1 -0
- package/dist/bin/recompile.mjs +15 -11
- package/dist/bin/recompile.mjs.map +1 -1
- package/dist/bin/reinstall.cjs +39 -0
- package/dist/bin/reinstall.cjs.map +1 -0
- package/dist/bin/reinstall.mjs +15 -11
- package/dist/bin/reinstall.mjs.map +1 -1
- package/dist/bin/relint.cjs +39 -0
- package/dist/bin/relint.cjs.map +1 -0
- package/dist/bin/relint.mjs +15 -11
- package/dist/bin/relint.mjs.map +1 -1
- package/dist/bin/sonar.cjs +39 -0
- package/dist/bin/sonar.cjs.map +1 -0
- package/dist/bin/sonar.mjs +15 -11
- package/dist/bin/sonar.mjs.map +1 -1
- package/dist/bin/test.cjs +39 -0
- package/dist/bin/test.cjs.map +1 -0
- package/dist/bin/test.mjs +15 -11
- package/dist/bin/test.mjs.map +1 -1
- package/dist/bin/{package/deps.js → up.cjs} +15 -7
- package/dist/bin/up.cjs.map +1 -0
- package/dist/bin/up.mjs +15 -11
- package/dist/bin/up.mjs.map +1 -1
- package/dist/bin/updo.cjs +39 -0
- package/dist/bin/updo.cjs.map +1 -0
- package/dist/bin/updo.mjs +15 -11
- package/dist/bin/updo.mjs.map +1 -1
- package/dist/bin/upplug.cjs +39 -0
- package/dist/bin/upplug.cjs.map +1 -0
- package/dist/bin/upplug.mjs +15 -11
- package/dist/bin/upplug.mjs.map +1 -1
- package/dist/bin/upyarn.cjs +39 -0
- package/dist/bin/upyarn.cjs.map +1 -0
- package/dist/bin/upyarn.mjs +15 -11
- package/dist/bin/upyarn.mjs.map +1 -1
- package/dist/bin/xy-ts.cjs +1893 -0
- package/dist/bin/xy-ts.cjs.map +1 -0
- package/dist/bin/xy-ts.mjs +1865 -12
- package/dist/bin/xy-ts.mjs.map +1 -1
- package/dist/bin/xy.cjs +1893 -0
- package/dist/bin/xy.cjs.map +1 -0
- package/dist/bin/xy.mjs +1865 -12
- package/dist/bin/xy.mjs.map +1 -1
- package/dist/bin/yarn3only.cjs +39 -0
- package/dist/bin/yarn3only.cjs.map +1 -0
- package/dist/bin/yarn3only.mjs +15 -11
- package/dist/bin/yarn3only.mjs.map +1 -1
- package/dist/index.cjs +3127 -0
- package/dist/index.cjs.map +1 -0
- package/dist/{index.d.mts → index.d.cts} +8 -6
- package/dist/index.d.ts +8 -6
- package/dist/index.mjs +2987 -4
- package/dist/index.mjs.map +1 -1
- package/dist/lib/{checkResult.js → checkResult.cjs} +7 -4
- package/dist/lib/{checkResult.js.map → checkResult.cjs.map} +1 -1
- package/dist/lib/checkResult.mjs +6 -2
- package/dist/lib/checkResult.mjs.map +1 -1
- package/dist/lib/{createBuildConfig.js → createBuildConfig.cjs} +48 -13
- package/dist/lib/createBuildConfig.cjs.map +1 -0
- package/dist/lib/createBuildConfig.mjs +46 -10
- package/dist/lib/createBuildConfig.mjs.map +1 -1
- package/dist/lib/{defaultBuildConfig.js → defaultBuildConfig.cjs} +21 -5
- package/dist/lib/{defaultBuildConfig.js.map → defaultBuildConfig.cjs.map} +1 -1
- package/dist/lib/defaultBuildConfig.mjs +19 -4
- package/dist/lib/defaultBuildConfig.mjs.map +1 -1
- package/dist/lib/dependencies/{DuplicateDetector.js → DuplicateDetector.cjs} +39 -17
- package/dist/lib/dependencies/DuplicateDetector.cjs.map +1 -0
- package/dist/lib/dependencies/DuplicateDetector.mjs +35 -12
- package/dist/lib/dependencies/DuplicateDetector.mjs.map +1 -1
- package/dist/lib/dependencies/detectDuplicateDependencies.cjs +210 -0
- package/dist/lib/dependencies/detectDuplicateDependencies.cjs.map +1 -0
- package/dist/lib/dependencies/detectDuplicateDependencies.mjs +140 -5
- package/dist/lib/dependencies/detectDuplicateDependencies.mjs.map +1 -1
- package/dist/lib/dependencies/index.cjs +214 -0
- package/dist/lib/dependencies/index.cjs.map +1 -0
- package/dist/lib/dependencies/index.mjs +177 -2
- package/dist/lib/dependencies/index.mjs.map +1 -1
- package/dist/lib/file/{ReadFileSyncOptions.js → ReadFileSyncOptions.cjs} +6 -2
- package/dist/lib/file/{ReadFileSyncOptions.js.map → ReadFileSyncOptions.cjs.map} +1 -1
- package/dist/lib/file/ReadFileSyncOptions.mjs +4 -1
- package/dist/lib/file/ReadFileSyncOptions.mjs.map +1 -1
- package/dist/lib/file/{constants.js → constants.cjs} +5 -3
- package/dist/lib/file/{constants.js.map → constants.cjs.map} +1 -1
- package/dist/lib/file/constants.mjs +3 -2
- package/dist/lib/file/constants.mjs.map +1 -1
- package/dist/lib/file/{fileLines.js → fileLines.cjs} +25 -10
- package/dist/lib/file/fileLines.cjs.map +1 -0
- package/dist/lib/file/fileLines.mjs +23 -7
- package/dist/lib/file/fileLines.mjs.map +1 -1
- package/dist/lib/file/index.cjs +74 -0
- package/dist/lib/file/index.cjs.map +1 -0
- package/dist/lib/file/index.mjs +42 -4
- package/dist/lib/file/index.mjs.map +1 -1
- package/dist/lib/file/{tryReadFileSync.js → tryReadFileSync.cjs} +14 -5
- package/dist/lib/file/tryReadFileSync.cjs.map +1 -0
- package/dist/lib/file/tryReadFileSync.mjs +13 -3
- package/dist/lib/file/tryReadFileSync.mjs.map +1 -1
- package/dist/lib/generateIgnoreFiles.cjs +132 -0
- package/dist/lib/generateIgnoreFiles.cjs.map +1 -0
- package/dist/lib/generateIgnoreFiles.mjs +80 -9
- package/dist/lib/generateIgnoreFiles.mjs.map +1 -1
- package/dist/lib/index.cjs +617 -0
- package/dist/lib/index.cjs.map +1 -0
- package/dist/lib/index.mjs +549 -19
- package/dist/lib/index.mjs.map +1 -1
- package/dist/lib/{jsonFormatters.js → jsonFormatters.cjs} +6 -3
- package/dist/lib/jsonFormatters.cjs.map +1 -0
- package/dist/lib/jsonFormatters.mjs +6 -2
- package/dist/lib/jsonFormatters.mjs.map +1 -1
- package/dist/lib/{loadConfig.js → loadConfig.cjs} +16 -11
- package/dist/lib/loadConfig.cjs.map +1 -0
- package/dist/lib/loadConfig.mjs +13 -7
- package/dist/lib/loadConfig.mjs.map +1 -1
- package/dist/lib/{parsedPackageJSON.js → parsedPackageJSON.cjs} +7 -4
- package/dist/lib/{parsedPackageJSON.js.map → parsedPackageJSON.cjs.map} +1 -1
- package/dist/lib/parsedPackageJSON.mjs +6 -2
- package/dist/lib/parsedPackageJSON.mjs.map +1 -1
- package/dist/lib/{processEx.js → processEx.cjs} +21 -8
- package/dist/lib/processEx.cjs.map +1 -0
- package/dist/lib/processEx.mjs +18 -4
- package/dist/lib/processEx.mjs.map +1 -1
- package/dist/lib/runSteps.cjs +134 -0
- package/dist/lib/runSteps.cjs.map +1 -0
- package/dist/lib/runSteps.mjs +74 -8
- package/dist/lib/runSteps.mjs.map +1 -1
- package/dist/lib/runStepsAsync.cjs +147 -0
- package/dist/lib/runStepsAsync.cjs.map +1 -0
- package/dist/lib/runStepsAsync.mjs +77 -17
- package/dist/lib/runStepsAsync.mjs.map +1 -1
- package/dist/lib/runXy.cjs +150 -0
- package/dist/lib/runXy.cjs.map +1 -0
- package/dist/lib/runXy.mjs +111 -4
- package/dist/lib/runXy.mjs.map +1 -1
- package/dist/lib/{runXyWithWarning.js → runXyWithWarning.cjs} +7 -4
- package/dist/lib/runXyWithWarning.cjs.map +1 -0
- package/dist/lib/runXyWithWarning.mjs +6 -2
- package/dist/lib/runXyWithWarning.mjs.map +1 -1
- package/dist/lib/safeExit.cjs +100 -0
- package/dist/lib/safeExit.cjs.map +1 -0
- package/dist/lib/safeExit.mjs +41 -5
- package/dist/lib/safeExit.mjs.map +1 -1
- package/dist/lib/string/{empty.js → empty.cjs} +6 -3
- package/dist/lib/string/{empty.js.map → empty.cjs.map} +1 -1
- package/dist/lib/string/empty.mjs +6 -2
- package/dist/lib/string/empty.mjs.map +1 -1
- package/dist/{actions/up.js → lib/string/index.cjs} +23 -10
- package/dist/lib/string/index.cjs.map +1 -0
- package/dist/lib/string/index.mjs +17 -2
- package/dist/lib/string/index.mjs.map +1 -1
- package/dist/lib/string/{union.js → union.cjs} +8 -2
- package/dist/lib/string/{union.js.map → union.cjs.map} +1 -1
- package/dist/lib/string/union.mjs +8 -1
- package/dist/lib/string/union.mjs.map +1 -1
- package/dist/lib/{withErrnoException.js → withErrnoException.cjs} +14 -5
- package/dist/lib/withErrnoException.cjs.map +1 -0
- package/dist/lib/withErrnoException.mjs +11 -3
- package/dist/lib/withErrnoException.mjs.map +1 -1
- package/dist/lib/{withError.js → withError.cjs} +6 -3
- package/dist/lib/{withError.js.map → withError.cjs.map} +1 -1
- package/dist/lib/withError.mjs +6 -2
- package/dist/lib/withError.mjs.map +1 -1
- package/dist/lib/yarn/index.cjs +93 -0
- package/dist/lib/yarn/index.cjs.map +1 -0
- package/dist/lib/yarn/index.mjs +64 -3
- package/dist/lib/yarn/index.mjs.map +1 -1
- package/dist/lib/yarn/{isYarnVersionOrGreater.js → isYarnVersionOrGreater.cjs} +17 -6
- package/dist/lib/yarn/{isYarnVersionOrGreater.js.map → isYarnVersionOrGreater.cjs.map} +1 -1
- package/dist/lib/yarn/isYarnVersionOrGreater.mjs +16 -4
- package/dist/lib/yarn/isYarnVersionOrGreater.mjs.map +1 -1
- package/dist/lib/yarn/workspace/{Workspace.js → Workspace.cjs} +3 -1
- package/dist/lib/yarn/workspace/{Workspace.js.map → Workspace.cjs.map} +1 -1
- package/dist/lib/yarn/workspace/index.cjs +60 -0
- package/dist/lib/yarn/workspace/index.cjs.map +1 -0
- package/dist/lib/yarn/workspace/index.mjs +33 -3
- package/dist/lib/yarn/workspace/index.mjs.map +1 -1
- package/dist/lib/yarn/workspace/{yarnWorkspace.js → yarnWorkspace.cjs} +29 -5
- package/dist/lib/yarn/workspace/yarnWorkspace.cjs.map +1 -0
- package/dist/lib/yarn/workspace/yarnWorkspace.mjs +26 -3
- package/dist/lib/yarn/workspace/yarnWorkspace.mjs.map +1 -1
- package/dist/lib/yarn/workspace/{yarnWorkspaces.js → yarnWorkspaces.cjs} +16 -5
- package/dist/lib/yarn/workspace/yarnWorkspaces.cjs.map +1 -0
- package/dist/lib/yarn/workspace/yarnWorkspaces.mjs +15 -3
- package/dist/lib/yarn/workspace/yarnWorkspaces.mjs.map +1 -1
- package/dist/lib/yarn/{yarnInitCwd.js → yarnInitCwd.cjs} +6 -3
- package/dist/lib/yarn/yarnInitCwd.cjs.map +1 -0
- package/dist/lib/yarn/yarnInitCwd.mjs +6 -2
- package/dist/lib/yarn/yarnInitCwd.mjs.map +1 -1
- package/dist/{loadPackageConfig.js → loadPackageConfig.cjs} +10 -5
- package/dist/{loadPackageConfig.js.map → loadPackageConfig.cjs.map} +1 -1
- package/dist/loadPackageConfig.mjs +9 -3
- package/dist/loadPackageConfig.mjs.map +1 -1
- package/dist/types.d.cjs +2 -0
- package/dist/types.d.mjs +0 -9
- package/dist/types.d.mjs.map +1 -1
- package/dist/xy/index.cjs +1912 -0
- package/dist/xy/index.cjs.map +1 -0
- package/dist/xy/index.mjs +1870 -7
- package/dist/xy/index.mjs.map +1 -1
- package/dist/xy/{param.js → param.cjs} +6 -3
- package/dist/xy/{param.js.map → param.cjs.map} +1 -1
- package/dist/xy/param.mjs +6 -2
- package/dist/xy/param.mjs.map +1 -1
- package/dist/xy/xy.cjs +1898 -0
- package/dist/xy/xy.cjs.map +1 -0
- package/dist/xy/xy.mjs +1857 -10
- package/dist/xy/xy.mjs.map +1 -1
- package/dist/xy/xyBuildCommands.cjs +595 -0
- package/dist/xy/xyBuildCommands.cjs.map +1 -0
- package/dist/xy/xyBuildCommands.mjs +553 -106
- package/dist/xy/xyBuildCommands.mjs.map +1 -1
- package/dist/xy/xyCommonCommands.cjs +723 -0
- package/dist/xy/xyCommonCommands.cjs.map +1 -0
- package/dist/xy/xyCommonCommands.mjs +679 -143
- package/dist/xy/xyCommonCommands.mjs.map +1 -1
- package/dist/xy/xyDeployCommands.cjs +263 -0
- package/dist/xy/xyDeployCommands.cjs.map +1 -0
- package/dist/xy/xyDeployCommands.mjs +220 -40
- package/dist/xy/xyDeployCommands.mjs.map +1 -1
- package/dist/xy/xyInstallCommands.cjs +511 -0
- package/dist/xy/xyInstallCommands.cjs.map +1 -0
- package/dist/xy/xyInstallCommands.mjs +465 -64
- package/dist/xy/xyInstallCommands.mjs.map +1 -1
- package/dist/xy/xyLintCommands.cjs +466 -0
- package/dist/xy/xyLintCommands.cjs.map +1 -0
- package/dist/xy/xyLintCommands.mjs +422 -71
- package/dist/xy/xyLintCommands.mjs.map +1 -1
- package/dist/xy/{xyParseOptions.js → xyParseOptions.cjs} +11 -5
- package/dist/xy/xyParseOptions.cjs.map +1 -0
- package/dist/xy/xyParseOptions.mjs +10 -3
- package/dist/xy/xyParseOptions.mjs.map +1 -1
- package/package.json +68 -74
- package/src/actions/build.ts +1 -1
- package/src/actions/clean-docs.ts +1 -1
- package/src/actions/clean-jest.ts +1 -1
- package/src/actions/clean.ts +1 -1
- package/src/actions/compile.ts +1 -1
- package/src/actions/copy-assets.ts +1 -1
- package/src/actions/cycle.ts +1 -1
- package/src/actions/dead.ts +1 -1
- package/src/actions/deploy-major.ts +1 -1
- package/src/actions/deploy-minor.ts +1 -1
- package/src/actions/deploy-next.ts +1 -1
- package/src/actions/deploy.ts +1 -1
- package/src/actions/deps.ts +1 -1
- package/src/actions/dupdeps.ts +1 -1
- package/src/actions/fix.ts +1 -1
- package/src/actions/gen-docs.ts +1 -1
- package/src/actions/gitignore-gen.ts +1 -1
- package/src/actions/gitlint-fix.ts +2 -2
- package/src/actions/gitlint.ts +2 -2
- package/src/actions/index.ts +38 -38
- package/src/actions/license.ts +1 -1
- package/src/actions/lint-clean.ts +2 -2
- package/src/actions/lint-profile.ts +1 -1
- package/src/actions/lint.ts +1 -1
- package/src/actions/npmignore-gen.ts +1 -1
- package/src/actions/package/clean.ts +2 -2
- package/src/actions/package/compile/XyConfig.ts +21 -1
- package/src/actions/package/compile/buildEntries.ts +2 -2
- package/src/actions/package/compile/compile.ts +5 -5
- package/src/actions/package/compile/getCompilerOptions.ts +10 -7
- package/src/actions/package/compile/index.ts +4 -4
- package/src/actions/package/compile/packageCompileTsc.ts +5 -5
- package/src/actions/package/compile/packageCompileTscTypes.ts +6 -6
- package/src/actions/package/compile/packageCompileTsup.ts +10 -10
- package/src/actions/package/deps.ts +3 -2
- package/src/actions/package/index.ts +9 -9
- package/src/actions/package/publint.ts +1 -0
- package/src/actions/package/recompile.ts +2 -2
- package/src/actions/publint.ts +1 -1
- package/src/actions/rebuild.ts +1 -1
- package/src/actions/recompile.ts +1 -1
- package/src/actions/reinstall.ts +1 -1
- package/src/actions/relint.ts +1 -1
- package/src/actions/retest.ts +1 -1
- package/src/actions/sonar.ts +1 -1
- package/src/actions/statics.ts +1 -1
- package/src/actions/test.ts +1 -1
- package/src/actions/up.ts +1 -1
- package/src/actions/updo.ts +1 -1
- package/src/actions/upplug.ts +1 -1
- package/src/actions/upyarn.ts +1 -1
- package/src/actions/yarn3only.ts +1 -1
- package/src/bin/build.ts +1 -1
- package/src/bin/clean.ts +1 -1
- package/src/bin/compile-only.ts +1 -1
- package/src/bin/compile.ts +1 -1
- package/src/bin/cycle.ts +1 -1
- package/src/bin/dead.ts +1 -1
- package/src/bin/deploy-major.ts +1 -1
- package/src/bin/deploy-minor.ts +1 -1
- package/src/bin/deploy-next.ts +1 -1
- package/src/bin/deploy.ts +1 -1
- package/src/bin/deps.ts +1 -1
- package/src/bin/fix.ts +1 -1
- package/src/bin/gen-docs.ts +1 -1
- package/src/bin/gitlint-fix.ts +1 -1
- package/src/bin/gitlint.ts +1 -1
- package/src/bin/license.ts +1 -1
- package/src/bin/lint-clean.ts +1 -1
- package/src/bin/lint-fast.ts +1 -1
- package/src/bin/lint-profile.ts +1 -1
- package/src/bin/lint.ts +1 -1
- package/src/bin/package/clean-outputs.ts +1 -1
- package/src/bin/package/clean-typescript.ts +1 -1
- package/src/bin/package/clean.ts +1 -1
- package/src/bin/package/compile-only.ts +1 -1
- package/src/bin/package/compile-tsup.ts +1 -1
- package/src/bin/package/compile.ts +1 -1
- package/src/bin/package/copy-assets-cjs.ts +1 -1
- package/src/bin/package/copy-assets-esm.ts +1 -1
- package/src/bin/package/deps.ts +1 -1
- package/src/bin/package/gen-docs.ts +1 -1
- package/src/bin/package/publint.ts +1 -1
- package/src/bin/package/recompile.ts +1 -1
- package/src/bin/publint.ts +1 -1
- package/src/bin/rebuild.ts +1 -1
- package/src/bin/recompile.ts +1 -1
- package/src/bin/reinstall.ts +1 -1
- package/src/bin/relint.ts +1 -1
- package/src/bin/sonar.ts +1 -1
- package/src/bin/test.ts +1 -1
- package/src/bin/up.ts +1 -1
- package/src/bin/updo.ts +1 -1
- package/src/bin/upplug.ts +1 -1
- package/src/bin/upyarn.ts +1 -1
- package/src/bin/yarn3only.ts +1 -1
- package/src/index.ts +4 -4
- package/src/lib/createBuildConfig.ts +1 -1
- package/src/lib/dependencies/DuplicateDetector.ts +2 -2
- package/src/lib/dependencies/detectDuplicateDependencies.ts +2 -2
- package/src/lib/dependencies/index.ts +2 -2
- package/src/lib/file/fileLines.ts +3 -3
- package/src/lib/file/index.ts +4 -4
- package/src/lib/file/tryReadFileSync.ts +1 -1
- package/src/lib/generateIgnoreFiles.ts +3 -3
- package/src/lib/index.ts +19 -19
- package/src/lib/loadConfig.ts +1 -1
- package/src/lib/processEx.ts +2 -2
- package/src/lib/runSteps.ts +2 -2
- package/src/lib/runStepsAsync.ts +3 -3
- package/src/lib/runXy.ts +1 -1
- package/src/lib/safeExit.ts +1 -1
- package/src/lib/string/index.ts +2 -2
- package/src/lib/withErrnoException.ts +1 -1
- package/src/lib/yarn/index.ts +3 -3
- package/src/lib/yarn/workspace/index.ts +3 -3
- package/src/lib/yarn/workspace/yarnWorkspace.ts +2 -2
- package/src/lib/yarn/workspace/yarnWorkspaces.ts +1 -1
- package/src/xy/index.ts +7 -7
- package/src/xy/xy.ts +6 -6
- package/src/xy/xyBuildCommands.ts +1 -1
- package/src/xy/xyCommonCommands.ts +2 -2
- package/src/xy/xyDeployCommands.ts +1 -1
- package/src/xy/xyInstallCommands.ts +1 -1
- package/src/xy/xyLintCommands.ts +2 -2
- package/src/xy/xyParseOptions.ts +1 -0
- package/tsconfig.build.json +10 -4
- package/tsup.config.ts +12 -2
- package/dist/actions/build.js +0 -58
- package/dist/actions/build.js.map +0 -1
- package/dist/actions/clean-docs.js.map +0 -1
- package/dist/actions/clean-eslint.js.map +0 -1
- package/dist/actions/clean-jest.js +0 -33
- package/dist/actions/clean-jest.js.map +0 -1
- package/dist/actions/clean.js +0 -43
- package/dist/actions/clean.js.map +0 -1
- package/dist/actions/compile.js +0 -66
- package/dist/actions/compile.js.map +0 -1
- package/dist/actions/copy-assets.js.map +0 -1
- package/dist/actions/cycle.js +0 -33
- package/dist/actions/cycle.js.map +0 -1
- package/dist/actions/dead.js +0 -32
- package/dist/actions/dead.js.map +0 -1
- package/dist/actions/deploy-major.js +0 -38
- package/dist/actions/deploy-major.js.map +0 -1
- package/dist/actions/deploy-minor.js +0 -38
- package/dist/actions/deploy-minor.js.map +0 -1
- package/dist/actions/deploy-next.js +0 -38
- package/dist/actions/deploy-next.js.map +0 -1
- package/dist/actions/deploy.js +0 -38
- package/dist/actions/deploy.js.map +0 -1
- package/dist/actions/deps.js +0 -65
- package/dist/actions/deps.js.map +0 -1
- package/dist/actions/dupdeps.js +0 -47
- package/dist/actions/dupdeps.js.map +0 -1
- package/dist/actions/fix.js +0 -32
- package/dist/actions/fix.js.map +0 -1
- package/dist/actions/gen-docs.js +0 -45
- package/dist/actions/gen-docs.js.map +0 -1
- package/dist/actions/gitignore-gen.js +0 -31
- package/dist/actions/gitignore-gen.js.map +0 -1
- package/dist/actions/gitlint-fix.js.map +0 -1
- package/dist/actions/gitlint.js.map +0 -1
- package/dist/actions/index.js +0 -97
- package/dist/actions/index.js.map +0 -1
- package/dist/actions/license.js +0 -106
- package/dist/actions/license.js.map +0 -1
- package/dist/actions/lint-clean.js +0 -47
- package/dist/actions/lint-clean.js.map +0 -1
- package/dist/actions/lint-profile.js +0 -32
- package/dist/actions/lint-profile.js.map +0 -1
- package/dist/actions/lint.js +0 -82
- package/dist/actions/lint.js.map +0 -1
- package/dist/actions/npmignore-gen.js +0 -31
- package/dist/actions/npmignore-gen.js.map +0 -1
- package/dist/actions/package/clean-outputs.js.map +0 -1
- package/dist/actions/package/clean-typescript.js.map +0 -1
- package/dist/actions/package/clean.js +0 -33
- package/dist/actions/package/clean.js.map +0 -1
- package/dist/actions/package/compile/XyConfig.js.map +0 -1
- package/dist/actions/package/compile/buildEntries.js.map +0 -1
- package/dist/actions/package/compile/compile.js +0 -63
- package/dist/actions/package/compile/compile.js.map +0 -1
- package/dist/actions/package/compile/getCompilerOptions.js.map +0 -1
- package/dist/actions/package/compile/index.js +0 -29
- package/dist/actions/package/compile/index.js.map +0 -1
- package/dist/actions/package/compile/inputs.js.map +0 -1
- package/dist/actions/package/compile/packageCompileTsc.js +0 -80
- package/dist/actions/package/compile/packageCompileTsc.js.map +0 -1
- package/dist/actions/package/compile/packageCompileTscTypes.js +0 -98
- package/dist/actions/package/compile/packageCompileTscTypes.js.map +0 -1
- package/dist/actions/package/compile/packageCompileTsup.js +0 -213
- package/dist/actions/package/compile/packageCompileTsup.js.map +0 -1
- package/dist/actions/package/deps.js.map +0 -1
- package/dist/actions/package/index.js +0 -39
- package/dist/actions/package/index.js.map +0 -1
- package/dist/actions/package/publint.js.map +0 -1
- package/dist/actions/package/recompile.js +0 -33
- package/dist/actions/package/recompile.js.map +0 -1
- package/dist/actions/publint.js +0 -43
- package/dist/actions/publint.js.map +0 -1
- package/dist/actions/rebuild.js +0 -35
- package/dist/actions/rebuild.js.map +0 -1
- package/dist/actions/recompile.js +0 -67
- package/dist/actions/recompile.js.map +0 -1
- package/dist/actions/reinstall.js +0 -48
- package/dist/actions/reinstall.js.map +0 -1
- package/dist/actions/relint.js +0 -46
- package/dist/actions/relint.js.map +0 -1
- package/dist/actions/retest.js +0 -35
- package/dist/actions/retest.js.map +0 -1
- package/dist/actions/sonar.js +0 -32
- package/dist/actions/sonar.js.map +0 -1
- package/dist/actions/statics.js +0 -47
- package/dist/actions/statics.js.map +0 -1
- package/dist/actions/test.js +0 -32
- package/dist/actions/test.js.map +0 -1
- package/dist/actions/up.js.map +0 -1
- package/dist/actions/updo.js +0 -36
- package/dist/actions/updo.js.map +0 -1
- package/dist/actions/upplug.js +0 -37
- package/dist/actions/upplug.js.map +0 -1
- package/dist/actions/upyarn.js +0 -32
- package/dist/actions/upyarn.js.map +0 -1
- package/dist/actions/yarn3only.js +0 -36
- package/dist/actions/yarn3only.js.map +0 -1
- package/dist/bin/build.js +0 -5
- package/dist/bin/build.js.map +0 -1
- package/dist/bin/clean.js +0 -5
- package/dist/bin/clean.js.map +0 -1
- package/dist/bin/compile-only.js +0 -5
- package/dist/bin/compile-only.js.map +0 -1
- package/dist/bin/compile.js +0 -5
- package/dist/bin/compile.js.map +0 -1
- package/dist/bin/cycle.js +0 -5
- package/dist/bin/cycle.js.map +0 -1
- package/dist/bin/dead.js +0 -5
- package/dist/bin/dead.js.map +0 -1
- package/dist/bin/deploy-major.js +0 -5
- package/dist/bin/deploy-major.js.map +0 -1
- package/dist/bin/deploy-minor.js +0 -5
- package/dist/bin/deploy-minor.js.map +0 -1
- package/dist/bin/deploy-next.js +0 -5
- package/dist/bin/deploy-next.js.map +0 -1
- package/dist/bin/deploy.js +0 -5
- package/dist/bin/deploy.js.map +0 -1
- package/dist/bin/deps.js +0 -5
- package/dist/bin/deps.js.map +0 -1
- package/dist/bin/fix.js +0 -5
- package/dist/bin/fix.js.map +0 -1
- package/dist/bin/gen-docs.js +0 -5
- package/dist/bin/gen-docs.js.map +0 -1
- package/dist/bin/gitlint-fix.js +0 -5
- package/dist/bin/gitlint-fix.js.map +0 -1
- package/dist/bin/gitlint.js +0 -5
- package/dist/bin/gitlint.js.map +0 -1
- package/dist/bin/license.js +0 -5
- package/dist/bin/license.js.map +0 -1
- package/dist/bin/lint-clean.js +0 -5
- package/dist/bin/lint-clean.js.map +0 -1
- package/dist/bin/lint-fast.js +0 -5
- package/dist/bin/lint-fast.js.map +0 -1
- package/dist/bin/lint-profile.js +0 -5
- package/dist/bin/lint-profile.js.map +0 -1
- package/dist/bin/lint.js +0 -5
- package/dist/bin/lint.js.map +0 -1
- package/dist/bin/package/clean-outputs.js +0 -10
- package/dist/bin/package/clean-outputs.js.map +0 -1
- package/dist/bin/package/clean-typescript.js +0 -10
- package/dist/bin/package/clean-typescript.js.map +0 -1
- package/dist/bin/package/clean.js +0 -10
- package/dist/bin/package/clean.js.map +0 -1
- package/dist/bin/package/compile-only.js +0 -31
- package/dist/bin/package/compile-only.js.map +0 -1
- package/dist/bin/package/compile-tsup.js.map +0 -1
- package/dist/bin/package/compile.js +0 -35
- package/dist/bin/package/compile.js.map +0 -1
- package/dist/bin/package/copy-assets-cjs.js.map +0 -1
- package/dist/bin/package/copy-assets-esm.js +0 -31
- package/dist/bin/package/copy-assets-esm.js.map +0 -1
- package/dist/bin/package/deps.js.map +0 -1
- package/dist/bin/package/gen-docs.js +0 -10
- package/dist/bin/package/gen-docs.js.map +0 -1
- package/dist/bin/package/publint.js +0 -32
- package/dist/bin/package/publint.js.map +0 -1
- package/dist/bin/package/recompile.js +0 -31
- package/dist/bin/package/recompile.js.map +0 -1
- package/dist/bin/publint.js +0 -5
- package/dist/bin/publint.js.map +0 -1
- package/dist/bin/rebuild.js +0 -5
- package/dist/bin/rebuild.js.map +0 -1
- package/dist/bin/recompile.js +0 -5
- package/dist/bin/recompile.js.map +0 -1
- package/dist/bin/reinstall.js +0 -5
- package/dist/bin/reinstall.js.map +0 -1
- package/dist/bin/relint.js +0 -5
- package/dist/bin/relint.js.map +0 -1
- package/dist/bin/sonar.js +0 -5
- package/dist/bin/sonar.js.map +0 -1
- package/dist/bin/test.js +0 -5
- package/dist/bin/test.js.map +0 -1
- package/dist/bin/up.js +0 -5
- package/dist/bin/up.js.map +0 -1
- package/dist/bin/updo.js +0 -5
- package/dist/bin/updo.js.map +0 -1
- package/dist/bin/upplug.js +0 -5
- package/dist/bin/upplug.js.map +0 -1
- package/dist/bin/upyarn.js +0 -5
- package/dist/bin/upyarn.js.map +0 -1
- package/dist/bin/xy-ts.js +0 -10
- package/dist/bin/xy-ts.js.map +0 -1
- package/dist/bin/xy.js +0 -10
- package/dist/bin/xy.js.map +0 -1
- package/dist/bin/yarn3only.js +0 -5
- package/dist/bin/yarn3only.js.map +0 -1
- package/dist/index.js +0 -29
- package/dist/index.js.map +0 -1
- package/dist/lib/createBuildConfig.js.map +0 -1
- package/dist/lib/dependencies/DuplicateDetector.js.map +0 -1
- package/dist/lib/dependencies/detectDuplicateDependencies.js +0 -66
- package/dist/lib/dependencies/detectDuplicateDependencies.js.map +0 -1
- package/dist/lib/dependencies/index.js +0 -25
- package/dist/lib/dependencies/index.js.map +0 -1
- package/dist/lib/file/fileLines.js.map +0 -1
- package/dist/lib/file/index.js +0 -29
- package/dist/lib/file/index.js.map +0 -1
- package/dist/lib/file/tryReadFileSync.js.map +0 -1
- package/dist/lib/generateIgnoreFiles.js +0 -62
- package/dist/lib/generateIgnoreFiles.js.map +0 -1
- package/dist/lib/index.js +0 -59
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/jsonFormatters.js.map +0 -1
- package/dist/lib/loadConfig.js.map +0 -1
- package/dist/lib/processEx.js.map +0 -1
- package/dist/lib/runSteps.js +0 -69
- package/dist/lib/runSteps.js.map +0 -1
- package/dist/lib/runStepsAsync.js +0 -88
- package/dist/lib/runStepsAsync.js.map +0 -1
- package/dist/lib/runXy.js +0 -32
- package/dist/lib/runXy.js.map +0 -1
- package/dist/lib/runXyWithWarning.js.map +0 -1
- package/dist/lib/safeExit.js +0 -53
- package/dist/lib/safeExit.js.map +0 -1
- package/dist/lib/string/index.js +0 -25
- package/dist/lib/string/index.js.map +0 -1
- package/dist/lib/withErrnoException.js.map +0 -1
- package/dist/lib/yarn/index.js +0 -27
- package/dist/lib/yarn/index.js.map +0 -1
- package/dist/lib/yarn/workspace/index.js +0 -27
- package/dist/lib/yarn/workspace/index.js.map +0 -1
- package/dist/lib/yarn/workspace/yarnWorkspace.js.map +0 -1
- package/dist/lib/yarn/workspace/yarnWorkspaces.js.map +0 -1
- package/dist/lib/yarn/yarnInitCwd.js.map +0 -1
- package/dist/types.d.js +0 -2
- package/dist/xy/index.js +0 -35
- package/dist/xy/index.js.map +0 -1
- package/dist/xy/xy.js +0 -52
- package/dist/xy/xy.js.map +0 -1
- package/dist/xy/xyBuildCommands.js +0 -137
- package/dist/xy/xyBuildCommands.js.map +0 -1
- package/dist/xy/xyCommonCommands.js +0 -161
- package/dist/xy/xyCommonCommands.js.map +0 -1
- package/dist/xy/xyDeployCommands.js +0 -72
- package/dist/xy/xyDeployCommands.js.map +0 -1
- package/dist/xy/xyInstallCommands.js +0 -99
- package/dist/xy/xyInstallCommands.js.map +0 -1
- package/dist/xy/xyLintCommands.js +0 -116
- package/dist/xy/xyLintCommands.js.map +0 -1
- package/dist/xy/xyParseOptions.js.map +0 -1
- /package/dist/{types.d.js.map → types.d.cjs.map} +0 -0
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from))
|
|
16
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
20
|
+
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
|
|
31
|
+
// src/lib/dependencies/detectDuplicateDependencies.ts
|
|
32
|
+
var detectDuplicateDependencies_exports = {};
|
|
33
|
+
__export(detectDuplicateDependencies_exports, {
|
|
34
|
+
detectDuplicateDependencies: () => detectDuplicateDependencies
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(detectDuplicateDependencies_exports);
|
|
37
|
+
var import_node_child_process = require("child_process");
|
|
38
|
+
|
|
39
|
+
// src/lib/processEx.ts
|
|
40
|
+
var import_chalk = __toESM(require("chalk"), 1);
|
|
41
|
+
|
|
42
|
+
// src/lib/withError.ts
|
|
43
|
+
var withError = /* @__PURE__ */ __name((ex, closure, predicate = (ex2) => ex2.name !== void 0 && ex2.message !== void 0) => {
|
|
44
|
+
return predicate(ex) ? closure(ex) : void 0;
|
|
45
|
+
}, "withError");
|
|
46
|
+
|
|
47
|
+
// src/lib/withErrnoException.ts
|
|
48
|
+
var withErrnoException = /* @__PURE__ */ __name((ex, closure) => {
|
|
49
|
+
return withError(ex, closure, (ex2) => ex2.errno !== void 0);
|
|
50
|
+
}, "withErrnoException");
|
|
51
|
+
|
|
52
|
+
// src/lib/processEx.ts
|
|
53
|
+
var processEx = /* @__PURE__ */ __name((ex) => {
|
|
54
|
+
const error = typeof ex === "string" ? new Error(ex) : ex;
|
|
55
|
+
const exitCode = withErrnoException(error, (error2) => {
|
|
56
|
+
if (error2.code === "ENOENT") {
|
|
57
|
+
console.error(import_chalk.default.red(`'${error2.path}' not found.`));
|
|
58
|
+
} else {
|
|
59
|
+
console.error(import_chalk.default.red(`Errno: ${error2.code}`));
|
|
60
|
+
}
|
|
61
|
+
return error2.errno ?? -1;
|
|
62
|
+
}) ?? withError(error, (error2) => {
|
|
63
|
+
console.error(import_chalk.default.red(`${error2.name}: ${error2.message}`));
|
|
64
|
+
return -1;
|
|
65
|
+
}) ?? (() => {
|
|
66
|
+
console.error(import_chalk.default.red(`Unexpected Error: ${JSON.stringify(ex, null, 2)}`));
|
|
67
|
+
return -1;
|
|
68
|
+
})();
|
|
69
|
+
process.exit(process.exitCode ?? exitCode);
|
|
70
|
+
}, "processEx");
|
|
71
|
+
|
|
72
|
+
// src/lib/safeExit.ts
|
|
73
|
+
var safeExit = /* @__PURE__ */ __name((func, exitOnFail = true) => {
|
|
74
|
+
try {
|
|
75
|
+
const result = func();
|
|
76
|
+
if (result && exitOnFail) {
|
|
77
|
+
process.exit(result);
|
|
78
|
+
}
|
|
79
|
+
return result;
|
|
80
|
+
} catch (ex) {
|
|
81
|
+
return processEx(ex);
|
|
82
|
+
}
|
|
83
|
+
}, "safeExit");
|
|
84
|
+
|
|
85
|
+
// src/lib/dependencies/DuplicateDetector.ts
|
|
86
|
+
var import_node_os = require("os");
|
|
87
|
+
var import_chalk2 = __toESM(require("chalk"), 1);
|
|
88
|
+
var import_lodash_es = require("lodash-es");
|
|
89
|
+
|
|
90
|
+
// src/lib/jsonFormatters.ts
|
|
91
|
+
var multiLineToJSONArray = /* @__PURE__ */ __name((output) => {
|
|
92
|
+
const withCommas = output.replaceAll("\r\n", "").replaceAll("\n", ",");
|
|
93
|
+
const cleanCollection = withCommas.slice(0, Math.max(0, withCommas.length - 1));
|
|
94
|
+
const collection = `[${cleanCollection}]`;
|
|
95
|
+
return JSON.parse(collection);
|
|
96
|
+
}, "multiLineToJSONArray");
|
|
97
|
+
|
|
98
|
+
// src/lib/dependencies/DuplicateDetector.ts
|
|
99
|
+
var trimVirtualMeta = /* @__PURE__ */ __name((value) => {
|
|
100
|
+
const virtualParts = value.split("virtual:");
|
|
101
|
+
if (virtualParts.length > 1) {
|
|
102
|
+
const hashParts = virtualParts[1].split("#");
|
|
103
|
+
return virtualParts[0] + hashParts[1];
|
|
104
|
+
} else {
|
|
105
|
+
return value;
|
|
106
|
+
}
|
|
107
|
+
}, "trimVirtualMeta");
|
|
108
|
+
var trimObjectDependencyVirtualMeta = /* @__PURE__ */ __name((obj) => {
|
|
109
|
+
const resultObj = {};
|
|
110
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
111
|
+
resultObj[trimVirtualMeta(key)] = {
|
|
112
|
+
descriptor: trimVirtualMeta(value.descriptor),
|
|
113
|
+
locator: trimVirtualMeta(value.locator)
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
return resultObj;
|
|
117
|
+
}, "trimObjectDependencyVirtualMeta");
|
|
118
|
+
var trimDependencyVirtualMeta = /* @__PURE__ */ __name((dependencies) => {
|
|
119
|
+
return dependencies.map((dependency) => {
|
|
120
|
+
return {
|
|
121
|
+
children: trimObjectDependencyVirtualMeta(dependency.children),
|
|
122
|
+
value: trimVirtualMeta(dependency.value)
|
|
123
|
+
};
|
|
124
|
+
});
|
|
125
|
+
}, "trimDependencyVirtualMeta");
|
|
126
|
+
var DuplicateDetector = class {
|
|
127
|
+
static {
|
|
128
|
+
__name(this, "DuplicateDetector");
|
|
129
|
+
}
|
|
130
|
+
dependency;
|
|
131
|
+
dependencyEntries;
|
|
132
|
+
constructor(output, dependency) {
|
|
133
|
+
this.dependency = dependency;
|
|
134
|
+
this.dependencyEntries = trimDependencyVirtualMeta(multiLineToJSONArray(output));
|
|
135
|
+
}
|
|
136
|
+
detect() {
|
|
137
|
+
const result = this.dependencyEntries.reduce(this.detectReducer, this.resultsFactory(this.dependency));
|
|
138
|
+
if (result.duplicateVersions.length > 0) {
|
|
139
|
+
console.log(import_chalk2.default.yellow(`${import_node_os.EOL}Duplicates found for: ${this.dependency}`));
|
|
140
|
+
const duplicateVersions = result.duplicateVersions.toString().replaceAll(",", `${import_node_os.EOL} `);
|
|
141
|
+
console.log(import_chalk2.default.grey(` ${duplicateVersions}`, import_node_os.EOL));
|
|
142
|
+
return 1;
|
|
143
|
+
} else {
|
|
144
|
+
console.log(`${this.dependency} - OK`);
|
|
145
|
+
return 0;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
detectReducer(acc, entry) {
|
|
149
|
+
const version = Object.entries(entry.children).map(([k]) => k)[0];
|
|
150
|
+
if (!acc.currentVersion) {
|
|
151
|
+
acc.currentVersion = version;
|
|
152
|
+
return acc;
|
|
153
|
+
}
|
|
154
|
+
if (acc.currentVersion && acc.currentVersion !== version && !version.includes("@virtual:")) {
|
|
155
|
+
if (acc.duplicateVersions.length === 0) {
|
|
156
|
+
acc.duplicateVersions.push(acc.currentVersion);
|
|
157
|
+
}
|
|
158
|
+
acc.duplicateVersions.push(version);
|
|
159
|
+
acc.duplicateVersions = (0, import_lodash_es.uniq)(acc.duplicateVersions);
|
|
160
|
+
}
|
|
161
|
+
return acc;
|
|
162
|
+
}
|
|
163
|
+
resultsFactory = /* @__PURE__ */ __name((dependency) => ({
|
|
164
|
+
currentVersion: void 0,
|
|
165
|
+
dependency,
|
|
166
|
+
duplicateVersions: []
|
|
167
|
+
}), "resultsFactory");
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
// src/lib/dependencies/detectDuplicateDependencies.ts
|
|
171
|
+
var detectDuplicateDependencies = /* @__PURE__ */ __name((depsFromPackageJSON, DefaultDependencies) => {
|
|
172
|
+
let exitCode = 0;
|
|
173
|
+
const dependencies = depsFromPackageJSON?.length ? depsFromPackageJSON : DefaultDependencies;
|
|
174
|
+
return safeExit(() => {
|
|
175
|
+
if (dependencies) {
|
|
176
|
+
for (const dependency of dependencies) {
|
|
177
|
+
let output;
|
|
178
|
+
try {
|
|
179
|
+
const cmd = `yarn why ${dependency} --json`;
|
|
180
|
+
output = (0, import_node_child_process.execSync)(cmd).toString();
|
|
181
|
+
} catch (e) {
|
|
182
|
+
console.error(`Error running yarn why: ${e}`);
|
|
183
|
+
exitCode = 1;
|
|
184
|
+
exitCode;
|
|
185
|
+
continue;
|
|
186
|
+
}
|
|
187
|
+
if (output) {
|
|
188
|
+
exitCode = new DuplicateDetector(output, dependency).detect();
|
|
189
|
+
exitCode;
|
|
190
|
+
} else {
|
|
191
|
+
console.log(`${dependency} - N/A`);
|
|
192
|
+
if (depsFromPackageJSON) {
|
|
193
|
+
exitCode = 1;
|
|
194
|
+
console.log(`\u{1F6A8} Library ${dependency} was requested in package.json but not found`);
|
|
195
|
+
}
|
|
196
|
+
exitCode;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return exitCode;
|
|
200
|
+
} else {
|
|
201
|
+
console.log("\u{1F6A8} No dependencies where passed");
|
|
202
|
+
return exitCode;
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
}, "detectDuplicateDependencies");
|
|
206
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
207
|
+
0 && (module.exports = {
|
|
208
|
+
detectDuplicateDependencies
|
|
209
|
+
});
|
|
210
|
+
//# sourceMappingURL=detectDuplicateDependencies.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/dependencies/detectDuplicateDependencies.ts","../../../src/lib/processEx.ts","../../../src/lib/withError.ts","../../../src/lib/withErrnoException.ts","../../../src/lib/safeExit.ts","../../../src/lib/dependencies/DuplicateDetector.ts","../../../src/lib/jsonFormatters.ts"],"sourcesContent":["import { execSync } from 'node:child_process'\n\nimport { safeExit } from '../safeExit.ts'\nimport { DuplicateDetector } from './DuplicateDetector.ts'\n\nexport const detectDuplicateDependencies = (depsFromPackageJSON?: string[], DefaultDependencies?: string[]) => {\n let exitCode = 0\n\n const dependencies = depsFromPackageJSON?.length ? depsFromPackageJSON : DefaultDependencies\n\n return safeExit(() => {\n if (dependencies) {\n for (const dependency of dependencies) {\n let output: string\n\n try {\n const cmd = `yarn why ${dependency} --json`\n output = execSync(cmd).toString()\n } catch (e) {\n console.error(`Error running yarn why: ${e}`)\n exitCode = 1\n exitCode\n continue\n }\n\n if (output) {\n exitCode = new DuplicateDetector(output, dependency).detect()\n exitCode\n } else {\n console.log(`${dependency} - N/A`)\n if (depsFromPackageJSON) {\n exitCode = 1\n console.log(`🚨 Library ${dependency} was requested in package.json but not found`)\n }\n exitCode\n }\n }\n return exitCode\n } else {\n console.log('🚨 No dependencies where passed')\n return exitCode\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 !== undefined && ex.message !== undefined,\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>(ex: unknown, closure: (error: T) => number) => {\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 { EOL } from 'node:os'\n\nimport chalk from 'chalk'\nimport { uniq } from 'lodash-es'\n\nimport { multiLineToJSONArray } from '../jsonFormatters.ts'\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 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 const duplicateVersions = result.duplicateVersions.toString().replaceAll(',', `${EOL} `)\n console.log(chalk.grey(` ${duplicateVersions}`, 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","export const multiLineToJSONArray = (output: string) => {\n const withCommas = output.replaceAll('\\r\\n', '').replaceAll('\\n', ',')\n const cleanCollection = withCommas.slice(0, Math.max(0, withCommas.length - 1))\n const collection = `[${cleanCollection}]`\n return JSON.parse(collection)\n}\n"],"mappings":"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","names":["withError","ex","closure","predicate","name","undefined","message","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","safeExit","func","exitOnFail","result","process","exit","ex","processEx","import_chalk","multiLineToJSONArray","output","withCommas","replaceAll","cleanCollection","slice","Math","max","length","collection","JSON","parse","trimVirtualMeta","value","virtualParts","split","length","hashParts","trimObjectDependencyVirtualMeta","obj","resultObj","key","Object","entries","descriptor","locator","trimDependencyVirtualMeta","dependencies","map","dependency","children","DuplicateDetector","dependencyEntries","constructor","output","multiLineToJSONArray","detect","result","reduce","detectReducer","resultsFactory","duplicateVersions","console","log","chalk","yellow","EOL","toString","replaceAll","grey","acc","entry","version","k","currentVersion","includes","push","uniq","undefined","detectDuplicateDependencies","depsFromPackageJSON","DefaultDependencies","exitCode","dependencies","length","safeExit","dependency","output","cmd","execSync","toString","e","console","error","DuplicateDetector","detect","log"]}
|
|
@@ -1,9 +1,144 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
|
|
4
|
+
// src/lib/dependencies/detectDuplicateDependencies.ts
|
|
1
5
|
import { execSync } from "node:child_process";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
6
|
+
|
|
7
|
+
// src/lib/processEx.ts
|
|
8
|
+
import chalk from "chalk";
|
|
9
|
+
|
|
10
|
+
// src/lib/withError.ts
|
|
11
|
+
var withError = /* @__PURE__ */ __name((ex, closure, predicate = (ex2) => ex2.name !== void 0 && ex2.message !== void 0) => {
|
|
12
|
+
return predicate(ex) ? closure(ex) : void 0;
|
|
13
|
+
}, "withError");
|
|
14
|
+
|
|
15
|
+
// src/lib/withErrnoException.ts
|
|
16
|
+
var withErrnoException = /* @__PURE__ */ __name((ex, closure) => {
|
|
17
|
+
return withError(ex, closure, (ex2) => ex2.errno !== void 0);
|
|
18
|
+
}, "withErrnoException");
|
|
19
|
+
|
|
20
|
+
// src/lib/processEx.ts
|
|
21
|
+
var processEx = /* @__PURE__ */ __name((ex) => {
|
|
22
|
+
const error = typeof ex === "string" ? new Error(ex) : ex;
|
|
23
|
+
const exitCode = withErrnoException(error, (error2) => {
|
|
24
|
+
if (error2.code === "ENOENT") {
|
|
25
|
+
console.error(chalk.red(`'${error2.path}' not found.`));
|
|
26
|
+
} else {
|
|
27
|
+
console.error(chalk.red(`Errno: ${error2.code}`));
|
|
28
|
+
}
|
|
29
|
+
return error2.errno ?? -1;
|
|
30
|
+
}) ?? withError(error, (error2) => {
|
|
31
|
+
console.error(chalk.red(`${error2.name}: ${error2.message}`));
|
|
32
|
+
return -1;
|
|
33
|
+
}) ?? (() => {
|
|
34
|
+
console.error(chalk.red(`Unexpected Error: ${JSON.stringify(ex, null, 2)}`));
|
|
35
|
+
return -1;
|
|
36
|
+
})();
|
|
37
|
+
process.exit(process.exitCode ?? exitCode);
|
|
38
|
+
}, "processEx");
|
|
39
|
+
|
|
40
|
+
// src/lib/safeExit.ts
|
|
41
|
+
var safeExit = /* @__PURE__ */ __name((func, exitOnFail = true) => {
|
|
42
|
+
try {
|
|
43
|
+
const result = func();
|
|
44
|
+
if (result && exitOnFail) {
|
|
45
|
+
process.exit(result);
|
|
46
|
+
}
|
|
47
|
+
return result;
|
|
48
|
+
} catch (ex) {
|
|
49
|
+
return processEx(ex);
|
|
50
|
+
}
|
|
51
|
+
}, "safeExit");
|
|
52
|
+
|
|
53
|
+
// src/lib/dependencies/DuplicateDetector.ts
|
|
54
|
+
import { EOL } from "node:os";
|
|
55
|
+
import chalk2 from "chalk";
|
|
56
|
+
import { uniq } from "lodash-es";
|
|
57
|
+
|
|
58
|
+
// src/lib/jsonFormatters.ts
|
|
59
|
+
var multiLineToJSONArray = /* @__PURE__ */ __name((output) => {
|
|
60
|
+
const withCommas = output.replaceAll("\r\n", "").replaceAll("\n", ",");
|
|
61
|
+
const cleanCollection = withCommas.slice(0, Math.max(0, withCommas.length - 1));
|
|
62
|
+
const collection = `[${cleanCollection}]`;
|
|
63
|
+
return JSON.parse(collection);
|
|
64
|
+
}, "multiLineToJSONArray");
|
|
65
|
+
|
|
66
|
+
// src/lib/dependencies/DuplicateDetector.ts
|
|
67
|
+
var trimVirtualMeta = /* @__PURE__ */ __name((value) => {
|
|
68
|
+
const virtualParts = value.split("virtual:");
|
|
69
|
+
if (virtualParts.length > 1) {
|
|
70
|
+
const hashParts = virtualParts[1].split("#");
|
|
71
|
+
return virtualParts[0] + hashParts[1];
|
|
72
|
+
} else {
|
|
73
|
+
return value;
|
|
74
|
+
}
|
|
75
|
+
}, "trimVirtualMeta");
|
|
76
|
+
var trimObjectDependencyVirtualMeta = /* @__PURE__ */ __name((obj) => {
|
|
77
|
+
const resultObj = {};
|
|
78
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
79
|
+
resultObj[trimVirtualMeta(key)] = {
|
|
80
|
+
descriptor: trimVirtualMeta(value.descriptor),
|
|
81
|
+
locator: trimVirtualMeta(value.locator)
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
return resultObj;
|
|
85
|
+
}, "trimObjectDependencyVirtualMeta");
|
|
86
|
+
var trimDependencyVirtualMeta = /* @__PURE__ */ __name((dependencies) => {
|
|
87
|
+
return dependencies.map((dependency) => {
|
|
88
|
+
return {
|
|
89
|
+
children: trimObjectDependencyVirtualMeta(dependency.children),
|
|
90
|
+
value: trimVirtualMeta(dependency.value)
|
|
91
|
+
};
|
|
92
|
+
});
|
|
93
|
+
}, "trimDependencyVirtualMeta");
|
|
94
|
+
var DuplicateDetector = class {
|
|
95
|
+
static {
|
|
96
|
+
__name(this, "DuplicateDetector");
|
|
97
|
+
}
|
|
98
|
+
dependency;
|
|
99
|
+
dependencyEntries;
|
|
100
|
+
constructor(output, dependency) {
|
|
101
|
+
this.dependency = dependency;
|
|
102
|
+
this.dependencyEntries = trimDependencyVirtualMeta(multiLineToJSONArray(output));
|
|
103
|
+
}
|
|
104
|
+
detect() {
|
|
105
|
+
const result = this.dependencyEntries.reduce(this.detectReducer, this.resultsFactory(this.dependency));
|
|
106
|
+
if (result.duplicateVersions.length > 0) {
|
|
107
|
+
console.log(chalk2.yellow(`${EOL}Duplicates found for: ${this.dependency}`));
|
|
108
|
+
const duplicateVersions = result.duplicateVersions.toString().replaceAll(",", `${EOL} `);
|
|
109
|
+
console.log(chalk2.grey(` ${duplicateVersions}`, EOL));
|
|
110
|
+
return 1;
|
|
111
|
+
} else {
|
|
112
|
+
console.log(`${this.dependency} - OK`);
|
|
113
|
+
return 0;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
detectReducer(acc, entry) {
|
|
117
|
+
const version = Object.entries(entry.children).map(([k]) => k)[0];
|
|
118
|
+
if (!acc.currentVersion) {
|
|
119
|
+
acc.currentVersion = version;
|
|
120
|
+
return acc;
|
|
121
|
+
}
|
|
122
|
+
if (acc.currentVersion && acc.currentVersion !== version && !version.includes("@virtual:")) {
|
|
123
|
+
if (acc.duplicateVersions.length === 0) {
|
|
124
|
+
acc.duplicateVersions.push(acc.currentVersion);
|
|
125
|
+
}
|
|
126
|
+
acc.duplicateVersions.push(version);
|
|
127
|
+
acc.duplicateVersions = uniq(acc.duplicateVersions);
|
|
128
|
+
}
|
|
129
|
+
return acc;
|
|
130
|
+
}
|
|
131
|
+
resultsFactory = /* @__PURE__ */ __name((dependency) => ({
|
|
132
|
+
currentVersion: void 0,
|
|
133
|
+
dependency,
|
|
134
|
+
duplicateVersions: []
|
|
135
|
+
}), "resultsFactory");
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
// src/lib/dependencies/detectDuplicateDependencies.ts
|
|
139
|
+
var detectDuplicateDependencies = /* @__PURE__ */ __name((depsFromPackageJSON, DefaultDependencies) => {
|
|
5
140
|
let exitCode = 0;
|
|
6
|
-
const dependencies =
|
|
141
|
+
const dependencies = depsFromPackageJSON?.length ? depsFromPackageJSON : DefaultDependencies;
|
|
7
142
|
return safeExit(() => {
|
|
8
143
|
if (dependencies) {
|
|
9
144
|
for (const dependency of dependencies) {
|
|
@@ -35,7 +170,7 @@ const detectDuplicateDependencies = (depsFromPackageJSON, DefaultDependencies) =
|
|
|
35
170
|
return exitCode;
|
|
36
171
|
}
|
|
37
172
|
});
|
|
38
|
-
};
|
|
173
|
+
}, "detectDuplicateDependencies");
|
|
39
174
|
export {
|
|
40
175
|
detectDuplicateDependencies
|
|
41
176
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/dependencies/detectDuplicateDependencies.ts"],"sourcesContent":["import { execSync } from 'node:child_process'\n\nimport { safeExit } from '../safeExit'\nimport { DuplicateDetector } from './DuplicateDetector'\n\nexport const detectDuplicateDependencies = (depsFromPackageJSON?: string[], DefaultDependencies?: string[]) => {\n let exitCode = 0\n\n const dependencies = depsFromPackageJSON?.length ? depsFromPackageJSON : DefaultDependencies\n\n return safeExit(() => {\n if (dependencies) {\n for (const dependency of dependencies) {\n let output: string\n\n try {\n const cmd = `yarn why ${dependency} --json`\n output = execSync(cmd).toString()\n } catch (e) {\n console.error(`Error running yarn why: ${e}`)\n exitCode = 1\n exitCode\n continue\n }\n\n if (output) {\n exitCode = new DuplicateDetector(output, dependency).detect()\n exitCode\n } else {\n console.log(`${dependency} - N/A`)\n if (depsFromPackageJSON) {\n exitCode = 1\n console.log(`🚨 Library ${dependency} was requested in package.json but not found`)\n }\n exitCode\n }\n }\n return exitCode\n } else {\n console.log('🚨 No dependencies where passed')\n return exitCode\n }\n })\n}\n"],"mappings":"AAAA,SAAS,gBAAgB;AAEzB,SAAS,gBAAgB;AACzB,SAAS,yBAAyB;AAE3B,MAAM,8BAA8B,CAAC,qBAAgC,wBAAmC;AAC7G,MAAI,WAAW;AAEf,QAAM,gBAAe,2DAAqB,UAAS,sBAAsB;AAEzE,SAAO,SAAS,MAAM;AACpB,QAAI,cAAc;AAChB,iBAAW,cAAc,cAAc;AACrC,YAAI;AAEJ,YAAI;AACF,gBAAM,MAAM,YAAY,UAAU;AAClC,mBAAS,SAAS,GAAG,EAAE,SAAS;AAAA,QAClC,SAAS,GAAG;AACV,kBAAQ,MAAM,2BAA2B,CAAC,EAAE;AAC5C,qBAAW;AACX;AACA;AAAA,QACF;AAEA,YAAI,QAAQ;AACV,qBAAW,IAAI,kBAAkB,QAAQ,UAAU,EAAE,OAAO;AAC5D;AAAA,QACF,OAAO;AACL,kBAAQ,IAAI,GAAG,UAAU,QAAQ;AACjC,cAAI,qBAAqB;AACvB,uBAAW;AACX,oBAAQ,IAAI,qBAAc,UAAU,8CAA8C;AAAA,UACpF;AACA;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT,OAAO;AACL,cAAQ,IAAI,wCAAiC;AAC7C,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AACH;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/dependencies/detectDuplicateDependencies.ts","../../../src/lib/processEx.ts","../../../src/lib/withError.ts","../../../src/lib/withErrnoException.ts","../../../src/lib/safeExit.ts","../../../src/lib/dependencies/DuplicateDetector.ts","../../../src/lib/jsonFormatters.ts"],"sourcesContent":["import { execSync } from 'node:child_process'\n\nimport { safeExit } from '../safeExit.ts'\nimport { DuplicateDetector } from './DuplicateDetector.ts'\n\nexport const detectDuplicateDependencies = (depsFromPackageJSON?: string[], DefaultDependencies?: string[]) => {\n let exitCode = 0\n\n const dependencies = depsFromPackageJSON?.length ? depsFromPackageJSON : DefaultDependencies\n\n return safeExit(() => {\n if (dependencies) {\n for (const dependency of dependencies) {\n let output: string\n\n try {\n const cmd = `yarn why ${dependency} --json`\n output = execSync(cmd).toString()\n } catch (e) {\n console.error(`Error running yarn why: ${e}`)\n exitCode = 1\n exitCode\n continue\n }\n\n if (output) {\n exitCode = new DuplicateDetector(output, dependency).detect()\n exitCode\n } else {\n console.log(`${dependency} - N/A`)\n if (depsFromPackageJSON) {\n exitCode = 1\n console.log(`🚨 Library ${dependency} was requested in package.json but not found`)\n }\n exitCode\n }\n }\n return exitCode\n } else {\n console.log('🚨 No dependencies where passed')\n return exitCode\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 !== undefined && ex.message !== undefined,\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>(ex: unknown, closure: (error: T) => number) => {\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 { EOL } from 'node:os'\n\nimport chalk from 'chalk'\nimport { uniq } from 'lodash-es'\n\nimport { multiLineToJSONArray } from '../jsonFormatters.ts'\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 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 const duplicateVersions = result.duplicateVersions.toString().replaceAll(',', `${EOL} `)\n console.log(chalk.grey(` ${duplicateVersions}`, 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","export const multiLineToJSONArray = (output: string) => {\n const withCommas = output.replaceAll('\\r\\n', '').replaceAll('\\n', ',')\n const cleanCollection = withCommas.slice(0, Math.max(0, withCommas.length - 1))\n const collection = `[${cleanCollection}]`\n return JSON.parse(collection)\n}\n"],"mappings":"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","names":["execSync","chalk","withError","ex","closure","predicate","name","undefined","message","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","safeExit","func","exitOnFail","result","process","exit","ex","processEx","EOL","chalk","uniq","multiLineToJSONArray","output","withCommas","replaceAll","cleanCollection","slice","Math","max","length","collection","JSON","parse","trimVirtualMeta","value","virtualParts","split","length","hashParts","trimObjectDependencyVirtualMeta","obj","resultObj","key","Object","entries","descriptor","locator","trimDependencyVirtualMeta","dependencies","map","dependency","children","DuplicateDetector","dependencyEntries","constructor","output","multiLineToJSONArray","detect","result","reduce","detectReducer","resultsFactory","duplicateVersions","console","log","chalk","yellow","EOL","toString","replaceAll","grey","acc","entry","version","k","currentVersion","includes","push","uniq","undefined","detectDuplicateDependencies","depsFromPackageJSON","DefaultDependencies","exitCode","dependencies","length","safeExit","dependency","output","cmd","execSync","toString","e","console","error","DuplicateDetector","detect","log"]}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from))
|
|
16
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
20
|
+
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
|
|
31
|
+
// src/lib/dependencies/index.ts
|
|
32
|
+
var dependencies_exports = {};
|
|
33
|
+
__export(dependencies_exports, {
|
|
34
|
+
DuplicateDetector: () => DuplicateDetector,
|
|
35
|
+
detectDuplicateDependencies: () => detectDuplicateDependencies
|
|
36
|
+
});
|
|
37
|
+
module.exports = __toCommonJS(dependencies_exports);
|
|
38
|
+
|
|
39
|
+
// src/lib/dependencies/detectDuplicateDependencies.ts
|
|
40
|
+
var import_node_child_process = require("child_process");
|
|
41
|
+
|
|
42
|
+
// src/lib/processEx.ts
|
|
43
|
+
var import_chalk = __toESM(require("chalk"), 1);
|
|
44
|
+
|
|
45
|
+
// src/lib/withError.ts
|
|
46
|
+
var withError = /* @__PURE__ */ __name((ex, closure, predicate = (ex2) => ex2.name !== void 0 && ex2.message !== void 0) => {
|
|
47
|
+
return predicate(ex) ? closure(ex) : void 0;
|
|
48
|
+
}, "withError");
|
|
49
|
+
|
|
50
|
+
// src/lib/withErrnoException.ts
|
|
51
|
+
var withErrnoException = /* @__PURE__ */ __name((ex, closure) => {
|
|
52
|
+
return withError(ex, closure, (ex2) => ex2.errno !== void 0);
|
|
53
|
+
}, "withErrnoException");
|
|
54
|
+
|
|
55
|
+
// src/lib/processEx.ts
|
|
56
|
+
var processEx = /* @__PURE__ */ __name((ex) => {
|
|
57
|
+
const error = typeof ex === "string" ? new Error(ex) : ex;
|
|
58
|
+
const exitCode = withErrnoException(error, (error2) => {
|
|
59
|
+
if (error2.code === "ENOENT") {
|
|
60
|
+
console.error(import_chalk.default.red(`'${error2.path}' not found.`));
|
|
61
|
+
} else {
|
|
62
|
+
console.error(import_chalk.default.red(`Errno: ${error2.code}`));
|
|
63
|
+
}
|
|
64
|
+
return error2.errno ?? -1;
|
|
65
|
+
}) ?? withError(error, (error2) => {
|
|
66
|
+
console.error(import_chalk.default.red(`${error2.name}: ${error2.message}`));
|
|
67
|
+
return -1;
|
|
68
|
+
}) ?? (() => {
|
|
69
|
+
console.error(import_chalk.default.red(`Unexpected Error: ${JSON.stringify(ex, null, 2)}`));
|
|
70
|
+
return -1;
|
|
71
|
+
})();
|
|
72
|
+
process.exit(process.exitCode ?? exitCode);
|
|
73
|
+
}, "processEx");
|
|
74
|
+
|
|
75
|
+
// src/lib/safeExit.ts
|
|
76
|
+
var safeExit = /* @__PURE__ */ __name((func, exitOnFail = true) => {
|
|
77
|
+
try {
|
|
78
|
+
const result = func();
|
|
79
|
+
if (result && exitOnFail) {
|
|
80
|
+
process.exit(result);
|
|
81
|
+
}
|
|
82
|
+
return result;
|
|
83
|
+
} catch (ex) {
|
|
84
|
+
return processEx(ex);
|
|
85
|
+
}
|
|
86
|
+
}, "safeExit");
|
|
87
|
+
|
|
88
|
+
// src/lib/dependencies/DuplicateDetector.ts
|
|
89
|
+
var import_node_os = require("os");
|
|
90
|
+
var import_chalk2 = __toESM(require("chalk"), 1);
|
|
91
|
+
var import_lodash_es = require("lodash-es");
|
|
92
|
+
|
|
93
|
+
// src/lib/jsonFormatters.ts
|
|
94
|
+
var multiLineToJSONArray = /* @__PURE__ */ __name((output) => {
|
|
95
|
+
const withCommas = output.replaceAll("\r\n", "").replaceAll("\n", ",");
|
|
96
|
+
const cleanCollection = withCommas.slice(0, Math.max(0, withCommas.length - 1));
|
|
97
|
+
const collection = `[${cleanCollection}]`;
|
|
98
|
+
return JSON.parse(collection);
|
|
99
|
+
}, "multiLineToJSONArray");
|
|
100
|
+
|
|
101
|
+
// src/lib/dependencies/DuplicateDetector.ts
|
|
102
|
+
var trimVirtualMeta = /* @__PURE__ */ __name((value) => {
|
|
103
|
+
const virtualParts = value.split("virtual:");
|
|
104
|
+
if (virtualParts.length > 1) {
|
|
105
|
+
const hashParts = virtualParts[1].split("#");
|
|
106
|
+
return virtualParts[0] + hashParts[1];
|
|
107
|
+
} else {
|
|
108
|
+
return value;
|
|
109
|
+
}
|
|
110
|
+
}, "trimVirtualMeta");
|
|
111
|
+
var trimObjectDependencyVirtualMeta = /* @__PURE__ */ __name((obj) => {
|
|
112
|
+
const resultObj = {};
|
|
113
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
114
|
+
resultObj[trimVirtualMeta(key)] = {
|
|
115
|
+
descriptor: trimVirtualMeta(value.descriptor),
|
|
116
|
+
locator: trimVirtualMeta(value.locator)
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
return resultObj;
|
|
120
|
+
}, "trimObjectDependencyVirtualMeta");
|
|
121
|
+
var trimDependencyVirtualMeta = /* @__PURE__ */ __name((dependencies) => {
|
|
122
|
+
return dependencies.map((dependency) => {
|
|
123
|
+
return {
|
|
124
|
+
children: trimObjectDependencyVirtualMeta(dependency.children),
|
|
125
|
+
value: trimVirtualMeta(dependency.value)
|
|
126
|
+
};
|
|
127
|
+
});
|
|
128
|
+
}, "trimDependencyVirtualMeta");
|
|
129
|
+
var DuplicateDetector = class {
|
|
130
|
+
static {
|
|
131
|
+
__name(this, "DuplicateDetector");
|
|
132
|
+
}
|
|
133
|
+
dependency;
|
|
134
|
+
dependencyEntries;
|
|
135
|
+
constructor(output, dependency) {
|
|
136
|
+
this.dependency = dependency;
|
|
137
|
+
this.dependencyEntries = trimDependencyVirtualMeta(multiLineToJSONArray(output));
|
|
138
|
+
}
|
|
139
|
+
detect() {
|
|
140
|
+
const result = this.dependencyEntries.reduce(this.detectReducer, this.resultsFactory(this.dependency));
|
|
141
|
+
if (result.duplicateVersions.length > 0) {
|
|
142
|
+
console.log(import_chalk2.default.yellow(`${import_node_os.EOL}Duplicates found for: ${this.dependency}`));
|
|
143
|
+
const duplicateVersions = result.duplicateVersions.toString().replaceAll(",", `${import_node_os.EOL} `);
|
|
144
|
+
console.log(import_chalk2.default.grey(` ${duplicateVersions}`, import_node_os.EOL));
|
|
145
|
+
return 1;
|
|
146
|
+
} else {
|
|
147
|
+
console.log(`${this.dependency} - OK`);
|
|
148
|
+
return 0;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
detectReducer(acc, entry) {
|
|
152
|
+
const version = Object.entries(entry.children).map(([k]) => k)[0];
|
|
153
|
+
if (!acc.currentVersion) {
|
|
154
|
+
acc.currentVersion = version;
|
|
155
|
+
return acc;
|
|
156
|
+
}
|
|
157
|
+
if (acc.currentVersion && acc.currentVersion !== version && !version.includes("@virtual:")) {
|
|
158
|
+
if (acc.duplicateVersions.length === 0) {
|
|
159
|
+
acc.duplicateVersions.push(acc.currentVersion);
|
|
160
|
+
}
|
|
161
|
+
acc.duplicateVersions.push(version);
|
|
162
|
+
acc.duplicateVersions = (0, import_lodash_es.uniq)(acc.duplicateVersions);
|
|
163
|
+
}
|
|
164
|
+
return acc;
|
|
165
|
+
}
|
|
166
|
+
resultsFactory = /* @__PURE__ */ __name((dependency) => ({
|
|
167
|
+
currentVersion: void 0,
|
|
168
|
+
dependency,
|
|
169
|
+
duplicateVersions: []
|
|
170
|
+
}), "resultsFactory");
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
// src/lib/dependencies/detectDuplicateDependencies.ts
|
|
174
|
+
var detectDuplicateDependencies = /* @__PURE__ */ __name((depsFromPackageJSON, DefaultDependencies) => {
|
|
175
|
+
let exitCode = 0;
|
|
176
|
+
const dependencies = depsFromPackageJSON?.length ? depsFromPackageJSON : DefaultDependencies;
|
|
177
|
+
return safeExit(() => {
|
|
178
|
+
if (dependencies) {
|
|
179
|
+
for (const dependency of dependencies) {
|
|
180
|
+
let output;
|
|
181
|
+
try {
|
|
182
|
+
const cmd = `yarn why ${dependency} --json`;
|
|
183
|
+
output = (0, import_node_child_process.execSync)(cmd).toString();
|
|
184
|
+
} catch (e) {
|
|
185
|
+
console.error(`Error running yarn why: ${e}`);
|
|
186
|
+
exitCode = 1;
|
|
187
|
+
exitCode;
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
190
|
+
if (output) {
|
|
191
|
+
exitCode = new DuplicateDetector(output, dependency).detect();
|
|
192
|
+
exitCode;
|
|
193
|
+
} else {
|
|
194
|
+
console.log(`${dependency} - N/A`);
|
|
195
|
+
if (depsFromPackageJSON) {
|
|
196
|
+
exitCode = 1;
|
|
197
|
+
console.log(`\u{1F6A8} Library ${dependency} was requested in package.json but not found`);
|
|
198
|
+
}
|
|
199
|
+
exitCode;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return exitCode;
|
|
203
|
+
} else {
|
|
204
|
+
console.log("\u{1F6A8} No dependencies where passed");
|
|
205
|
+
return exitCode;
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
}, "detectDuplicateDependencies");
|
|
209
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
210
|
+
0 && (module.exports = {
|
|
211
|
+
DuplicateDetector,
|
|
212
|
+
detectDuplicateDependencies
|
|
213
|
+
});
|
|
214
|
+
//# sourceMappingURL=index.cjs.map
|