@nodefony/user 10.0.0-alpha.1

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 (57) hide show
  1. package/LICENSE +544 -0
  2. package/README.md +120 -0
  3. package/dist/index.js +16 -0
  4. package/dist/nodefony/contracts/IOAuthUserProvisioner.js +1 -0
  5. package/dist/nodefony/contracts/IPasswordBlocklist.js +1 -0
  6. package/dist/nodefony/contracts/IPasswordEncoder.js +1 -0
  7. package/dist/nodefony/contracts/IPasswordVerifier.js +1 -0
  8. package/dist/nodefony/contracts/IUser.js +1 -0
  9. package/dist/nodefony/contracts/IUserProfile.js +1 -0
  10. package/dist/nodefony/contracts/IUserProvider.js +1 -0
  11. package/dist/nodefony/contracts/IUserRepository.js +1 -0
  12. package/dist/nodefony/contracts/index.js +1 -0
  13. package/dist/nodefony/errors/UserNotFoundError.js +19 -0
  14. package/dist/nodefony/errors/WeakPasswordError.js +16 -0
  15. package/dist/nodefony/service/UserService.js +280 -0
  16. package/dist/nodefony/src/AnonymousUser.js +37 -0
  17. package/dist/nodefony/src/BaseUser.js +121 -0
  18. package/dist/nodefony/src/InMemoryUserRepository.js +230 -0
  19. package/dist/nodefony/src/admin/UserAdminApi.js +588 -0
  20. package/dist/nodefony/src/encoders/Argon2idEncoder.js +107 -0
  21. package/dist/nodefony/src/encoders/BcryptEncoder.js +75 -0
  22. package/dist/nodefony/src/encoders/MigratingEncoder.js +88 -0
  23. package/dist/nodefony/src/encoders/encoderFromConfig.js +37 -0
  24. package/dist/nodefony/src/userContract.js +247 -0
  25. package/dist/nodefony/src/userFilters.js +66 -0
  26. package/dist/nodefony/src/userProfile.js +195 -0
  27. package/dist/nodefony/src/userSort.js +53 -0
  28. package/dist/nodefony/src/userStoreRegistry.js +41 -0
  29. package/dist/types/index.d.ts +40 -0
  30. package/dist/types/nodefony/contracts/IOAuthUserProvisioner.d.ts +69 -0
  31. package/dist/types/nodefony/contracts/IPasswordBlocklist.d.ts +20 -0
  32. package/dist/types/nodefony/contracts/IPasswordEncoder.d.ts +49 -0
  33. package/dist/types/nodefony/contracts/IPasswordVerifier.d.ts +26 -0
  34. package/dist/types/nodefony/contracts/IUser.d.ts +68 -0
  35. package/dist/types/nodefony/contracts/IUserProfile.d.ts +29 -0
  36. package/dist/types/nodefony/contracts/IUserProvider.d.ts +44 -0
  37. package/dist/types/nodefony/contracts/IUserRepository.d.ts +129 -0
  38. package/dist/types/nodefony/contracts/index.d.ts +7 -0
  39. package/dist/types/nodefony/errors/UserNotFoundError.d.ts +15 -0
  40. package/dist/types/nodefony/errors/WeakPasswordError.d.ts +12 -0
  41. package/dist/types/nodefony/service/UserService.d.ts +179 -0
  42. package/dist/types/nodefony/src/AnonymousUser.d.ts +27 -0
  43. package/dist/types/nodefony/src/BaseUser.d.ts +98 -0
  44. package/dist/types/nodefony/src/InMemoryUserRepository.d.ts +73 -0
  45. package/dist/types/nodefony/src/admin/UserAdminApi.d.ts +119 -0
  46. package/dist/types/nodefony/src/encoders/Argon2idEncoder.d.ts +83 -0
  47. package/dist/types/nodefony/src/encoders/BcryptEncoder.d.ts +55 -0
  48. package/dist/types/nodefony/src/encoders/MigratingEncoder.d.ts +68 -0
  49. package/dist/types/nodefony/src/encoders/encoderFromConfig.d.ts +36 -0
  50. package/dist/types/nodefony/src/userContract.d.ts +198 -0
  51. package/dist/types/nodefony/src/userFilters.d.ts +80 -0
  52. package/dist/types/nodefony/src/userProfile.d.ts +56 -0
  53. package/dist/types/nodefony/src/userSort.d.ts +41 -0
  54. package/dist/types/nodefony/src/userStoreRegistry.d.ts +15 -0
  55. package/docs/ajouter-des-champs.md +189 -0
  56. package/docs/index.md +1113 -0
  57. package/package.json +90 -0
