Skip to content

deps: skuba 12.1.1 #161

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Aug 18, 2025
Merged

deps: skuba 12.1.1 #161

merged 2 commits into from
Aug 18, 2025

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Aug 18, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
skuba 12.0.2 -> 12.1.1 age adoption passing confidence

Release Notes

seek-oss/skuba (skuba)

v12.1.1

Compare Source

Patch Changes
  • node, start: Revert forwarding custom conditions to tsx (#​2021)

v12.1.0

Compare Source

Minor Changes
  • lint: Update publicHoistPattern list in pnpm-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 static Promise methods that could leave preceding promises dangling.

    await Promise.allSettled([
      promiseReject() /* This will result in an unhandled rejection */,
      promiseResolve(syncFn() /* If this throws an error synchronously  */),
      //             ~~~~~~~~
      // syncFn() may synchronously throw an error and leave preceding promises dangling.
      // Evaluate synchronous expressions outside of the iterable argument to Promise.allSettled,
      // or safely wrap with the async keyword, Promise.try(), or Promise.resolve().then().
    ]);

    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:

    import './made-up-module.js';

    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 local tsconfig.json or include inline // @​ts-expect-errors in your code.

  • format, lint: Patch src/listen.ts entry points to handle unhandledRejections (#​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 to src/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:

    // If you want to gracefully handle this scenario in AWS Lambda,
    // remove the default AWS Lambda listener which throws an error.
    // process.removeAllListeners('unhandledRejection');
    
    // Report unhandled rejections instead of crashing the process
    // Make sure to monitor these reports and alert as appropriate
    process.on('unhandledRejection', (err) =>
      logger.error(err, 'Unhandled promise rejection'),
    );
  • test: Enable --experimental-vm-modules by default (#​1997)

  • lint: Error on custom getters and setters (#​2010)

    In [email protected], the no-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.

    const obj = {
    - get prop() {
    + prop() {
        throw new Error('Badness!');
      },
    };

    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.

    import * as z from 'zod';
    
    const Category = z.object({
      name: z.string(),
      // eslint-disable-next-line no-restricted-syntax -- Zod recursive type
      get subcategories() {
        return z.array(Category);
      },
    });
  • 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 and skuba start commands now automatically pass custom conditions from tsconfig.json (customConditions) and command-line arguments (--conditions) to the tsx 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 the datadog-lambda-js and dd-trace dependency versions declared in package.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 the dd-trace version may drift over time. See the seek-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 unhandledRejections (#​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:

    Error: Invalid name: "@&#8203;seek/<%- serviceName %>"
        at ensureValidName
  • 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Copy link

changeset-bot bot commented Aug 18, 2025

⚠️ No Changeset found

Latest commit: 21b2ef7

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@seek-oss-ci seek-oss-ci requested a review from a team as a code owner August 18, 2025 03:36
Copy link
Contributor Author

renovate bot commented Aug 18, 2025

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@72636c 72636c merged commit 5ec4f8b into main Aug 18, 2025
7 checks passed
@72636c 72636c deleted the renovate-skuba-12.x branch August 18, 2025 23:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant