@technomoron/api-server-base 2.0.0-beta.2 → 2.0.0-beta.20

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 (115) hide show
  1. package/README.txt +81 -28
  2. package/dist/cjs/api-module.cjs +9 -0
  3. package/dist/cjs/api-module.d.ts +7 -4
  4. package/dist/cjs/api-server-base.cjs +607 -99
  5. package/dist/cjs/api-server-base.d.ts +80 -23
  6. package/dist/cjs/auth-api/auth-module.d.ts +23 -3
  7. package/dist/cjs/auth-api/auth-module.js +320 -124
  8. package/dist/cjs/auth-api/compat-auth-storage.d.ts +7 -5
  9. package/dist/cjs/auth-api/compat-auth-storage.js +15 -3
  10. package/dist/cjs/auth-api/mem-auth-store.d.ts +5 -3
  11. package/dist/cjs/auth-api/mem-auth-store.js +14 -28
  12. package/dist/cjs/auth-api/module.d.ts +1 -1
  13. package/dist/cjs/auth-api/sql-auth-store.d.ts +16 -4
  14. package/dist/cjs/auth-api/sql-auth-store.js +43 -30
  15. package/dist/cjs/auth-api/storage.d.ts +6 -4
  16. package/dist/cjs/auth-api/storage.js +15 -5
  17. package/dist/cjs/auth-api/types.d.ts +7 -2
  18. package/dist/cjs/auth-api/user-id.d.ts +5 -0
  19. package/dist/cjs/auth-api/user-id.js +38 -0
  20. package/dist/cjs/auth-cookie-options.d.ts +11 -0
  21. package/dist/cjs/auth-cookie-options.js +66 -0
  22. package/dist/cjs/index.cjs +4 -14
  23. package/dist/cjs/index.d.ts +4 -9
  24. package/dist/cjs/oauth/memory.d.ts +6 -0
  25. package/dist/cjs/oauth/memory.js +44 -11
  26. package/dist/cjs/oauth/models.d.ts +7 -2
  27. package/dist/cjs/oauth/models.js +10 -21
  28. package/dist/cjs/oauth/sequelize.d.ts +10 -48
  29. package/dist/cjs/oauth/sequelize.js +44 -99
  30. package/dist/cjs/oauth/types.d.ts +1 -0
  31. package/dist/cjs/passkey/base.d.ts +2 -0
  32. package/dist/cjs/passkey/config.d.ts +2 -0
  33. package/dist/cjs/passkey/config.js +26 -0
  34. package/dist/cjs/passkey/memory.d.ts +8 -0
  35. package/dist/cjs/passkey/memory.js +57 -16
  36. package/dist/cjs/passkey/models.d.ts +13 -4
  37. package/dist/cjs/passkey/models.js +41 -14
  38. package/dist/cjs/passkey/sequelize.d.ts +13 -25
  39. package/dist/cjs/passkey/sequelize.js +68 -153
  40. package/dist/cjs/passkey/service.d.ts +6 -2
  41. package/dist/cjs/passkey/service.js +205 -27
  42. package/dist/cjs/passkey/types.d.ts +18 -9
  43. package/dist/cjs/sequelize-utils.d.ts +8 -0
  44. package/dist/cjs/sequelize-utils.js +57 -0
  45. package/dist/cjs/token/base.d.ts +2 -1
  46. package/dist/cjs/token/base.js +3 -1
  47. package/dist/cjs/token/memory.d.ts +10 -0
  48. package/dist/cjs/token/memory.js +122 -32
  49. package/dist/cjs/token/sequelize.d.ts +4 -4
  50. package/dist/cjs/token/sequelize.js +67 -85
  51. package/dist/cjs/token/types.d.ts +8 -1
  52. package/dist/cjs/user/base.d.ts +1 -0
  53. package/dist/cjs/user/base.js +11 -4
  54. package/dist/cjs/user/memory.d.ts +2 -0
  55. package/dist/cjs/user/memory.js +9 -10
  56. package/dist/cjs/user/sequelize.d.ts +7 -2
  57. package/dist/cjs/user/sequelize.js +19 -32
  58. package/dist/esm/api-module.d.ts +7 -4
  59. package/dist/esm/api-module.js +9 -0
  60. package/dist/esm/api-server-base.d.ts +80 -23
  61. package/dist/esm/api-server-base.js +608 -100
  62. package/dist/esm/auth-api/auth-module.d.ts +23 -3
  63. package/dist/esm/auth-api/auth-module.js +321 -125
  64. package/dist/esm/auth-api/compat-auth-storage.d.ts +7 -5
  65. package/dist/esm/auth-api/compat-auth-storage.js +13 -1
  66. package/dist/esm/auth-api/mem-auth-store.d.ts +5 -3
  67. package/dist/esm/auth-api/mem-auth-store.js +14 -28
  68. package/dist/esm/auth-api/module.d.ts +1 -1
  69. package/dist/esm/auth-api/sql-auth-store.d.ts +16 -4
  70. package/dist/esm/auth-api/sql-auth-store.js +43 -30
  71. package/dist/esm/auth-api/storage.d.ts +6 -4
  72. package/dist/esm/auth-api/storage.js +13 -3
  73. package/dist/esm/auth-api/types.d.ts +7 -2
  74. package/dist/esm/auth-api/user-id.d.ts +5 -0
  75. package/dist/esm/auth-api/user-id.js +32 -0
  76. package/dist/esm/auth-cookie-options.d.ts +11 -0
  77. package/dist/esm/auth-cookie-options.js +63 -0
  78. package/dist/esm/index.d.ts +4 -9
  79. package/dist/esm/index.js +2 -7
  80. package/dist/esm/oauth/memory.d.ts +6 -0
  81. package/dist/esm/oauth/memory.js +44 -11
  82. package/dist/esm/oauth/models.d.ts +7 -2
  83. package/dist/esm/oauth/models.js +6 -19
  84. package/dist/esm/oauth/sequelize.d.ts +10 -48
  85. package/dist/esm/oauth/sequelize.js +32 -87
  86. package/dist/esm/oauth/types.d.ts +1 -0
  87. package/dist/esm/passkey/base.d.ts +2 -0
  88. package/dist/esm/passkey/config.d.ts +2 -0
  89. package/dist/esm/passkey/config.js +23 -0
  90. package/dist/esm/passkey/memory.d.ts +8 -0
  91. package/dist/esm/passkey/memory.js +57 -16
  92. package/dist/esm/passkey/models.d.ts +13 -4
  93. package/dist/esm/passkey/models.js +39 -12
  94. package/dist/esm/passkey/sequelize.d.ts +13 -25
  95. package/dist/esm/passkey/sequelize.js +69 -154
  96. package/dist/esm/passkey/service.d.ts +6 -2
  97. package/dist/esm/passkey/service.js +173 -28
  98. package/dist/esm/passkey/types.d.ts +18 -9
  99. package/dist/esm/sequelize-utils.d.ts +8 -0
  100. package/dist/esm/sequelize-utils.js +48 -0
  101. package/dist/esm/token/base.d.ts +2 -1
  102. package/dist/esm/token/base.js +3 -1
  103. package/dist/esm/token/memory.d.ts +10 -0
  104. package/dist/esm/token/memory.js +122 -32
  105. package/dist/esm/token/sequelize.d.ts +4 -4
  106. package/dist/esm/token/sequelize.js +67 -85
  107. package/dist/esm/token/types.d.ts +8 -1
  108. package/dist/esm/user/base.d.ts +1 -0
  109. package/dist/esm/user/base.js +11 -4
  110. package/dist/esm/user/memory.d.ts +2 -0
  111. package/dist/esm/user/memory.js +9 -10
  112. package/dist/esm/user/sequelize.d.ts +7 -2
  113. package/dist/esm/user/sequelize.js +19 -32
  114. package/docs/swagger/openapi.json +1876 -0
  115. package/package.json +81 -32
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@technomoron/api-server-base",
3
- "version": "2.0.0-beta.2",
3
+ "version": "2.0.0-beta.20",
4
4
  "description": "Api Server Skeleton / Base Class",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.cjs",
