@spfn/auth 0.2.1 → 0.3.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1091 -2385
  3. package/dist/authenticate-55LeXHqZ.d.ts +1447 -0
  4. package/dist/client-proof.d.ts +606 -0
  5. package/dist/client-proof.js +1842 -0
  6. package/dist/client-proof.js.map +1 -0
  7. package/dist/config.d.ts +319 -3
  8. package/dist/config.js +155 -5
  9. package/dist/config.js.map +1 -1
  10. package/dist/crypto.d.ts +61 -0
  11. package/dist/crypto.js +108 -0
  12. package/dist/crypto.js.map +1 -0
  13. package/dist/errors.d.ts +180 -3
  14. package/dist/errors.js +116 -1
  15. package/dist/errors.js.map +1 -1
  16. package/dist/index.d.ts +166 -18
  17. package/dist/index.js +132 -8
  18. package/dist/index.js.map +1 -1
  19. package/dist/nextjs/api.js +404 -96
  20. package/dist/nextjs/api.js.map +1 -1
  21. package/dist/nextjs/server.d.ts +5 -4
  22. package/dist/nextjs/server.js +165 -26
  23. package/dist/nextjs/server.js.map +1 -1
  24. package/dist/server.d.ts +2356 -1053
  25. package/dist/server.js +5153 -736
  26. package/dist/server.js.map +1 -1
  27. package/dist/session-DTHahDQ9.d.ts +53 -0
  28. package/dist/types-DYyhze28.d.ts +98 -0
  29. package/dist/wire-version-CtzMKvBB.d.ts +134 -0
  30. package/migrations/20251125021229_premium_famine/snapshot.json +2641 -0
  31. package/migrations/20260225130050_smooth_the_fury/snapshot.json +2686 -0
  32. package/migrations/20260308141417_deep_iceman/snapshot.json +2686 -0
  33. package/migrations/20260308151309_perfect_deathbird/snapshot.json +2731 -0
  34. package/migrations/20260308201135_concerned_rawhide_kid/snapshot.json +2786 -0
  35. package/migrations/20260629103209_lethal_lifeguard/migration.sql +32 -0
  36. package/migrations/20260629103209_lethal_lifeguard/snapshot.json +2786 -0
  37. package/migrations/20260709073531_easy_hardball/migration.sql +24 -0
  38. package/migrations/20260709073531_easy_hardball/snapshot.json +3119 -0
  39. package/migrations/20260714081434_glossy_major_mapleleaf/migration.sql +1 -0
  40. package/migrations/20260714081434_glossy_major_mapleleaf/snapshot.json +3112 -0
  41. package/migrations/20260804105939_amazing_bushwacker/migration.sql +3 -0
  42. package/migrations/20260804105939_amazing_bushwacker/snapshot.json +3112 -0
  43. package/migrations/20260804110033_fat_piledriver/migration.sql +2 -0
  44. package/migrations/20260804110033_fat_piledriver/snapshot.json +3138 -0
  45. package/migrations/20260805143152_vengeful_ravenous/migration.sql +4 -0
  46. package/migrations/20260805143152_vengeful_ravenous/snapshot.json +3190 -0
  47. package/migrations/20260807145911_mixed_invisible_woman/migration.sql +11 -0
  48. package/migrations/20260807145911_mixed_invisible_woman/snapshot.json +3334 -0
  49. package/package.json +59 -40
  50. package/dist/authenticate-eucncHxN.d.ts +0 -940
  51. package/migrations/meta/0000_snapshot.json +0 -1632
  52. package/migrations/meta/0001_snapshot.json +0 -1660
  53. package/migrations/meta/0002_snapshot.json +0 -1660
  54. package/migrations/meta/0003_snapshot.json +0 -1689
  55. package/migrations/meta/0004_snapshot.json +0 -1721
  56. package/migrations/meta/_journal.json +0 -41
  57. /package/migrations/{0000_premium_famine.sql → 20251125021229_premium_famine/migration.sql} +0 -0
  58. /package/migrations/{0001_smooth_the_fury.sql → 20260225130050_smooth_the_fury/migration.sql} +0 -0
  59. /package/migrations/{0002_deep_iceman.sql → 20260308141417_deep_iceman/migration.sql} +0 -0
  60. /package/migrations/{0003_perfect_deathbird.sql → 20260308151309_perfect_deathbird/migration.sql} +0 -0
  61. /package/migrations/{0004_concerned_rawhide_kid.sql → 20260308201135_concerned_rawhide_kid/migration.sql} +0 -0
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "@spfn/auth",
3
- "version": "0.2.1",
3
+ "version": "0.3.0-beta.2",
4
4
  "type": "module",
