Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove 'skuba release' command #1656

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .changeset/rotten-queens-swim.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
'skuba': major
---

release: Remove command

The `skuba release` command has been removed. If you were using it, install `semantic-release`, e.g. `pnpm i -D semantic-release` or `yarn add -D semantic-release`.
Then, replace your use of `skuba release` with `semantic-release --success false`:

```diff
- "release": "pnpm --silent build && skuba release",
+ "release": "pnpm --silent build && semantic-release --success false",
```

The reason for this change is that the `skuba release` command is a very thin wrapper over semantic-release, and many SEEK projects are moving to be powered by Changesets.
This removes skuba's bundle size for consumers who do not need the package, and allows skuba to maintain a longer support for Node.js LTS versions that semantic-release has historically dropped early.
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,6 @@
"prettier": "~3.3.0",
"prettier-plugin-packagejson": "^2.4.10",
"read-pkg-up": "^7.0.1",
"semantic-release": "^22.0.12",
"serialize-error": "^8.0.1",
"simple-git": "^3.5.0",
"strip-ansi": "^6.0.1",
Expand Down
277 changes: 118 additions & 159 deletions pnpm-lock.yaml

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion src/cli/configure/dependencies/skubaDeps.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ const DEV_DEPENDENCIES = [
'eslint',
'jest',
'prettier',
'semantic-release',
'ts-jest',
'ts-node',
'tsconfig-seek',
Expand Down
4 changes: 2 additions & 2 deletions src/cli/configure/modules/package.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ describe('packageModule', () => {
build: 'skuba build-package',
format: 'skuba format',
lint: 'skuba lint',
release: 'skuba release',
release: 'semantic-release --success false',
test: 'skuba test --coverage',
'test:watch': 'skuba test --watch',
},
Expand Down Expand Up @@ -203,7 +203,7 @@ describe('packageModule', () => {
build: 'skuba build-package',
format: 'skuba format',
lint: 'skuba lint',
release: 'yarn -s build && skuba release',
release: 'yarn -s build && semantic-release --success false',
start: 'my-custom-script',
test: 'skuba test --coverage',
'test:watch': 'skuba test --watch',
Expand Down
3 changes: 2 additions & 1 deletion src/cli/configure/modules/package.ts
Original file line number Diff line number Diff line change
Expand Up @@ -88,13 +88,14 @@ export const packageModule = async ({
outputData.scripts.release = [
outputData.scripts.prepublish,
outputData.scripts.prerelease,
outputData.scripts.release ?? 'skuba release',
outputData.scripts.release ?? 'semantic-release --success false',
]
.filter((script): script is string => typeof script === 'string')
.map((script) =>
script
.replace(/^smt build$/, `${packageManager.runSilent} build`)
.replace(/^smt /, 'skuba ')
.replace(/skuba release/, 'semantic-release --success false')
.trim(),
)
.filter(Boolean)
Expand Down
5 changes: 0 additions & 5 deletions src/cli/release.ts

This file was deleted.

1 change: 0 additions & 1 deletion src/utils/command.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ export const COMMAND_LIST = [
'lint',
'migrate',
'node',
'release',
'start',
'test',
'version',
Expand Down
3 changes: 2 additions & 1 deletion template/oss-npm-package/_package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"commit": "cz",
"format": "skuba format",
"lint": "skuba lint",
"release": "pnpm --silent build && skuba release",
"release": "pnpm --silent build && semantic-release --success false",
"test": "skuba test",
"test:ci": "skuba test --coverage",
"test:watch": "skuba test --watch"
Expand All @@ -36,6 +36,7 @@
"devDependencies": {
"@types/node": "^18.19.8",
"commitizen": "^4.2.4",
"semantic-release": "^24.1.0",
"skuba": "*"
},
"packageManager": "[email protected]",
Expand Down
5 changes: 3 additions & 2 deletions template/private-npm-package/_package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"commit": "cz",
"format": "skuba format",
"lint": "skuba lint",
"release": "pnpm --silent build && skuba release",
"release": "pnpm --silent build && semantic-release --success false",
"test": "skuba test --coverage",
"test:ci": "pnpm --silent test",
"test:watch": "skuba test --watch"
Expand All @@ -36,10 +36,11 @@
"devDependencies": {
"@types/node": "^18.19.8",
"commitizen": "^4.2.4",
"semantic-release": "^24.1.0",
"skuba": "*"
},
"packageManager": "[email protected]",
"engines": {
"node": ">=18.12"
"node": ">=20.8.1"
}
}