#7 next - #86
Conversation
There was a problem hiding this comment.
Pull request overview
Extends dependency compatibility and branch-name parsing.
Changes:
- Adds
angular-eslintv22 peer support. - Accepts branch names without
#, with corresponding tests.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
packages/eslint-config-recommended/package.json |
Expands Angular ESLint compatibility. |
packages/branch-utilities/src/lib/base.utils.ts |
Makes the issue-number marker optional. |
packages/branch-utilities/src/lib/base.utils.spec.ts |
Tests no-hash branch formats. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| }, | ||
| "peerDependencies": { | ||
| "angular-eslint": "^20.5.1 || ^21.0.0" | ||
| "angular-eslint": "^20.5.1 || ^21.0.0 || ^22.0.0" |
- @shiftcode/branch-utilities@6.1.0-pr7.0 - @shiftcode/eslint-config-recommended@7.0.1-pr7.0 - @shiftcode/iac-utilities@1.0.2-pr7.0 - @shiftcode/publish-helper@6.0.1-pr7.0
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 6 out of 7 changed files in this pull request and generated 1 comment.
Suppressed comments (3)
packages/publish-helper/package.json:28
- This prerelease dependency does not satisfy the published peer range on line 32: semver excludes
6.1.0-pr7.0from both^6.0.0and^6.0.0-pr254. Becauseprepare-distremovesdevDependencies, consumers installing the PR versions together receive an incompatible peer declaration. Add^6.1.0-pr7.0to the peer range and regenerate the lockfile.
"@shiftcode/branch-utilities": "^6.1.0-pr7.0",
packages/iac-utilities/package.json:57
- This prerelease dependency does not satisfy the published peer range on line 67: semver excludes
6.1.0-pr7.0from both^6.0.0and^6.0.0-pr254. Consumers installing the PR versions together can therefore encounter an incompatible optional peer declaration. Add^6.1.0-pr7.0to the peer range and regenerate the lockfile.
"@shiftcode/branch-utilities": "^6.1.0-pr7.0",
packages/eslint-config-recommended/package.json:43
angular-eslint22 requires the ESLint 10 peer, but this package installs ESLint^9.37.0(and an ESLint-9-eratypescript-eslintstack). Advertising^22.0.0therefore creates a peer combination that npm cannot resolve. Remove the v22 range for now, or upgrade and validate the complete ESLint stack before claiming v22 support.
"angular-eslint": "^20.5.1 || ^21.0.0 || ^22.0.0"
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 6 out of 7 changed files in this pull request and generated no new comments.
Suppressed comments (1)
packages/branch-utilities/src/lib/base.utils.ts:156
- The convention name contains a typo: “kebap-case” should be “kebab-case.”
`given branch name ${branchName} does not match our convention #<one or more digit>-<branch-name-with-kebap-case> (# is optional, feat/123-foo-bar is also valid)`,
- @shiftcode/branch-utilities@6.1.0-pr7.1 - @shiftcode/eslint-config-recommended@7.0.1-pr7.1 - @shiftcode/iac-utilities@1.0.2-pr7.1 - @shiftcode/publish-helper@6.0.1-pr7.1
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 6 out of 7 changed files in this pull request and generated no new comments.
Suppressed comments (3)
packages/iac-utilities/package.json:57
- The newly selected
6.1.0-pr7.1dependency does not satisfy this package's unchanged peer range (^6.0.0 || ^6.0.0-pr254). npm semver ranges exclude prereleases with a different base tuple, so consumers installing these PR versions together can hit a peer-dependency conflict. Extend the peer range to include^6.1.0-pr7.1and regenerate the lockfile.
"@shiftcode/branch-utilities": "^6.1.0-pr7.1",
packages/publish-helper/package.json:28
- The newly selected
6.1.0-pr7.1dependency does not satisfy this package's unchanged peer range (^6.0.0 || ^6.0.0-pr254). npm semver ranges exclude prereleases with a different base tuple, so consumers installing these PR versions together can hit a peer-dependency conflict. Extend the peer range to include^6.1.0-pr7.1and regenerate the lockfile.
"@shiftcode/branch-utilities": "^6.1.0-pr7.1",
packages/branch-utilities/src/lib/base.utils.ts:156
- Correct the misspelling of “kebab-case” in the updated validation error.
`given branch name ${branchName} does not match our convention #<one or more digit>-<branch-name-with-kebap-case> (# is optional, feat/123-foo-bar is also valid)`,
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 7 out of 8 changed files in this pull request and generated 1 comment.
Suppressed comments (4)
packages/eslint-config-recommended/package.json:43
- This drops support for angular-eslint 20 and 21.0–21.2, but the package version is only moving from 7.0.0 to a 7.0.1 prerelease. That is a breaking peer contract; this repository previously recorded raised Angular ESLint minimums as breaking major releases (for example,
packages/eslint-config-recommended/CHANGELOG.md:79-84). Publish this under the next major version, or retain the previous supported range.
"angular-eslint": "^21.3.0 || ^22.0.0"
packages/iac-utilities/package.json:57
- The new dev version
6.1.0-pr7.1does not satisfy this package's unchanged peer range^6.0.0 || ^6.0.0-pr254: npm semver excludes prereleases whose major/minor/patch tuple is not explicitly included. If the optional peer is installed alongside these PR packages, it is reported as incompatible. Add a 6.1.0 prerelease comparator to the peer range and regenerate the lockfile.
"@shiftcode/branch-utilities": "^6.1.0-pr7.1",
packages/branch-utilities/src/lib/base.utils.ts:156
- The updated error says the suffix must use kebab-case, but the parser does not enforce that:
.*accepts arbitrary or empty text, and the test atbase.utils.spec.ts:95explicitly accepts a leading space. This directs users to fix a constraint that was not actually violated (and “kebap” is misspelled). Either enforce the stated convention in the regex or describe only the syntax that is validated.
`given branch name ${branchName} does not match our convention #<one or more digit>-<branch-name-with-kebap-case> (# is optional, feat/123-foo-bar is also valid)`,
packages/publish-helper/package.json:28
- The new dev version
6.1.0-pr7.1does not satisfy this package's unchanged peer range^6.0.0 || ^6.0.0-pr254: npm semver excludes prereleases whose major/minor/patch tuple is not explicitly included. Consumers combining these PR packages will get an incompatible peer declaration. Add a 6.1.0 prerelease comparator to the peer range and regenerate the lockfile.
"@shiftcode/branch-utilities": "^6.1.0-pr7.1",
| '@angular-eslint/template/no-negated-async': 'error', | ||
| '@angular-eslint/template/no-empty-control-flow': 'error', | ||
| '@angular-eslint/template/prefer-at-empty': 'error', | ||
| '@angular-eslint/template/prefer-class-binding': 'error', |
BREAKING CHANGE: - now requires angular-eslint@^21.3 - new rules enabled: - @angular-eslint/computed-must-return - @angular-eslint/template/prefer-class-binding - @angular-eslint/template/no-non-null-assertion
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 7 out of 8 changed files in this pull request and generated 2 comments.
Suppressed comments (2)
packages/eslint-config-recommended/package.json:3
- The peer change drops all Angular ESLint 20 consumers, so releasing it on the
7.0.1patch line creates an incompatible update for existing 7.x users. This repository previously treated increases to the minimum Angular ESLint version as major changes (packages/eslint-config-recommended/CHANGELOG.md:75-84and96-104). Retain Angular ESLint 20 compatibility or publish this as the 8.0.0 prerelease line.
"version": "7.0.1-pr7.1",
packages/branch-utilities/src/lib/base.utils.ts:156
- The branch-name convention is spelled “kebab-case,” not “kebap-case,” in this user-facing error.
`given branch name ${branchName} does not match our convention #<one or more digit>-<branch-name-with-kebap-case> (# is optional, feat/123-foo-bar is also valid)`,
| }, | ||
| "devDependencies": { | ||
| "@shiftcode/branch-utilities": "^6.0.0", | ||
| "@shiftcode/branch-utilities": "^6.1.0-pr7.1", |
| "@aws-sdk/credential-providers": "^3.204.0", | ||
| "@aws-sdk/types": "^3.201.0", | ||
| "@shiftcode/branch-utilities": "^6.0.0", | ||
| "@shiftcode/branch-utilities": "^6.1.0-pr7.1", |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 7 out of 8 changed files in this pull request and generated no new comments.
Suppressed comments (2)
packages/branch-utilities/src/lib/base.utils.ts:156
- The updated error message contains the misspelling “kebap”; the branch naming style is “kebab-case.”
`given branch name ${branchName} does not match our convention #<one or more digit>-<branch-name-with-kebap-case> (# is optional, feat/123-foo-bar is also valid)`,
packages/eslint-config-recommended/package.json:3
- This is a breaking release, not a patch: the peer range now drops Angular ESLint 20 and 21.0–21.2, and the shared config adds new error-level rules that can fail existing consumers. Publish this as the next major version and regenerate the lockfile. The repository has previously treated a minimum Angular ESLint peer increase as breaking (
packages/eslint-config-recommended/CHANGELOG.md:82-84).
"version": "7.0.1-pr7.1",
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 9 changed files in this pull request and generated 1 comment.
Suppressed comments (3)
packages/publish-helper/package.json:28
^6.1.0-pr7.1does not satisfy the existing peer range on line 32: semver excludes prereleases unless a comparator has the same6.1.0core version. Installing these prerelease packages together can therefore produce a peer-dependency conflict. Include this prerelease in the declared peer range.
"@shiftcode/branch-utilities": "^6.1.0-pr7.1",
packages/iac-utilities/package.json:57
^6.1.0-pr7.1does not satisfy the existing peer range on line 67: semver excludes prereleases unless a comparator has the same6.1.0core version. Installing these prerelease packages together can therefore produce a peer-dependency conflict. Include this prerelease in the declared peer range.
"@shiftcode/branch-utilities": "^6.1.0-pr7.1",
packages/branch-utilities/src/lib/base.utils.ts:156
- Correct the spelling of “kebap” to “kebab” in the updated error message.
`given branch name ${branchName} does not match our convention #<one or more digit>-<branch-name-with-kebap-case> (# is optional, feat/123-foo-bar is also valid)`,
| }, | ||
| "peerDependencies": { | ||
| "angular-eslint": "^20.5.1 || ^21.0.0" | ||
| "angular-eslint": "^21.3.0 || ^22.0.0" |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 9 changed files in this pull request and generated no new comments.
Suppressed comments (3)
packages/iac-utilities/package.json:57
- This prerelease does not satisfy the package's existing peer range (
^6.0.0 || ^6.0.0-pr254): semver excludes prereleases whose major/minor/patch tuple is not named by a comparator. The package is therefore developed against6.1.0-pr7.1while declaring that version unsupported to consumers. Include this prerelease tuple in the peer range.
"@shiftcode/branch-utilities": "^6.1.0-pr7.1",
packages/publish-helper/package.json:28
- This prerelease does not satisfy the package's existing peer range (
^6.0.0 || ^6.0.0-pr254): semver excludes prereleases whose major/minor/patch tuple is not named by a comparator. As a result, the package is tested against6.1.0-pr7.1but consumers installing that same runtime peer get an unsatisfied-peer warning/error. Add this prerelease tuple to the peer range as part of the coordinated release.
"@shiftcode/branch-utilities": "^6.1.0-pr7.1",
packages/branch-utilities/src/lib/base.utils.ts:156
- The convention is spelled “kebab-case,” not “kebap-case.”
`given branch name ${branchName} does not match our convention #<one or more digit>-<branch-name-with-kebap-case> (# is optional, feat/123-foo-bar is also valid)`,
- @shiftcode/airtable-syncer@1.0.2-pr7.0 - @shiftcode/branch-utilities@6.1.0-pr7.2 - @shiftcode/eslint-config-recommended@8.0.0-pr7.0 - @shiftcode/iac-utilities@1.0.2-pr7.2 - @shiftcode/publish-helper@6.0.1-pr7.2
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 9 out of 10 changed files in this pull request and generated 2 comments.
Suppressed comments (1)
packages/branch-utilities/src/lib/base.utils.ts:156
- The convention name is misspelled as “kebap-case”; the standard spelling is “kebab-case”.
`given branch name ${branchName} does not match our convention #<one or more digit>-<branch-name-with-kebap-case> (# is optional, feat/123-foo-bar is also valid)`,
| }, | ||
| "devDependencies": { | ||
| "@shiftcode/branch-utilities": "^6.0.0", | ||
| "@shiftcode/branch-utilities": "^6.1.0-pr7.2", |
| "@aws-sdk/credential-providers": "^3.204.0", | ||
| "@aws-sdk/types": "^3.201.0", | ||
| "@shiftcode/branch-utilities": "^6.0.0", | ||
| "@shiftcode/branch-utilities": "^6.1.0-pr7.2", |
No description provided.