@@ -11,6 +11,31 @@
11
11
  "types": "./dist/esm/index.d.ts",
12
12
  "import": "./dist/esm/index.js",
13
13
  "require": "./dist/cjs/index.cjs"
14
+ },
15
+ "./auth-api/sql-auth-store": {
16
+ "types": "./dist/esm/auth-api/sql-auth-store.d.ts",
17
+ "import": "./dist/esm/auth-api/sql-auth-store.js",
18
+ "require": "./dist/cjs/auth-api/sql-auth-store.js"
19
+ },
20
+ "./oauth/sequelize": {
21
+ "types": "./dist/esm/oauth/sequelize.d.ts",
22
+ "import": "./dist/esm/oauth/sequelize.js",
23
+ "require": "./dist/cjs/oauth/sequelize.js"
24
+ },
25
+ "./passkey/sequelize": {
26
+ "types": "./dist/esm/passkey/sequelize.d.ts",
27
+ "import": "./dist/esm/passkey/sequelize.js",
28
+ "require": "./dist/cjs/passkey/sequelize.js"
29
+ },
30
+ "./token/sequelize": {
31
+ "types": "./dist/esm/token/sequelize.d.ts",
32
+ "import": "./dist/esm/token/sequelize.js",
33
+ "require": "./dist/cjs/token/sequelize.js"
34
+ },
35
+ "./user/sequelize": {
36
+ "types": "./dist/esm/user/sequelize.d.ts",
37
+ "import": "./dist/esm/user/sequelize.js",
38
+ "require": "./dist/cjs/user/sequelize.js"
14
39
  }
