Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
85cfd62
feat(auth-nextjs): add auth-nextjs package
shineli1984 Dec 17, 2025
55f5c1f
clean up
shineli1984 Dec 17, 2025
e9cfdc4
handle error callback
shineli1984 Dec 17, 2025
6f8ed40
conditional api routes
shineli1984 Dec 17, 2025
4b8aea1
fix hardcoded urls
shineli1984 Dec 17, 2025
c8d3639
fix path
shineli1984 Dec 17, 2025
7dcad1b
lint
shineli1984 Dec 17, 2025
7d6f3e7
fix sample app
shineli1984 Dec 18, 2025
262eb26
fix page guard
shineli1984 Dec 18, 2025
39e63af
default env
shineli1984 Dec 18, 2025
bc21f52
align expiry
shineli1984 Dec 18, 2025
8829099
error handling
shineli1984 Dec 18, 2025
0ee8928
use constants
shineli1984 Dec 18, 2025
ea20a8f
bug fixes
shineli1984 Dec 18, 2025
e6a377f
bug fixes
shineli1984 Dec 18, 2025
1becb64
fix bug
shineli1984 Dec 18, 2025
38db4d6
bug
shineli1984 Dec 18, 2025
ebe4e0e
bug
shineli1984 Dec 18, 2025
c6f7b3e
bug
shineli1984 Dec 18, 2025
7b2d6f9
bug
shineli1984 Dec 18, 2025
f65f510
build
shineli1984 Dec 19, 2025
9afc060
bug
shineli1984 Dec 19, 2025
eb868d3
dep install
shineli1984 Dec 19, 2025
6c695f9
dep install
shineli1984 Dec 19, 2025
3fc1329
revert
shineli1984 Dec 19, 2025
f40556e
revert
shineli1984 Dec 19, 2025
0c0ea25
build
shineli1984 Dec 19, 2025
55c1e7f
clear cache
shineli1984 Dec 19, 2025
613177b
fix action
shineli1984 Dec 19, 2025
44a2003
fix action
shineli1984 Dec 19, 2025
7d62d3f
add package
shineli1984 Dec 19, 2025
5b504b5
lock file
shineli1984 Dec 19, 2025
e9223f9
add login options
shineli1984 Jan 5, 2026
ba99a04
app router
shineli1984 Jan 5, 2026
8274fbf
typecheck
shineli1984 Jan 5, 2026
bd2dabd
fix ci build for sample app
shineli1984 Jan 5, 2026
f12a1fd
fix returnto
shineli1984 Jan 5, 2026
66f1e18
add env routes in passport sample app
shineli1984 Jan 5, 2026
178ca05
change callback component props
shineli1984 Jan 6, 2026
32fd042
add popupRedirectUri
shineli1984 Jan 7, 2026
3497edb
add ref
shineli1984 Jan 7, 2026
f5b0912
clean up
shineli1984 Jan 7, 2026
873ba3c
clean up
shineli1984 Jan 7, 2026
917515c
clean up
shineli1984 Jan 7, 2026
550f9b8
refresh token
shineli1984 Jan 9, 2026
aecce9d
fix bug passport domain is dropped
shineli1984 Jan 9, 2026
41b9a01
fix deps
shineli1984 Jan 9, 2026
24cfe58
race condition
shineli1984 Jan 9, 2026
cf939ae
reset error
shineli1984 Jan 9, 2026
3cdbada
clean up
shineli1984 Jan 9, 2026
613d183
add isLoggingIn state
shineli1984 Jan 9, 2026
fde7d71
change doc
shineli1984 Jan 9, 2026
fe31977
refresh race condition
shineli1984 Jan 11, 2026
c05ad4e
bug
shineli1984 Jan 12, 2026
b5a437c
fix refresh
shineli1984 Jan 13, 2026
52828d9
fix path match
shineli1984 Jan 13, 2026
8048bd5
server side never refresh tokens
shineli1984 Jan 14, 2026
ca2a6ef
Merge branch 'main' into auth-nextjs
shineli1984 Jan 14, 2026
b9f6114
no server refresh
shineli1984 Jan 14, 2026
89d47d5
utility for ssr
shineli1984 Jan 14, 2026
c85f218
session clearing
shineli1984 Jan 15, 2026
d0d9749
remove user for invalid_grant only
shineli1984 Jan 15, 2026
0cd44d2
safer removal of user
shineli1984 Jan 15, 2026
30f08eb
dead code removal
shineli1984 Jan 15, 2026
d770b46
fix bug
shineli1984 Jan 15, 2026
d936e9a
bug fixes
shineli1984 Jan 15, 2026
0b62021
add missing arg
shineli1984 Jan 15, 2026
2adba1e
bug fix
shineli1984 Jan 15, 2026
473f34d
fix sample app
shineli1984 Jan 15, 2026
49e0960
better interface
shineli1984 Jan 15, 2026
f9d1151
change next version
shineli1984 Jan 15, 2026
91dabf0
sync pack
shineli1984 Jan 15, 2026
7fba6c0
peer deps
shineli1984 Jan 15, 2026
71b28e7
deps
shineli1984 Jan 15, 2026
e96bfc8
peer dep
shineli1984 Jan 15, 2026
5ccf761
dev dep
shineli1984 Jan 15, 2026
9d3a6ec
react version
shineli1984 Jan 15, 2026
874808c
split modules
shineli1984 Jan 15, 2026
85afba9
split modules
shineli1984 Jan 15, 2026
0d731e2
split entries
shineli1984 Jan 15, 2026
09067f0
server package setup
shineli1984 Jan 15, 2026
2b8f443
revert server handling
shineli1984 Jan 15, 2026
4344d54
split packages
shineli1984 Jan 16, 2026
4b7bb4a
split packages cleanup
shineli1984 Jan 16, 2026
5ea601d
lock file
shineli1984 Jan 16, 2026
140c00f
versions
shineli1984 Jan 16, 2026
1e2b06a
fix
shineli1984 Jan 16, 2026
f824b5d
package definitions
shineli1984 Jan 16, 2026
bd230a1
package json fix
shineli1984 Jan 16, 2026
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/actions/setup/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ runs:

