mulguard 1.1.7 โ†’ 1.1.9

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 (546) hide show
  1. package/LICENSE +3 -3
  2. package/README.md +21 -582
  3. package/adapters.d.ts +2 -0
  4. package/adapters.d.ts.map +1 -0
  5. package/adapters.js +1 -0
  6. package/index.d.ts +329 -0
  7. package/index.d.ts.map +1 -0
  8. package/index.js +145 -0
  9. package/jwt.d.ts +9 -0
  10. package/jwt.d.ts.map +1 -0
  11. package/jwt.js +8 -0
  12. package/lib/actions.d.ts +13 -0
  13. package/lib/actions.d.ts.map +1 -0
  14. package/lib/actions.js +86 -0
  15. package/lib/client.d.ts +104 -0
  16. package/lib/client.d.ts.map +1 -0
  17. package/lib/client.js +95 -0
  18. package/lib/env.d.ts +12 -0
  19. package/lib/env.d.ts.map +1 -0
  20. package/lib/env.js +38 -0
  21. package/lib/index.d.ts +56 -0
  22. package/lib/index.d.ts.map +1 -0
  23. package/lib/index.js +187 -0
  24. package/lib/types.d.ts +24 -0
  25. package/lib/types.d.ts.map +1 -0
  26. package/lib/types.js +1 -0
  27. package/middleware.d.ts +9 -0
  28. package/middleware.d.ts.map +1 -0
  29. package/middleware.js +12 -0
  30. package/next.d.ts +9 -0
  31. package/next.d.ts.map +1 -0
  32. package/next.js +12 -0
  33. package/package.json +93 -102
  34. package/providers/42-school.d.ts +3 -0
  35. package/providers/42-school.d.ts.map +1 -0
  36. package/providers/42-school.js +2 -0
  37. package/providers/apple.d.ts +3 -0
  38. package/providers/apple.d.ts.map +1 -0
  39. package/providers/apple.js +2 -0
  40. package/providers/asgardeo.d.ts +3 -0
  41. package/providers/asgardeo.d.ts.map +1 -0
  42. package/providers/asgardeo.js +2 -0
  43. package/providers/atlassian.d.ts +3 -0
  44. package/providers/atlassian.d.ts.map +1 -0
  45. package/providers/atlassian.js +2 -0
  46. package/providers/auth0.d.ts +3 -0
  47. package/providers/auth0.d.ts.map +1 -0
  48. package/providers/auth0.js +2 -0
  49. package/providers/authentik.d.ts +3 -0
  50. package/providers/authentik.d.ts.map +1 -0
  51. package/providers/authentik.js +2 -0
  52. package/providers/azure-ad-b2c.d.ts +3 -0
  53. package/providers/azure-ad-b2c.d.ts.map +1 -0
  54. package/providers/azure-ad-b2c.js +2 -0
  55. package/providers/azure-ad.d.ts +3 -0
  56. package/providers/azure-ad.d.ts.map +1 -0
  57. package/providers/azure-ad.js +2 -0
  58. package/providers/azure-devops.d.ts +3 -0
  59. package/providers/azure-devops.d.ts.map +1 -0
  60. package/providers/azure-devops.js +2 -0
  61. package/providers/bankid-no.d.ts +3 -0
  62. package/providers/bankid-no.d.ts.map +1 -0
  63. package/providers/bankid-no.js +2 -0
  64. package/providers/battlenet.d.ts +3 -0
  65. package/providers/battlenet.d.ts.map +1 -0
  66. package/providers/battlenet.js +2 -0
  67. package/providers/beyondidentity.d.ts +3 -0
  68. package/providers/beyondidentity.d.ts.map +1 -0
  69. package/providers/beyondidentity.js +2 -0
  70. package/providers/bitbucket.d.ts +3 -0
  71. package/providers/bitbucket.d.ts.map +1 -0
  72. package/providers/bitbucket.js +2 -0
  73. package/providers/box.d.ts +3 -0
  74. package/providers/box.d.ts.map +1 -0
  75. package/providers/box.js +2 -0
  76. package/providers/boxyhq-saml.d.ts +3 -0
  77. package/providers/boxyhq-saml.d.ts.map +1 -0
  78. package/providers/boxyhq-saml.js +2 -0
  79. package/providers/bungie.d.ts +3 -0
  80. package/providers/bungie.d.ts.map +1 -0
  81. package/providers/bungie.js +2 -0
  82. package/providers/click-up.d.ts +3 -0
  83. package/providers/click-up.d.ts.map +1 -0
  84. package/providers/click-up.js +2 -0
  85. package/providers/cognito.d.ts +3 -0
  86. package/providers/cognito.d.ts.map +1 -0
  87. package/providers/cognito.js +2 -0
  88. package/providers/coinbase.d.ts +3 -0
  89. package/providers/coinbase.d.ts.map +1 -0
  90. package/providers/coinbase.js +2 -0
  91. package/providers/concept2.d.ts +3 -0
  92. package/providers/concept2.d.ts.map +1 -0
  93. package/providers/concept2.js +2 -0
  94. package/providers/credentials.d.ts +3 -0
  95. package/providers/credentials.d.ts.map +1 -0
  96. package/providers/credentials.js +2 -0
  97. package/providers/descope.d.ts +3 -0
  98. package/providers/descope.d.ts.map +1 -0
  99. package/providers/descope.js +2 -0
  100. package/providers/discord.d.ts +3 -0
  101. package/providers/discord.d.ts.map +1 -0
  102. package/providers/discord.js +2 -0
  103. package/providers/dribbble.d.ts +3 -0
  104. package/providers/dribbble.d.ts.map +1 -0
  105. package/providers/dribbble.js +2 -0
  106. package/providers/dropbox.d.ts +3 -0
  107. package/providers/dropbox.d.ts.map +1 -0
  108. package/providers/dropbox.js +2 -0
  109. package/providers/duende-identity-server6.d.ts +3 -0
  110. package/providers/duende-identity-server6.d.ts.map +1 -0
  111. package/providers/duende-identity-server6.js +2 -0
  112. package/providers/email.d.ts +3 -0
  113. package/providers/email.d.ts.map +1 -0
  114. package/providers/email.js +2 -0
  115. package/providers/eventbrite.d.ts +3 -0
  116. package/providers/eventbrite.d.ts.map +1 -0
  117. package/providers/eventbrite.js +2 -0
  118. package/providers/eveonline.d.ts +3 -0
  119. package/providers/eveonline.d.ts.map +1 -0
  120. package/providers/eveonline.js +2 -0
  121. package/providers/facebook.d.ts +3 -0
  122. package/providers/facebook.d.ts.map +1 -0
  123. package/providers/facebook.js +2 -0
  124. package/providers/faceit.d.ts +3 -0
  125. package/providers/faceit.d.ts.map +1 -0
  126. package/providers/faceit.js +2 -0
  127. package/providers/figma.d.ts +3 -0
  128. package/providers/figma.d.ts.map +1 -0
  129. package/providers/figma.js +2 -0
  130. package/providers/forwardemail.d.ts +3 -0
  131. package/providers/forwardemail.d.ts.map +1 -0
  132. package/providers/forwardemail.js +2 -0
  133. package/providers/foursquare.d.ts +3 -0
  134. package/providers/foursquare.d.ts.map +1 -0
  135. package/providers/foursquare.js +2 -0
  136. package/providers/freshbooks.d.ts +3 -0
  137. package/providers/freshbooks.d.ts.map +1 -0
  138. package/providers/freshbooks.js +2 -0
  139. package/providers/frontegg.d.ts +3 -0
  140. package/providers/frontegg.d.ts.map +1 -0
  141. package/providers/frontegg.js +2 -0
  142. package/providers/fusionauth.d.ts +3 -0
  143. package/providers/fusionauth.d.ts.map +1 -0
  144. package/providers/fusionauth.js +2 -0
  145. package/providers/github.d.ts +3 -0
  146. package/providers/github.d.ts.map +1 -0
  147. package/providers/github.js +2 -0
  148. package/providers/gitlab.d.ts +3 -0
  149. package/providers/gitlab.d.ts.map +1 -0
  150. package/providers/gitlab.js +2 -0
  151. package/providers/google.d.ts +3 -0
  152. package/providers/google.d.ts.map +1 -0
  153. package/providers/google.js +2 -0
  154. package/providers/hubspot.d.ts +3 -0
  155. package/providers/hubspot.d.ts.map +1 -0
  156. package/providers/hubspot.js +2 -0
  157. package/providers/huggingface.d.ts +3 -0
  158. package/providers/huggingface.d.ts.map +1 -0
  159. package/providers/huggingface.js +2 -0
  160. package/providers/identity-server4.d.ts +3 -0
  161. package/providers/identity-server4.d.ts.map +1 -0
  162. package/providers/identity-server4.js +2 -0
  163. package/providers/index.d.ts +2 -0
  164. package/providers/index.d.ts.map +1 -0
  165. package/providers/index.js +1 -0
  166. package/providers/instagram.d.ts +3 -0
  167. package/providers/instagram.d.ts.map +1 -0
  168. package/providers/instagram.js +2 -0
  169. package/providers/kakao.d.ts +3 -0
  170. package/providers/kakao.d.ts.map +1 -0
  171. package/providers/kakao.js +2 -0
  172. package/providers/keycloak.d.ts +3 -0
  173. package/providers/keycloak.d.ts.map +1 -0
  174. package/providers/keycloak.js +2 -0
  175. package/providers/kinde.d.ts +3 -0
  176. package/providers/kinde.d.ts.map +1 -0
  177. package/providers/kinde.js +2 -0
  178. package/providers/line.d.ts +3 -0
  179. package/providers/line.d.ts.map +1 -0
  180. package/providers/line.js +2 -0
  181. package/providers/linkedin.d.ts +3 -0
  182. package/providers/linkedin.d.ts.map +1 -0
  183. package/providers/linkedin.js +2 -0
  184. package/providers/logto.d.ts +3 -0
  185. package/providers/logto.d.ts.map +1 -0
  186. package/providers/logto.js +2 -0
  187. package/providers/loops.d.ts +3 -0
  188. package/providers/loops.d.ts.map +1 -0
  189. package/providers/loops.js +2 -0
  190. package/providers/mailchimp.d.ts +3 -0
  191. package/providers/mailchimp.d.ts.map +1 -0
  192. package/providers/mailchimp.js +2 -0
  193. package/providers/mailgun.d.ts +3 -0
  194. package/providers/mailgun.d.ts.map +1 -0
  195. package/providers/mailgun.js +2 -0
  196. package/providers/mailru.d.ts +3 -0
  197. package/providers/mailru.d.ts.map +1 -0
  198. package/providers/mailru.js +2 -0
  199. package/providers/mastodon.d.ts +3 -0
  200. package/providers/mastodon.d.ts.map +1 -0
  201. package/providers/mastodon.js +2 -0
  202. package/providers/mattermost.d.ts +3 -0
  203. package/providers/mattermost.d.ts.map +1 -0
  204. package/providers/mattermost.js +2 -0
  205. package/providers/medium.d.ts +3 -0
  206. package/providers/medium.d.ts.map +1 -0
  207. package/providers/medium.js +2 -0
  208. package/providers/microsoft-entra-id.d.ts +3 -0
  209. package/providers/microsoft-entra-id.d.ts.map +1 -0
  210. package/providers/microsoft-entra-id.js +2 -0
  211. package/providers/naver.d.ts +3 -0
  212. package/providers/naver.d.ts.map +1 -0
  213. package/providers/naver.js +2 -0
  214. package/providers/netlify.d.ts +3 -0
  215. package/providers/netlify.d.ts.map +1 -0
  216. package/providers/netlify.js +2 -0
  217. package/providers/netsuite.d.ts +3 -0
  218. package/providers/netsuite.d.ts.map +1 -0
  219. package/providers/netsuite.js +2 -0
  220. package/providers/nextcloud.d.ts +3 -0
  221. package/providers/nextcloud.d.ts.map +1 -0
  222. package/providers/nextcloud.js +2 -0
  223. package/providers/nodemailer.d.ts +3 -0
  224. package/providers/nodemailer.d.ts.map +1 -0
  225. package/providers/nodemailer.js +2 -0
  226. package/providers/notion.d.ts +3 -0
  227. package/providers/notion.d.ts.map +1 -0
  228. package/providers/notion.js +2 -0
  229. package/providers/okta.d.ts +3 -0
  230. package/providers/okta.d.ts.map +1 -0
  231. package/providers/okta.js +2 -0
  232. package/providers/onelogin.d.ts +3 -0
  233. package/providers/onelogin.d.ts.map +1 -0
  234. package/providers/onelogin.js +2 -0
  235. package/providers/ory-hydra.d.ts +3 -0
  236. package/providers/ory-hydra.d.ts.map +1 -0
  237. package/providers/ory-hydra.js +2 -0
  238. package/providers/osso.d.ts +3 -0
  239. package/providers/osso.d.ts.map +1 -0
  240. package/providers/osso.js +2 -0
  241. package/providers/osu.d.ts +3 -0
  242. package/providers/osu.d.ts.map +1 -0
  243. package/providers/osu.js +2 -0
  244. package/providers/passage.d.ts +3 -0
  245. package/providers/passage.d.ts.map +1 -0
  246. package/providers/passage.js +2 -0
  247. package/providers/passkey.d.ts +3 -0
  248. package/providers/passkey.d.ts.map +1 -0
  249. package/providers/passkey.js +2 -0
  250. package/providers/patreon.d.ts +3 -0
  251. package/providers/patreon.d.ts.map +1 -0
  252. package/providers/patreon.js +2 -0
  253. package/providers/ping-id.d.ts +3 -0
  254. package/providers/ping-id.d.ts.map +1 -0
  255. package/providers/ping-id.js +2 -0
  256. package/providers/pinterest.d.ts +3 -0
  257. package/providers/pinterest.d.ts.map +1 -0
  258. package/providers/pinterest.js +2 -0
  259. package/providers/pipedrive.d.ts +3 -0
  260. package/providers/pipedrive.d.ts.map +1 -0
  261. package/providers/pipedrive.js +2 -0
  262. package/providers/postmark.d.ts +3 -0
  263. package/providers/postmark.d.ts.map +1 -0
  264. package/providers/postmark.js +2 -0
  265. package/providers/reddit.d.ts +3 -0
  266. package/providers/reddit.d.ts.map +1 -0
  267. package/providers/reddit.js +2 -0
  268. package/providers/resend.d.ts +3 -0
  269. package/providers/resend.d.ts.map +1 -0
  270. package/providers/resend.js +2 -0
  271. package/providers/roblox.d.ts +3 -0
  272. package/providers/roblox.d.ts.map +1 -0
  273. package/providers/roblox.js +2 -0
  274. package/providers/salesforce.d.ts +3 -0
  275. package/providers/salesforce.d.ts.map +1 -0
  276. package/providers/salesforce.js +2 -0
  277. package/providers/sendgrid.d.ts +3 -0
  278. package/providers/sendgrid.d.ts.map +1 -0
  279. package/providers/sendgrid.js +2 -0
  280. package/providers/simplelogin.d.ts +3 -0
  281. package/providers/simplelogin.d.ts.map +1 -0
  282. package/providers/simplelogin.js +2 -0
  283. package/providers/slack.d.ts +3 -0
  284. package/providers/slack.d.ts.map +1 -0
  285. package/providers/slack.js +2 -0
  286. package/providers/spotify.d.ts +3 -0
  287. package/providers/spotify.d.ts.map +1 -0
  288. package/providers/spotify.js +2 -0
  289. package/providers/strava.d.ts +3 -0
  290. package/providers/strava.d.ts.map +1 -0
  291. package/providers/strava.js +2 -0
  292. package/providers/threads.d.ts +3 -0
  293. package/providers/threads.d.ts.map +1 -0
  294. package/providers/threads.js +2 -0
  295. package/providers/tiktok.d.ts +3 -0
  296. package/providers/tiktok.d.ts.map +1 -0
  297. package/providers/tiktok.js +2 -0
  298. package/providers/todoist.d.ts +3 -0
  299. package/providers/todoist.d.ts.map +1 -0
  300. package/providers/todoist.js +2 -0
  301. package/providers/trakt.d.ts +3 -0
  302. package/providers/trakt.d.ts.map +1 -0
  303. package/providers/trakt.js +2 -0
  304. package/providers/twitch.d.ts +3 -0
  305. package/providers/twitch.d.ts.map +1 -0
  306. package/providers/twitch.js +2 -0
  307. package/providers/twitter.d.ts +3 -0
  308. package/providers/twitter.d.ts.map +1 -0
  309. package/providers/twitter.js +2 -0
  310. package/providers/united-effects.d.ts +3 -0
  311. package/providers/united-effects.d.ts.map +1 -0
  312. package/providers/united-effects.js +2 -0
  313. package/providers/vipps.d.ts +3 -0
  314. package/providers/vipps.d.ts.map +1 -0
  315. package/providers/vipps.js +2 -0
  316. package/providers/vk.d.ts +3 -0
  317. package/providers/vk.d.ts.map +1 -0
  318. package/providers/vk.js +2 -0
  319. package/providers/webauthn.d.ts +3 -0
  320. package/providers/webauthn.d.ts.map +1 -0
  321. package/providers/webauthn.js +2 -0
  322. package/providers/webex.d.ts +3 -0
  323. package/providers/webex.d.ts.map +1 -0
  324. package/providers/webex.js +2 -0
  325. package/providers/wechat.d.ts +3 -0
  326. package/providers/wechat.d.ts.map +1 -0
  327. package/providers/wechat.js +2 -0
  328. package/providers/wikimedia.d.ts +3 -0
  329. package/providers/wikimedia.d.ts.map +1 -0
  330. package/providers/wikimedia.js +2 -0
  331. package/providers/wordpress.d.ts +3 -0
  332. package/providers/wordpress.d.ts.map +1 -0
  333. package/providers/wordpress.js +2 -0
  334. package/providers/workos.d.ts +3 -0
  335. package/providers/workos.d.ts.map +1 -0
  336. package/providers/workos.js +2 -0
  337. package/providers/yandex.d.ts +3 -0
  338. package/providers/yandex.d.ts.map +1 -0
  339. package/providers/yandex.js +2 -0
  340. package/providers/zitadel.d.ts +3 -0
  341. package/providers/zitadel.d.ts.map +1 -0
  342. package/providers/zitadel.js +2 -0
  343. package/providers/zoho.d.ts +3 -0
  344. package/providers/zoho.d.ts.map +1 -0
  345. package/providers/zoho.js +2 -0
  346. package/providers/zoom.d.ts +3 -0
  347. package/providers/zoom.d.ts.map +1 -0
  348. package/providers/zoom.js +2 -0
  349. package/react.d.ts +102 -0
  350. package/react.d.ts.map +1 -0
  351. package/react.js +361 -0
  352. package/src/adapters.ts +1 -0
  353. package/src/index.ts +430 -0
  354. package/src/jwt.ts +9 -0
  355. package/src/lib/actions.ts +144 -0
  356. package/src/lib/client.ts +245 -0
  357. package/src/lib/env.ts +36 -0
  358. package/src/lib/index.ts +313 -0
  359. package/src/lib/types.ts +30 -0
  360. package/src/middleware.ts +16 -0
  361. package/src/next.ts +16 -0
  362. package/src/providers/42-school.ts +2 -0
  363. package/src/providers/apple.ts +2 -0
  364. package/src/providers/asgardeo.ts +2 -0
  365. package/src/providers/atlassian.ts +2 -0
  366. package/src/providers/auth0.ts +2 -0
  367. package/src/providers/authentik.ts +2 -0
  368. package/src/providers/azure-ad-b2c.ts +2 -0
  369. package/src/providers/azure-ad.ts +2 -0
  370. package/src/providers/azure-devops.ts +2 -0
  371. package/src/providers/bankid-no.ts +2 -0
  372. package/src/providers/battlenet.ts +2 -0
  373. package/src/providers/beyondidentity.ts +2 -0
  374. package/src/providers/bitbucket.ts +2 -0
  375. package/src/providers/box.ts +2 -0
  376. package/src/providers/boxyhq-saml.ts +2 -0
  377. package/src/providers/bungie.ts +2 -0
  378. package/src/providers/click-up.ts +2 -0
  379. package/src/providers/cognito.ts +2 -0
  380. package/src/providers/coinbase.ts +2 -0
  381. package/src/providers/concept2.ts +2 -0
  382. package/src/providers/credentials.ts +2 -0
  383. package/src/providers/descope.ts +2 -0
  384. package/src/providers/discord.ts +2 -0
  385. package/src/providers/dribbble.ts +2 -0
  386. package/src/providers/dropbox.ts +2 -0
  387. package/src/providers/duende-identity-server6.ts +2 -0
  388. package/src/providers/email.ts +2 -0
  389. package/src/providers/eventbrite.ts +2 -0
  390. package/src/providers/eveonline.ts +2 -0
  391. package/src/providers/facebook.ts +2 -0
  392. package/src/providers/faceit.ts +2 -0
  393. package/src/providers/figma.ts +2 -0
  394. package/src/providers/forwardemail.ts +2 -0
  395. package/src/providers/foursquare.ts +2 -0
  396. package/src/providers/freshbooks.ts +2 -0
  397. package/src/providers/frontegg.ts +2 -0
  398. package/src/providers/fusionauth.ts +2 -0
  399. package/src/providers/github.ts +2 -0
  400. package/src/providers/gitlab.ts +2 -0
  401. package/src/providers/google.ts +2 -0
  402. package/src/providers/hubspot.ts +2 -0
  403. package/src/providers/huggingface.ts +2 -0
  404. package/src/providers/identity-server4.ts +2 -0
  405. package/src/providers/index.ts +1 -0
  406. package/src/providers/instagram.ts +2 -0
  407. package/src/providers/kakao.ts +2 -0
  408. package/src/providers/keycloak.ts +2 -0
  409. package/src/providers/kinde.ts +2 -0
  410. package/src/providers/line.ts +2 -0
  411. package/src/providers/linkedin.ts +2 -0
  412. package/src/providers/logto.ts +2 -0
  413. package/src/providers/loops.ts +2 -0
  414. package/src/providers/mailchimp.ts +2 -0
  415. package/src/providers/mailgun.ts +2 -0
  416. package/src/providers/mailru.ts +2 -0
  417. package/src/providers/mastodon.ts +2 -0
  418. package/src/providers/mattermost.ts +2 -0
  419. package/src/providers/medium.ts +2 -0
  420. package/src/providers/microsoft-entra-id.ts +2 -0
  421. package/src/providers/naver.ts +2 -0
  422. package/src/providers/netlify.ts +2 -0
  423. package/src/providers/netsuite.ts +2 -0
  424. package/src/providers/nextcloud.ts +2 -0
  425. package/src/providers/nodemailer.ts +2 -0
  426. package/src/providers/notion.ts +2 -0
  427. package/src/providers/okta.ts +2 -0
  428. package/src/providers/onelogin.ts +2 -0
  429. package/src/providers/ory-hydra.ts +2 -0
  430. package/src/providers/osso.ts +2 -0
  431. package/src/providers/osu.ts +2 -0
  432. package/src/providers/passage.ts +2 -0
  433. package/src/providers/passkey.ts +2 -0
  434. package/src/providers/patreon.ts +2 -0
  435. package/src/providers/ping-id.ts +2 -0
  436. package/src/providers/pinterest.ts +2 -0
  437. package/src/providers/pipedrive.ts +2 -0
  438. package/src/providers/postmark.ts +2 -0
  439. package/src/providers/reddit.ts +2 -0
  440. package/src/providers/resend.ts +2 -0
  441. package/src/providers/roblox.ts +2 -0
  442. package/src/providers/salesforce.ts +2 -0
  443. package/src/providers/sendgrid.ts +2 -0
  444. package/src/providers/simplelogin.ts +2 -0
  445. package/src/providers/slack.ts +2 -0
  446. package/src/providers/spotify.ts +2 -0
  447. package/src/providers/strava.ts +2 -0
  448. package/src/providers/threads.ts +2 -0
  449. package/src/providers/tiktok.ts +2 -0
  450. package/src/providers/todoist.ts +2 -0
  451. package/src/providers/trakt.ts +2 -0
  452. package/src/providers/twitch.ts +2 -0
  453. package/src/providers/twitter.ts +2 -0
  454. package/src/providers/united-effects.ts +2 -0
  455. package/src/providers/vipps.ts +2 -0
  456. package/src/providers/vk.ts +2 -0
  457. package/src/providers/webauthn.ts +2 -0
  458. package/src/providers/webex.ts +2 -0
  459. package/src/providers/wechat.ts +2 -0
  460. package/src/providers/wikimedia.ts +2 -0
  461. package/src/providers/wordpress.ts +2 -0
  462. package/src/providers/workos.ts +2 -0
  463. package/src/providers/yandex.ts +2 -0
  464. package/src/providers/zitadel.ts +2 -0
  465. package/src/providers/zoho.ts +2 -0
  466. package/src/providers/zoom.ts +2 -0
  467. package/src/react.tsx +546 -0
  468. package/src/webauthn.ts +152 -0
  469. package/webauthn.d.ts +9 -0
  470. package/webauthn.d.ts.map +1 -0
  471. package/webauthn.js +92 -0
  472. package/dist/actions-CMtg7FGv.js +0 -1
  473. package/dist/actions-CjQUKaXF.mjs +0 -200
  474. package/dist/client/index.js +0 -1
  475. package/dist/client/index.mjs +0 -484
  476. package/dist/components/AccountPicker.d.ts +0 -11
  477. package/dist/components/OAuthButton.d.ts +0 -11
  478. package/dist/components/PassKeyButton.d.ts +0 -11
  479. package/dist/components/PassKeyRegister.d.ts +0 -10
  480. package/dist/components/TwoFactorSetup.d.ts +0 -8
  481. package/dist/components/TwoFactorVerify.d.ts +0 -9
  482. package/dist/core/account-picker/encryption.d.ts +0 -22
  483. package/dist/core/account-picker/index.d.ts +0 -22
  484. package/dist/core/auth/email-password.d.ts +0 -145
  485. package/dist/core/auth/oauth/index.d.ts +0 -14
  486. package/dist/core/auth/oauth/oauth-handler.d.ts +0 -172
  487. package/dist/core/auth/oauth/pkce.d.ts +0 -168
  488. package/dist/core/auth/oauth/providers.d.ts +0 -198
  489. package/dist/core/auth/oauth/state-store-cookie.d.ts +0 -83
  490. package/dist/core/auth/oauth/state-store-redis.d.ts +0 -25
  491. package/dist/core/auth/oauth/state-store.d.ts +0 -48
  492. package/dist/core/auth/otp.d.ts +0 -184
  493. package/dist/core/auth/passkey.d.ts +0 -35
  494. package/dist/core/auth/password.d.ts +0 -22
  495. package/dist/core/auth/signin-unified.d.ts +0 -33
  496. package/dist/core/auth/two-factor.d.ts +0 -28
  497. package/dist/core/client/index.d.ts +0 -132
  498. package/dist/core/client/token-refresh-manager.d.ts +0 -48
  499. package/dist/core/errors/index.d.ts +0 -269
  500. package/dist/core/index.d.ts +0 -9
  501. package/dist/core/logger/index.d.ts +0 -147
  502. package/dist/core/mulguard/auth-handlers.d.ts +0 -100
  503. package/dist/core/mulguard/defaults.d.ts +0 -58
  504. package/dist/core/mulguard/index.d.ts +0 -9
  505. package/dist/core/mulguard/integration.d.ts +0 -104
  506. package/dist/core/mulguard/oauth-handler.d.ts +0 -93
  507. package/dist/core/mulguard/session-manager.d.ts +0 -94
  508. package/dist/core/security/csrf.d.ts +0 -46
  509. package/dist/core/security/headers.d.ts +0 -24
  510. package/dist/core/security/index.d.ts +0 -132
  511. package/dist/core/security/rate-limit.d.ts +0 -39
  512. package/dist/core/security/security-manager.d.ts +0 -236
  513. package/dist/core/security/validation.d.ts +0 -251
  514. package/dist/core/security/xss.d.ts +0 -20
  515. package/dist/core/session/index.d.ts +0 -35
  516. package/dist/core/session/session-manager.d.ts +0 -235
  517. package/dist/core/types/auth.d.ts +0 -290
  518. package/dist/core/types/errors.d.ts +0 -200
  519. package/dist/core/types/index.d.ts +0 -484
  520. package/dist/core/utils/auth-helpers.d.ts +0 -136
  521. package/dist/core/utils/logger.d.ts +0 -121
  522. package/dist/index/index.js +0 -1
  523. package/dist/index/index.mjs +0 -2736
  524. package/dist/index.d.ts +0 -18
  525. package/dist/mulguard.d.ts +0 -373
  526. package/dist/nextjs/client/hooks.d.ts +0 -122
  527. package/dist/nextjs/client/index.d.ts +0 -13
  528. package/dist/nextjs/client/provider.d.ts +0 -69
  529. package/dist/nextjs/client/server-actions-helper.d.ts +0 -22
  530. package/dist/nextjs/handlers/api.d.ts +0 -10
  531. package/dist/nextjs/handlers/index.d.ts +0 -9
  532. package/dist/nextjs/handlers/route.d.ts +0 -76
  533. package/dist/nextjs/index.d.ts +0 -15
  534. package/dist/nextjs/proxy/index.d.ts +0 -149
  535. package/dist/nextjs/proxy/security.d.ts +0 -9
  536. package/dist/nextjs/server/actions.d.ts +0 -30
  537. package/dist/nextjs/server/auth.d.ts +0 -65
  538. package/dist/nextjs/server/cookies.d.ts +0 -41
  539. package/dist/nextjs/server/index.d.ts +0 -18
  540. package/dist/nextjs/server/oauth-state.d.ts +0 -32
  541. package/dist/nextjs/server/session-helpers.d.ts +0 -24
  542. package/dist/nextjs/server/session.d.ts +0 -144
  543. package/dist/oauth-state-Drwz6fES.js +0 -1
  544. package/dist/oauth-state-pdypStuS.mjs +0 -210
  545. package/dist/server/index.js +0 -1
  546. package/dist/server/index.mjs +0 -29
