Skip to content

Version Packages#2235

Open
seek-oss-ci wants to merge 1 commit intomainfrom
changeset-release/main
Open

Version Packages#2235
seek-oss-ci wants to merge 1 commit intomainfrom
changeset-release/main

Conversation

@seek-oss-ci
Copy link
Contributor

@seek-oss-ci seek-oss-ci commented Feb 14, 2026

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@15.0.0

Major Changes

  • build-package: Migrate to tsdown (#2194)

    As part of our migration to ESM, we are updating our package build process to support generating both CJS and ESM outputs, regardless of whether projects use CJS or ESM. Since our current tsc-based build does not support this, we are switching to tsdown for package builds.

  • lint: Migrate skuba build-package usage to use tsdown for building packages (#2194)

    This patch will attempt to do a best effort migration of your skuba build-package usage to use tsdown for building packages. This includes:

    1. Adding a tsdown.config.mts file to your package directories with a basic configuration
    2. Adding a customConditions entry to your root tsconfig.json file
    3. Adding skipLibCheck to your package tsconfig.json files to work around issues with type checking against tsdown.
    4. Updating your package package.json files to point to the new build outputs
    5. Removing redundant tsconfig.build.json files

    File changes

    The output between what skuba build-package generates before and after this change will be different, so you may need to update any references to the output files in your project.

    For example the output for a simple src/index.ts file produces the following outputs:

    -lib-commonjs/index.js
    -lib-es2015/index.js
    -lib-types/index.d.ts
    +lib/index.cjs
    +lib/index.mjs
    +lib/index.d.cts
    +lib/index.d.mts
    

    This change may break consumers who directly access these output paths.

    To check if your consumers are affected, search GitHub with: org:SEEK-Jobs content:"@seek/MY_PACKAGE/"

    If needed, export those references from your package entry point to help consumers migrate to the new build outputs.

    Note: if you choose to remove the unbundle: true option from tsdown.config.mts, tsdown may emit bundled/chunked outputs and internal lib/... file paths can change between builds. Consumers should avoid importing from build output files directly, and instead import from the package entry point (or explicitly exported sub paths)

    Format changes

    tsdown selects what ECMAScript target version to build for based on the engines.node field in your package.json.

    This means that for consumers previously relying on the lib-es2015 output may need to update their runtime to match your package's engines.node field.

    An example changeset you may want to include for a package:

    ---
    'my-package': major
    ---
    
    Update npm package build outputs
    
    This release changes published build output paths. If you were previously importing from nested paths within the build output you will need to update imports to use the package entry point (for example, `@seek/my-package`).
    
    ```diff
    -import type { SomeType } from '@seek/my-package/lib-types/...';
    +import type { SomeType } from '@seek/my-package';
    ```
    

    Debugging

    If your project utilises a main field which points to a .ts file within a monorepo setup, eg.

     "main": "src/index.ts",
    

    You may need to create a moduleNameMapper entry in your Jest config files to point to the source file, eg.

    {
      "moduleNameMapper": {
        "^@seek/my-package": "<rootDir>/packages/my-package/src/index.ts"
      }
    }
    

    This will work natively with custom conditions when we migrate to vitest in the future, but is required for Jest to continue working with the new build outputs.

    import { defineConfig } from 'vitest/config';
    
    export default defineConfig({
      ssr: {
        resolve: {
          conditions: ['@seek/my-repo/source'],
        },
      },
    });
    

Minor Changes

  • template/*-npm-package: Migrate to tsdown for bundling (#2193)

  • lint: Ignore coverage, dist, lib and tmp folders at any depth (#2256)

Patch Changes

  • deps: @ast-grep/napi ^0.41.0 (#2245)

  • template/lambda-sqs-worker-cdk: Update Datadog secret configuration to support custom KMS keys (#2239)

eslint-config-skuba@8.1.0

Minor Changes

  • lint: Ignore coverage, dist, lib and tmp folders at any depth (#2256)

eslint-plugin-skuba@2.0.1

Patch Changes

  • build: Export type declarations (#2194)

@skuba-lib/vitest-koa-mocks@1.0.1

Patch Changes

  • build: Update npm package build outputs (#2252)

@seek-oss-ci seek-oss-ci requested a review from a team as a code owner February 14, 2026 08:23
@seek-oss-ci seek-oss-ci force-pushed the changeset-release/main branch 7 times, most recently from cbfb334 to a44e018 Compare February 24, 2026 14:53
@seek-oss-ci seek-oss-ci force-pushed the changeset-release/main branch 11 times, most recently from c6bdb50 to 098fe88 Compare March 3, 2026 23:22
@seek-oss-ci seek-oss-ci force-pushed the changeset-release/main branch from 098fe88 to 5f781a1 Compare March 4, 2026 14:29
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