deps: skuba 16.3.0 - #256
Merged
Merged
Conversation
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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:
16.2.0→16.3.0Release Notes
seek-oss/skuba (skuba)
v16.3.0Compare Source
Minor Changes
lint: Remove
pnpm-plugin-skubafrompackage.jsonandpnpm-workspace.yaml(#2499)init: Add a Renovate preset option (#2514)
skuba initnow lets projects customise the Renovate preset generated in.github/renovate.json5. It defaults togithub>seek-oss/rynovateto preserve the existing behaviour.deps: eslint-config-skuba 9.3.0 (#2540)
template: Remove SEEK-specific built-in templates (#2476)
The following built-in templates have been removed from skuba:
express-rest-apikoa-rest-apilambda-sqs-worker-cdkprivate-npm-packageThese templates are now maintained in the private SEEK-Jobs/skuba-templates repository. SEEK employees can access them by selecting
seek →inskuba init, which will present an up-to-date list of available templates.deps: prettier 3.9.0 (#2497)
This release introduces significant formatting enhancements for a number of languages. Please read the release notes for more information.
test: Restore GitHub check run and Buildkite annotations (#2501)
skuba testnow reports a GitHub check run and Buildkite annotation on CI, restoring behaviour lost in the skuba 16 Vitest migration.Note: annotations will not carry meaningful detail until a future skuba release, but if you previously disabled
skuba/testas a GitHub status check, it can be re-enabled now.init: Make non-interactive mode discoverable (#2482)
skuba initnow accepts a--non-interactiveflag that forces it to read JSON config from stdin, regardless of whether stdin is a TTY. Running it without piping any input prints the expected JSON Schema, including a description and example for each field, so the required config is discoverable without trial and error. Askuba init --help(-h) option has also been added to document this usage.pkg: Migrate build tooling to tsdown (#2513)
skuba is now bundled with tsdown. This does not affect CLI usage nor most API usage. If your development code relied on internal
skubapaths, update the relevant imports when they are flagged by build or lint:Patch Changes
init: Clean up partially-initialised directory when non-interactive templating fails (#2482)
When
skuba initreads its config from stdin and the providedtemplateDatais missing required fields or templating cannot be skipped, it now deletes the directory it created before exiting. Previously this left a broken project behind that had to be manually removed before retrying.lint: Replace the dd-trace
NODE_OPTIONSLambda workaround withdatadog-lambda-js>=12.140.0 (#2511)The 16.1.0 patch that added
--import dd-trace/initialize.mjsto the LambdaNODE_OPTIONS(andredirectHandler: false/redirectHandlers: false) has been removed now thatdatadog-lambda-js@12.140.0fixes handler redirection under ESM. Projects upgrading from an older version no longer apply this workaround only to immediately reverse it, avoiding redundant file churn and a duplicate install.A new upgrade patch reverses the previous workaround on already-migrated projects: it removes
--import dd-trace/initialize.mjsfrom the LambdaNODE_OPTIONSand theredirectHandler: false(CDK) /redirectHandlers: false(Serverless) settings, and upgradesdatadog-lambda-jsto the ESM-compatible^12.140.0release.lint: Harden
.npmrcsecret detection to prevent accidental inclusion in autofixes (#2534)Previously, the autofix guardrail only inspected and prevented commits of secrets in a
./.npmrcfile relative to the working directory. It now resolves.npmrcfiles from the Git root and checks every changed.npmrcin the commit, including nested paths in monorepos.init: Remove pnpm plugin installation logic (#2499)
init: List available SEEK private templates in
skuba init(#2476)Selecting
seek →inskuba initnow fetches and displays the list of available templates from SEEK-Jobs/skuba-templates as an interactive selection menu, rather than prompting for a template name to type manually.lint: Add patch to migrate Docker and Docker Compose Buildkite plugins to
mount-buildkite-agent(#2486)skuba lintnow patches projects that mount the Buildkite agent into their Docker or Docker Compose Buildkite plugin to use themount-buildkite-agentoption instead.For the Docker Compose Buildkite plugin, the bind mount is removed from
docker-compose.yml:And
mount-buildkite-agent: trueis added to the plugin in.buildkite/pipeline.yml:- docker-compose#v5.10.0: environment: - GITHUB_API_TOKEN + mount-buildkite-agent: true propagate-environment: true run: appFor the Docker Buildkite plugin, the bind mount is removed and
mount-buildkite-agentis opted in directly in.buildkite/pipeline.yml:help, init: Use a legible logo when running under an AI agent (#2485)
skuba prints a multi-line ASCII art banner at startup which AI agents are unable to read. It now detects when it's running under an AI agent and replaces the ASCII art with the word
skubainlined on the version line.Interactive (human) usage is unchanged.
deps: @ast-grep/napi ~0.45.0 (#2535)
deps: @ast-grep/napi ~0.44.0 (#2493)
lint: Guard against autofix loops on Renovate lock file updates (#2490)
Renovate lock file updates that specifically target skuba (
renovate/skuba-0.x-lockfile) could enter an infinite loop under a specific set of circumstances:package.json@arethetypeswrong/core@0.18.2>fflatepnpm override)skuba lint, updatespackage.json#/skuba/version, and pushes the resultingpackage.jsonand lock file changes via GitHub autofixespackage.jsonchange, detects that the lock file no longer matches the pre-patch state, assumes the branch is stale, and force pushes over itNow, skuba heuristically detects and avoids lock file autofixes under these circumstances. Pull requests that would previously end up in an autofix loop may be instead left with a stale lock file. To unblock these PRs, install and push the resulting lock file change locally; Renovate will recognise this as a manual change and should not force push over it. A more lasting fix is to pin skuba to sidestep the scenario.
{ "devDependencies": { - "skuba": "^0.0.0" + "skuba": "0.0.0" } }lint, test: Skip GitHub autofixes and annotations when no Git repository is available (#2516)
Lint & test annotations and CI autofixes now exit with a concise warning instead of logging Git errors when the working directory has no
.gitmetadata.migrate: Upgrade
datadog-lambda-jsinstead of disabling Datadog handler redirection during ESM migration (#2511)datadog-lambda-js@12.140.0fixes Datadog handler redirection under ESM, so the ESM migration no longer setsredirectHandler: false(CDK) /redirectHandlers: false(Serverless) or appends--import dd-trace/initialize.mjsto the LambdaNODE_OPTIONS. Instead it upgradesdatadog-lambda-jsto the ESM-compatible^12.140.0release and leaves handler redirection enabled.Configuration
📅 Schedule: (in timezone Australia/Melbourne)
🚦 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.