Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
skuba@9.0.0
skuba 9 is a reasonably large release but it shouldn't be too much trouble to upgrade.
The main changes are:
skuba format
should handle most of the work)ts-node
fortsx
Read the full changelog:
Major Changes
deps: ESLint 9 +
typescript-eslint
8 (#1537)This major upgrade bundles the following changes:
Migration to flat config format
skuba format
will attempt to migrate your existing.eslintignore
and.eslintrc.js
files to a flateslint.config.js
file.See the migration guide for more information.
Some lint rules have been changed or renamed
You will likely need to manually review and adjust your code after running
skuba lint
.eslint-plugin-import
has been replaced witheslint-plugin-import-x
To migrate, replace references to
eslint-plugin-import
witheslint-plugin-import-x
, andimport/
rules withimport-x/
.Wider changes may be necessary if your project has a custom ESLint configuration. Refer to the following resources to get started:
typescript-eslint
8node, start: Replace
ts-node
withtsx
(#1623)skuba node
andskuba start
now usetsx
instead ofts-node
to execute TypeScript files.tsx
improves support for ESM features like dynamicimport()
s. However, if you use its REPL by runningskuba node
without any arguments, there are a couple regressions to note:import
declarations are no longer supported. Userequire
andawait import()
instead..editor
mode.skuba node <file>
andskuba start
should continue to work as expected, but we have marked this as a major upgrade as it is difficult to comprehensively test every scenario. We strongly recommend to manually verify usage ofskuba node
andskuba start
when you upgrade.Minor Changes
format, lint: Point Docker base images to AWS ECR Public and remove constant
--platform
arguments (#1684)This updates references to
node:
orpython:
Docker images in your Dockerfiles anddocker-compose.yml
files to point to AWS ECR Public to avoid Docker Hub rate limiting. It also removes constant--platform
arguments from Dockerfiles.Your Dockerfiles may not be set up to build multi-platform images, so keep in mind that building them locally on an Intel x86 laptop may not yield images that can execute on AWS Graviton instances.
format, lint: Remove obsolete
version
field fromdocker-compose.yml
files (#1638)format, lint, template: Mount Buildkite
.npmrc
in/tmp/
rather than<workdir>/tmp/
(#1693)This avoids accidental inclusion in Git commits or published artifacts, as per the original intent of this handling.
deps: TypeScript 5.6 (#1655)
This major release includes breaking changes. See the TypeScript 5.6 announcement for more information.
format, lint: Fix duplicated YAML merge keys in
.buildkite/
pipelines (#1537)This change supports standardised YAML parsing across tools such as ESLint; it should not functionally alter the behaviour of your build pipeline.
The bundled patch is fairly conservative and will not attempt to migrate more complex scenarios, such as where there are other keys between the merge keys. Take care with preserving the order of merge keys when manually updating other occurrences.
format, lint: Remove logic to skip autofixing Renovate branches when there is no open pull request (#1687)
Previously, this was put in place to prevent an issue where a Renovate branch could get stuck in an
Edited/Blocked
state without a pull request being raised.skuba's default autofix commits are now ignored in our recommended Renovate configuration.
Patch Changes
template/koa-rest-api: Switch from
koa-bodyparser
to@koa/bodyparser
(#1605)template/koa-rest-api: Enable secure headers middleware by default (#1601)
See the Koala documentation for more information.
template/lambda-sqs-worker-cdk: Comply with AWS tagging guidance (#1643)
api: Truncate Buildkite annotations over 1 MiB to resolve
buildkite-agent
crash (#1645)deps: validate-npm-package-name ^6.0.0 (#1682)
deps: normalize-package-data ^7.0.0 (#1681)
deps: esbuild ~0.24.0 (#1671)
deps: concurrently ^9.0.0 (#1666)
template/lambda-sqs-worker-cdk: Replace custom hooks with
@seek/aws-codedeploy-infra
(#1644)template: Point Docker base images to AWS ECR Public and remove constant
--platform
arguments (#1684)eslint-config-skuba@5.0.0
Major Changes
ESLint 9 +
typescript-eslint
8 +eslint-config-seek
14 (#1537)This major upgrade bundles the following changes:
Migration to flat config format
See the migration guide for more information.
Some lint rules have been changed or renamed
You will likely need to manually review and adjust your code after running ESLint.
eslint-plugin-import
has been replaced witheslint-plugin-import-x
To migrate, replace references to
eslint-plugin-import
witheslint-plugin-import-x
, andimport/
rules withimport-x/
.Wider changes may be necessary if your project has a custom ESLint configuration. Refer to the following resources to get started:
typescript-eslint
8Minor Changes
@typescript-eslint/only-throw-error
in test files (#1689)