5
- "description": "Authentication, authorization, and RBAC module for SPFN",
5
+ "description": "Authentication for a Next.js full-stack app: sessions, social login, OAuth, RBAC and admin roles, without assembling an auth stack yourself",
6
+ "author": "Ray Im <rayim@fxy.global>",
6
7
  "main": "./dist/index.js",
7
8
  "types": "./dist/index.d.ts",
8
9
  "exports": {
@@ -26,11 +27,21 @@
26
27
  "import": "./dist/config.js",
27
28
  "require": "./dist/config.js"
28
29
  },
30
+ "./crypto": {
31
+ "types": "./dist/crypto.d.ts",
32
+ "import": "./dist/crypto.js",
33
+ "require": "./dist/crypto.js"
34
+ },
29
35
  "./errors": {
30
36
  "types": "./dist/errors.d.ts",
31
37
  "import": "./dist/errors.js",
32
38
  "require": "./dist/errors.js"
33
39
  },
40
+ "./client-proof": {
41
+ "types": "./dist/client-proof.d.ts",
42
+ "import": "./dist/client-proof.js",
43
+ "require": "./dist/client-proof.js"
44
+ },
34
45
  "./nextjs/api": {
35
46
  "types": "./dist/nextjs/api.d.ts",
36
47
  "import": "./dist/nextjs/api.js",
@@ -52,24 +63,51 @@
52
63
  "migrations",
53
64
  "README.md"
54
65
  ],
66
+ "scripts": {
67
+ "build": "pnpm check:circular && tsup && tsup --config tsup.client.config.ts",
68
+ "prepack": "node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"",
69
+ "watch": "tsup --watch",
70
+ "dev": "tsup --watch",
71
+ "type-check": "tsc --noEmit",
72
+ "clean": "rm -rf dist",
73
+ "db:generate": "drizzle-kit generate",
74
+ "codegen": "spfn codegen run",
75
+ "export:mobile-contract": "tsx scripts/export-mobile-contract.ts",
76
+ "test": "vitest run",
77
+ "test:unit": "vitest run src/__tests__/unit/",
78
+ "test:integration": "vitest run src/__tests__/integration/",
79
+ "test:coverage": "vitest run --coverage",
80
+ "test:routes": "vitest src/server/routes",
81
+ "check:circular": "madge --circular --extensions ts src/",
82
+ "prepublishOnly": "pnpm run clean && pnpm run build",
83
+ "publish:alpha": "node ../../scripts/publish-package.mjs alpha",
84
+ "publish:beta": "node ../../scripts/publish-package.mjs beta",
85
+ "publish:latest": "node ../../scripts/publish-package.mjs latest"
86
+ },
55
87
  "keywords": [
56
88
  "spfn",
57
89
  "auth",
58
90
  "authentication",
59
91
  "authorization",
60
92
  "rbac",
61
- "access-control"
93
+ "access-control",
94
+ "nextjs",
95
+ "typescript",
96
+ "oauth",
97
+ "social-login",
98
+ "session",
99
+ "ai-coding-agent"
62
100
  ],
63
101
  "license": "MIT",
64
102
  "repository": {
65
103
  "type": "git",
66
- "url": "https://github.com/spfn/spfn.git",
104
+ "url": "git+https://github.com/fxylabs/spfn.git",
67
105
  "directory": "packages/auth"
68
106
  },
69
107
  "bugs": {
70
- "url": "https://github.com/spfn/spfn/issues"
108
+ "url": "https://github.com/fxylabs/spfn/issues"
71
109
  },
