@catladder/cli 0.0.0-next-1c65899f → 0.0.0-next-2b60440e

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.
@@ -1,24 +1,27 @@
1
1
  # job images are addressed by a content hash of this directory — the
2
2
  # build must be reproducible, so every dependency is pinned exactly.
3
- # (@semantic-release/changelog@7 went ESM-only and broke overnight under
4
- # the CJS semantic-release@19 while the hash claimed "unchanged".)
5
- FROM node:22-alpine
3
+ # node:24 satisfies the newer plugins' engine requirements
4
+ # (@semantic-release/git and @semantic-release/changelog need node >=24.15).
5
+ FROM node:24-alpine
6
6
 
7
7
  RUN apk add --no-cache bash git git-lfs
8
8
 
9
9
  # add semantic release
10
- # NOTE: keep every plugin pinned to a major that is compatible with
11
- # semantic-release@19 (they declare `semantic-release` as a peer dependency).
12
- # Unpinned plugins drift to their latest major on image rebuild, which now
13
- # requires semantic-release>=20 and fails with "plugins configuration is invalid".
10
+ # NOTE: pin every dependency exactly. These are the semantic-release@25 line
11
+ # (all ESM — v25 loads plugins via dynamic import, so changelog@7/git@11 are
12
+ # fine). Every plugin declares `semantic-release` as a peer dependency, so a
13
+ # plugin major that outpaces the semantic-release major fails the release job
14
+ # with "plugins configuration is invalid" — bump them together. Upstream
15
+ # @semantic-release/git replaces the old panter fork; see
16
+ # scripts/semanticRelease for why the commit message is hardcoded.
14
17
  RUN yarn global add \
15
- semantic-release@19.0.5 \
18
+ semantic-release@25.0.8 \
16
19
  @semantic-release/commit-analyzer@13.0.1 \
17
20
  @semantic-release/release-notes-generator@14.1.1 \
18
- https://github.com/panter/git.git#b4037626cc583d3e9f7995ea0604b23730d0a22e \
19
- @semantic-release/changelog@6.0.3 \
20
- @semantic-release/gitlab@9.5.1 \
21
- @semantic-release/exec@6.0.3
21
+ @semantic-release/git@11.0.0 \
22
+ @semantic-release/changelog@7.0.0 \
23
+ @semantic-release/gitlab@13.3.3 \
24
+ @semantic-release/exec@7.1.0
22
25
 
23
26
  RUN mkdir -p /scripts