package/LICENSE CHANGED
@@ -21,17 +21,17 @@
21
21
 
22
22
  2.2 **Copy and Distribution**: You may distribute copies of the Software, either in its original form or as modified, provided that all copies include the same license terms.
23
23
 
24
- 2.3 **Modification**: You may modify the Software and distribute the modified versions, provided that the modified Software is also licensed under this GPL and that you include a prominent notice stating the changes made.
24
+ 2.3 **Modification**: You may modify the Software and distribute the modified versions, provided that the modified Software is also licensed under this Mulverse M.U.V General Public License and that you include a prominent notice stating the changes made.
25
25
 
26
26
  **3. Copyleft**
27
27
 
28
28
  3.1 **Source Code**: If you distribute the Software or any derivative works, you must either include the source code or make it available in a manner specified by this license.
29
29
 
30
- 3.2 **License Continuity**: All copies and derivative works of the Software must be distributed under the terms of this GPL. You must include a copy of this license with all distributions.
30
+ 3.2 **License Continuity**: All copies and derivative works of the Software must be distributed under the terms of this Mulverse M.U.V General Public License. You must include a copy of this license with all distributions.
31
31
 
32
32
  **4. Conditions**
33
33
 
34
- 4.1 **Attribution**: You must provide appropriate credit to Mulverse Inc., including a notice that the Software is licensed under the Mulverse S.N.E General Public License.
34
+ 4.1 **Attribution**: You must provide appropriate credit to Mulverse Inc., including a notice that the Software is licensed under the Mulverse M.U.V General Public License.
35
35
 
