@varlock/bumpy 1.2.2 → 1.4.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 (27) hide show
  1. package/README.md +4 -5
  2. package/dist/{add-DEqGa5gI.mjs → add-D1uiW7VA.mjs} +24 -5
  3. package/dist/{apply-release-plan-Bi9OSWks.mjs → apply-release-plan-60VfCLF8.mjs} +2 -2
  4. package/dist/{bump-file-BTsntOO-.mjs → bump-file-CoaSxqne.mjs} +1 -1
  5. package/dist/{changelog-xKuL0IKx.mjs → changelog-DP3OrTqQ.mjs} +7 -6
  6. package/dist/{changelog-github-CEaDCtTk.mjs → changelog-github-Da5KekQd.mjs} +1 -1
  7. package/dist/{picomatch-TGJi--_I.mjs → check-CS8WIGZA.mjs} +131 -2
  8. package/dist/{ci-BVTwTUUK.mjs → ci-CnIkaf7Q.mjs} +40 -41
  9. package/dist/cli.mjs +29 -21
  10. package/dist/{config-CJIj8xG3.mjs → config-D13G4-R8.mjs} +1 -1
  11. package/dist/{generate-wHN6Ll6p.mjs → generate-D0KJsvpD.mjs} +4 -4
  12. package/dist/{git-D0__HP86.mjs → git-ukq7VTuZ.mjs} +21 -1
  13. package/dist/index.d.mts +3 -1
  14. package/dist/index.mjs +8 -8
  15. package/dist/{publish-BwidFqbo.mjs → publish-DWdN3o9u.mjs} +45 -9
  16. package/dist/{publish-pipeline-BvLIu7WF.mjs → publish-pipeline-C1slMaJV.mjs} +1 -1
  17. package/dist/{release-plan-21H89Cx1.mjs → release-plan-pyxf71dx.mjs} +6 -56
  18. package/dist/{status-CDGxgXWd.mjs → status-DyzcQ6CD.mjs} +6 -6
  19. package/dist/{types-CSM0c2-m.mjs → types-BX4pfmKh.mjs} +1 -1
  20. package/dist/{version-ClkaCNTE.mjs → version-BxDhayli.mjs} +6 -6
  21. package/dist/{workspace-c9-TqXed.mjs → workspace-BKOAMeki.mjs} +1 -1
  22. package/package.json +1 -1
  23. package/skills/add-change/SKILL.md +1 -1
  24. package/dist/check-D3eXRyKJ.mjs +0 -92
  25. /package/dist/{ci-setup-D1NCzbNH.mjs → ci-setup-DWxrdSK6.mjs} +0 -0
  26. /package/dist/{commit-message-DOIfDxfj.mjs → commit-message-3e4KhzFV.mjs} +0 -0
  27. /package/dist/{init-DND7zRGD.mjs → init-CUIw0jg8.mjs} +0 -0