24
27
  COPY ./scripts/* /scripts/
@@ -77,8 +77,17 @@ if [ ! -e .releaserc ]; then
77
77
  ],
78
78
  "@semantic-release/release-notes-generator",
79
79
  "@semantic-release/changelog",
80
+ # message prefix hardcoded to "release" on purpose. Ideally this would be
81
+ # "chore(\${branch.type})", but upstream @semantic-release/git passes the
82
+ # branch *name* (not the object) into the template, so \${branch.type} is
83
+ # never available (see https://github.com/semantic-release/git/pull/213,
84
+ # open/ignored since 2020 — the README documents branch.type but the code
85
+ # never wired it up; the old panter fork existed only to patch this). On the
86
+ # default branch branch.type is always "release", and the pipeline
87
+ # loop-prevention rule keys on the literal "chore(release)" prefix, so keep
88
+ # this literal. Don't "fix" it back to \${branch.type}.
80
89
  ["@semantic-release/git", {
81
- "message": "chore(\${branch.type}): \${nextRelease.version}\n\n\${nextRelease.notes}"
90
+ "message": "chore(release): \${nextRelease.version}\n\n\${nextRelease.notes}"
82
91
  }]${PUBLISH_PLUGIN}
83
92
  ],
84
93
  "branches": [
@@ -1,24 +1,27 @@
1
1
  # job images are addressed by a content hash of this directory — the
2
2
  # build must be reproducible, so every dependency is pinned exactly.
3
- # (@semantic-release/changelog@7 went ESM-only and broke overnight under
4
- # the CJS semantic-release@19 while the hash claimed "unchanged".)
5
- FROM node:22-alpine
3
+ # node:24 satisfies the newer plugins' engine requirements
4
+ # (@semantic-release/git and @semantic-release/changelog need node >=24.15).
5
+ FROM node:24-alpine
6
6
 
7
7
  RUN apk add --no-cache bash git git-lfs
8
8
 
9
9
  # add semantic release
10
- # NOTE: keep every plugin pinned to a major that is compatible with
11
- # semantic-release@19 (they declare `semantic-release` as a peer dependency).
12
- # Unpinned plugins drift to their latest major on image rebuild, which now
13
- # requires semantic-release>=20 and fails with "plugins configuration is invalid".
10
+ # NOTE: pin every dependency exactly. These are the semantic-release@25 line
11
+ # (all ESM — v25 loads plugins via dynamic import, so changelog@7/git@11 are
12
+ # fine). Every plugin declares `semantic-release` as a peer dependency, so a
13
+ # plugin major that outpaces the semantic-release major fails the release job
14
+ # with "plugins configuration is invalid" — bump them together. Upstream
15
+ # @semantic-release/git replaces the old panter fork; see
16
+ # scripts/semanticRelease for why the commit message is hardcoded.
14
17
  RUN yarn global add \
15
- semantic-release@19.0.5 \
18
+ semantic-release@25.0.8 \
16
19
  @semantic-release/commit-analyzer@13.0.1 \
17
20
  @semantic-release/release-notes-generator@14.1.1 \
18
- https://github.com/panter/git.git#b4037626cc583d3e9f7995ea0604b23730d0a22e \
19
- @semantic-release/changelog@6.0.3 \
20
- @semantic-release/gitlab@9.5.1 \
21
- @semantic-release/exec@6.0.3
21
+ @semantic-release/git@11.0.0 \
22
+ @semantic-release/changelog@7.0.0 \
23
+ @semantic-release/gitlab@13.3.3 \
24
+ @semantic-release/exec@7.1.0
22
25
 
23
26
  RUN mkdir -p /scripts
24
27
  COPY ./scripts/* /scripts/
@@ -77,8 +77,17 @@ if [ ! -e .releaserc ]; then
77
77
  ],
78
78
  "@semantic-release/release-notes-generator",
79
79
  "@semantic-release/changelog",
80
+ # message prefix hardcoded to "release" on purpose. Ideally this would be
81
+ # "chore(\${branch.type})", but upstream @semantic-release/git passes the
82
+ # branch *name* (not the object) into the template, so \${branch.type} is
83
+ # never available (see https://github.com/semantic-release/git/pull/213,
84
+ # open/ignored since 2020 — the README documents branch.type but the code
85
+ # never wired it up; the old panter fork existed only to patch this). On the
86
+ # default branch branch.type is always "release", and the pipeline
87
+ # loop-prevention rule keys on the literal "chore(release)" prefix, so keep
88
+ # this literal. Don't "fix" it back to \${branch.type}.
80
89
  ["@semantic-release/git", {
81
- "message": "chore(\${branch.type}): \${nextRelease.version}\n\n\${nextRelease.notes}"
90
+ "message": "chore(release): \${nextRelease.version}\n\n\${nextRelease.notes}"
82
91
  }]${PUBLISH_PLUGIN}
83
92
  ],
84
93
  "branches": [
package/package.json CHANGED
@@ -53,7 +53,7 @@
53
53
  }
54
54
  ],
55
55
  "license": "MIT",
56
- "version": "0.0.0-next-1c65899f",
56
+ "version": "0.0.0-next-2b60440e",
57
57
  "scripts": {
58
58
  "lint": "eslint \"src/**/*.ts\"",
59
59
  "lint:fix": "eslint \"src/**/*.ts\" --fix",