package/package.json ADDED
@@ -0,0 +1,90 @@
1
+ {
2
+ "name": "@nodefony/user",
3
+ "version": "10.0.0-alpha.1",
4
+ "description": "Contrats utilisateur de Nodefony, indépendants de l'ORM : interface IUser, utilisateurs de base, encodeurs de mot de passe et UserService — consommable sans @nodefony/security",
5
+ "contributors": [],
6
+ "type": "module",
7
+ "main": "./dist/index.js",
8
+ "types": "./dist/types/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/types/index.d.ts",
12
+ "import": "./dist/index.js",
13
+ "default": "./dist/index.js"
14
+ }
15
+ },
16
+ "scripts": {
17
+ "start": "node dist/index.js",
18
+ "build": "rimraf dist && rolldown -c rolldown.config.ts && tsgo -p tsconfig.declarations.json",
19
+ "dev": "rolldown -c rolldown.config.ts --watch",
20
+ "clean": "rimraf dist",
21
+ "test": "vitest run",
22
+ "coverage": "vitest run --coverage",
23
+ "test:load": "tsx tests/load/bcrypt-throughput.ts",
24
+ "typecheck": "tsgo --noEmit -p tsconfig.json && tsgo --noEmit -p tsconfig.tests.json"
25
+ },
26
+ "private": false,
27
+ "engines": {
28
+ "node": ">=24.0.0"
29
+ },
30
+ "keywords": [
31
+ "nodefony",
32
+ "user",
33
+ "authentication",
34
+ "password",
35
+ "argon2",
36
+ "bcrypt",
37
+ "typescript",
38
+ "esm"
39
+ ],
40
+ "peerDependencies": {
41
+ "@node-rs/argon2": "^2.0.2",
42
+ "@node-rs/bcrypt": "^1.10.0",
43
+ "@nodefony/orm-core": "*",
44
+ "nodefony": "*"
45
+ },
46
+ "peerDependenciesMeta": {
47
+ "@node-rs/bcrypt": {
48
+ "optional": true
49
+ },
50
+ "@node-rs/argon2": {
51
+ "optional": true
52
+ }
53
+ },
54
+ "devDependencies": {
55
+ "@node-rs/argon2": "^2.1.0",
56
+ "@node-rs/bcrypt": "^1.10.8",
57
+ "@nodefony/orm-core": "*",
58
+ "@types/node": "26.4.1",
59
+ "@vitest/coverage-v8": "5.0.0",
60
+ "nodefony": "*",
61
+ "rimraf": "6.1.3",
62
+ "vitest": "5.0.0"
63
+ },
64
+ "repository": {
65
+ "type": "git",
66
+ "url": "git+https://github.com/nodefony/nodefony-core.git",
67
+ "directory": "src/packages/@nodefony/user"
68
+ },
69
+ "license": "CECILL-B",
70
+ "licenses": [
71
+ {
72
+ "type": "CECILL-B",
73
+ "url": "http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html"
74
+ }
75
+ ],
76
+ "author": "Christophe CAMENSULI <ccamensuli@gmail.com>",
77
+ "readmeFilename": "README.md",
78
+ "files": [
79
+ "dist",
80
+ "docs"
81
+ ],
82
+ "publishConfig": {
83
+ "access": "public"
84
+ },
85
+ "dependencies": {},
86
+ "homepage": "https://nodefony.github.io/nodefony-core/",
87
+ "bugs": {
88
+ "url": "https://github.com/nodefony/nodefony-core/issues"
89
+ }
90
+ }