putitoutthere 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/README.md +10 -0
  2. package/action.yml +24 -0
  3. package/dist/action.d.ts +9 -0
  4. package/dist/action.d.ts.map +1 -0
  5. package/dist/action.js +19 -0
  6. package/dist/action.js.map +1 -0
  7. package/dist/cascade.d.ts +30 -0
  8. package/dist/cascade.d.ts.map +1 -0
  9. package/dist/cascade.js +92 -0
  10. package/dist/cascade.js.map +1 -0
  11. package/dist/cli.d.ts +10 -0
  12. package/dist/cli.d.ts.map +1 -0
  13. package/dist/cli.js +57 -0
  14. package/dist/cli.js.map +1 -0
  15. package/dist/completeness.d.ts +34 -0
  16. package/dist/completeness.d.ts.map +1 -0
  17. package/dist/completeness.js +121 -0
  18. package/dist/completeness.js.map +1 -0
  19. package/dist/config.d.ts +132 -0
  20. package/dist/config.d.ts.map +1 -0
  21. package/dist/config.js +128 -0
  22. package/dist/config.js.map +1 -0
  23. package/dist/git.d.ts +35 -0
  24. package/dist/git.d.ts.map +1 -0
  25. package/dist/git.js +98 -0
  26. package/dist/git.js.map +1 -0
  27. package/dist/glob.d.ts +15 -0
  28. package/dist/glob.d.ts.map +1 -0
  29. package/dist/glob.js +29 -0
  30. package/dist/glob.js.map +1 -0
  31. package/dist/handlers/crates.d.ts +8 -0
  32. package/dist/handlers/crates.d.ts.map +1 -0
  33. package/dist/handlers/crates.js +19 -0
  34. package/dist/handlers/crates.js.map +1 -0
  35. package/dist/handlers/index.d.ts +7 -0
  36. package/dist/handlers/index.d.ts.map +1 -0
  37. package/dist/handlers/index.js +22 -0
  38. package/dist/handlers/index.js.map +1 -0
  39. package/dist/handlers/npm.d.ts +7 -0
  40. package/dist/handlers/npm.d.ts.map +1 -0
  41. package/dist/handlers/npm.js +18 -0
  42. package/dist/handlers/npm.js.map +1 -0
  43. package/dist/handlers/pypi.d.ts +6 -0
  44. package/dist/handlers/pypi.d.ts.map +1 -0
  45. package/dist/handlers/pypi.js +17 -0
  46. package/dist/handlers/pypi.js.map +1 -0
  47. package/dist/index.d.ts +10 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +9 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/log.d.ts +31 -0
  52. package/dist/log.d.ts.map +1 -0
  53. package/dist/log.js +81 -0
  54. package/dist/log.js.map +1 -0
  55. package/dist/preflight.d.ts +30 -0
  56. package/dist/preflight.d.ts.map +1 -0
  57. package/dist/preflight.js +55 -0
  58. package/dist/preflight.js.map +1 -0
  59. package/dist/retry.d.ts +26 -0
  60. package/dist/retry.d.ts.map +1 -0
  61. package/dist/retry.js +91 -0
  62. package/dist/retry.js.map +1 -0
  63. package/dist/trailer.d.ts +26 -0
  64. package/dist/trailer.d.ts.map +1 -0
  65. package/dist/trailer.js +84 -0
  66. package/dist/trailer.js.map +1 -0
  67. package/dist/types.d.ts +73 -0
  68. package/dist/types.d.ts.map +1 -0
  69. package/dist/types.js +17 -0
  70. package/dist/types.js.map +1 -0
  71. package/dist/verbose.d.ts +47 -0
  72. package/dist/verbose.d.ts.map +1 -0
  73. package/dist/verbose.js +84 -0
  74. package/dist/verbose.js.map +1 -0
  75. package/dist/version.d.ts +27 -0
  76. package/dist/version.d.ts.map +1 -0
  77. package/dist/version.js +51 -0
  78. package/dist/version.js.map +1 -0
  79. package/package.json +58 -0
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Version bumper.
3
+ *
4
+ * Strict semver — no pre-release suffixes in v0 (plan.md §26.2 defers
5
+ * `-rc` / `-beta` / `-alpha` to v0.2). Pre-1.0 does *not* use the
6
+ * "breaking minor bumps" convention; 0.1.5 + minor is 0.2.0, not 1.0.0.
7
+ *
8
+ * Issue #8. Plan: §14.3 (bump semantics), §14.4 (first version).
9
+ */
10
+ // Strict: no leading v, no pre-release, no build metadata, no leading zeros.
11
+ const SEMVER = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/;
12
+ export function parseSemver(s) {
13
+ const m = SEMVER.exec(s);
14
+ if (!m) {
15
+ throw new Error(`invalid semver: ${s}`);
16
+ }
17
+ return {
18
+ major: Number(m[1]),
19
+ minor: Number(m[2]),
20
+ patch: Number(m[3]),
21
+ };
22
+ }
23
+ export function formatSemver(v) {
24
+ return `${v.major}.${v.minor}.${v.patch}`;
25
+ }
26
+ export function bump(lastVersion, bumpType) {
27
+ const v = parseSemver(lastVersion);
28
+ switch (bumpType) {
29
+ case 'patch':
30
+ return formatSemver({ ...v, patch: v.patch + 1 });
31
+ case 'minor':
32
+ return formatSemver({ major: v.major, minor: v.minor + 1, patch: 0 });
33
+ case 'major':
34
+ return formatSemver({ major: v.major + 1, minor: 0, patch: 0 });
35
+ default: {
36
+ // Runtime guard for callers that bypass the type system.
37
+ throw new Error(`unknown bump type: ${String(bumpType)}`);
38
+ }
39
+ }
40
+ }
41
+ /**
42
+ * First-release version. Uses `package.first_version` when set, else
43
+ * the repo-wide default of `0.1.0`. Either way the value is validated
44
+ * against strict semver so typos fail loud before we tag.
45
+ */
46
+ export function firstVersion(pkg) {
47
+ const candidate = pkg.first_version ?? '0.1.0';
48
+ parseSemver(candidate); // throws on invalid
49
+ return candidate;
50
+ }
51
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,6EAA6E;AAC7E,MAAM,MAAM,GAAG,4CAA4C,CAAC;AAE5D,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,OAAO,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,WAAmB,EAAE,QAAc;IACtD,MAAM,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IACnC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,YAAY,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;QACpD,KAAK,OAAO;YACV,OAAO,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACxE,KAAK,OAAO;YACV,OAAO,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,CAAC,CAAC;YACR,yDAAyD;YACzD,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,GAA+B;IAC1D,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC;IAC/C,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB;IAC5C,OAAO,SAAS,CAAC;AACnB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "putitoutthere",
3
+ "version": "0.0.1",
4
+ "description": "Polyglot release orchestrator for crates.io, PyPI, and npm",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/thekevinscott/put-it-out-there.git"
9
+ },
10
+ "type": "module",
11
+ "main": "./dist/index.js",
12
+ "types": "./dist/index.d.ts",
13
+ "exports": {
14
+ ".": {
15
+ "types": "./dist/index.d.ts",
16
+ "import": "./dist/index.js"
17
+ }
18
+ },
19
+ "bin": {
20
+ "putitoutthere": "./dist/cli.js"
21
+ },
22
+ "files": [
23
+ "dist",
24
+ "action.yml",
25
+ "README.md"
26
+ ],
27
+ "engines": {
28
+ "node": ">=20"
29
+ },
30
+ "scripts": {
31
+ "build": "tsc -p tsconfig.build.json",
32
+ "build:action": "ncc build src/action.ts -o dist-action --minify",
33
+ "lint": "eslint src",
34
+ "lint:fix": "eslint src --fix",
35
+ "typecheck": "tsc --noEmit",
36
+ "test:unit": "vitest run",
37
+ "test:unit:watch": "vitest",
38
+ "test:unit:coverage": "vitest run --coverage",
39
+ "test:integration": "echo 'integration suite lands in tests/integration/ via #27' && exit 0",
40
+ "test:e2e": "echo 'e2e suite lands in tests/e2e/ via #28' && exit 0"
41
+ },
42
+ "devDependencies": {
43
+ "@eslint/js": "^9.12.0",
44
+ "@types/node": "^20.16.0",
45
+ "@vercel/ncc": "^0.38.0",
46
+ "@vitest/coverage-v8": "^2.1.0",
47
+ "eslint": "^9.12.0",
48
+ "typescript": "^5.6.0",
49
+ "typescript-eslint": "^8.8.0",
50
+ "vitest": "^2.1.0"
51
+ },
52
+ "packageManager": "pnpm@9.12.0",
53
+ "dependencies": {
54
+ "minimatch": "^10.2.5",
55
+ "smol-toml": "^1.6.1",
56
+ "zod": "^4.3.6"
57
+ }
58
+ }