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 contains the following updates:
12.0.2
->12.1.1
Release Notes
seek-oss/skuba (skuba)
v12.1.1
Compare Source
Patch Changes
v12.1.0
Compare Source
Minor Changes
lint: Update
publicHoistPattern
list inpnpm-workspace.yaml
(#1959)lint: Add
skuba/no-sync-in-promise-iterable
rule (#1969)skuba/no-sync-in-promise-iterable
heuristically flags synchronous logic in the iterable argument of staticPromise
methods that could leave preceding promises dangling.A Promise that is not awaited and later moves to a rejected state is referred to as an unhandled rejection. When an unhandled rejection is encountered, a Node.js application that does not use process clustering will default to crashing out.
This new rule defaults to the
warn
severity while we monitor feedback. Please share examples of false positives if you regularly run into them.lint: Enable stricter import validation with
noUncheckedSideEffectImports
(#1982)Previously, TypeScript would not check side-effect imports:
Validation of these imports is now enabled by default in
skuba/config/tsconfig.json
. If you have a complex build process that produces assets that aren't known to TypeScript at time of linting, you may override the compiler option in your localtsconfig.json
or include inline// @​ts-expect-error
s in your code.format, lint: Patch
src/listen.ts
entry points to handleunhandledRejection
s (#1978)A Promise that is not awaited and later moves to a rejected state is referred to as an unhandled rejection. When an unhandled rejection is encountered, a Node.js application that does not use process clustering will default to crashing out.
This patch adds a
process.on('unhandledRejection')
listener tosrc/listen.ts
server entry points to log rather than crash on such rejections. If your application uses a different entry point, consider adding code similar to the following sample to improve resilience:test: Enable
--experimental-vm-modules
by default (#1997)lint: Error on custom getters and setters (#2010)
In
[email protected]
, theno-restricted-syntax
rule is now preconfigured to ban custom getters and setters. Engineers typically expect property access to be a safer operation than method or function invocation. Throwing an error from a getter can cause confusion and unhandled promise rejections, which can lead to a crash on the server side if not appropriately configured. See the PR for more information.A custom getter may be occasionally prescribed as the recommended approach to achieve desired behaviour. For example, this syntax can define a recursive object in Zod. In these rare scenarios, add an inline ignore and ensure that you do not throw an error within the getter.
deps: TypeScript 5.9 (#1982)
This major release includes breaking changes. See the TypeScript 5.9 announcement for more information.
node, start: Forward custom conditions to
tsx
(#1996)The
skuba node
andskuba start
commands now automatically pass custom conditions fromtsconfig.json
(customConditions
) and command-line arguments (--conditions
) to thetsx
runtime.Patch Changes
template/oss-npm-package: actions/checkout v5 (#2016)
template/*-rest-api: Uplift observability patterns (#2001)
Our Gantry templates have been revised to better support Datadog logging and DORA metrics.
template/lambda-sqs-worker-cdk: Use Datadog runtime layer (#2018)
This template historically configured the Datadog CDK Construct to exclude the Node.js Lambda layer with
addLayers: false
. This ensured that thedatadog-lambda-js
anddd-trace
dependency versions declared inpackage.json
were the ones running in your deployed Lambda function.We are now recommending use of the Node.js Lambda layer to align with ecosystem defaults and simplify our build process. Renovate can be configured to keep versioning of the Node.js Lambda layer and
datadog-lambda-js
in sync, but thedd-trace
version may drift over time. See theseek-oss/rynovate
PR for implementation details.template/lambda-sqs-worker-cdk: Uplift observability patterns (#2001)
Our Lambda template has been revised to better support Datadog logging and DORA metrics.
template/*-rest-api: seek-datadog-custom-metrics ^6.0.0 (#2009)
template/lambda-sqs-worker-cdk: Add partial batch failure handling (#1924)
deps: zod ^4.0.0 (#1977)
node, start: Replace
--require dotenv/config
with--env-file-if-exists .env
(#1968)This drops a third-party dependency for the built-in Node.js option.
template/*-rest-api: Handle
unhandledRejection
s (#1978)init: Fix
normalize-package-data
error (#2020)This fixes an error that previously occurred if you skipped the input prompt on our built-in Gantry & Lambda templates:
template/koa-rest-api: koa 3.x (#1974)
Configuration
📅 Schedule: Branch creation - "after 3:00 am and before 6:00 am every weekday" in timezone Australia/Melbourne, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.