@@ -1,92 +0,0 @@
1
- import { n as log, o as __toESM, t as colorize } from "./logger-C2dEe5Su.mjs";
2
- import { a as loadConfig, o as loadPackageConfig, r as getBumpyDir } from "./config-CJIj8xG3.mjs";
3
- import { n as discoverWorkspace } from "./workspace-c9-TqXed.mjs";
4
- import { r as readBumpFiles, t as filterBranchBumpFiles } from "./bump-file-BTsntOO-.mjs";
5
- import { r as getChangedFiles } from "./git-D0__HP86.mjs";
6
- import { t as require_picomatch } from "./picomatch-TGJi--_I.mjs";
7
- import { relative } from "node:path";
8
- //#region src/commands/check.ts
9
- var import_picomatch = /* @__PURE__ */ __toESM(require_picomatch(), 1);
10
- /**
11
- * Local check: detect which packages have changed on this branch
12
- * and verify they have corresponding bump files.
13
- * Designed for pre-push hooks — no GitHub API needed.
14
- *
15
- * Default: at least one bump file must exist, uncovered packages are warned.
16
- * --strict: every changed package must be covered.
17
- * --no-fail: warn only, never exit 1.
18
- */
19
- async function checkCommand(rootDir, opts = {}) {
20
- const config = await loadConfig(rootDir);
21
- const { packages } = await discoverWorkspace(rootDir, config);
22
- const baseBranch = config.baseBranch;
23
- const changedFiles = getChangedFiles(rootDir, baseBranch);
24
- if (changedFiles.length === 0) {
25
- log.info("No changed files detected.");
26
- return;
27
- }
28
- const { bumpFiles: allBumpFiles, errors: parseErrors } = await readBumpFiles(rootDir);
29
- if (parseErrors.length > 0) {
30
- for (const err of parseErrors) log.error(err);
31
- process.exit(1);
32
- }
33
- const { branchBumpFiles, emptyBumpFileIds } = filterBranchBumpFiles(allBumpFiles, changedFiles, rootDir);
34
- if (emptyBumpFileIds.length > 0) {
35
- log.success("Empty bump file found — no releases needed.");
36
- return;
37
- }
38
- const coveredPackages = /* @__PURE__ */ new Set();
39
- for (const bf of branchBumpFiles) for (const release of bf.releases) coveredPackages.add(release.name);
40
- const changedPackages = await findChangedPackages(changedFiles, packages, rootDir, config);
41
- if (changedPackages.length === 0) {
42
- log.info("No managed packages have changed.");
43
- return;
44
- }
45
- const willFailNoBump = !opts.noFail;
46
- if (branchBumpFiles.length === 0) {
47
- (willFailNoBump ? log.error : log.warn)(`${changedPackages.length} changed package(s) missing bump files:\n`);
48
- for (const name of changedPackages) console.log(` ${colorize(name, "yellow")}`);
49
- console.log();
50
- log.dim("Run `bumpy add` to create a bump file, or `bumpy add --empty` if no release is needed.");
51
- log.dim("To adjust which files trigger change detection, set `changedFilePatterns` in .bumpy/_config.json.");
52
- if (willFailNoBump) process.exit(1);
53
- return;
54
- }
55
- const missing = changedPackages.filter((name) => !coveredPackages.has(name));
56
- if (missing.length === 0) {
57
- log.success(`🐸 All ${changedPackages.length} changed package(s) have bump files.`);
58
- return;
59
- }
60
- const willFailUncovered = opts.strict && !opts.noFail;
61
- (willFailUncovered ? log.error : log.warn)(`${missing.length} changed package(s) missing bump files:\n`);
62
- for (const name of missing) console.log(` ${colorize(name, "yellow")}`);
63
- if (branchBumpFiles.length > 0) {
64
- console.log();
65
- log.dim(`Existing bump files on this branch:`);
66
- for (const bf of branchBumpFiles) log.dim(` ${getBumpyDir(rootDir)}/${bf.id}.md`);
67
- }
68
- console.log();
69
- if (opts.strict) log.dim("Run `bumpy add` to create a bump file. Use bump type `none` for packages that changed but don't need a release.");
70
- else log.dim("Run `bumpy add` to create a bump file, or `bumpy add --empty` if no release is needed.");
71
- log.dim("To adjust which files trigger change detection, set `changedFilePatterns` in .bumpy/_config.json.");
72
- if (willFailUncovered) process.exit(1);
73
- }
74
- /** Map changed files to the packages they belong to */
75
- async function findChangedPackages(changedFiles, packages, rootDir, config) {
76
- const changed = /* @__PURE__ */ new Set();
77
- const matchers = /* @__PURE__ */ new Map();
78
- for (const [name, pkg] of packages) {
79
- const patterns = (await loadPackageConfig(pkg.dir, config, name)).changedFilePatterns ?? config.changedFilePatterns;
80
- matchers.set(name, (0, import_picomatch.default)(patterns));
81
- }
82
- for (const file of changedFiles) for (const [name, pkg] of packages) {
83
- const pkgRelDir = relative(rootDir, pkg.dir);
84
- if (file.startsWith(pkgRelDir + "/")) {
85
- const relToPackage = file.slice(pkgRelDir.length + 1);
86
- if (matchers.get(name)(relToPackage)) changed.add(name);
87
- }
88
- }
89
- return [...changed];
90
- }
91
- //#endregion
92
- export { checkCommand, findChangedPackages };
File without changes