15
40
  },
16
41
  "repository": {
@@ -30,47 +55,69 @@
30
55
  "build:esm": "tsc --project tsconfig/tsconfig.esm.json",
31
56
  "build": "node scripts/run-builds.cjs",
32
57
  "test": "vitest run",
58
+ "test:unit": "vitest run tests/unit",
59
+ "test:functional": "vitest run tests/functional",
33
60
  "test:watch": "vitest --watch",
34
61
  "prepublishOnly": "node scripts/run-builds.cjs",
35
- "lint": "eslint --ext .js,.ts,.vue ./",
36
- "lintfix": "eslint --fix --ext .js,.ts,.vue ./",
37
- "format": "eslint --fix --ext .js,.ts,.vue ./ && prettier --write \"**/*.{js,jsx,ts,tsx,vue,json,css,scss,md}\"",
38
- "cleanbuild": "rm -rf ./dist/ && eslint --fix --ext .js,.ts,.vue ./ && prettier --log-level warn --write \"**/*.{js,jsx,ts,tsx,vue,json,css,scss,md}\" && node scripts/run-builds.cjs",
39
- "pretty": "prettier --write \"**/*.{js,jsx,ts,tsx,vue,json,css,scss,md}\""
62
+ "lint": "eslint --no-error-on-unmatched-pattern --ext .js,.cjs,.mjs,.ts,.mts,.tsx,.vue,.json ./",
63
+ "lintfix": "eslint --fix --no-error-on-unmatched-pattern --ext .js,.cjs,.mjs,.ts,.mts,.tsx,.vue,.json ./",
64
+ "format": "npm run lintfix && npm run pretty",
65
+ "cleanbuild": "rm -rf ./dist/ && npm run format && npm run build",
66
+ "pretty": "prettier --write \"**/*.{js,jsx,cjs,mjs,ts,tsx,mts,vue,json,md}\"",
67
+ "lintconfig": "node lintconfig.cjs"
40
68
  },