- name: install dependencies
shell: bash
run: pnpm install --frozen-lockfile
run: pnpm install --frozen-lockfile
2 changes: 1 addition & 1 deletion .husky/pre-commit
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
. "$(dirname -- "$0")/_/husky.sh"

# prevent heap limit allocation errors - increased to 8GB
export NODE_OPTIONS="--max-old-space-size=8192"
export NODE_OPTIONS="--max-old-space-size=10240"

pnpm lint-staged
4 changes: 4 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,7 @@ public-hoist-pattern[]=@imtbl/*
public-hoist-pattern[]=*openzeppelin*
public-hoist-pattern[]=*solidity*
public-hoist-pattern[]=eslint-*

# Serialize git-hosted package preparation to prevent parallel yarn installs
# from corrupting each other (seaport packages use yarn install as prepare script)
network-concurrency=1
7 changes: 7 additions & 0 deletions .syncpackrc
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,13 @@
"dependencies": ["$LOCAL"],
"dependencyTypes": ["prod", "dev"],
"pinVersion": "workspace:*"
},
{
"label": "Allow flexible peer dependency ranges for auth-next packages and sdk",
"dependencies": ["next", "next-auth", "react"],
"dependencyTypes": ["peer"],
"packages": ["@imtbl/auth-next-server", "@imtbl/auth-next-client", "@imtbl/sdk"],
"isIgnored": true
}
]
}
18 changes: 18 additions & 0 deletions packages/auth-next-client/.eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
module.exports = {
extends: ['../../.eslintrc'],
parserOptions: {
project: './tsconfig.eslint.json',
tsconfigRootDir: __dirname,
},
rules: {
'import/order': 'off',
'import/no-unresolved': 'off',
'import/named': 'off',
'import/default': 'off',
'import/namespace': 'off',
'import/no-cycle': 'off',
'import/no-named-as-default': 'off',
'import/no-named-as-default-member': 'off',
'react/require-default-props': 'off',
},
};
16 changes: 16 additions & 0 deletions packages/auth-next-client/jest.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import type { Config } from 'jest';

const config: Config = {
clearMocks: true,
coverageProvider: 'v8',
moduleDirectories: ['node_modules', 'src'],
testEnvironment: 'jsdom',
transform: {
'^.+\\.(t|j)sx?$': '@swc/jest',
},
transformIgnorePatterns: [],
restoreMocks: true,
roots: ['<rootDir>/src'],
};

export default config;
72 changes: 72 additions & 0 deletions packages/auth-next-client/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
{
"name": "@imtbl/auth-next-client",
"version": "0.0.0",
"description": "Immutable Auth.js v5 integration for Next.js - Client-side components",
"author": "Immutable",
"license": "Apache-2.0",
"repository": "immutable/ts-immutable-sdk.git",
"publishConfig": {
"access": "public"
},
"type": "module",
"main": "./dist/node/index.cjs",
"module": "./dist/node/index.js",
"types": "./dist/types/index.d.ts",
"exports": {
".": {
"development": {
"types": "./src/index.ts",
"require": "./dist/node/index.cjs",
"default": "./dist/node/index.js"
},
"default": {
"types": "./dist/types/index.d.ts",
"require": "./dist/node/index.cjs",
"default": "./dist/node/index.js"
}
}
},
"scripts": {
"build": "pnpm transpile && pnpm typegen",
"transpile": "tsup src/index.ts --config ../../tsup.config.js",
"typegen": "tsc --customConditions default --emitDeclarationOnly --outDir dist/types",
"pack:root": "pnpm pack --pack-destination $(dirname $(pnpm root -w))",
"lint": "eslint ./src --ext .ts,.jsx,.tsx --max-warnings=0",
"typecheck": "tsc --customConditions default --noEmit --jsx preserve",
"test": "jest --passWithNoTests"
},
"dependencies": {
"@imtbl/auth": "workspace:*",
"@imtbl/auth-next-server": "workspace:*"
},
"peerDependencies": {
"next": "^14.2.0 || ^15.0.0",
"next-auth": "^5.0.0-beta.25",
"react": "^18.2.0 || ^19.0.0"
},
"peerDependenciesMeta": {
"next": {
"optional": true
},
"next-auth": {
"optional": true
},
"react": {
"optional": true
}
},
"devDependencies": {
"@swc/core": "^1.4.2",
"@swc/jest": "^0.2.37",
"@types/jest": "^29.5.12",
"@types/node": "^22.10.7",
"@types/react": "^18.3.5",
"eslint": "^8.56.0",
"jest": "^29.7.0",
"next": "^15.1.6",
"next-auth": "^5.0.0-beta.30",
"react": "^18.2.0",
"tsup": "^8.3.0",
"typescript": "^5.6.2"
}
}
Loading
Loading