Skip to content

Commit

Permalink
💥 (semantic-release) major upgrades [b] (#1491)
Browse files Browse the repository at this point in the history
Since these are all intertwined, do them all at once and upgrade accordingly.

## Packages

### Upgrade

- [x] semantic-release@24
  - <https://semantic-release.gitbook.io/semantic-release>
  - <https://github.com/semantic-release/semantic-release>
- [x] @semantic-release/commit-analyzer@13
  - <https://github.com/semantic-release/commit-analyzer>
- [x] conventional-commits-parser@6
  - <https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-commits-parser>
- [x] conventional-commits-filter@5
  - <https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-commits-filter>

### Remove

- ~~@semantic-release/git~~ (Keep)
- [x] @semantic-release/github
- [x] @semantic-release/npm
- [x] @semantic-release/release-notes-generator
- [x] semantic-release-commit-filter

Still have the issue with #744 but put in some better (commented out for now) debugging to finally figure this out.

Not _100%_ sure that every package now doesn't just grip _every_ commit across the monorepo, but we will see. There are worse things I guess. And **changesets** seems to ... you know what I will stop there. 😂
  • Loading branch information
kodiakhq[bot] authored Jun 23, 2024
2 parents 4a3abe9 + 887948d commit 4d20d21
Show file tree
Hide file tree
Showing 14 changed files with 128 additions and 244 deletions.
2 changes: 1 addition & 1 deletion config/lighthouse-config/src/lighthouse.config.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ const config = ({ website }) => ({
},
// Don't run certain audits
skipAudits: ['redirects-http'],
startServerCommand: `TURBO_TELEMETRY_DISABLED=1 pnpm turbo run start --filter="${website}"`,
startServerCommand: `pnpm turbo run start --filter="${website}"`,
startServerReadyPattern:
'ready - started server on 0.0.0.0:3000, url: http://localhost:3000',
url: ['http://localhost:3000'],
Expand Down
27 changes: 14 additions & 13 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,29 +14,30 @@
"node": ">=20"
},
"scripts": {
"build": "TURBO_TELEMETRY_DISABLED=1 turbo run build --filter=[HEAD^1]",
"build:all": "TURBO_TELEMETRY_DISABLED=1 turbo run build",
"clean": "TURBO_TELEMETRY_DISABLED=1 turbo run clean --filter=[HEAD^1]",
"clean:all": "TURBO_TELEMETRY_DISABLED=1 turbo run clean",
"clean:install": "TURBO_TELEMETRY_DISABLED=1 turbo run clean && ./scripts/clean.sh",
"build": "turbo run build --filter=[HEAD^1]",
"build:all": "turbo run build",
"clean": "turbo run clean --filter=[HEAD^1]",
"clean:all": "turbo run clean",
"clean:install": "turbo run clean && ./scripts/clean.sh",
"commit": "ALLOW_EMPTY=--allow-empty git commit --allow-empty",
"dev": "TURBO_TELEMETRY_DISABLED=1 turbo run dev --no-cache --parallel --continue",
"dev": "turbo run dev --no-cache --parallel --continue",
"format": "pnpm run format:prettier:write",
"format:lint": "TURBO_TELEMETRY_DISABLED=1 turbo run format:lint",
"format:lint": "turbo run format:lint",
"format:prettier:base": "prettier . --ignore-unknown",
"format:prettier:check": "pnpm format:prettier:base --check",
"format:prettier:write": "pnpm format:prettier:base --write",
"generate:releaseRules": "node ./packages/semantic/scripts/generateReleaseRules.js && pnpm run format:lint",
"lint": "TURBO_TELEMETRY_DISABLED=1 turbo run lint --filter=[HEAD^1]",
"lint:all": "TURBO_TELEMETRY_DISABLED=1 turbo run lint",
"lint": "turbo run lint --filter=[HEAD^1]",
"lint:all": "turbo run lint",
"lint:packages": "syncpack lint",
"preinstall": "npx only-allow pnpm",
"prepare": "is-ci || husky",
"semantic-release": "pnpm semantic-release:mono",
"semantic-release:dry": "TURBO_TELEMETRY_DISABLED=1 pnpm turbo run build --filter=\"@jeromefitz/semantic\" && pnpm --filter=\"@jeromefitz/*\" --filter=\"ccommit\" -r --workspace-concurrency=1 exec -- npx --no-install semantic-release --dry-run",
"semantic-release:mono": "TURBO_TELEMETRY_DISABLED=1 pnpm turbo run build --filter=\"@jeromefitz/semantic\" && pnpm --filter=\"@jeromefitz/*\" --filter=\"ccommit\" -r --workspace-concurrency=1 exec -- npx --no-install semantic-release",
"semantic-release:dry": "pnpm semantic-release:mono --dry-run",
"semantic-release:mono": "pnpm turbo run build --filter=\"@jeromefitz/semantic\" && pnpm --filter=\"@jeromefitz/*\" --filter=\"ccommit\" -r --workspace-concurrency=1 exec -- npx --no-install semantic-release",
"test": "turbo run test --filter=[HEAD^1]",
"test:all": "turbo run test"
"test:all": "turbo run test",
"turbo": "TURBO_TELEMETRY_DISABLED=1 turbo"
},
"dependencies": {
"@jeromefitz/conventional-gitmoji": "workspace:*",
Expand All @@ -54,7 +55,7 @@
"is-ci": "3.0.1",
"lint-staged": "15.2.7",
"lodash": "4.17.21",
"semantic-release": "23.0.8",
"semantic-release": "24.0.0",
"syncpack": "12.3.2",
"tsup": "8.1.0",
"turbo": "2.0.4",
Expand Down
1 change: 0 additions & 1 deletion packages/conventional-gitmoji/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@
},
"devDependencies": {
"@types/lodash": "4.17.5",
"@types/semantic-release": "20.0.6",
"@types/title": "3.4.3",
"gitmojis": "3.14.0",
"lodash": "4.17.21"
Expand Down
5 changes: 2 additions & 3 deletions packages/release-notes-generator/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,14 @@
},
"dependencies": {
"@octokit/rest": "21.0.0",
"conventional-commits-filter": "4.0.0",
"conventional-commits-parser": "5.0.0",
"conventional-commits-filter": "5.0.0",
"conventional-commits-parser": "6.0.0",
"date-fns": "3.6.0",
"import-from-esm": "1.3.4",
"read-package-up": "11.0.0",
"semver": "7.6.2"
},
"devDependencies": {
"@types/conventional-commits-parser": "5.0.0",
"@types/lodash": "4.17.5",
"lodash": "4.17.21"
},
Expand Down
1 change: 1 addition & 0 deletions packages/release-notes-generator/release.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ const { name } = pkg
const branches = [
...configDefault.branches,
{ name: 'NICE-70', prerelease: 'canary' },
{ name: 'feat/semantic-esm', prerelease: 'canary' },
]

const configPassed = {
Expand Down
45 changes: 21 additions & 24 deletions packages/release-notes-generator/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { URL, format } from 'url'
import { URL, format } from 'node:url'

import conventionalCommitsFilter from 'conventional-commits-filter'
import { sync as conventionalCommitsParser } from 'conventional-commits-parser'
import { filterRevertedCommitsSync } from 'conventional-commits-filter'
import { CommitParser } from 'conventional-commits-parser'
import _merge from 'lodash/merge.js'
import { readPackageUp } from 'read-package-up'

Expand All @@ -28,9 +28,9 @@ const configGithub = {
],
}

// @todo(complexity) 17
// eslint-disable-next-line complexity
async function generateNotes(pluginConfig, context) {
// const { parserOpts, writerOpts } = pluginConfig
const { parserOpts, writerOpts } = await getChangelogConfig(pluginConfig, context)
const { commits: commitsPassed, cwd, lastRelease, nextRelease, options } = context

Expand Down Expand Up @@ -83,27 +83,24 @@ async function generateNotes(pluginConfig, context) {
},
)

const commitsParsed = conventionalCommitsFilter(
commitsPassed
.filter(({ message }) => {
if (!message.trim()) {
return false
}
return true
})
.map((commitRaw) => {
const commitPassed = {
...commitRaw,
...conventionalCommitsParser(commitRaw.message, {
issuePrefixes,
referenceActions,
...parserOpts,
}),
}
return commitPassed
}),
)
const commitsParsed: any = []
const parser = new CommitParser({
issuePrefixes,
referenceActions,
...parserOpts,
})

for (const _commit of filterRevertedCommitsSync(commitsPassed)) {
const commit: any = _commit
if (!commit?.message.trim()) {
return false
}
const commitPassed = {
...commit,
...parser.parse(commit?.message),
}
commitsParsed.push(commitPassed)
}
let commits: any = []
await commitsParsed.map(async (commitParsed) => {
const commitProcessed: any = await processCommit(
Expand Down
7 changes: 7 additions & 0 deletions packages/release-notes-generator/src/templates/commit.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,13 @@ const commit = (context, commits, meta) => {
commitGroups.map((commitGroup) => {
const { commits } = commitGroup
const type = commits[0]?.type
// // @todo(#744) analytics -vs- deps-dev
// console.dir(`> commit :: commitGroup`)
// console.dir(commits)
// console.dir(`-`)
// console.dir(type)
// console.dir(`---`)

markdown += `#### ${type}\n`
commits.map((commit) => {
const { hash, header, references, scope, subject } = commit
Expand Down
8 changes: 6 additions & 2 deletions packages/release-notes-generator/src/utils/generate.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import conventionalCommitsFilter from 'conventional-commits-filter'
import { filterRevertedCommitsSync } from 'conventional-commits-filter'
import _clone from 'lodash/clone.js'
import _forEach from 'lodash/forEach.js'
import _map from 'lodash/map.js'
Expand All @@ -12,7 +12,11 @@ function generate(options, commits, context, keyCommit) {
let filteredCommits

if (options.ignoreReverted) {
filteredCommits = conventionalCommitsFilter(commits)
for (const commit of filterRevertedCommitsSync(commits)) {
// console.dir(`>> generate :: filterRevertedCommitsSync`)
// console.log(commit)
filteredCommits.push(commit)
}
} else {
filteredCommits = _clone(commits)
}
Expand Down
3 changes: 3 additions & 0 deletions packages/release-notes-generator/src/utils/getCommitGroups.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ function getCommitGroups(groupBy, commits, commitGroupsSort, commitsSort) {

if (commitGroupsSort) {
commitGroups = _orderBy(commitGroups, commitGroupsSort)
// // @todo(#744) analytics -vs- deps-dev
// console.dir(`>> commitGroupsSort`)
// console.dir(commitGroups)
}

return commitGroups
Expand Down
4 changes: 2 additions & 2 deletions packages/release-notes-generator/src/utils/getExtraContent.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import getCommitGroups from './getCommitGroups'
import getNoteGroups from './getNoteGroups'
import getCommitGroups from './getCommitGroups.js'
import getNoteGroups from './getNoteGroups.js'

function getExtraContext(commits, notes, options) {
const context: any = {}
Expand Down
8 changes: 1 addition & 7 deletions packages/semantic/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,18 +35,12 @@
"@jeromefitz/conventional-gitmoji": "^4.0.0"
},
"dependencies": {
"@semantic-release/commit-analyzer": "12.0.0",
"@semantic-release/git": "10.0.1",
"@semantic-release/github": "10.0.6",
"@semantic-release/npm": "12.0.1",
"@semantic-release/release-notes-generator": "13.0.0",
"semantic-release": "23.0.8",
"semantic-release-commit-filter": "1.0.2",
"semantic-release": "24.0.0",
"title": "3.5.3"
},
"devDependencies": {
"@jeromefitz/conventional-gitmoji": "workspace:*",
"@types/semantic-release": "20.0.6",
"@types/title": "3.4.3"
},
"publishConfig": {
Expand Down
6 changes: 6 additions & 0 deletions packages/semantic/release.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,14 @@ const pkg = require('./package.json')

const { name } = pkg

const branches = [
...configDefault.branches,
{ name: 'feat/semantic-esm', prerelease: 'canary' },
]

const configPassed = {
...configDefault,
branches,
tagFormat: `${name}@\${version}`,
}

Expand Down
1 change: 0 additions & 1 deletion packages/semantic/src/getConfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ const getConfig = (configPassed = {}): SemanticReleaseOptions => {
// const configInit: SemanticReleaseOptions = {
const configInit: any = {
branches: [{ name: 'main' }, { name: 'canary', prerelease: 'canary' }],
extends: ['semantic-release-commit-filter'],
plugins,
tagFormat: `v\${version}`,
}
Expand Down
Loading

0 comments on commit 4d20d21

Please sign in to comment.