36
36
  4.2 **No Warranty**: The Software is provided "as is," without any warranty of any kind. Mulverse Inc. disclaims all warranties and conditions, including but not limited to implied warranties of merchantability and fitness for a particular purpose.
37
37
 
package/README.md CHANGED
@@ -1,582 +1,21 @@
1
- # Mulguard
2
-
3
- > A modern, production-ready authentication library for Next.js 16+ (App Router)
4
-
5
- [![License: MUV](https://img.shields.io/badge/License-MUV-blue.svg)](LICENSE)
6
- [![TypeScript](https://img.shields.io/badge/TypeScript-5.3+-blue.svg)](https://www.typescriptlang.org/)
7
- [![Next.js](https://img.shields.io/badge/Next.js-16.0+-black.svg)](https://nextjs.org/)
8
-
9
- **Mulguard** is a powerful, flexible authentication library designed specifically for Next.js 16+ applications. Built with a **backend-first architecture**, it gives you complete control over your authentication logic while providing a simple, intuitive API.
10
-
11
- **Part of the [Mulverse](https://mulverse.com) ecosystem** - Empowering modern web applications with robust, secure authentication.
12
-
13
- ---
14
-
15
- ## โœจ Features
16
-
17
- ### ๐Ÿ” Multiple Authentication Methods
18
- - **Email/Password** - Traditional email and password authentication
19
- - **OAuth 2.0 with PKCE** - Support for Google, GitHub, and other OAuth providers with automatic PKCE
20
- - **OTP** - One-time password authentication
21
- - **PassKey/WebAuthn** - Passwordless authentication (coming soon)
22
- - **Two-Factor Authentication (2FA/TOTP)** - Multi-factor authentication support
23
-
24
- ### โšก Performance
25
- - **Edge Runtime Support** - Optimized for Edge Runtime where possible
26
- - **Session Caching** - Built-in session caching for improved performance
27
- - **Optimized Bundle Size** - Tree-shakeable with minimal bundle impact
28
- - **Server Actions First** - Leverages Next.js Server Actions for optimal performance
29
-
30
- ### ๐Ÿ”’ Security First
31
- - **HttpOnly Cookies** - Secure cookie handling prevents XSS attacks
32
- - **PKCE for OAuth** - Automatic PKCE implementation for OAuth flows
33
- - **CSRF Protection** - Built-in CSRF token validation
34
- - **Rate Limiting** - Configurable rate limiting to prevent brute force attacks
35
- - **Input Validation** - Comprehensive input validation and sanitization
36
- - **XSS Prevention** - Automatic XSS protection for user inputs
37
-
38
- ### ๐ŸŽฏ Developer Experience
39
- - **Type-Safe** - Full TypeScript support with generics and type inference
40
- - **Simple Setup** - Get started in minutes with minimal configuration
41
- - **Clear Errors** - Descriptive error messages with error codes
42
- - **Centralized Logging** - Professional logging system (no manual `console.log` needed)
43
- - **Unified API** - Single, consistent interface for all authentication methods
44
-
45
- ### ๐Ÿ”Œ Flexible & Extensible
46
- - **Backend-First** - Works with any backend or database (Prisma, Drizzle, MongoDB, etc.)
47
- - **Custom Actions** - Implement your own authentication logic without adapters
48
- - **Plugin System** - Extensible architecture for additional features
49
- - **Next.js 16+ Proxy** - Uses Proxy pattern instead of middleware (Next.js 16+)
50
-
51
- ---
52
-
53
- ## ๐ŸŽฏ Why Mulguard?
54
-
55
- ### Problems We Solve
56
-
57
- - โœ… **High Stability** - Production-ready library without common bugs
58
- - โœ… **Simple Setup** - Quick and easy setup without complexity
59
- - โœ… **No console.log Needed** - Professional centralized logging system
60
- - โœ… **No SSR/CSR Issues** - Clear separation between server-side and client-side
61
- - โœ… **Easy OAuth** - Simple OAuth setup with automatic PKCE
62
- - โœ… **Excellent Error Handling** - Clear and coded error messages
63
- - โœ… **Type Safety** - Full TypeScript support with generics
64
-
65
- ---
66
-
67
- ## ๐Ÿ“ฆ Installation
68
-
69
- ```bash
70
- npm install mulguard
71
- ```
72
-
73
- ### Peer Dependencies
74
-
75
- ```bash
76
- npm install next@>=16.0.0 react@>=18.0.0 react-dom@>=18.0.0
77
- ```
78
-
79
- ---
80
-
81
- ## ๐Ÿš€ Quick Start
82
-
83
- ### 1. Create Auth Configuration
84
-
85
- Create a new file `lib/auth.ts`:
86
-
87
- ```typescript
88
- import { mulguard } from 'mulguard'
89
- import type { EmailCredentials, AuthResult, Session } from 'mulguard'
90
- import { db } from '@/lib/db'
91
- import { comparePassword } from '@/lib/password'
92
-
93
- export const auth = mulguard({
94
- // Session configuration (optional)
95
- session: {
96
- cookieName: '__mulguard_session',
97
- expiresIn: 60 * 60 * 24 * 7, // 7 days
98
- httpOnly: true,
99
- secure: process.env.NODE_ENV === 'production',
100
- sameSite: 'lax',
101
- },
102
-
103
- // Required: Implement your authentication actions
104
- actions: {
105
- signIn: {
106
- email: async (credentials: EmailCredentials): Promise<AuthResult> => {
107
- // Your custom sign-in logic
108
- const user = await db.user.findUnique({
109
- where: { email: credentials.email }
110
- })
111
-
112
- if (!user || !await comparePassword(credentials.password, user.password)) {
113
- return {
114
- success: false,
115
- error: 'Invalid credentials',
116
- errorCode: 'INVALID_CREDENTIALS'
117
- }
118
- }
119
-
120
- const session: Session = {
121
- user: {
122
- id: user.id,
123
- email: user.email,
124
- name: user.name,
125
- emailVerified: user.emailVerified,
126
- },
127
- expiresAt: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000),
128
- }
129
-
130
- return { success: true, user: session.user, session }
131
- },
132
- },
133
-
134
- getSession: async (): Promise<Session | null> => {
135
- // Your custom session retrieval logic
136
- // The library handles cookie reading automatically
137
- return null
138
- },
139
-
140
- signOut: async (): Promise<void> => {
141
- // Your custom sign-out logic
142
- // The library handles cookie deletion automatically
143
- },
144
- },
145
-
146
- // Optional: OAuth providers (auto-generates OAuth actions)
147
- providers: {
148
- oauth: {
149
- google: {
150
- clientId: process.env.GOOGLE_CLIENT_ID!,
151
- clientSecret: process.env.GOOGLE_CLIENT_SECRET,
152
- redirectUri: `${process.env.NEXT_PUBLIC_URL}/api/auth/callback/google`,
153
- scopes: ['openid', 'profile', 'email'],
154
- pkce: true, // Enable PKCE (recommended)
155
- },
156
- },
157
- },
158
-
159
- // Optional: Callbacks for lifecycle events
160
- callbacks: {
161
- onSignIn: async (user, session) => {
162
- // Track sign-in analytics, update last login, etc.
163
- },
164
- onError: async (error, context) => {
165
- // Log errors for monitoring (centralized logging, no console.log needed)
166
- },
167
- },
168
- })
169
- ```
170
-
171
- ### 2. Create Route Handler
172
-
173
- Create `app/api/auth/[...mulguard]/route.ts`:
174
-
175
- ```typescript
176
- import { toNextJsHandler } from 'mulguard/handlers/route'
177
- import { auth } from '@/lib/auth'
178
-
179
- export const { GET, POST } = toNextJsHandler(auth)
180
- ```
181
-
182
- ### 3. Server-Side Usage
183
-
184
- ```typescript
185
- // app/dashboard/page.tsx
186
- import { getServerSession } from 'mulguard/server'
187
- import { auth } from '@/lib/auth'
188
- import { redirect } from 'next/navigation'
189
-
190
- export default async function DashboardPage() {
191
- const session = await getServerSession(auth)
192
-
193
- if (!session) {
194
- redirect('/login')
195
- }
196
-
197
- return (
198
- <div>
199
- <h1>Welcome, {session.user.name}!</h1>
200
- <p>Email: {session.user.email}</p>
201
- </div>
202
- )
203
- }
204
- ```
205
-
206
- ### 4. Client-Side Usage
207
-
208
- ```typescript
209
- // app/login/page.tsx
210
- 'use client'
211
-
212
- import { useAuth } from 'mulguard/client'
213
- import { auth } from '@/lib/auth'
214
- import { useState } from 'react'
215
-
216
- export default function LoginPage() {
217
- const { signIn, isLoading } = useAuth(auth)
218
- const [error, setError] = useState<string | null>(null)
219
-
220
- const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {
221
- e.preventDefault()
222
- setError(null)
223
-
224
- const formData = new FormData(e.currentTarget)
225
- const result = await signIn('credentials', {
226
- email: formData.get('email') as string,
227
- password: formData.get('password') as string,
228
- })
229
-
230
- if (result.success) {
231
- window.location.href = '/dashboard'
232
- } else {
233
- setError(result.error || 'Login failed')
234
- }
235
- }
236
-
237
- return (
238
- <form onSubmit={handleSubmit}>
239
- <input name="email" type="email" placeholder="Email" required />
240
- <input name="password" type="password" placeholder="Password" required />
241
- {error && <p className="error">{error}</p>}
242
- <button type="submit" disabled={isLoading}>
243
- {isLoading ? 'Signing in...' : 'Sign In'}
244
- </button>
245
- </form>
246
- )
247
- }
248
- ```
249
-
250
- ### 5. Route Protection (Optional)
251
-
252
- Create `proxy.ts` in your project root:
253
-
254
- ```typescript
255
- // proxy.ts (Next.js 16+)
256
- import { createProxyMiddleware } from 'mulguard/proxy'
257
- import { auth } from '@/lib/auth'
258
-
259
- export default createProxyMiddleware(auth, {
260
- protectedRoutes: ['/dashboard', '/profile'],
261
- redirectTo: '/login',
262
- redirectIfAuthenticated: '/dashboard',
263
- })
264
-
265
- export const config = {
266
- matcher: ['/((?!api|_next/static|_next/image|favicon.ico).*)'],
267
- }
268
- ```
269
-
270
- > **Note**: In Next.js 16+, `middleware.ts` has been replaced with `proxy.ts`. Mulguard uses the Proxy pattern for route protection.
271
-
272
- ---
273
-
274
- ## ๐Ÿ“‹ API Overview
275
-
276
- ### Unified Sign-In Interface
277
-
278
- Mulguard provides a unified, type-safe API for all authentication methods:
279
-
280
- ```typescript
281
- // โœ… Unified interface (recommended)
282
- await auth.signIn('credentials', { email, password })
283
- await auth.signIn('google')
284
- await auth.signIn('otp', { email, code })
285
-
286
- // โœ… Direct methods (also available)
287
- await auth.signIn.email({ email, password })
288
- await auth.signIn.oauth('google')
289
- ```
290
-
291
- ### Type Safety
292
-
293
- Full TypeScript support with generics:
294
-
295
- ```typescript
296
- import type { User, Session } from 'mulguard'
297
-
298
- const auth = mulguard<User, Session>({
299
- // Type-safe configuration
300
- actions: {
301
- signIn: {
302
- email: async (credentials) => {
303
- // TypeScript knows the return type
304
- return { success: true, user, session }
305
- },
306
- },
307
- },
308
- })
309
-
310
- // Type-safe results
311
- const result = await auth.signIn('credentials', { email, password })
312
- if (result.success) {
313
- // result.user and result.session are fully typed
314
- console.log(result.user.email)
315
- }
316
- ```
317
-
318
- ---
319
-
320
- ## โš™๏ธ Configuration
321
-
322
- ### Complete Configuration Example
323
-
324
- ```typescript
325
- import { mulguard } from 'mulguard'
326
-
327
- export const auth = mulguard({
328
- // Session configuration
329
- session: {
330
- cookieName: '__mulguard_session',
331
- expiresIn: 60 * 60 * 24 * 7, // 7 days (in seconds)
332
- httpOnly: true,
333
- secure: process.env.NODE_ENV === 'production',
334
- sameSite: 'lax',
335
- path: '/',
336
- },
337
-
338
- // Required: Custom authentication actions
339
- actions: {
340
- signIn: {
341
- email: async (credentials) => {
342
- // Your custom logic
343
- },
344
- },
345
- signUp: async (data) => {
346
- // Your custom logic
347
- },
348
- getSession: async () => {
349
- // Your custom logic
350
- },
351
- signOut: async () => {
352
- // Your custom logic
353
- },
354
- },
355
-
356
- // Optional: OAuth providers
357
- providers: {
358
- oauth: {
359
- google: {
360
- clientId: process.env.GOOGLE_CLIENT_ID!,
361
- clientSecret: process.env.GOOGLE_CLIENT_SECRET,
362
- redirectUri: `${process.env.NEXT_PUBLIC_URL}/api/auth/callback/google`,
363
- scopes: ['openid', 'profile', 'email'],
364
- pkce: true,
365
- },
366
- github: {
367
- clientId: process.env.GITHUB_CLIENT_ID!,
368
- clientSecret: process.env.GITHUB_CLIENT_SECRET,
369
- redirectUri: `${process.env.NEXT_PUBLIC_URL}/api/auth/callback/github`,
370
- scopes: ['user:email'],
371
- pkce: true,
372
- },
373
- },
374
- },
375
-
376
- // Optional: Security configuration
377
- security: {
378
- csrfProtection: true,
379
- rateLimiting: {
380
- enabled: true,
381
- maxAttempts: 5,
382
- windowMs: 15 * 60 * 1000, // 15 minutes
383
- },
384
- },
385
-
386
- // Optional: Callbacks
387
- callbacks: {
388
- onSignIn: async (user, session) => {
389
- // Called after successful sign in
390
- },
391
- onSignOut: async (user) => {
392
- // Called after sign out
393
- },
394
- onOAuthUser: async (userInfo, provider) => {
395
- // Handle OAuth user creation/update
396
- // Return user object for session
397
- },
398
- onError: async (error, context) => {
399
- // Handle errors
400
- },
401
- },
402
- })
403
- ```
404
-
405
- ---
406
-
407
- ## ๐Ÿ“– Examples
408
-
409
- ### OAuth Sign-In
410
-
411
- ```typescript
412
- // app/login/page.tsx
413
- 'use client'
414
-
415
- import { useAuth } from 'mulguard/client'
416
- import { auth } from '@/lib/auth'
417
-
418
- export default function LoginPage() {
419
- const { signIn } = useAuth(auth)
420
-
421
- const handleGoogleSignIn = async () => {
422
- const { url } = await signIn('google')
423
- window.location.href = url
424
- }
425
-
426
- return (
427
- <div>
428
- <button onClick={handleGoogleSignIn}>
429
- Sign in with Google
430
- </button>
431
- </div>
432
- )
433
- }
434
- ```
435
-
436
- ### Protected Route with Role Check
437
-
438
- ```typescript
439
- // app/admin/page.tsx
440
- import { requireRole } from 'mulguard/server'
441
- import { auth } from '@/lib/auth'
442
-
443
- export default async function AdminPage() {
444
- const session = await requireRole(auth, 'admin', '/unauthorized')
445
-
446
- // If user doesn't have 'admin' role, redirects to /unauthorized
447
- return <div>Admin Dashboard</div>
448
- }
449
- ```
450
-
451
- ### Using Provider (Recommended)
452
-
453
- ```typescript
454
- // app/layout.tsx
455
- import { MulguardProvider } from 'mulguard/client'
456
- import { auth } from '@/lib/auth'
457
-
458
- export default function RootLayout({ children }) {
459
- return (
460
- <html>
461
- <body>
462
- <MulguardProvider auth={auth}>
463
- {children}
464
- </MulguardProvider>
465
- </body>
466
- </html>
467
- )
468
- }
469
- ```
470
-
471
- ```typescript
472
- // app/profile/page.tsx
473
- 'use client'
474
-
475
- import { useAuthFromContext } from 'mulguard/client'
476
-
477
- export default function ProfilePage() {
478
- const { session, signOut } = useAuthFromContext()
479
-
480
- // No need to pass auth instance
481
- return <div>...</div>
482
- }
483
- ```
484
-
485
- ---
486
-
487
- ## ๐Ÿ—๏ธ Architecture
488
-
489
- Mulguard follows a **modular, backend-first architecture**:
490
-
491
- - **Core Layer** - Framework-agnostic authentication logic
492
- - **Next.js Integration** - Server Actions, Server Components, Proxy middleware
493
- - **Plugin System** - Extensible features (MFA, Account Picker, etc.)
494
-
495
- The library is designed to be:
496
- - **Framework Agnostic** - Core logic works with any framework
497
- - **Backend-First** - You implement your own database logic
498
- - **Type-Safe** - Full TypeScript support throughout
499
- - **Secure by Default** - Security features enabled by default
500
-
501
- ---
502
-
503
- ## ๐Ÿ”’ Security
504
-
505
- Mulguard implements **comprehensive security features**:
506
-
507
- - โœ… **HttpOnly Cookies** - Prevents XSS attacks
508
- - โœ… **Secure Flag** - HTTPS-only cookies in production
509
- - โœ… **SameSite=Strict** - CSRF protection
510
- - โœ… **PKCE for OAuth** - Prevents code interception attacks
511
- - โœ… **Rate Limiting** - Prevents brute force attacks
512
- - โœ… **Input Validation** - Prevents injection attacks
513
- - โœ… **XSS Prevention** - Automatic XSS protection
514
- - โœ… **Generic Error Messages** - Prevents information disclosure
515
-
516
- ---
517
-
518
- ## ๐Ÿ“š Documentation
519
-
520
- - **[GUIDE.md](./GUIDE.md)** - Complete usage guide with examples
521
- - **[API Reference](./docs/API_DESIGN.md)** - Full API documentation
522
-
523
- ---
524
-
525
- ## ๐Ÿงช Testing
526
-
527
- ```bash
528
- # Run tests
529
- npm test
530
-
531
- # Watch mode
532
- npm run test:watch
533
-
534
- # Coverage
535
- npm run test:coverage
536
-
537
- # Type checking
538
- npm run type-check
539
- ```
540
-
541
- ---
542
-
543
- ## ๐Ÿค Contributing
544
-
545
- Contributions are welcome! Please read our contributing guidelines before submitting a pull request.
546
-
547
- 1. Fork the repository
548
- 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
549
- 3. Commit your changes (`git commit -m 'Add some amazing feature'`)
550
- 4. Push to the branch (`git push origin feature/amazing-feature`)
551
- 5. Open a Pull Request
552
-
553
- ---
554
-
555
- ## ๐Ÿ“ License
556
-
557
- This project is licensed under the **MUV (Mulverse M.U.V General Public License)**.
558
-
559
- Copyright (C) 2024 Mulverse Inc.
560
-
561
- See the [LICENSE](./LICENSE) file for details.
562
-
563
- ---
564
-
565
- ## ๐Ÿ’ฌ Support
566
-
567
- - **๐Ÿ“– Documentation**: Check the [GUIDE.md](./GUIDE.md) for detailed usage examples
568
- - **๐Ÿ› Issues**: [GitHub Issues](https://github.com/mulverse/mulguard/issues)
569
- - **๐Ÿ’ฌ Discussions**: [GitHub Discussions](https://github.com/mulverse/mulguard/discussions)
570
-
571
- ---
572
-
573
- ## ๐ŸŒŸ About Mulverse
574
-
575
- **Mulguard** is part of the **Mulverse** ecosystem - a collection of modern, developer-friendly libraries and tools for building next-generation web applications.
576
-
577
- Visit [mulverse.com](https://mulverse.com) to learn more about our other projects.
578
-
579
- ---
580
-
581
- **Made with โค๏ธ by the Mulverse Team**
582
-
1
+ <p align="center">
2
+ <a href="https://nextjs.org" target="_blank"><img height="96px" src="https://authjs.dev/img/etc/nextjs.svg" /></a>
3
+ <a href="https://mulverse.com" target="_blank"><img height="96px" src="https://authjs.dev/img/logo-sm.png" /></a>
4
+ <h1 align="center">MulGuard</h1>
5
+ </p>
6
+ <p align="center">
7
+ Authentication for Next.js with Backend-First Architecture.
8
+ </p>
9
+ <p align="center">
10
+ Part of the <a href="https://mulverse.com" target="_blank">Mulverse Network</a>
11
+ </p>
12
+ <p align="center">
13
+ <a href="https://www.npmjs.com/package/mulguard"><img src="https://img.shields.io/npm/v/mulguard/beta?style=flat-square&label=latest&color=purple" alt="npm beta release" /></a>
14
+ <a href="https://www.npmtrends.com/mulguard"><img src="https://img.shields.io/npm/dm/mulguard?style=flat-square&color=cyan" alt="Downloads" /></a>
15
+ <a href="https://github.com/mulguard/mulguard/stargazers"><img src="https://img.shields.io/github/stars/mulguard/mulguard?style=flat-square&color=orange" alt="GitHub Stars" /></a>
16
+ <img src="https://shields.io/badge/TypeScript-3178C6?logo=TypeScript&logoColor=fff&style=flat-square" alt="TypeScript" />
17
+ </p>
18
+
19
+ ---
20
+
21
+ Check out the documentation at [mulverse.com](https://mulverse.com) or visit the [Mulverse Network](https://mulverse.com) for more information.
package/adapters.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export type * from "@mulverse/mulguard-core/adapters";
2
+ //# sourceMappingURL=adapters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["src/adapters.ts"],"names":[],"mappings":"AAAA,mBAAmB,kCAAkC,CAAA"}
package/adapters.js ADDED
@@ -0,0 +1 @@
1
+ export {};