Skip to content

Commit

Permalink
Version Packages
Browse files Browse the repository at this point in the history
  • Loading branch information
github-actions[bot] committed Jan 20, 2024
1 parent 278a14c commit e3f621d
Show file tree
Hide file tree
Showing 23 changed files with 123 additions and 180 deletions.
16 changes: 0 additions & 16 deletions .changeset/five-baboons-smell.md

This file was deleted.

11 changes: 0 additions & 11 deletions .changeset/five-dancers-pump.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/five-kiwis-laugh.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/fresh-boats-yawn.md

This file was deleted.

9 changes: 0 additions & 9 deletions .changeset/funny-mugs-brake.md

This file was deleted.

23 changes: 0 additions & 23 deletions .changeset/great-trains-doubt.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/green-flies-draw.md

This file was deleted.

19 changes: 0 additions & 19 deletions .changeset/green-zebras-greet.md

This file was deleted.

15 changes: 0 additions & 15 deletions .changeset/hip-forks-drum.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/large-singers-argue.md

This file was deleted.

7 changes: 0 additions & 7 deletions .changeset/late-tigers-smash.md

This file was deleted.

7 changes: 0 additions & 7 deletions .changeset/little-goats-chew.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/lucky-gorillas-grab.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/new-geese-flash.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/nine-coins-hear.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/orange-moles-yell.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/plenty-rings-wink.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/quiet-pants-beam.md

This file was deleted.

9 changes: 0 additions & 9 deletions .changeset/rude-bobcats-unite.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/smart-ghosts-complain.md

This file was deleted.

7 changes: 0 additions & 7 deletions .changeset/twelve-masks-turn.md

This file was deleted.

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

## 7.4.0

### Minor Changes

