skuba@16.2.0
Minor Changes
-
configure: Remove
skuba configure(#2417)This command fell out of maintenance as much of its initial intent was superseded by GitHub autofixes and patches. For the remaining use cases:
- Projects with a
skuba.template.jsthat skipped templating upfront can resume the process withskuba init - Projects scaffolded with a divergent toolchain can align with skuba defaults by providing a coding agent with the context of another skuba-managed project or template
- Projects with a
-
api: Add
Cdk.normaliseTemplate(#2418)This function produces stable snapshots of CDK stack templates by stripping volatile, environment-specific values. This is particularly useful when testing to avoid snapshot churn on inconsequential differences in the generated templates.
-
lint: Hoist
@skuba-lib/*and@changesets/cli(#2441)This allows you to use both
@changesets/cliand@skuba-lib/changesets-changelogin your project without having to install them as direct dependencies.package.json:{ "devDependencies": { - "@changesets/cli": "2.31.0", - "@changesets/get-github-info": "0.8.0", - "@skuba-lib/changesets-changelog": "1.0.1", "skuba": "16.2.0" } }@skuba-lib/changesets-changelogis a direct replacement for@changesets/get-github-infoand provides a more opinionated changelog generator that is suitable for skuba-managed projects..changeset/config.json:{ "changelog": [ - "@changesets/get-github-info", + "@skuba-lib/changesets-changelog", { "repo": "SEEK-Jobs/my-repo" } ] } -
lint: Add patch to prune development dependencies from API Dockerfiles (#2443)
A new patch automatically upgrades API Dockerfiles so the build stage prunes and reinstalls production-only dependencies before building. The runtime image keeps copying
node_modulesfrom the build stage, so it no longer carries development dependencies.This reduces the amount of build tooling and development dependencies carried through the final image while preserving the existing runtime behaviour.
-
deps: typescript ~6.0.0 (#2309)
This major release contains breaking changes. See the TypeScript 6.0.0 announcement for more information.
If your tsconfig currently extends
skuba/config/tsconfig.json, you may not need to update anything. However, if you have a custom configuration, you may need to manually addnodeto thetypesarray.{ "compilerOptions": { + "types": ["node"] } } -
lint: Remove
@arethetypeswrong/core@0.18.2>fflatepnpm override (#2447) -
lint: Configure private registry for
SEEK-Jobsrepositories (#2387)This patch sets
@seek:registryin.npmrcto SEEK's private registry. It only touches projects in theSEEK-JobsGitHub org and aligns with our internal guidelines. -
lint: Remove
baseUrlfromtsconfig.jsonfiles (#2309)The
baseUrloption is deprecated in TypeScript 6.0.0. Modern skuba projects should have migrated to#srcsubpath imports inskuba@13.0.0.This patch is safe to merge if
skuba lintsucceeds. If it fails, grep your project for aliased imports and convert them to relative or subpath imports. For example, if you have an aliased import insrc/foo.ts:- import { bar } from 'src/bar.js'; + // Subpath import option + import { bar } from '#src/bar.js'; + // Relative import option + import { bar } from './bar.js';
Patch Changes
-
template/*-rest-api: Prune development dependencies from Docker builds (#2443)
API template Dockerfiles now prune and reinstall production-only dependencies before building. The runtime image continues to copy
node_modulesfrom the build stage, reducing the amount of build tooling and development dependencies carried through to the final image.FROM ${BASE_IMAGE} AS build COPY . . RUN pnpm install --offline RUN pnpm build + RUN CI=true pnpm prune --prod + RUN CI=true pnpm install --offline --prod -
deps: @arethetypeswrong/core 0.18.3 (#2447)
-
template/lambda-sqs-worker-cdk: Abstract CDK stack normalisation (#2418)
-
migrate, lint: Add
--import dd-trace/initialize.mjsto LambdaNODE_OPTIONSwhen handler redirection is disabled (#2444)When Datadog handler redirection is turned off (
redirectHandler: falsefor CDK,redirectHandlers: falsefor Serverless), Datadog no longer auto-wraps the handler sodd-tracemust be preloaded explicitly via the --import flag. The ESM migration now appends--import dd-trace/initialize.mjsto the Lambda function'sNODE_OPTIONSin this case, and a new upgrade patch retrofits projects that already migrated. -
template/greeter: Use
repoNamefor templating (#2442)This fixes the following warning upon
skuba init:Failed to render my-repo/vitest.config.ts ReferenceError: ejs:8 6| ssr: { 7| resolve: { >> 8| conditions: ['@seek/<%- serviceName %>/source'], 9| }, 10| }, 11| test: { serviceName is not defined
-
deps: concurrently ^10.0.0 (#2446)
-
deps: ejs ^6.0.0 (#2450)
-
deps: rolldown ^1.1.0 (#2459)
-
deps: @ast-grep/napi ~0.43.0 (#2439)
-
init: Strip underscore prefixes when scaffolding
seek:private templates (#2473)skuba initnow removes leading underscores from files like_package.jsonand_.gitignorewhen cloning a private template fromSEEK-Jobs/skuba-templates, matching the behaviour of the built-in andlocal:template paths.Previously these files were copied verbatim, so a scaffolded project would be left with an
_package.jsonand nopackage.json, breaking tooling with errors such asCould not find a package.json in your working directory. -
template/*-rest-api: Increase base Fargate task size (#2453)