Skip to content
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

Version Packages #1639

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 0 additions & 18 deletions .changeset/big-weeks-enjoy.md

This file was deleted.

17 changes: 0 additions & 17 deletions .changeset/dull-flowers-build.md

This file was deleted.

14 changes: 0 additions & 14 deletions .changeset/empty-cherries-admire.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/heavy-scissors-divide.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/hot-crews-swim.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/hungry-keys-cover.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/quick-icons-taste.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/renovate-0a25f92.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/renovate-0e2e683.md

This file was deleted.

7 changes: 0 additions & 7 deletions .changeset/renovate-457fabb.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/renovate-82aed23.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/renovate-f65cedc.md

This file was deleted.

20 changes: 0 additions & 20 deletions .changeset/rich-chairs-wink.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/shiny-parents-sit.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/small-meals-scream.md

This file was deleted.

9 changes: 0 additions & 9 deletions .changeset/strange-bats-doubt.md

This file was deleted.

16 changes: 0 additions & 16 deletions .changeset/thick-taxis-vanish.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/twelve-bobcats-compete.md

This file was deleted.

95 changes: 95 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,100 @@
# skuba

## 9.0.0

### Major Changes

- **lint:** Migrate to ESLint 9 and `@typescript-eslint` 8. ([#1537](https://github.com/seek-oss/skuba/pull/1537))

These changes may affect your project setup if customising your ESLint configuration. See the individual migration guides:

- https://eslint.org/docs/latest/use/migrate-to-9.0.0
- https://typescript-eslint.io/blog/announcing-typescript-eslint-v8

In addition, through these major upgrades, some lint rules have changed or have been renamed. You will likely need adjust your code after running ESLint.

Furthermore, `eslint-plugin-import` has been replaced with `eslint-plugin-import-x`. To migrate, any references to `eslint-plugin-import` should be replaced with `eslint-plugin-import-x`, and `import/` rules with `import-x/`.

As part of this migration, skuba has migrated to using Flat ESLint configuration. Read the migration: https://eslint.org/docs/latest/use/configure/migration-guide.

`skuba format` will attempt to migrate to flat configuration for you, where `.eslintignore` and `.eslintrc` are replaced by `eslint.config.js`.

- **node, start:** Replace `ts-node` with `tsx` ([#1623](https://github.com/seek-oss/skuba/pull/1623))

`skuba start` and `skuba node` now use `tsx` instead of `ts-node` for running TypeScript files. `tsx` has better ESM interoperability, like support for dynamic imports (`await import()`), than `ts-node`.

There are some downsides for the REPL (which is what `skuba node` without any file is):

- `import` statements in the REPL are not supported; `require` and `await import()` are still supported.
- Pasting code into the REPL may not work as well as `ts-node`. If encountering issues, a workaround could be to use [`.editor`](https://nodejs.org/en/learn/command-line/how-to-use-the-nodejs-repl#dot-commands)

Otherwise, `skuba start` and `skuba node <file>` _should_ work as expected. However, it is difficult to comprehensively test every scenario, so this has been released as a major version. It is recommended to test your use-cases of `skuba start` and `skuba node` after upgrading.

### Minor Changes

- **lint:** Update Docker base images to point to AWS ECR Public and remove redundant `--platform` usage ([#1684](https://github.com/seek-oss/skuba/pull/1684))

This updates references to `node:` or `python:` Docker images in your `Dockerfile` and `docker-compose.yml` files to point to AWS ECR Public to avoid Docker Hub rate limiting, along with removing redundant `--platform` [usage](https://docs.docker.com/reference/build-checks/from-platform-flag-const-disallowed/).

eg.

```Dockerfile
## Before
FROM --platform=arm64 node:20-alpine AS dev-deps

## After
FROM public.ecr.aws/docker/library/node:20-alpine AS dev-deps
```

- **lint:** Removes obsolete version field from docker-compose.yml files ([#1638](https://github.com/seek-oss/skuba/pull/1638))

- **deps:** TypeScript 5.6 ([#1655](https://github.com/seek-oss/skuba/pull/1655))

This major release includes breaking changes. See the [TypeScript 5.6](https://devblogs.microsoft.com/typescript/announcing-typescript-5-6/) announcement for more information.

- **lint:** Replace `.buildkite/` files with duplicated YAML merge keys, for example: ([#1537](https://github.com/seek-oss/skuba/pull/1537))

```yaml
# Before
- <<: *deploy
<<: *docker
label: stuff

# After
- <<: [*deploy, *docker]
label: stuff
```

This should have no functional change, and is to support standardised YAML parsing across different tools, including the latest ESLint upgrades.

This migration will not be capture all cases of this (e.g. if there are keys between the merge keys). If you have other cases, update them following the example above.

- **template/lambda-sqs-worker-cdk:** Replace custom hooks with `@seek/aws-codedeploy-infra` ([#1644](https://github.com/seek-oss/skuba/pull/1644))

- **lint, format:** Remove [logic](https://github.com/seek-oss/skuba/pull/1226/) which skips autofixing Renovate branches when there is no open pull request. ([#1687](https://github.com/seek-oss/skuba/pull/1687))

Previously, this was put in place to prevent an issue where a Renovate branch can get stuck in the `Edited/Blocked` state without a pull request being raised.

Skuba's default autofix commits are [now ignored by skuba's recommended renovate configuration](https://github.com/seek-oss/rynovate/pull/121).

### Patch Changes

- **template/koa-rest-api:** Enable secure headers middleware by default ([#1601](https://github.com/seek-oss/skuba/pull/1601))

- **template:** Add required tags to `lambda-sqs-worker-cdk` template ([#1643](https://github.com/seek-oss/skuba/pull/1643))

- **api:** Truncate Buildkite annotations over 1 MiB to resolve `buildkite-agent` crash ([#1645](https://github.com/seek-oss/skuba/pull/1645))

- **deps:** validate-npm-package-name ^6.0.0 ([#1682](https://github.com/seek-oss/skuba/pull/1682))

- **deps:** normalize-package-data ^7.0.0 ([#1681](https://github.com/seek-oss/skuba/pull/1681))

- **deps:** esbuild ~0.24.0 ([#1671](https://github.com/seek-oss/skuba/pull/1671))

- **deps:** concurrently ^9.0.0 ([#1666](https://github.com/seek-oss/skuba/pull/1666))

- **template/\*:** Update Docker base images to point to AWS ECR Public and remove redundant `--platform` usage ([#1684](https://github.com/seek-oss/skuba/pull/1684))

## 8.2.1

### Patch Changes
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "skuba",
"version": "8.2.1",
"version": "9.0.0",
"private": false,
"description": "SEEK development toolkit for backend applications and packages",
"homepage": "https://github.com/seek-oss/skuba#readme",
Expand Down Expand Up @@ -172,6 +172,6 @@
"entryPoint": "src/index.ts",
"template": null,
"type": "package",
"version": "8.2.1"
"version": "9.0.0"
}
}
21 changes: 21 additions & 0 deletions packages/eslint-config-skuba/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,26 @@
# eslint-config-skuba

## 5.0.0

### Major Changes

- Migrate to ESLint 9, `@typescript-eslint` 8, `eslint-config-seek` 14. ([#1537](https://github.com/seek-oss/skuba/pull/1537))

These changes may affect your project setup if customising your ESLint configuration. See the individual migration guides:

- https://eslint.org/docs/latest/use/migrate-to-9.0.0
- https://typescript-eslint.io/blog/announcing-typescript-eslint-v8

Through these major upgrades, some lint rules have changed or have been renamed. You will likely need to adjust your code after running ESLint.

As part of this migration, this project has migrated to Flat ESLint configuration. Read the migration: https://eslint.org/docs/latest/use/configure/migration-guide.

Furthermore, `eslint-plugin-import` has been replaced with `eslint-plugin-import-x`. To migrate, any references to `eslint-plugin-import` should be replaced with `eslint-plugin-import-x`, and `import/` rules with `import-x/`.

### Minor Changes

- Disable `@typescript-eslint/only-throw-error` in test files ([#1689](https://github.com/seek-oss/skuba/pull/1689))

## 4.1.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-config-skuba/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "eslint-config-skuba",
"version": "4.1.0",
"version": "5.0.0",
"private": false,
"description": "ESLint config for skuba",
"homepage": "https://github.com/seek-oss/skuba/tree/main/packages/eslint-config-skuba#readme",
Expand Down