Skip to content
Merged
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
8 changes: 8 additions & 0 deletions .changeset/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Changesets notes

Create a release note with `yarn changeset`. Versioning is performed by the
release workflow through `yarn changeset-version`; this regenerates
`src/version.ts`, updates `CHANGELOG.md`, and commits the release changes. This
is all handled automatically by the CI release process.

Docs: https://github.com/changesets/changesets
9 changes: 9 additions & 0 deletions .changeset/brave-ants-esm.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"graphile-worker": minor
---

Now published as pure ESM, but worry not as unflagged require(ESM) is now
enabled by default in
[Node 20.19.0+](https://nodejs.org/pt-br/blog/release/v20.19.0),
[Node 22.12.0+](https://nodejs.org/en/blog/release/v22.12.0) and Node 24+ so
everything should continue to work as before.
7 changes: 7 additions & 0 deletions .changeset/bright-cats-config.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"graphile-worker": minor
---

For consistency, `cosmiconfig` is no longer supported for configuration; use
`graphile.config.ts` instead. (This release will throw errors if you're using
cosmisconfig, in later releases cosmiconfigs will not be detected.)
9 changes: 9 additions & 0 deletions .changeset/calm-owls-tasks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"graphile-worker": minor
---

TypeScript task files with `.ts` and `.mts` extensions are now recognized by
default and loaded through Node's native type stripping if possible. Only
erasable, verbatim TypeScript syntax is supported without a custom loader or
precompilation. `.js`, `.cjs` and `.mjs` files are prioritised ahead of `.ts`
and `.mts` files.
7 changes: 7 additions & 0 deletions .changeset/clever-bees-exports.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"graphile-worker": minor
---

We now use the `exports` option, meaning sub-path imports
(`require("graphile-worker/...")`) are no longer supported. If you need
something not exported by default, raise an issue.
19 changes: 19 additions & 0 deletions .changeset/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"$schema": "https://unpkg.com/@changesets/config@4.0.0/schema.json",
"changelog": [
"@changesets/changelog-github",
{
"repo": "graphile/worker"
}
],
"snapshot": {
"useCalculatedVersion": true,
"prereleaseTemplate": "aardvark.{tag}-{datetime}"
},
"fixed": [],
"linked": [],
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": []
}
6 changes: 6 additions & 0 deletions .changeset/fresh-wolves-node.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"graphile-worker": minor
---

Since Node 20 is EOL, Node 22 is now the minimum supported version, per our
[requirements documentation](https://worker.graphile.org/docs/requirements).
6 changes: 6 additions & 0 deletions .changeset/quick-moles-log-level.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"graphile-worker": minor
---

`LogLevel` export is now type only - a string union rather than a TypeScript
const enum.
7 changes: 7 additions & 0 deletions .changeset/silly-tigers-runner.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"graphile-worker": minor
---

`Runner` gains `[Symbol.asyncDispose]()` method, so you can
`await using runner = await run(...)` and the worker will be released when you
reach the end of the scope. (Primarily useful for tests.)
8 changes: 8 additions & 0 deletions .changeset/soft-eagles-local-queue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"graphile-worker": patch
---

Fix issue where enabling `localQueue` could cause jobs from the same named queue
to run concurrently (violating the serial execution guarantee for named queues):
a single batch fetch could lock multiple jobs belonging to one named queue.
Batch fetches now return at most one job per named queue (#621).
6 changes: 6 additions & 0 deletions .changeset/tidy-pandas-maintenance.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"graphile-worker": patch
---

Maintenance work: upgrade to latest TypeScript, Jest, eliminate ts-node, fix
yargs, use erasable syntax only for type-stripping support.
81 changes: 81 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Release

on:
push:
branches:
- main
workflow_dispatch:

concurrency: ${{ github.workflow }}-${{ github.ref }}

jobs:
release:
if: github.event_name == 'push' && github.ref_name == 'main'
name: Release
runs-on: ubuntu-latest

permissions:
contents: write
pull-requests: write
issues: read
# Required for npm trusted publishing via GitHub Actions OIDC.
id-token: write

steps:
- name: Checkout repository
uses: actions/checkout@v7

- name: Setup Node.js 24
uses: actions/setup-node@v7
with:
node-version: 24
cache: yarn

- name: Install dependencies
run: yarn --immutable

- name: Create release pull request or publish to npm
uses: changesets/action@v2
with:
version-script: yarn changeset-version
publish-script: yarn changeset-publish

snapshot:
if:
github.event_name == 'workflow_dispatch' && ( github.ref_name == 'main' ||
github.ref_name == 'next' )
name: Publish snapshot
runs-on: ubuntu-latest

permissions:
contents: read
pull-requests: read
issues: read
# Required for npm trusted publishing via GitHub Actions OIDC.
id-token: write

steps:
- name: Checkout repository
uses: actions/checkout@v7

- name: Setup Node.js 24
uses: actions/setup-node@v7
with:
node-version: 24
cache: yarn

- name: Install dependencies
run: yarn --immutable

- name: Calculate snapshot version
run: |
yarn changeset version --snapshot "${{ github.ref_name }}"
node scripts/postversion.mjs
env:
CHANGESETS_NO_COMMIT: "1"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Publish snapshot
run:
yarn prepack && yarn changeset publish --tag "snapshot-${{
github.ref_name }}" --no-git-tag
Loading
Loading