- **lint:** Overhaul internal linting system ([#1370](https://github.com/seek-oss/skuba/pull/1370))

Previously, internal lint rules would not fail a `skuba lint` check but would silently make changes to your working tree. These changes may have never been committed and may have caused subsequent noise when running `skuba format` or `skuba lint`.

Now, internal linting is now promoted to a top-level tool alongside ESLint, Prettier, and tsc. Rules will report whether changes need to be made, and changes will only be applied in `format` or autofix modes (in CI). As a consequence, `skuba lint` may fail upon upgrading to this version if your project has internal lint violations that have been left unaddressed up to this point.

You can configure `skuba lint` to automatically push autofixes; this eases adoption of linting rule changes and automatically resolves issues arising from a forgotten `skuba format`. You'll need to configure your CI environment to support this feature. See our [GitHub autofixes](https://seek-oss.github.io/skuba/docs/deep-dives/github.html#github-autofixes) documentation to learn more.

- **format:** Switch Distroless image from `nodejs-debian11` to `nodejs-debian12` ([#1381](https://github.com/seek-oss/skuba/pull/1381))

- **template:** Initialise new projects with [pnpm](https://pnpm.io/) ([#1289](https://github.com/seek-oss/skuba/pull/1289))

New projects based on built-in templates will now use pnpm as their package manager as per updated organisational guidance.

Custom templates will continue to default to Yarn 1.x until a future major version, though you can opt in to pnpm via `skuba.template.js`:

```diff
module.exports = {
+ packageManager: 'pnpm',
};
```

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

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

- **init:** Default to `arm64` platform and `main` branch ([#1343](https://github.com/seek-oss/skuba/pull/1343))

- **init:** Support `main` default branch ([#1335](https://github.com/seek-oss/skuba/pull/1335))

- **lint:** Introduce skuba patches ([#1274](https://github.com/seek-oss/skuba/pull/1274))

This feature adds patches which are run only once on the `lint` or `format` commands following a skuba update. If your build pipeline is utilising [autofixes](https://seek-oss.github.io/skuba/docs/deep-dives/github.html#github-autofixes), these changes will be pushed up automatically.

### Patch Changes

- **lint:** Disable `Promise<void>` return checks in tests ([#1366](https://github.com/seek-oss/skuba/pull/1366))

This works around an [existing incompatibility](https://github.com/koajs/koa/issues/1755) between Koa and the built-in `http.RequestListener` type:

```typescript
const app = new Koa();

const agent = supertest.agent(app.callback());
// ~~~~~~~~~~~~~~
// Promise returned in function argument where a void return was expected.
// @typescript-eslint/no-misused-promises
```

- **deps:** picomatch ^3.0.0 ([#1309](https://github.com/seek-oss/skuba/pull/1309))

- **Jest:** Export `Config` type ([#1360](https://github.com/seek-oss/skuba/pull/1360))

This resolves a TypeScript error that could present itself when using `Jest.mergePreset` with the [`declaration`](https://www.typescriptlang.org/tsconfig#declaration) compiler option:

> TS4082: Default export of the module has or is using private name `ConfigGlobals`.

- **deps:** Prettier 3.2 ([#1384](https://github.com/seek-oss/skuba/pull/1384))

A notable change in this release is the application of trailing newlines to JSONC files, including `tsconfig.json`:

```diff
{
"compilerOptions": {
"lib": ["ES2022"],
"outDir": "lib",
- "target": "ES2022"
+ "target": "ES2022",
},
"exclude": ["lib*/**/*"],
- "extends": "skuba/config/tsconfig.json"
+ "extends": "skuba/config/tsconfig.json",
}
```

See the [release notes](https://prettier.io/blog/2024/01/12/3.2.0) for more information.

- **template/lambda-sqs-worker:** Remove `@aws-sdk/util-utf8-node` library ([#1326](https://github.com/seek-oss/skuba/pull/1326))

- **build, build-package, test:** Remove empty export synthesis for Jest setup files ([#1274](https://github.com/seek-oss/skuba/pull/1274))

[`isolatedModules`](https://www.typescriptlang.org/tsconfig#isolatedModules) was enabled by default in [v5.0.0](https://github.com/seek-oss/skuba/releases/tag/v5.0.0). To ease this migration, the commands listed above were updated to dynamically synthesise an empty export for `jest.setup.ts` and `jest.setup.int.ts` files; this compatibility logic has now been removed.

Up-to-date projects are unlikely to be affected, but you can easily add an empty export statement to placate the TypeScript compiler:

```console
jest.setup.ts(1,1): error TS1208: 'jest.setup.ts' cannot be compiled under '--isolatedModules' because it is considered a global script file. Add an import, export, or an empty 'export {}' statement to make it a module.
```

```diff
process.env.ENVIRONMENT = 'test';

+ export {};
```

- **template/lambda-sqs-worker-cdk:** Switch to `aws-cdk-lib/assertions` ([#1372](https://github.com/seek-oss/skuba/pull/1372))

- **build:** Apply trailing newlines to `skuba/config/tsconfig.json` ([#1398](https://github.com/seek-oss/skuba/pull/1398))

This aligns with Prettier 3.2 formatting behaviour. If your project references this file in a non-standard manner outside of the `tsconfig.json#/extends` field, ensure that you are using a JSONC-compatible parser.

- **template/\*-rest-api:** Set `readonlyRootFilesystem` as a security best practice ([#1394](https://github.com/seek-oss/skuba/pull/1394))

- **template/\*-rest-api:** Disable dev CloudWatch dashboards for cost savings ([#1395](https://github.com/seek-oss/skuba/pull/1395))

- **template/lambda-sqs-worker-cdk:** Add blue-green deployment, smoke test and version pruning functionality ([#1327](https://github.com/seek-oss/skuba/pull/1327))

- **init:** Run Prettier after templating ([#1337](https://github.com/seek-oss/skuba/pull/1337))

- **template/koa-rest-api:** Improve input validation error response for Zod unions ([#1339](https://github.com/seek-oss/skuba/pull/1339))

- **template/lambda-sqs-worker-cdk:** Introduce bundling with esbuild, `--hotswap` and `--watch` ([#1321](https://github.com/seek-oss/skuba/pull/1321))

This template now uses the `aws_lambda_nodejs.NodejsFunction` construct which uses esbuild to bundle the Lambda function. This [reduces cold start time](https://aws.amazon.com/blogs/developer/reduce-lambda-cold-start-times-migrate-to-aws-sdk-for-javascript-v3/) and time to build on CI.

The `--hotswap` and `--watch` options allow you to rapidly deploy your code changes to AWS, enhancing the developer feedback loop. This change introduces `deploy:hotswap` and `deploy:watch` scripts to the `package.json` manifest and a `Deploy Dev (Hotswap)` step to the Buildkite pipeline. Read more about watch and hotswap [on the AWS Developer Tools Blog](https://aws.amazon.com/blogs/developer/increasing-development-speed-with-cdk-watch/).

## 7.3.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": "7.3.1",
"version": "7.4.0",
"private": false,
"description": "SEEK development toolkit for backend applications and packages",
"homepage": "https://github.com/seek-oss/skuba#readme",
Expand Down Expand Up @@ -168,6 +168,6 @@
"entryPoint": "src/index.ts",
"template": null,
"type": "package",
"version": "7.3.1"
"version": "7.4.0"
}
}

0 comments on commit e3f621d

Please sign in to comment.