Releases: seek-oss/skuba
skuba@11.0.1
eslint-config-skuba@6.1.0
Minor Changes
- deps: eslint-config-seek 14.5.0 (#1895)
skuba@11.0.0
This major release of skuba has a few breaking changes, all of which should be relatively easy to adapt your codebase to. Read the full release notes for details.
Key changes of this version:
.npmrc
settings for pnpm projects will be attempted to be automatically migrated topnpm-workspace.yaml
. Particular attention is needed for monorepos; read on.- Node.js 18.x is no longer supported.
- Templates now use simplified npm private access.
Major Changes
-
deps: Drop support for Node.js 18.x (#1874)
Node.js 18 reached EOL in April 2025. skuba’s minimum supported version is now Node.js 20.9.0.
For help upgrading projects to an LTS version of Node.js, reference the
skuba migrate
document. -
api: Delete comment when
GitHub.putIssueComment
is called with anull
body (#1880)This can be used to have comments that are only present when there is useful information to show. This mode will only work when used in conjunction with
internalId
, for safety. See the documentation for more details.This change is marked as breaking change because
GitHub.putIssueComment
can now returnnull
according to the types. This will only occur whenbody
isnull
. -
format, lint: Migrate
pnpm
projects to store settings inpnpm-workspace.yaml
instead of.npmrc
. (#1849)This change follows the
pnpm
recommendation inpnpm
version 10.As part of this change:
.npmrc
is back in skuba’s managed.gitignore
section- skuba will attempt to delete
.npmrc
and migrate its contents topnpm-workspace.yaml
. If any custom settings are found, they will be added but commented out for you to review and fix. - skuba will attempt to migrate references to
.npmrc
in Buildkite pipelines and Dockerfiles - skuba will attempt to upgrade to pnpm 10, if not already on this major version.
skuba may not be able to correctly migrate all projects. Check your project for changes that may have been missed, review and test the modified code as appropriate before releasing to production, and open an issue if your project files were corrupted by the migration.
Important: Monorepos with setups which do not run
skuba lint
in the workspace root will need manual action for this change. Either apply the changes by hand, or runskuba format
locally in the workspace root to apply the changes.
Minor Changes
-
template/*: Use simplified npm private access (#1858)
This change to templates removes
private-npm
andaws-sm
Buildkite plugins, instead using theGET_NPM_TOKEN
environment variable helper.Read more at skuba’s new npm guide.
-
format, lint: Remove
cdk.context.json
from managed.gitignore
(#1851)AWS CDK generates a
cdk.context.json
file when running commands likecdk synth
orcdk deploy
. This file is recommended to be included in source control.If this change is incompatible with your project's setup, manually add
cdk.context.json
back to your.gitignore
file, outside of the skuba-managed section. -
lint: Patch CDK snapshot tests to skip esbuild bundling (#1844)
Executing esbuild bundling during unit tests can be slow. This patch looks for
new App()
use ininfra
test files, and if found, replaces them withnew App({ context: { 'aws:cdk:bundling-stacks': [] } })
. This context instructs the AWS CDK to skip bundling for the test stack. -
format: Add
--force-apply-all-patches
flag (#1847)The new
skuba format --force-apply-all-patches
flag will apply all patches, even if skuba does not detect that you are upgrading to a new version. This can be useful for addressing regressions that previous patches would have fixed but were added to the code later.
Patch Changes
-
template/lambda-sqs-worker-cdk: Update SQS queues to have a 14 day retention period (#1859)
-
template/koa-rest-api: opentelemetry dependencies 2.x and 0.200.x (#1827)
-
template/lambda-sqs-worker-cdk: Update test to skip esbuild bundling by using the AWS CDK context key
aws:cdk:bundling-stacks
(#1844) -
deps: @octokit/types ^14.0.0 (#1872)
-
template/lambda-sqs-worker-cdk: Support expedited deployments (#1883)
This change to skuba’s CDK template allows skipping smoke tests when the Buildkite build that deploys the lambda has a
[skip smoke]
directive in the build message. See@seek/aws-codedeploy-hooks
for more details. -
test: Suppress warnings from
ts-jest
aboutisolatedModules
(#1862) -
lint: Add a missing log when detecting malformed CODEOWNERS files (#1839)
-
deps: semantic-release 24 (#1874)
eslint-config-skuba@6.0.0
Major Changes
-
deps: Drop support for Node.js 18.x (#1874)
Node.js 18 reached EOL in April 2025. skuba’s minimum supported version is now Node.js 20.9.0.
For help upgrading projects to an LTS version of Node.js, reference the
skuba migrate
document.
Patch Changes
- deps: eslint-config-seek 14.4.0 (#1842)
skuba@10.1.0
Minor Changes
-
lint: Automatically remove yarn
--ignore-optional
flags (#1834)This flag is no longer templated by skuba, having moved to pnpm, but was in the past. The use of this flag has started causing issues with some dependencies which declare optional dependencies for different platforms when using compiled binaries, with each marked as optional (but at least one being required).
This change uses heuristics, and may not find all use, or may remove false positives; you should review the changes.
Patch Changes
-
deps: pin eslint-config-seek to 14.3.2 (#1834)
This change sets skuba to use a known-good version of its dependency set that doesn't clash with the use of
yarn --ignore-optional
in skuba projects.This yarn flag is not recommended by skuba. A future version of skuba will revert this change, effectively removing support for the flag.
eslint-config-skuba@5.1.3
Patch Changes
-
deps: pin eslint-config-seek to 14.3.2 (#1834)
This change sets skuba to use a known-good version of its dependency set that doesn't clash with the use of
yarn --ignore-optional
in skuba projects.This yarn flag is not recommended by skuba. A future version of skuba will revert this change, effectively removing support for the flag.
skuba@10.0.4
Patch Changes
- migrate: Remove throw on not found
package.json
(#1832)
skuba@10.0.3
Patch Changes
-
deps: eslint-config-seek ^14.3.2 (#1830)
This version pins
eslint-plugin-import-x
to an older version, due to compatibility issues with the skuba ecosystem.
eslint-config-skuba@5.1.2
Patch Changes
-
deps: eslint-config-seek ^14.3.2 (#1830)
This version pins
eslint-plugin-import-x
to an older version, due to compatibility issues with the skuba ecosystem.
skuba@10.0.2
Patch Changes
- migrate: Remove auto upgrading
@types/node
version due to build pipeline constraints (#1820)