72
- "homepage": "https://github.com/spfn/spfn/tree/main/packages/auth#readme",
110
+ "homepage": "https://github.com/fxylabs/spfn/tree/main/packages/auth#readme",
73
111
  "spfn": {
74
112
  "schemas": [
75
113
  "./dist/server/entities/*.js"
@@ -80,58 +118,39 @@
80
118
  "setupMessage": " 📚 Next steps:\n 1. Add lifecycle: .lifecycle(createAuthLifecycle()) in server.config.ts\n 2. Register router: .packages([authRouter]).use([authenticate]) in router.ts\n 3. Add interceptor: import '@spfn/auth/nextjs/api' in RPC proxy route\n 4. Set env vars: SPFN_AUTH_SESSION_SECRET (.env.local), SPFN_AUTH_VERIFICATION_TOKEN_SECRET (.env.server)\n 5. Run migrations: pnpm spfn db migrate\n 6. Full guide: https://spfn.dev/docs/guides/authentication"
81
119
  },
82
120
  "dependencies": {
83
- "bcryptjs": "^2.4.3",
84
- "drizzle-orm": "^0.45.0",
121
+ "@node-rs/bcrypt": "^1.10.7",
85
122
  "jose": "^6.1.0",
86
123
  "jsonwebtoken": "^9.0.2",
87
- "postgres": "^3.4.0",
88
- "@spfn/core": "0.2.0-beta.35",
89
- "@spfn/notification": "0.1.0-beta.16"
124
+ "postgres": "^3.4.0"
90
125
  },
91
126
  "devDependencies": {
92
- "@types/bcryptjs": "^2.4.6",
127
+ "@spfn/core": "workspace:*",
128
+ "@spfn/notification": "workspace:*",
93
129
  "@types/jsonwebtoken": "^9.0.6",
94
130
  "@types/node": "^20.11.0",
95
131
  "@types/react": "^19.2.2",
96
132
  "@types/react-dom": "^19.2.2",
97
133
  "@vitest/coverage-v8": "^4.0.6",
98
- "drizzle-kit": "^0.31.6",
99
- "hono": "^4.10.6",
134
+ "drizzle-kit": "1.0.0-rc.4",
135
+ "drizzle-orm": "1.0.0-rc.4",
136
+ "hono": "^4.12.34",
100
137
  "madge": "^8.0.0",
101
- "next": "^16.0.0",
138
+ "next": "^16.2.11",
139
+ "spfn": "workspace:*",
102
140
  "tsup": "^8.5.0",
103
141
  "tsx": "^4.20.6",
104
142
  "typescript": "^5.3.3",
105
- "vitest": "^4.0.6",
106
- "spfn": "0.2.0-beta.33"
143
+ "vitest": "^4.0.6"
107
144
  },
108
145
  "peerDependencies": {
109
- "next": "^15.0.0 || ^16.0.0"
146
+ "@spfn/core": ">=0.3.0-beta.1 <0.4.0",
147
+ "@spfn/notification": ">=0.2.0-beta.1 <0.3.0",
148
+ "drizzle-orm": ">=1.0.0-rc.4 <2",
149
+ "next": "^16.2.11"
110
150
  },
111
151
  "peerDependenciesMeta": {
112
152
  "next": {
113
153
  "optional": true
114
154
  }
115
- },
116
- "scripts": {
117
- "build": "pnpm check:circular && tsup && tsup --config tsup.client.config.ts",
118
- "watch": "tsup --watch",
119
- "dev": "tsup --watch",
120
- "type-check": "tsc --noEmit",
121
- "clean": "rm -rf dist",
122
- "db:generate": "drizzle-kit generate",
123
- "codegen": "spfn codegen run",
124
- "test": "vitest run",
125
- "test:unit": "vitest run src/__tests__/unit/",
126
- "test:integration": "vitest run src/__tests__/integration/",
127
- "test:coverage": "vitest run --coverage",
128
- "test:routes": "vitest src/server/routes",
129
- "docker:test:up": "docker compose -f docker-compose.test.yml up -d",
130
- "docker:test:down": "docker compose -f docker-compose.test.yml down",
131
- "docker:test:logs": "docker compose -f docker-compose.test.yml logs -f",
132
- "check:circular": "madge --circular --extensions ts src/",
133
- "publish:alpha": "npm publish --access public --tag alpha",
134
- "publish:beta": "npm publish --access public --tag beta",
135
- "publish:latest": "npm publish --access public"
136
155
  }
137
- }
156
+ }