41
69
  "dependencies": {
42
70
  "@simplewebauthn/server": "^13.2.2",
43
- "@types/cookie-parser": "^1.4.9",
44
- "@types/cors": "^2.8.19",
45
- "@types/express": "^4.17.23",
46
- "@types/jsonwebtoken": "^9.0.10",
47
- "@types/multer": "^1.4.13",
48
- "bcryptjs": "^2.4.3",
71
+ "@types/express": "^5.0.6",
72
+ "bcryptjs": "^3.0.3",
49
73
  "cookie-parser": "^1.4.7",
50
- "cors": "^2.8.5",
51
- "express": "^4.21.2",
52
- "jsonwebtoken": "^9.0.2",
53
- "multer": "^2.0.2",
54
- "mysql2": "^3.15.3",
55
- "pg": "^8.16.3",
56
- "sequelize": "^6.37.7",
57
- "sqlite3": "^5.1.7"
74
+ "cors": "^2.8.6",
75
+ "express": "^5.2.1",
76
+ "jsonwebtoken": "^9.0.3",
77
+ "multer": "^2.0.2"
58
78
  },
59
79
  "devDependencies": {
60
- "@types/bcryptjs": "^2.4.6",
61
- "@types/express-serve-static-core": "^5.1.0",
80
+ "@types/cookie-parser": "^1.4.10",
81
+ "@types/cors": "^2.8.19",
82
+ "@types/express-serve-static-core": "^5.1.1",
83
+ "@types/jsonwebtoken": "^9.0.10",
84
+ "@types/multer": "^2.0.0",
62
85
  "@types/supertest": "^6.0.3",
63
- "@typescript-eslint/eslint-plugin": "^8.46.1",
64
- "@typescript-eslint/parser": "^8.46.1",
65
- "@vue/eslint-config-prettier": "10.2.0",
66
- "@vue/eslint-config-typescript": "14.5.0",
67
- "eslint": "^9.37.0",
86
+ "@typescript-eslint/eslint-plugin": "^8.54.0",
87
+ "@typescript-eslint/parser": "^8.54.0",
88
+ "@vitest/coverage-v8": "4.0.18",
89
+ "eslint": "^9.39.2",
90
+ "eslint-config-prettier": "^10.1.8",
68
91
  "eslint-plugin-import": "^2.32.0",
69
- "eslint-plugin-vue": "^10.5.1",
70
- "prettier": "^3.6.2",
71
- "supertest": "^7.1.4",
92
+ "jsonc-eslint-parser": "^2.4.2",
93
+ "mysql2": "^3.16.3",
94
+ "pg": "^8.18.0",
95
+ "prettier": "^3.8.1",
96
+ "sequelize": "^6.37.7",
97
+ "sqlite3": "^5.1.7",
98
+ "supertest": "^7.2.2",
72
99
  "typescript": "^5.9.3",
73
- "vitest": "^3.2.4"
100
+ "vitest": "^4.0.18"
101
+ },
102
+ "peerDependencies": {
103
+ "mysql2": "^3.16.0",
104
+ "pg": "^8.16.3",
105
+ "sequelize": "^6.37.7",
106
+ "sqlite3": "^5.1.7"
107
+ },
108
+ "peerDependenciesMeta": {
109
+ "mysql2": {
110
+ "optional": true
111
+ },
112
+ "pg": {
113
+ "optional": true
114
+ },
115
+ "sequelize": {
116
+ "optional": true
117
+ },
118
+ "sqlite3": {
119
+ "optional": true
120
+ }
74
121
  },
75
122
  "pnpm": {
76
123
  "onlyBuiltDependencies": [
@@ -80,6 +127,8 @@
80
127
  },
81
128
  "files": [
82
129
  "dist/",
130
+ "docs/swagger/openapi.json",
83
131
  "package.json"
84
- ]
132
+ ],
133
+ "packageManager": "pnpm@10.28.2"
85
134
  }