Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
d93f3ac
Remove `dsync.deactivated` event (#1086)
kendallstrautman Feb 28, 2025
e415624
upgrade minimum node-version to >= 18 (#1225)
nicknisi Feb 28, 2025
646b98a
Replace TSLint with ESLint (#1230)
nicknisi Mar 6, 2025
35362be
Remove deprecated code for major version (#1224)
mattgd Mar 6, 2025
3994e8d
Remove deprecated Vault Secret references (#1249)
hexedpackets Mar 27, 2025
955e32e
Upgrade iron session version (#1251)
nicknisi Apr 1, 2025
e2bceda
Update to latest prettier (#1253)
nicknisi Apr 1, 2025
4488647
General dev dependency updates (#1254)
nicknisi Apr 1, 2025
d13058b
Add tests and typing updates for pagination utils (#1252)
mattgd Apr 3, 2025
dadbbe3
Make userId or organizationId required when calling listOrganizationM…
mattgd Apr 3, 2025
a16d1a9
[v8] Remove NodeCryptoProvider (#1270)
nicknisi May 13, 2025
f47f53b
[v8] remove NodeHttpClient (#1271)
nicknisi May 16, 2025
14bba1d
[v8] Add Node 24 to CI testing (#1278)
nicknisi May 19, 2025
a335d01
[v8] Add other runtime checks for environment variables (#1279)
nicknisi May 21, 2025
5bfb685
[v8] Add ESM / CJS dual build (#1287)
nicknisi May 27, 2025
5ed0054
fix fga pagination
nicknisi Jun 11, 2025
3178cae
v8.0.0-beta.1
nicknisi Jun 11, 2025
a0b1b58
formatting
nicknisi Jun 12, 2025
097adff
tsconfig fixes for build
nicknisi Jun 12, 2025
e9c6d94
v8.0.0-beta.2
nicknisi Jun 12, 2025
5362cf9
feat: Universal runtime compatibility for Node.js SDK v8 - fixes impo…
nicknisi Jul 11, 2025
f9503a9
Type constructEvent payload parameter as Record<string, unknown> (#1307)
mattgd Jul 11, 2025
30d2077
add @types/ws devDependency
nicknisi Jul 17, 2025
70ce5b5
[V8] remove direct process.env access, replacing with getEnv helper (…
nicknisi Jul 22, 2025
e9ed206
build fixes
nicknisi Aug 5, 2025
8c9f1b6
v8.0.0-beta.3
nicknisi Aug 5, 2025
18f39e9
formatting
nicknisi Aug 19, 2025
4033f08
test fixes
nicknisi Aug 19, 2025
50d32da
[V8] create client API for methods that don't require an API key (#1354)
nicknisi Sep 23, 2025
3ad9de4
don't ignore package-lock.json
nicknisi Sep 23, 2025
b782cae
v8.0.0-beta.4
nicknisi Oct 2, 2025
70c7061
Remove deprecated properties for v8 (#1365)
nicknisi Oct 7, 2025
6db1091
[v8] drop node 18 (#1366)
nicknisi Oct 8, 2025
87a0553
[v8] Update Dependencies (#1368)
nicknisi Oct 10, 2025
cb2a19e
Default PaginationOptions on AutoPaginatable (#1369)
nicknisi Oct 13, 2025
fc1d8e2
[v8] Add runtime analytics to User-Agent string (#1293)
nicknisi Oct 15, 2025
f6c97cf
8.0.0-rc.1
nicknisi Oct 15, 2025
967e86e
[v8] Add dynamic import wrapper for jose to support Node.js 20.15-20.…
nicknisi Oct 28, 2025
ac02374
v8.0.0-rc.2
nicknisi Oct 29, 2025
e03131b
[v8] Replace leb and qs deps with vanilla implementations (#1382)
nicknisi Nov 6, 2025
b48e27a
v8.0.0-rc.3
nicknisi Nov 6, 2025
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
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node: [16, 18, 20, 22]
node: [20, 22, 24]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/fix-latest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
node-version: 22
registry-url: 'https://registry.npmjs.org'

- name: Install Dependencies
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,17 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
node-version: 22
registry-url: 'https://registry.npmjs.org'

- name: Install Dependencies
run: |
npm install

- name: Build Project
run: |
npm run build

- name: Run Tests
run: |
npm run test
Expand Down
24 changes: 24 additions & 0 deletions .github/workflows/runtime-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Runtime Compatibility Tests

on: [push, pull_request]

jobs:
runtime-compatibility:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- uses: denoland/setup-deno@v2
with:
deno-version: v1.x
- uses: oven-sh/setup-bun@v2

- name: Install and build
run: |
npm install
npm run build

- name: Runtime compatibility check
run: npm run check:runtimes
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ yarn-error.log
lib/
.DS_Store
yarn.lock
.idea/
.idea/
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ See the [API Reference](https://workos.com/docs/reference/client-libraries) for

## Requirements

Node 16 or higher.
Node 20 or higher.

## Installation

Install the package with:

```
npm i @workos-inc/node
npm install @workos-inc/node
```

## Configuration
Expand Down
62 changes: 62 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
// @ts-check

import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';
import jestPlugin from 'eslint-plugin-jest';
import n from 'eslint-plugin-n';

const ignores = [
'**/*.snap',
'coverage',
'node_modules',
'dist',
'build',
'lib',
];

const tests = ['**/*.spec.{js,ts}'];

export default tseslint.config(
{
ignores,
},
{ linterOptions: { reportUnusedDisableDirectives: 'error' } },
eslint.configs.recommended,
tseslint.configs.recommended,
n.configs['flat/recommended'],
{
rules: {
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/no-require-imports': 'off',
'n/no-missing-import': 'off',
'n/no-unsupported-features/node-builtins': 'off',
},
},
{
files: ['**/*.cjs'],
languageOptions: {
globals: {
require: 'readonly',
module: 'readonly',
__dirname: 'readonly',
__filename: 'readonly',
exports: 'readonly',
process: 'readonly',
},
},
},
{
files: tests,
extends: [jestPlugin.configs['flat/recommended']],
rules: {
'no-undef': 'off',
'jest/no-alias-methods': 'off',
'jest/no-identical-title': 'off',
'jest/no-disabled-tests': 'off',
'jest/no-conditional-expect': 'off',
'jest/valid-expect': 'off',
'jest/expect-expect': 'off',
},
},
);
10 changes: 10 additions & 0 deletions jest-transform-esm.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/* eslint-env node */
const babelJest = require('babel-jest');

module.exports = babelJest.createTransformer({
presets: [
['@babel/preset-env', { targets: { node: 'current' } }],
'@babel/preset-typescript',
],
plugins: ['@babel/plugin-transform-modules-commonjs'],
});
8 changes: 5 additions & 3 deletions jest.config.js β†’ jest.config.cjs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/* eslint-env node */
module.exports = {
clearMocks: true,
resetMocks: true,
Expand All @@ -9,8 +10,9 @@ module.exports = {
setupFilesAfterEnv: ['./setup-jest.ts'],
transform: {
'^.+\\.ts?$': 'ts-jest',
'^.+\\.m?js$': '<rootDir>/jest-transform-esm.cjs',
},
moduleNameMapper: {
'^jose': require.resolve('jose'),
},
transformIgnorePatterns: [
'node_modules/(?!(iron-session|uncrypto|cookie-es|@noble|@scure|jose)/)',
],
};
Loading