@atlasauth/cli 0.25.0 → 0.25.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 (530) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/args.d.ts +601 -0
  3. package/dist/args.js +289 -0
  4. package/dist/args.js.map +1 -0
  5. package/dist/cli.d.ts +2 -0
  6. package/dist/cli.js +19 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/commands/actions-gallery.d.ts +8 -0
  9. package/dist/commands/actions-gallery.js +197 -0
  10. package/dist/commands/actions-gallery.js.map +1 -0
  11. package/dist/commands/actions.d.ts +13 -0
  12. package/dist/commands/actions.js +135 -0
  13. package/dist/commands/actions.js.map +1 -0
  14. package/dist/commands/admin.d.ts +49 -0
  15. package/dist/commands/admin.js +353 -0
  16. package/dist/commands/admin.js.map +1 -0
  17. package/dist/commands/api-keys.d.ts +4 -0
  18. package/dist/commands/api-keys.js +96 -0
  19. package/dist/commands/api-keys.js.map +1 -0
  20. package/dist/commands/auth.d.ts +25 -0
  21. package/dist/commands/auth.js +102 -0
  22. package/dist/commands/auth.js.map +1 -0
  23. package/dist/commands/config.d.ts +104 -0
  24. package/dist/commands/config.js +1532 -0
  25. package/dist/commands/config.js.map +1 -0
  26. package/dist/commands/csp.d.ts +32 -0
  27. package/dist/commands/csp.js +180 -0
  28. package/dist/commands/csp.js.map +1 -0
  29. package/dist/commands/dev.d.ts +8 -0
  30. package/dist/commands/dev.js +84 -0
  31. package/dist/commands/dev.js.map +1 -0
  32. package/dist/commands/fga.d.ts +10 -0
  33. package/dist/commands/fga.js +146 -0
  34. package/dist/commands/fga.js.map +1 -0
  35. package/dist/commands/golive.d.ts +40 -0
  36. package/dist/commands/golive.js +285 -0
  37. package/dist/commands/golive.js.map +1 -0
  38. package/dist/commands/id-accounts.d.ts +13 -0
  39. package/dist/commands/id-accounts.js +195 -0
  40. package/dist/commands/id-accounts.js.map +1 -0
  41. package/dist/commands/import-better-auth.d.ts +3 -0
  42. package/dist/commands/import-better-auth.js +164 -0
  43. package/dist/commands/import-better-auth.js.map +1 -0
  44. package/dist/commands/import.d.ts +3 -0
  45. package/dist/commands/import.js +123 -0
  46. package/dist/commands/import.js.map +1 -0
  47. package/dist/commands/info.d.ts +75 -0
  48. package/dist/commands/info.js +362 -0
  49. package/dist/commands/info.js.map +1 -0
  50. package/dist/commands/init.d.ts +3 -0
  51. package/dist/commands/init.js +438 -0
  52. package/dist/commands/init.js.map +1 -0
  53. package/dist/commands/integrations.d.ts +8 -0
  54. package/dist/commands/integrations.js +112 -0
  55. package/dist/commands/integrations.js.map +1 -0
  56. package/dist/commands/listen.d.ts +17 -0
  57. package/dist/commands/listen.js +223 -0
  58. package/dist/commands/listen.js.map +1 -0
  59. package/dist/commands/mcp.d.ts +38 -0
  60. package/dist/commands/mcp.js +111 -0
  61. package/dist/commands/mcp.js.map +1 -0
  62. package/dist/commands/migrate.d.ts +16 -0
  63. package/dist/commands/migrate.js +114 -0
  64. package/dist/commands/migrate.js.map +1 -0
  65. package/dist/commands/move-origin.d.ts +11 -0
  66. package/dist/commands/move-origin.js +95 -0
  67. package/dist/commands/move-origin.js.map +1 -0
  68. package/dist/commands/operator.d.ts +18 -0
  69. package/dist/commands/operator.js +238 -0
  70. package/dist/commands/operator.js.map +1 -0
  71. package/dist/commands/orgs.d.ts +4 -0
  72. package/dist/commands/orgs.js +72 -0
  73. package/dist/commands/orgs.js.map +1 -0
  74. package/dist/commands/pages.d.ts +14 -0
  75. package/dist/commands/pages.js +113 -0
  76. package/dist/commands/pages.js.map +1 -0
  77. package/dist/commands/partner-platforms.d.ts +10 -0
  78. package/dist/commands/partner-platforms.js +157 -0
  79. package/dist/commands/partner-platforms.js.map +1 -0
  80. package/dist/commands/project-commands.d.ts +38 -0
  81. package/dist/commands/project-commands.js +361 -0
  82. package/dist/commands/project-commands.js.map +1 -0
  83. package/dist/commands/referrals.d.ts +69 -0
  84. package/dist/commands/referrals.js +1056 -0
  85. package/dist/commands/referrals.js.map +1 -0
  86. package/dist/commands/resources.d.ts +44 -0
  87. package/dist/commands/resources.js +234 -0
  88. package/dist/commands/resources.js.map +1 -0
  89. package/dist/commands/sessions.d.ts +4 -0
  90. package/dist/commands/sessions.js +28 -0
  91. package/dist/commands/sessions.js.map +1 -0
  92. package/dist/commands/shared.d.ts +38 -0
  93. package/dist/commands/shared.js +69 -0
  94. package/dist/commands/shared.js.map +1 -0
  95. package/dist/commands/status.d.ts +3 -0
  96. package/dist/commands/status.js +77 -0
  97. package/dist/commands/status.js.map +1 -0
  98. package/dist/commands/users.d.ts +4 -0
  99. package/dist/commands/users.js +100 -0
  100. package/dist/commands/users.js.map +1 -0
  101. package/dist/commands/webhooks.d.ts +34 -0
  102. package/dist/commands/webhooks.js +301 -0
  103. package/dist/commands/webhooks.js.map +1 -0
  104. package/dist/config-http.d.ts +29 -0
  105. package/dist/config-http.js +64 -0
  106. package/dist/config-http.js.map +1 -0
  107. package/dist/config.d.ts +64 -0
  108. package/dist/config.js +69 -0
  109. package/dist/config.js.map +1 -0
  110. package/dist/context.d.ts +72 -0
  111. package/dist/context.js +27 -0
  112. package/dist/context.js.map +1 -0
  113. package/dist/define-config.d.ts +9 -0
  114. package/dist/define-config.js +8 -0
  115. package/dist/define-config.js.map +1 -0
  116. package/dist/errors.d.ts +15 -0
  117. package/dist/errors.js +25 -0
  118. package/dist/errors.js.map +1 -0
  119. package/dist/help.d.ts +8 -0
  120. package/dist/help.js +868 -0
  121. package/dist/help.js.map +1 -0
  122. package/dist/import/csv.d.ts +6 -0
  123. package/dist/import/csv.js +63 -0
  124. package/dist/import/csv.js.map +1 -0
  125. package/dist/import/vendors.d.ts +57 -0
  126. package/dist/import/vendors.js +568 -0
  127. package/dist/import/vendors.js.map +1 -0
  128. package/dist/index.d.ts +33 -0
  129. package/dist/index.js +81 -0
  130. package/dist/index.js.map +1 -0
  131. package/dist/io.d.ts +21 -0
  132. package/dist/io.js +28 -0
  133. package/dist/io.js.map +1 -0
  134. package/dist/migrate/appwrite/plugin.d.ts +2 -0
  135. package/dist/migrate/appwrite/plugin.js +103 -0
  136. package/dist/migrate/appwrite/plugin.js.map +1 -0
  137. package/dist/migrate/auth0/plugin.d.ts +2 -0
  138. package/dist/migrate/auth0/plugin.js +126 -0
  139. package/dist/migrate/auth0/plugin.js.map +1 -0
  140. package/dist/migrate/authentik/plugin.d.ts +2 -0
  141. package/dist/migrate/authentik/plugin.js +135 -0
  142. package/dist/migrate/authentik/plugin.js.map +1 -0
  143. package/dist/migrate/azure-ad-b2c/plugin.d.ts +8 -0
  144. package/dist/migrate/azure-ad-b2c/plugin.js +165 -0
  145. package/dist/migrate/azure-ad-b2c/plugin.js.map +1 -0
  146. package/dist/migrate/better-auth/integration.d.ts +59 -0
  147. package/dist/migrate/better-auth/integration.js +81 -0
  148. package/dist/migrate/better-auth/integration.js.map +1 -0
  149. package/dist/migrate/better-auth/orchestrator.d.ts +43 -0
  150. package/dist/migrate/better-auth/orchestrator.js +525 -0
  151. package/dist/migrate/better-auth/orchestrator.js.map +1 -0
  152. package/dist/migrate/better-auth/output.d.ts +20 -0
  153. package/dist/migrate/better-auth/output.js +146 -0
  154. package/dist/migrate/better-auth/output.js.map +1 -0
  155. package/dist/migrate/better-auth/translate.d.ts +77 -0
  156. package/dist/migrate/better-auth/translate.js +1989 -0
  157. package/dist/migrate/better-auth/translate.js.map +1 -0
  158. package/dist/migrate/clerk/plugin.d.ts +2 -0
  159. package/dist/migrate/clerk/plugin.js +76 -0
  160. package/dist/migrate/clerk/plugin.js.map +1 -0
  161. package/dist/migrate/cognito/plugin.d.ts +5 -0
  162. package/dist/migrate/cognito/plugin.js +170 -0
  163. package/dist/migrate/cognito/plugin.js.map +1 -0
  164. package/dist/migrate/corbado/plugin.d.ts +2 -0
  165. package/dist/migrate/corbado/plugin.js +63 -0
  166. package/dist/migrate/corbado/plugin.js.map +1 -0
  167. package/dist/migrate/descope/plugin.d.ts +2 -0
  168. package/dist/migrate/descope/plugin.js +83 -0
  169. package/dist/migrate/descope/plugin.js.map +1 -0
  170. package/dist/migrate/entra-external-id/plugin.d.ts +8 -0
  171. package/dist/migrate/entra-external-id/plugin.js +12 -0
  172. package/dist/migrate/entra-external-id/plugin.js.map +1 -0
  173. package/dist/migrate/export/appwrite-config.d.ts +28 -0
  174. package/dist/migrate/export/appwrite-config.js +170 -0
  175. package/dist/migrate/export/appwrite-config.js.map +1 -0
  176. package/dist/migrate/export/appwrite.d.ts +51 -0
  177. package/dist/migrate/export/appwrite.js +288 -0
  178. package/dist/migrate/export/appwrite.js.map +1 -0
  179. package/dist/migrate/export/auth0-config.d.ts +29 -0
  180. package/dist/migrate/export/auth0-config.js +249 -0
  181. package/dist/migrate/export/auth0-config.js.map +1 -0
  182. package/dist/migrate/export/auth0.d.ts +62 -0
  183. package/dist/migrate/export/auth0.js +575 -0
  184. package/dist/migrate/export/auth0.js.map +1 -0
  185. package/dist/migrate/export/authentik-config.d.ts +45 -0
  186. package/dist/migrate/export/authentik-config.js +357 -0
  187. package/dist/migrate/export/authentik-config.js.map +1 -0
  188. package/dist/migrate/export/authentik.d.ts +110 -0
  189. package/dist/migrate/export/authentik.js +838 -0
  190. package/dist/migrate/export/authentik.js.map +1 -0
  191. package/dist/migrate/export/azure-config.d.ts +58 -0
  192. package/dist/migrate/export/azure-config.js +344 -0
  193. package/dist/migrate/export/azure-config.js.map +1 -0
  194. package/dist/migrate/export/azure.d.ts +85 -0
  195. package/dist/migrate/export/azure.js +373 -0
  196. package/dist/migrate/export/azure.js.map +1 -0
  197. package/dist/migrate/export/clerk-config.d.ts +26 -0
  198. package/dist/migrate/export/clerk-config.js +227 -0
  199. package/dist/migrate/export/clerk-config.js.map +1 -0
  200. package/dist/migrate/export/clerk.d.ts +46 -0
  201. package/dist/migrate/export/clerk.js +486 -0
  202. package/dist/migrate/export/clerk.js.map +1 -0
  203. package/dist/migrate/export/cognito-config.d.ts +25 -0
  204. package/dist/migrate/export/cognito-config.js +273 -0
  205. package/dist/migrate/export/cognito-config.js.map +1 -0
  206. package/dist/migrate/export/cognito.d.ts +103 -0
  207. package/dist/migrate/export/cognito.js +441 -0
  208. package/dist/migrate/export/cognito.js.map +1 -0
  209. package/dist/migrate/export/corbado-config.d.ts +20 -0
  210. package/dist/migrate/export/corbado-config.js +63 -0
  211. package/dist/migrate/export/corbado-config.js.map +1 -0
  212. package/dist/migrate/export/corbado.d.ts +37 -0
  213. package/dist/migrate/export/corbado.js +132 -0
  214. package/dist/migrate/export/corbado.js.map +1 -0
  215. package/dist/migrate/export/descope.d.ts +35 -0
  216. package/dist/migrate/export/descope.js +208 -0
  217. package/dist/migrate/export/descope.js.map +1 -0
  218. package/dist/migrate/export/fake-vendor.test-helper.d.ts +27 -0
  219. package/dist/migrate/export/fake-vendor.test-helper.js +41 -0
  220. package/dist/migrate/export/fake-vendor.test-helper.js.map +1 -0
  221. package/dist/migrate/export/firebase-config.d.ts +24 -0
  222. package/dist/migrate/export/firebase-config.js +215 -0
  223. package/dist/migrate/export/firebase-config.js.map +1 -0
  224. package/dist/migrate/export/firebase.d.ts +102 -0
  225. package/dist/migrate/export/firebase.js +464 -0
  226. package/dist/migrate/export/firebase.js.map +1 -0
  227. package/dist/migrate/export/frameworks/app-users.d.ts +42 -0
  228. package/dist/migrate/export/frameworks/app-users.js +161 -0
  229. package/dist/migrate/export/frameworks/app-users.js.map +1 -0
  230. package/dist/migrate/export/frameworks/authjs.d.ts +41 -0
  231. package/dist/migrate/export/frameworks/authjs.js +146 -0
  232. package/dist/migrate/export/frameworks/authjs.js.map +1 -0
  233. package/dist/migrate/export/frameworks/devise.d.ts +39 -0
  234. package/dist/migrate/export/frameworks/devise.js +218 -0
  235. package/dist/migrate/export/frameworks/devise.js.map +1 -0
  236. package/dist/migrate/export/frameworks/django.d.ts +45 -0
  237. package/dist/migrate/export/frameworks/django.js +315 -0
  238. package/dist/migrate/export/frameworks/django.js.map +1 -0
  239. package/dist/migrate/export/frameworks/lucia.d.ts +42 -0
  240. package/dist/migrate/export/frameworks/lucia.js +263 -0
  241. package/dist/migrate/export/frameworks/lucia.js.map +1 -0
  242. package/dist/migrate/export/frameworks/tables.d.ts +90 -0
  243. package/dist/migrate/export/frameworks/tables.js +325 -0
  244. package/dist/migrate/export/frameworks/tables.js.map +1 -0
  245. package/dist/migrate/export/frameworks/webauthn.d.ts +25 -0
  246. package/dist/migrate/export/frameworks/webauthn.js +130 -0
  247. package/dist/migrate/export/frameworks/webauthn.js.map +1 -0
  248. package/dist/migrate/export/frontegg-config.d.ts +29 -0
  249. package/dist/migrate/export/frontegg-config.js +238 -0
  250. package/dist/migrate/export/frontegg-config.js.map +1 -0
  251. package/dist/migrate/export/frontegg.d.ts +67 -0
  252. package/dist/migrate/export/frontegg.js +410 -0
  253. package/dist/migrate/export/frontegg.js.map +1 -0
  254. package/dist/migrate/export/fusionauth-config.d.ts +26 -0
  255. package/dist/migrate/export/fusionauth-config.js +226 -0
  256. package/dist/migrate/export/fusionauth-config.js.map +1 -0
  257. package/dist/migrate/export/fusionauth.d.ts +99 -0
  258. package/dist/migrate/export/fusionauth.js +642 -0
  259. package/dist/migrate/export/fusionauth.js.map +1 -0
  260. package/dist/migrate/export/hanko-config.d.ts +27 -0
  261. package/dist/migrate/export/hanko-config.js +265 -0
  262. package/dist/migrate/export/hanko-config.js.map +1 -0
  263. package/dist/migrate/export/hanko.d.ts +52 -0
  264. package/dist/migrate/export/hanko.js +605 -0
  265. package/dist/migrate/export/hanko.js.map +1 -0
  266. package/dist/migrate/export/keycloak-config.d.ts +19 -0
  267. package/dist/migrate/export/keycloak-config.js +219 -0
  268. package/dist/migrate/export/keycloak-config.js.map +1 -0
  269. package/dist/migrate/export/keycloak.d.ts +155 -0
  270. package/dist/migrate/export/keycloak.js +878 -0
  271. package/dist/migrate/export/keycloak.js.map +1 -0
  272. package/dist/migrate/export/kinde-descope-config.d.ts +38 -0
  273. package/dist/migrate/export/kinde-descope-config.js +172 -0
  274. package/dist/migrate/export/kinde-descope-config.js.map +1 -0
  275. package/dist/migrate/export/kinde.d.ts +57 -0
  276. package/dist/migrate/export/kinde.js +333 -0
  277. package/dist/migrate/export/kinde.js.map +1 -0
  278. package/dist/migrate/export/ldap.d.ts +53 -0
  279. package/dist/migrate/export/ldap.js +277 -0
  280. package/dist/migrate/export/ldap.js.map +1 -0
  281. package/dist/migrate/export/logto-config.d.ts +27 -0
  282. package/dist/migrate/export/logto-config.js +264 -0
  283. package/dist/migrate/export/logto-config.js.map +1 -0
  284. package/dist/migrate/export/logto.d.ts +150 -0
  285. package/dist/migrate/export/logto.js +809 -0
  286. package/dist/migrate/export/logto.js.map +1 -0
  287. package/dist/migrate/export/magic-config.d.ts +14 -0
  288. package/dist/migrate/export/magic-config.js +28 -0
  289. package/dist/migrate/export/magic-config.js.map +1 -0
  290. package/dist/migrate/export/magic.d.ts +31 -0
  291. package/dist/migrate/export/magic.js +93 -0
  292. package/dist/migrate/export/magic.js.map +1 -0
  293. package/dist/migrate/export/mini-yaml.d.ts +19 -0
  294. package/dist/migrate/export/mini-yaml.js +581 -0
  295. package/dist/migrate/export/mini-yaml.js.map +1 -0
  296. package/dist/migrate/export/nhost-config.d.ts +26 -0
  297. package/dist/migrate/export/nhost-config.js +360 -0
  298. package/dist/migrate/export/nhost-config.js.map +1 -0
  299. package/dist/migrate/export/nhost.d.ts +64 -0
  300. package/dist/migrate/export/nhost.js +304 -0
  301. package/dist/migrate/export/nhost.js.map +1 -0
  302. package/dist/migrate/export/okta-config.d.ts +30 -0
  303. package/dist/migrate/export/okta-config.js +205 -0
  304. package/dist/migrate/export/okta-config.js.map +1 -0
  305. package/dist/migrate/export/okta.d.ts +43 -0
  306. package/dist/migrate/export/okta.js +337 -0
  307. package/dist/migrate/export/okta.js.map +1 -0
  308. package/dist/migrate/export/onelogin.d.ts +22 -0
  309. package/dist/migrate/export/onelogin.js +123 -0
  310. package/dist/migrate/export/onelogin.js.map +1 -0
  311. package/dist/migrate/export/ory-config.d.ts +58 -0
  312. package/dist/migrate/export/ory-config.js +451 -0
  313. package/dist/migrate/export/ory-config.js.map +1 -0
  314. package/dist/migrate/export/ory.d.ts +81 -0
  315. package/dist/migrate/export/ory.js +555 -0
  316. package/dist/migrate/export/ory.js.map +1 -0
  317. package/dist/migrate/export/password-detect.d.ts +29 -0
  318. package/dist/migrate/export/password-detect.js +81 -0
  319. package/dist/migrate/export/password-detect.js.map +1 -0
  320. package/dist/migrate/export/pingone.d.ts +36 -0
  321. package/dist/migrate/export/pingone.js +218 -0
  322. package/dist/migrate/export/pingone.js.map +1 -0
  323. package/dist/migrate/export/plugin-kit.d.ts +25 -0
  324. package/dist/migrate/export/plugin-kit.js +82 -0
  325. package/dist/migrate/export/plugin-kit.js.map +1 -0
  326. package/dist/migrate/export/pocketbase-config.d.ts +28 -0
  327. package/dist/migrate/export/pocketbase-config.js +180 -0
  328. package/dist/migrate/export/pocketbase-config.js.map +1 -0
  329. package/dist/migrate/export/pocketbase.d.ts +52 -0
  330. package/dist/migrate/export/pocketbase.js +243 -0
  331. package/dist/migrate/export/pocketbase.js.map +1 -0
  332. package/dist/migrate/export/project-files.d.ts +15 -0
  333. package/dist/migrate/export/project-files.js +43 -0
  334. package/dist/migrate/export/project-files.js.map +1 -0
  335. package/dist/migrate/export/propelauth-config.d.ts +18 -0
  336. package/dist/migrate/export/propelauth-config.js +58 -0
  337. package/dist/migrate/export/propelauth-config.js.map +1 -0
  338. package/dist/migrate/export/propelauth-harness.test-helper.d.ts +62 -0
  339. package/dist/migrate/export/propelauth-harness.test-helper.js +109 -0
  340. package/dist/migrate/export/propelauth-harness.test-helper.js.map +1 -0
  341. package/dist/migrate/export/propelauth.d.ts +48 -0
  342. package/dist/migrate/export/propelauth.js +255 -0
  343. package/dist/migrate/export/propelauth.js.map +1 -0
  344. package/dist/migrate/export/record-set.d.ts +44 -0
  345. package/dist/migrate/export/record-set.js +98 -0
  346. package/dist/migrate/export/record-set.js.map +1 -0
  347. package/dist/migrate/export/source-lines.d.ts +17 -0
  348. package/dist/migrate/export/source-lines.js +43 -0
  349. package/dist/migrate/export/source-lines.js.map +1 -0
  350. package/dist/migrate/export/sso-metadata.d.ts +47 -0
  351. package/dist/migrate/export/sso-metadata.js +180 -0
  352. package/dist/migrate/export/sso-metadata.js.map +1 -0
  353. package/dist/migrate/export/stytch-config.d.ts +22 -0
  354. package/dist/migrate/export/stytch-config.js +102 -0
  355. package/dist/migrate/export/stytch-config.js.map +1 -0
  356. package/dist/migrate/export/stytch.d.ts +68 -0
  357. package/dist/migrate/export/stytch.js +510 -0
  358. package/dist/migrate/export/stytch.js.map +1 -0
  359. package/dist/migrate/export/supabase-config.d.ts +48 -0
  360. package/dist/migrate/export/supabase-config.js +408 -0
  361. package/dist/migrate/export/supabase-config.js.map +1 -0
  362. package/dist/migrate/export/supabase.d.ts +86 -0
  363. package/dist/migrate/export/supabase.js +524 -0
  364. package/dist/migrate/export/supabase.js.map +1 -0
  365. package/dist/migrate/export/supertokens-config.d.ts +20 -0
  366. package/dist/migrate/export/supertokens-config.js +150 -0
  367. package/dist/migrate/export/supertokens-config.js.map +1 -0
  368. package/dist/migrate/export/supertokens.d.ts +125 -0
  369. package/dist/migrate/export/supertokens.js +464 -0
  370. package/dist/migrate/export/supertokens.js.map +1 -0
  371. package/dist/migrate/export/table.d.ts +35 -0
  372. package/dist/migrate/export/table.js +248 -0
  373. package/dist/migrate/export/table.js.map +1 -0
  374. package/dist/migrate/export/translate-kit.d.ts +46 -0
  375. package/dist/migrate/export/translate-kit.js +148 -0
  376. package/dist/migrate/export/translate-kit.js.map +1 -0
  377. package/dist/migrate/export/userfront-config.d.ts +15 -0
  378. package/dist/migrate/export/userfront-config.js +49 -0
  379. package/dist/migrate/export/userfront-config.js.map +1 -0
  380. package/dist/migrate/export/userfront.d.ts +38 -0
  381. package/dist/migrate/export/userfront.js +189 -0
  382. package/dist/migrate/export/userfront.js.map +1 -0
  383. package/dist/migrate/export/vendor-http.d.ts +46 -0
  384. package/dist/migrate/export/vendor-http.js +138 -0
  385. package/dist/migrate/export/vendor-http.js.map +1 -0
  386. package/dist/migrate/export/workos-config.d.ts +23 -0
  387. package/dist/migrate/export/workos-config.js +125 -0
  388. package/dist/migrate/export/workos-config.js.map +1 -0
  389. package/dist/migrate/export/workos.d.ts +46 -0
  390. package/dist/migrate/export/workos.js +272 -0
  391. package/dist/migrate/export/workos.js.map +1 -0
  392. package/dist/migrate/export/zip.d.ts +8 -0
  393. package/dist/migrate/export/zip.js +66 -0
  394. package/dist/migrate/export/zip.js.map +1 -0
  395. package/dist/migrate/export/zitadel-config.d.ts +37 -0
  396. package/dist/migrate/export/zitadel-config.js +279 -0
  397. package/dist/migrate/export/zitadel-config.js.map +1 -0
  398. package/dist/migrate/export/zitadel.d.ts +82 -0
  399. package/dist/migrate/export/zitadel.js +447 -0
  400. package/dist/migrate/export/zitadel.js.map +1 -0
  401. package/dist/migrate/firebase/plugin.d.ts +2 -0
  402. package/dist/migrate/firebase/plugin.js +152 -0
  403. package/dist/migrate/firebase/plugin.js.map +1 -0
  404. package/dist/migrate/framework/builtins.d.ts +2 -0
  405. package/dist/migrate/framework/builtins.js +52 -0
  406. package/dist/migrate/framework/builtins.js.map +1 -0
  407. package/dist/migrate/framework/commands.d.ts +20 -0
  408. package/dist/migrate/framework/commands.js +58 -0
  409. package/dist/migrate/framework/commands.js.map +1 -0
  410. package/dist/migrate/framework/custom.d.ts +12 -0
  411. package/dist/migrate/framework/custom.js +96 -0
  412. package/dist/migrate/framework/custom.js.map +1 -0
  413. package/dist/migrate/framework/orchestrator.d.ts +113 -0
  414. package/dist/migrate/framework/orchestrator.js +532 -0
  415. package/dist/migrate/framework/orchestrator.js.map +1 -0
  416. package/dist/migrate/framework/plugin.d.ts +167 -0
  417. package/dist/migrate/framework/plugin.js +3 -0
  418. package/dist/migrate/framework/plugin.js.map +1 -0
  419. package/dist/migrate/framework/registry.d.ts +11 -0
  420. package/dist/migrate/framework/registry.js +44 -0
  421. package/dist/migrate/framework/registry.js.map +1 -0
  422. package/dist/migrate/framework/report.d.ts +17 -0
  423. package/dist/migrate/framework/report.js +103 -0
  424. package/dist/migrate/framework/report.js.map +1 -0
  425. package/dist/migrate/frameworks/plugins.d.ts +29 -0
  426. package/dist/migrate/frameworks/plugins.js +402 -0
  427. package/dist/migrate/frameworks/plugins.js.map +1 -0
  428. package/dist/migrate/frameworks/report.d.ts +92 -0
  429. package/dist/migrate/frameworks/report.js +207 -0
  430. package/dist/migrate/frameworks/report.js.map +1 -0
  431. package/dist/migrate/frameworks/translate-js.d.ts +5 -0
  432. package/dist/migrate/frameworks/translate-js.js +503 -0
  433. package/dist/migrate/frameworks/translate-js.js.map +1 -0
  434. package/dist/migrate/frameworks/translate-rails-django.d.ts +3 -0
  435. package/dist/migrate/frameworks/translate-rails-django.js +1391 -0
  436. package/dist/migrate/frameworks/translate-rails-django.js.map +1 -0
  437. package/dist/migrate/frontegg/plugin.d.ts +2 -0
  438. package/dist/migrate/frontegg/plugin.js +78 -0
  439. package/dist/migrate/frontegg/plugin.js.map +1 -0
  440. package/dist/migrate/fusionauth/plugin.d.ts +2 -0
  441. package/dist/migrate/fusionauth/plugin.js +109 -0
  442. package/dist/migrate/fusionauth/plugin.js.map +1 -0
  443. package/dist/migrate/hanko/plugin.d.ts +2 -0
  444. package/dist/migrate/hanko/plugin.js +100 -0
  445. package/dist/migrate/hanko/plugin.js.map +1 -0
  446. package/dist/migrate/keycloak/plugin.d.ts +2 -0
  447. package/dist/migrate/keycloak/plugin.js +148 -0
  448. package/dist/migrate/keycloak/plugin.js.map +1 -0
  449. package/dist/migrate/kinde/plugin.d.ts +2 -0
  450. package/dist/migrate/kinde/plugin.js +105 -0
  451. package/dist/migrate/kinde/plugin.js.map +1 -0
  452. package/dist/migrate/ldap/plugin.d.ts +2 -0
  453. package/dist/migrate/ldap/plugin.js +73 -0
  454. package/dist/migrate/ldap/plugin.js.map +1 -0
  455. package/dist/migrate/logto/plugin.d.ts +2 -0
  456. package/dist/migrate/logto/plugin.js +131 -0
  457. package/dist/migrate/logto/plugin.js.map +1 -0
  458. package/dist/migrate/magic/plugin.d.ts +2 -0
  459. package/dist/migrate/magic/plugin.js +56 -0
  460. package/dist/migrate/magic/plugin.js.map +1 -0
  461. package/dist/migrate/nhost/plugin.d.ts +2 -0
  462. package/dist/migrate/nhost/plugin.js +115 -0
  463. package/dist/migrate/nhost/plugin.js.map +1 -0
  464. package/dist/migrate/oidc/plugin.d.ts +2 -0
  465. package/dist/migrate/oidc/plugin.js +73 -0
  466. package/dist/migrate/oidc/plugin.js.map +1 -0
  467. package/dist/migrate/okta/plugin.d.ts +2 -0
  468. package/dist/migrate/okta/plugin.js +105 -0
  469. package/dist/migrate/okta/plugin.js.map +1 -0
  470. package/dist/migrate/onelogin/plugin.d.ts +2 -0
  471. package/dist/migrate/onelogin/plugin.js +61 -0
  472. package/dist/migrate/onelogin/plugin.js.map +1 -0
  473. package/dist/migrate/ory/plugin.d.ts +2 -0
  474. package/dist/migrate/ory/plugin.js +186 -0
  475. package/dist/migrate/ory/plugin.js.map +1 -0
  476. package/dist/migrate/ping-identity/plugin.d.ts +2 -0
  477. package/dist/migrate/ping-identity/plugin.js +100 -0
  478. package/dist/migrate/ping-identity/plugin.js.map +1 -0
  479. package/dist/migrate/pocketbase/plugin.d.ts +2 -0
  480. package/dist/migrate/pocketbase/plugin.js +99 -0
  481. package/dist/migrate/pocketbase/plugin.js.map +1 -0
  482. package/dist/migrate/propelauth/plugin.d.ts +2 -0
  483. package/dist/migrate/propelauth/plugin.js +65 -0
  484. package/dist/migrate/propelauth/plugin.js.map +1 -0
  485. package/dist/migrate/saml/plugin.d.ts +2 -0
  486. package/dist/migrate/saml/plugin.js +79 -0
  487. package/dist/migrate/saml/plugin.js.map +1 -0
  488. package/dist/migrate/stytch/plugin.d.ts +2 -0
  489. package/dist/migrate/stytch/plugin.js +97 -0
  490. package/dist/migrate/stytch/plugin.js.map +1 -0
  491. package/dist/migrate/supabase/plugin.d.ts +2 -0
  492. package/dist/migrate/supabase/plugin.js +149 -0
  493. package/dist/migrate/supabase/plugin.js.map +1 -0
  494. package/dist/migrate/supertokens/plugin.d.ts +2 -0
  495. package/dist/migrate/supertokens/plugin.js +114 -0
  496. package/dist/migrate/supertokens/plugin.js.map +1 -0
  497. package/dist/migrate/user-table/plugin.d.ts +2 -0
  498. package/dist/migrate/user-table/plugin.js +62 -0
  499. package/dist/migrate/user-table/plugin.js.map +1 -0
  500. package/dist/migrate/userfront/plugin.d.ts +2 -0
  501. package/dist/migrate/userfront/plugin.js +60 -0
  502. package/dist/migrate/userfront/plugin.js.map +1 -0
  503. package/dist/migrate/workos/plugin.d.ts +2 -0
  504. package/dist/migrate/workos/plugin.js +81 -0
  505. package/dist/migrate/workos/plugin.js.map +1 -0
  506. package/dist/migrate/zitadel/plugin.d.ts +2 -0
  507. package/dist/migrate/zitadel/plugin.js +114 -0
  508. package/dist/migrate/zitadel/plugin.js.map +1 -0
  509. package/dist/output.d.ts +41 -0
  510. package/dist/output.js +72 -0
  511. package/dist/output.js.map +1 -0
  512. package/dist/project.d.ts +64 -0
  513. package/dist/project.js +86 -0
  514. package/dist/project.js.map +1 -0
  515. package/dist/prompt.d.ts +15 -0
  516. package/dist/prompt.js +46 -0
  517. package/dist/prompt.js.map +1 -0
  518. package/dist/run.d.ts +12 -0
  519. package/dist/run.js +157 -0
  520. package/dist/run.js.map +1 -0
  521. package/dist/secrets.d.ts +41 -0
  522. package/dist/secrets.js +142 -0
  523. package/dist/secrets.js.map +1 -0
  524. package/dist/serialize.d.ts +30 -0
  525. package/dist/serialize.js +131 -0
  526. package/dist/serialize.js.map +1 -0
  527. package/dist/version.d.ts +7 -0
  528. package/dist/version.js +21 -0
  529. package/dist/version.js.map +1 -0
  530. package/package.json +3 -3
@@ -0,0 +1,503 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.translateAuthJs = translateAuthJs;
4
+ exports.translateLucia = translateLucia;
5
+ exports.translatePassport = translatePassport;
6
+ exports.translateIronSession = translateIronSession;
7
+ const upgrade_1 = require("@atlasauth/upgrade");
8
+ const report_1 = require("./report");
9
+ /**
10
+ * Config translators for the JavaScript frameworks — Auth.js / NextAuth,
11
+ * Lucia, Passport (+ express-session) and iron-session — reading the app's
12
+ * source statically (nothing runs, `.env` files are never read; env vars are
13
+ * carried by NAME as `${NAME}` placeholders).
14
+ */
15
+ // ── StaticValue helpers ─────────────────────────────────────────────────────
16
+ const at = (v, fallback) => (v ? v.loc : fallback);
17
+ function cv(v) {
18
+ if (!v)
19
+ return undefined;
20
+ if (v.kind === 'string' || v.kind === 'number' || v.kind === 'boolean')
21
+ return { kind: 'literal', value: v.value, at: v.loc };
22
+ if (v.kind === 'env')
23
+ return { kind: 'env', name: v.name, at: v.loc };
24
+ return { kind: 'opaque', text: describe(v), at: v.loc };
25
+ }
26
+ function describe(v) {
27
+ switch (v.kind) {
28
+ case 'unknown':
29
+ return v.text.length > 60 ? `${v.text.slice(0, 57)}…` : v.text;
30
+ case 'call':
31
+ return `${v.callee}(…)`;
32
+ case 'external':
33
+ return `${v.name} from ${v.module}`;
34
+ case 'function':
35
+ return 'a function';
36
+ case 'param':
37
+ return `parameter ${v.name}`;
38
+ case 'template':
39
+ return 'a template string';
40
+ default:
41
+ return v.kind;
42
+ }
43
+ }
44
+ const str = (v) => (v?.kind === 'string' ? v.value : undefined);
45
+ const num = (v) => (v?.kind === 'number' ? v.value : undefined);
46
+ const bool = (v) => (v?.kind === 'boolean' ? v.value : undefined);
47
+ /** The object a call's options resolve to (following a function that returns one: Auth.js lazy init). */
48
+ function objectOf(v) {
49
+ if (!v)
50
+ return undefined;
51
+ if (v.kind === 'object')
52
+ return v;
53
+ if (v.kind === 'function' && v.returns?.kind === 'object')
54
+ return v.returns;
55
+ return undefined;
56
+ }
57
+ function upperSnake(id) {
58
+ return id.replace(/[^A-Za-z0-9]+/g, '_').replace(/([a-z])([A-Z])/g, '$1_$2').toUpperCase();
59
+ }
60
+ function originOf(calls, what) {
61
+ const first = calls[0];
62
+ return first ? { origin: `${what} at ${first.loc.file}:${first.loc.line}`, where: first.loc } : { origin: `${what} (not found)`, where: { file: '(none)', line: 0 } };
63
+ }
64
+ function notFound(b, analysis, area, what) {
65
+ b.add('manual', area, what, `No ${what} was found under ${analysis.root} (${analysis.filesScanned} files scanned). Point the command at the folder that sets it up.`);
66
+ for (const e of analysis.parseErrors)
67
+ b.add('manual', 'setup', 'parse', `This file could not be parsed (${e.message}); settings in it were not read.`, { file: e.file, line: 1 });
68
+ return b.result();
69
+ }
70
+ // ── Auth.js / NextAuth ──────────────────────────────────────────────────────
71
+ const AUTHJS_ENTRY = [
72
+ { id: 'nextauth', module: /^next-auth$/, names: ['default', 'NextAuth'] },
73
+ { id: 'core', module: /^@auth\/core$/, names: ['Auth'] },
74
+ { id: 'framework', module: /^@auth\/(express|sveltekit|solid-start|qwik|astro|fastify|hono|nuxt)$/, names: '*' },
75
+ ];
76
+ /** Auth.js email-ish providers: magic links through an email service. */
77
+ const EMAIL_PROVIDERS = new Set(['email', 'nodemailer', 'resend', 'sendgrid', 'postmark', 'mailgun', 'forwardemail', 'loops']);
78
+ function translateAuthJs(project) {
79
+ const analysis = (0, upgrade_1.analyzeCalls)(project, AUTHJS_ENTRY, ['next-auth', '@auth/']);
80
+ const calls = analysis.calls.filter((c) => c.matcher !== 'framework' || /Auth\$?$/.test(c.imported.name));
81
+ const { origin, where } = originOf(calls, 'Auth.js config');
82
+ const b = new report_1.TranslationBuilder(origin, where);
83
+ if (!calls.length)
84
+ return notFound(b, analysis, 'setup', 'NextAuth() / Auth.js call');
85
+ const call = calls[0];
86
+ for (const other of calls.slice(1))
87
+ b.add('manual', 'setup', 'NextAuth()', `Another Auth.js call is here; only the one at ${call.loc.file}:${call.loc.line} was translated.`, other.loc);
88
+ const opts = objectOf(call.matcher === 'core' ? call.args[1] : call.args[0]);
89
+ if (!opts) {
90
+ b.add('manual', 'setup', 'config', 'The Auth.js config cannot be read statically; review its settings by hand.', call.loc);
91
+ return b.result();
92
+ }
93
+ const area = 'authjs';
94
+ const version = analysis.dependencies['next-auth'] ?? analysis.dependencies['@auth/core'] ?? '';
95
+ const v4 = /^[~^]?4\./.test(version);
96
+ // Providers.
97
+ const providers = (0, upgrade_1.propOf)(opts, 'providers');
98
+ let hasCredentials = false;
99
+ let hasPasskey = false;
100
+ if (providers?.kind === 'array') {
101
+ for (const p of providers.items) {
102
+ const module = p.kind === 'call' ? p.imported?.module : p.kind === 'external' ? p.module : undefined;
103
+ const id = module?.split('/').pop()?.toLowerCase();
104
+ const cfg = p.kind === 'call' ? p.args[0] : undefined;
105
+ if (!id) {
106
+ b.add('manual', 'providers', 'providers[]', `A provider that cannot be read statically (${describe(p)}).`, p.loc);
107
+ continue;
108
+ }
109
+ if (id === 'credentials') {
110
+ hasCredentials = true;
111
+ b.set('strategies.password', true);
112
+ b.add('differs', 'providers', 'Credentials', 'Atlas owns password sign-in: your authorize() is no longer called. Passwords your app stored with bcrypt, Argon2, scrypt or PBKDF2 carry over in the export; for any other scheme turn on lazy migration (preset authjs_credentials) so Atlas asks your old Credentials endpoint once per user.', p.loc, 'auth_config.strategies.password');
113
+ continue;
114
+ }
115
+ if (EMAIL_PROVIDERS.has(id)) {
116
+ b.set('strategies.emailLink', true);
117
+ b.add('differs', 'providers', id, 'Email sign-in links on. Atlas sends them through your email provider (configure it in Atlas); customise the "magic link" template instead of sendVerificationRequest.', p.loc, 'auth_config.strategies.emailLink');
118
+ continue;
119
+ }
120
+ if (id === 'passkey' || id === 'webauthn') {
121
+ hasPasskey = true;
122
+ b.set('strategies.passkey', true);
123
+ b.add('mapped', 'providers', id, 'Passkey sign-in on. Registered passkeys are imported when you pass the RP id to the export (same domain).', p.loc, 'auth_config.strategies.passkey');
124
+ continue;
125
+ }
126
+ const atlasKey = report_1.FRAMEWORK_PROVIDER_MAP[id];
127
+ if (!atlasKey) {
128
+ b.add('manual', 'providers', id, `"${id}" has no same-named Atlas provider: add it as a custom OAuth / OIDC provider (custom_oauth_providers) with its endpoints.`, p.loc);
129
+ continue;
130
+ }
131
+ const upper = upperSnake(id);
132
+ // v5 reads AUTH_<PROVIDER>_ID / _SECRET when the provider is passed without options.
133
+ const idEnv = v4 ? `${upper}_CLIENT_ID` : `AUTH_${upper}_ID`;
134
+ const secretEnv = v4 ? `${upper}_CLIENT_SECRET` : `AUTH_${upper}_SECRET`;
135
+ const clientId = b.configString(cv((0, upgrade_1.propOf)(cfg, 'clientId')) ?? (cfg ? undefined : { kind: 'env', name: idEnv, at: p.loc }), `${id} client id`, idEnv, { area: 'providers', setting: `${id}.clientId` });
136
+ const clientSecret = atlasKey === 'apple' ? undefined : b.configString(cv((0, upgrade_1.propOf)(cfg, 'clientSecret')) ?? (cfg ? undefined : { kind: 'env', name: secretEnv, at: p.loc }), `${id} client secret`, secretEnv, { area: 'providers', setting: `${id}.clientSecret`, secret: true });
137
+ const scope = str((0, upgrade_1.propOf)((0, upgrade_1.propOf)((0, upgrade_1.propOf)(cfg, 'authorization'), 'params'), 'scope'));
138
+ const values = {};
139
+ if (atlasKey === 'microsoft') {
140
+ const tenant = (0, upgrade_1.propOf)(cfg, 'tenantId') ?? (0, upgrade_1.propOf)(cfg, 'issuer');
141
+ if (tenant)
142
+ values.tenant = b.configString(cv(tenant), 'Microsoft tenant', 'MICROSOFT_TENANT_ID', { area: 'providers', setting: `${id}.tenantId` });
143
+ }
144
+ if (atlasKey === 'apple') {
145
+ for (const [k, env, label] of [['team_id', 'APPLE_TEAM_ID', 'team id'], ['key_id', 'APPLE_KEY_ID', 'key id'], ['private_key', 'APPLE_PRIVATE_KEY', '.p8 key contents']]) {
146
+ values[k] = `\${${env}}`;
147
+ b.env.set(env, `Sign in with Apple ${label}`);
148
+ }
149
+ b.add('differs', 'providers', `${id}.clientSecret`, 'Atlas builds the Apple client secret itself from your team id, key id and .p8 key; keep the same Services ID so Apple user ids stay the same.', p.loc, 'oauth_providers apple');
150
+ }
151
+ b.oauthProvider({ sourceId: id, atlasKey, clientId, clientSecret, scopes: scope?.split(/[\s,]+/).filter(Boolean), values, area: 'providers', setting: id, at: p.loc });
152
+ for (const fn of ['profile', 'userinfo', 'token']) {
153
+ const f = (0, upgrade_1.propOf)(cfg, fn);
154
+ if (f)
155
+ b.add('manual', 'providers', `${id}.${fn}`, fn === 'profile' ? "Atlas maps the provider's profile itself; move extra profile fields into user metadata with a post-login Action." : 'Atlas runs this step itself for built-in providers; remove the override.', f.loc);
156
+ }
157
+ if (bool((0, upgrade_1.propOf)(cfg, 'allowDangerousEmailAccountLinking'))) {
158
+ b.set('accountLinking', 'auto');
159
+ b.add('differs', 'providers', `${id}.allowDangerousEmailAccountLinking`, 'Atlas links a social sign-in to an existing account only when the provider asserts a verified email.', (0, upgrade_1.propOf)(cfg, 'allowDangerousEmailAccountLinking').loc, 'auth_config.accountLinking');
160
+ }
161
+ }
162
+ }
163
+ else if (providers) {
164
+ b.add('manual', 'providers', 'providers', `Cannot read the providers (${describe(providers)}).`, providers.loc);
165
+ }
166
+ // Session.
167
+ const session = (0, upgrade_1.propOf)(opts, 'session');
168
+ const adapter = (0, upgrade_1.propOf)(opts, 'adapter');
169
+ const strategy = str((0, upgrade_1.propOf)(session, 'strategy')) ?? (adapter && !hasCredentials ? 'database' : 'jwt');
170
+ const maxAge = num((0, upgrade_1.propOf)(session, 'maxAge')) ?? 30 * report_1.DAY;
171
+ b.session(maxAge, true, area, 'session.maxAge', at((0, upgrade_1.propOf)(session, 'maxAge') ?? session, call.loc), 'Auth.js');
172
+ if ((0, upgrade_1.propOf)(session, 'updateAge'))
173
+ b.add('mapped', area, 'session.updateAge', 'Atlas extends a used session itself and refreshes its short-lived token every minute; nothing to set.', (0, upgrade_1.propOf)(session, 'updateAge').loc);
174
+ if ((0, upgrade_1.propOf)(opts, 'jwt')) {
175
+ const jwt = (0, upgrade_1.propOf)(opts, 'jwt');
176
+ if ((0, upgrade_1.propOf)(jwt, 'encode') || (0, upgrade_1.propOf)(jwt, 'decode'))
177
+ b.add('manual', area, 'jwt.encode/decode', 'A custom JWT encoding: the bridge extractor reads the default Auth.js JWE only; open your format in a custom extractToken.', jwt.loc);
178
+ else
179
+ b.add('mapped', area, 'jwt', 'Atlas signs its own session tokens (RS256, JWKS published); verify them with the Atlas SDKs instead of next-auth/jwt.', jwt.loc);
180
+ }
181
+ if (adapter) {
182
+ const name = adapter.kind === 'call' ? adapter.callee : describe(adapter);
183
+ b.add('mapped', area, 'adapter', `${name}: your users, accounts, authenticators and sessions are read from this database by the export (dump the tables, then atlas migrate authjs export --set dump=<dir>).`, adapter.loc);
184
+ }
185
+ b.bridge = { preset: strategy === 'database' ? 'authjs' : 'authjs_jwt', vars: {} };
186
+ b.add('mapped', 'bridge', 'session.strategy', strategy === 'database'
187
+ ? 'Database sessions: imported with the export; the bridge matches the session cookie (preset authjs).'
188
+ : 'JWT sessions: the bridge decrypts the cookie on your server with AUTH_SECRET and exchanges a one-time assertion (preset authjs_jwt, a bridge secret in the bridge settings).', at((0, upgrade_1.propOf)(session, 'strategy') ?? session, call.loc), `bridge preset ${b.bridge.preset}`);
189
+ if (hasCredentials)
190
+ b.lazy = { preset: 'authjs_credentials', config: {} };
191
+ // Everything else.
192
+ const secret = (0, upgrade_1.propOf)(opts, 'secret');
193
+ if (secret)
194
+ b.add('mapped', area, 'secret', 'Atlas signs its own sessions; AUTH_SECRET is only needed by the bridge extractor (JWT sessions) during the cutover.', secret.loc);
195
+ const callbacks = (0, upgrade_1.propOf)(opts, 'callbacks');
196
+ if (callbacks?.kind === 'object') {
197
+ for (const [name, fn] of Object.entries(callbacks.props)) {
198
+ const note = {
199
+ signIn: 'Allow/deny logic moves to a pre-sign-in or post-login Action (return deny with a reason).',
200
+ jwt: 'Extra token claims come from a JWT template (custom claims from user metadata) or a post-login Action.',
201
+ session: 'Extra session fields: read them from the Atlas session claims or user metadata (useUser / auth()).',
202
+ redirect: 'Allowed redirect targets are the instance redirect URLs (redirect_urls).',
203
+ authorized: 'Route protection: the Atlas middleware (publicRoutes / protect) replaces it.',
204
+ };
205
+ b.add('manual', 'callbacks', `callbacks.${name}`, note[name] ?? 'Move this logic to an Atlas Action.', fn.loc);
206
+ }
207
+ }
208
+ const events = (0, upgrade_1.propOf)(opts, 'events');
209
+ if (events?.kind === 'object')
210
+ for (const [name, fn] of Object.entries(events.props))
211
+ b.add('manual', 'events', `events.${name}`, 'Subscribe to the matching Atlas webhook (user.created, session.created, session.ended …) instead.', fn.loc);
212
+ const pages = (0, upgrade_1.propOf)(opts, 'pages');
213
+ if (pages?.kind === 'object') {
214
+ for (const [name, v] of Object.entries(pages.props)) {
215
+ b.add('manual', 'pages', `pages.${name}`, `Atlas hosts sign-in, sign-up, verification and error pages (themeable), or embed the components on your own route${str(v) ? ` (${str(v)})` : ''}.`, v.loc, 'auth_config.accountUx');
216
+ }
217
+ }
218
+ const cookies = (0, upgrade_1.propOf)(opts, 'cookies');
219
+ if (cookies) {
220
+ const name = str((0, upgrade_1.propOf)((0, upgrade_1.propOf)(cookies, 'sessionToken'), 'name'));
221
+ if (name)
222
+ b.bridge.vars.cookie_name = name;
223
+ b.add(name ? 'mapped' : 'manual', 'bridge', 'cookies.sessionToken', name ? `The bridge reads the session from "${name}" (pass cookieName to authJsExtractor).` : 'Custom cookie settings: pass the session cookie name to authJsExtractor.', cookies.loc);
224
+ }
225
+ if ((0, upgrade_1.propOf)(opts, 'trustHost') || (0, upgrade_1.propOf)(opts, 'useSecureCookies') || (0, upgrade_1.propOf)(opts, 'basePath')) {
226
+ b.add('mapped', area, 'trustHost / useSecureCookies / basePath', 'Not needed: Atlas serves the auth endpoints on its own domain with secure cookies.', ((0, upgrade_1.propOf)(opts, 'trustHost') ?? (0, upgrade_1.propOf)(opts, 'useSecureCookies') ?? (0, upgrade_1.propOf)(opts, 'basePath')).loc);
227
+ }
228
+ if ((0, upgrade_1.propOf)(opts, 'theme'))
229
+ b.add('differs', area, 'theme', 'Brand the hosted pages in Atlas (colors, logo) instead.', (0, upgrade_1.propOf)(opts, 'theme').loc, 'instance branding');
230
+ if (bool((0, upgrade_1.propOf)((0, upgrade_1.propOf)(opts, 'experimental'), 'enableWebAuthn')) && !hasPasskey)
231
+ b.add('mapped', area, 'experimental.enableWebAuthn', 'Passkeys are a stable Atlas sign-in method.', (0, upgrade_1.propOf)(opts, 'experimental').loc, 'auth_config.strategies.passkey');
232
+ return b.result();
233
+ }
234
+ // ── Lucia ───────────────────────────────────────────────────────────────────
235
+ /** arctic provider class → [Atlas key, index of clientId, index of clientSecret]. */
236
+ const ARCTIC = {
237
+ GitHub: ['github', 0, 1],
238
+ Google: ['google', 0, 1],
239
+ Discord: ['discord', 0, 1],
240
+ Facebook: ['facebook', 0, 1],
241
+ Twitter: ['x', 0, 1],
242
+ Twitch: ['twitch', 0, 1],
243
+ Spotify: ['spotify', 0, 1],
244
+ LinkedIn: ['linkedin', 0, 1],
245
+ Slack: ['slack', 0, 1],
246
+ Reddit: ['reddit', 0, 1],
247
+ Notion: ['notion', 0, 1],
248
+ Zoom: ['zoom', 0, 1],
249
+ Dropbox: ['dropbox', 0, 1],
250
+ Atlassian: ['atlassian', 0, 1],
251
+ Salesforce: ['salesforce', 1, 2],
252
+ Line: ['line', 0, 1],
253
+ Kakao: ['kakao', 0, 1],
254
+ Naver: ['naver', 0, 1],
255
+ VK: ['vk', 0, 1],
256
+ Apple: ['apple', 0, null],
257
+ MicrosoftEntraId: ['microsoft', 1, 2],
258
+ GitLab: ['gitlab', 1, 2],
259
+ Auth0: ['auth0', 1, 2],
260
+ Okta: ['okta', 2, 3],
261
+ Bitbucket: ['bitbucket', 0, 1],
262
+ Amazon: ['amazon', 0, 1],
263
+ Shopify: ['shopify', 1, 2],
264
+ };
265
+ /** `new TimeSpan(30, "d")` (lucia / oslo) or v2 milliseconds → seconds. */
266
+ function timeSpanSeconds(v) {
267
+ if (v?.kind === 'call' && /TimeSpan$/.test(v.callee) && v.args[0]?.kind === 'number' && v.args[1]?.kind === 'string') {
268
+ const unit = { ms: 0.001, s: 1, m: 60, h: 3600, d: report_1.DAY, w: 7 * report_1.DAY }[v.args[1].value];
269
+ return unit !== undefined ? Math.round(v.args[0].value * unit) : undefined;
270
+ }
271
+ return undefined;
272
+ }
273
+ function translateLucia(project) {
274
+ const analysis = (0, upgrade_1.analyzeCalls)(project, [
275
+ { id: 'v3', module: /^lucia$/, names: ['Lucia'], construct: true },
276
+ { id: 'v2', module: /^lucia$/, names: ['lucia'], construct: false },
277
+ { id: 'arctic', module: /^arctic$/, names: '*', construct: true },
278
+ { id: 'oauth_v2', module: /^@lucia-auth\/oauth\/providers$/, names: '*', construct: false },
279
+ ], ['lucia', 'arctic']);
280
+ const core = analysis.calls.filter((c) => c.matcher === 'v3' || c.matcher === 'v2');
281
+ const { origin, where } = originOf(core.length ? core : analysis.calls, 'Lucia');
282
+ const b = new report_1.TranslationBuilder(origin, where);
283
+ if (!analysis.calls.length)
284
+ return notFound(b, analysis, 'setup', 'Lucia setup (new Lucia(...) or arctic providers)');
285
+ const area = 'lucia';
286
+ b.set('strategies.password', true);
287
+ b.bridge = { preset: 'lucia', vars: {} };
288
+ const call = core[0];
289
+ if (call) {
290
+ const opts = objectOf(call.matcher === 'v3' ? call.args[1] : call.args[0]);
291
+ const cookie = (0, upgrade_1.propOf)(opts, 'sessionCookie');
292
+ const name = str((0, upgrade_1.propOf)(cookie, 'name'));
293
+ if (name)
294
+ b.bridge.vars.cookie_name = name;
295
+ b.add('mapped', 'bridge', 'sessionCookie.name', `The bridge reads "${name ?? 'auth_session'}" (preset lucia).`, at((0, upgrade_1.propOf)(cookie, 'name') ?? cookie, call.loc), 'bridge preset lucia');
296
+ if (bool((0, upgrade_1.propOf)(cookie, 'expires')) === false)
297
+ b.add('differs', area, 'sessionCookie.expires', 'Browser-session cookies: Atlas keeps the session until it expires; a "remember me" off at sign-in gives a browser-session cookie per user.', (0, upgrade_1.propOf)(cookie, 'expires').loc);
298
+ const domain = (0, upgrade_1.propOf)((0, upgrade_1.propOf)(cookie, 'attributes'), 'domain');
299
+ if (domain)
300
+ b.add('manual', area, 'sessionCookie.attributes.domain', 'Shared cookies across subdomains: turn on session.crossSubdomainCookies and verify the parent domain in Atlas.', domain.loc, 'auth_config.session.crossSubdomainCookies');
301
+ if (call.matcher === 'v3') {
302
+ const span = (0, upgrade_1.propOf)(opts, 'sessionExpiresIn');
303
+ const seconds = timeSpanSeconds(span) ?? 30 * report_1.DAY;
304
+ b.session(seconds, true, area, 'sessionExpiresIn', at(span, call.loc), 'Lucia');
305
+ }
306
+ else {
307
+ const span = (0, upgrade_1.propOf)(opts, 'sessionExpiresIn');
308
+ const active = num((0, upgrade_1.propOf)(span, 'activePeriod')) ?? report_1.DAY * 1000;
309
+ const idle = num((0, upgrade_1.propOf)(span, 'idlePeriod')) ?? 14 * report_1.DAY * 1000;
310
+ b.session(Math.round((active + idle) / 1000), true, area, 'sessionExpiresIn.activePeriod + idlePeriod', at(span, call.loc), 'Lucia');
311
+ if ((0, upgrade_1.propOf)(opts, 'csrfProtection'))
312
+ b.add('mapped', area, 'csrfProtection', 'Atlas checks the origin of every state-changing request itself.', (0, upgrade_1.propOf)(opts, 'csrfProtection').loc);
313
+ }
314
+ for (const key of ['getUserAttributes', 'getSessionAttributes']) {
315
+ const fn = (0, upgrade_1.propOf)(opts, key);
316
+ if (fn)
317
+ b.add('manual', area, key, key === 'getUserAttributes' ? 'User fields: read them from the Atlas user (currentUser()) or put app fields in user metadata (imported from the export).' : 'Session attributes: use session custom data (set from a post-login Action).', fn.loc);
318
+ }
319
+ const adapter = call.args[0];
320
+ if (call.matcher === 'v3' && adapter)
321
+ b.add('mapped', area, 'adapter', `${describe(adapter)}: users, keys and sessions are read from this database by the export.`, adapter.loc);
322
+ }
323
+ else {
324
+ b.add('manual', area, 'session management', 'No Lucia instance was found (the Lucia guide implements sessions in your code): the export reads your session table (ids hashed with sha256 are detected).', where);
325
+ b.session(30 * report_1.DAY, true, area, 'session lifetime (guide default 30 days)', where, 'Lucia');
326
+ }
327
+ for (const c of analysis.calls.filter((x) => x.matcher === 'arctic' || x.matcher === 'oauth_v2')) {
328
+ const cls = c.imported.name;
329
+ const known = c.matcher === 'arctic' ? ARCTIC[cls] : report_1.FRAMEWORK_PROVIDER_MAP[cls] ? [report_1.FRAMEWORK_PROVIDER_MAP[cls], -1, -1] : undefined;
330
+ if (!known) {
331
+ b.add('manual', 'providers', cls, `No same-named Atlas provider for ${cls}: add it as a custom OAuth provider.`, c.loc);
332
+ continue;
333
+ }
334
+ const [atlasKey, idIdx, secretIdx] = known;
335
+ const upper = upperSnake(atlasKey);
336
+ // @lucia-auth/oauth v2: github(auth, { clientId, clientSecret }).
337
+ const options = idIdx < 0 ? c.args[1] : undefined;
338
+ const clientId = b.configString(cv(idIdx < 0 ? (0, upgrade_1.propOf)(options, 'clientId') : c.args[idIdx]), `${cls} client id`, `${upper}_CLIENT_ID`, { area: 'providers', setting: `${cls}.clientId` });
339
+ const clientSecret = secretIdx === null ? undefined : b.configString(cv(secretIdx < 0 ? (0, upgrade_1.propOf)(options, 'clientSecret') : c.args[secretIdx]), `${cls} client secret`, `${upper}_CLIENT_SECRET`, { area: 'providers', setting: `${cls}.clientSecret`, secret: true });
340
+ const values = {};
341
+ if (atlasKey === 'apple') {
342
+ for (const [k, env] of [['team_id', 'APPLE_TEAM_ID'], ['key_id', 'APPLE_KEY_ID'], ['private_key', 'APPLE_PRIVATE_KEY']]) {
343
+ values[k] = `\${${env}}`;
344
+ b.env.set(env, `Sign in with Apple ${k.replace('_', ' ')}`);
345
+ }
346
+ }
347
+ if (atlasKey === 'microsoft')
348
+ values.tenant = b.configString(cv(c.args[0]), 'Microsoft tenant', 'MICROSOFT_TENANT_ID', { area: 'providers', setting: `${cls}.tenant` });
349
+ b.oauthProvider({ sourceId: cls.toLowerCase(), atlasKey, clientId, clientSecret, values, area: 'providers', setting: `new ${cls}(…)`, at: c.loc });
350
+ }
351
+ return b.result();
352
+ }
353
+ // ── Passport + express-session ──────────────────────────────────────────────
354
+ /** Passport strategy package → Atlas provider (or a special kind). */
355
+ const PASSPORT_STRATEGIES = {
356
+ 'passport-google-oauth20': 'google',
357
+ 'passport-google-oauth2': 'google',
358
+ 'passport-google-oidc': 'google',
359
+ 'passport-github2': 'github',
360
+ 'passport-github': 'github',
361
+ 'passport-facebook': 'facebook',
362
+ 'passport-microsoft': 'microsoft',
363
+ 'passport-apple': 'apple',
364
+ 'passport-discord': 'discord',
365
+ 'passport-gitlab2': 'gitlab',
366
+ 'passport-linkedin-oauth2': 'linkedin',
367
+ 'passport-slack-oauth2': 'slack',
368
+ 'passport-slack': 'slack',
369
+ 'passport-spotify': 'spotify',
370
+ 'passport-twitch-new': 'twitch',
371
+ 'passport-auth0': 'auth0',
372
+ 'passport-okta-oauth20': 'okta',
373
+ 'passport-bitbucket-oauth2': 'bitbucket',
374
+ 'passport-amazon': 'amazon',
375
+ };
376
+ function translatePassport(project) {
377
+ const analysis = (0, upgrade_1.analyzeCalls)(project, [
378
+ { id: 'strategy', module: /^(passport-[a-z0-9-]+|@node-saml\/passport-saml|@passport-js\/[a-z0-9-]+|passport-azure-ad)$/, names: '*', construct: true },
379
+ { id: 'session', module: /^express-session$/, names: ['default'], construct: false },
380
+ { id: 'cookie_session', module: /^cookie-session$/, names: ['default'], construct: false },
381
+ ], ['passport', 'express-session', 'cookie-session']);
382
+ const strategies = analysis.calls.filter((c) => c.matcher === 'strategy');
383
+ const { origin, where } = originOf(strategies.length ? strategies : analysis.calls, 'Passport');
384
+ const b = new report_1.TranslationBuilder(origin, where);
385
+ if (!analysis.calls.length)
386
+ return notFound(b, analysis, 'setup', 'passport.use(new …Strategy()) / express-session');
387
+ b.bridge = { preset: 'passport', vars: {} };
388
+ for (const c of strategies) {
389
+ const module = c.imported.module;
390
+ const opts = objectOf(c.args[0]);
391
+ const atlasKey = PASSPORT_STRATEGIES[module];
392
+ if (atlasKey) {
393
+ const upper = upperSnake(atlasKey);
394
+ const clientId = b.configString(cv((0, upgrade_1.propOf)(opts, 'clientID') ?? (0, upgrade_1.propOf)(opts, 'clientId')), `${atlasKey} client id`, `${upper}_CLIENT_ID`, { area: 'strategies', setting: `${module}.clientID` });
395
+ const clientSecret = atlasKey === 'apple' ? undefined : b.configString(cv((0, upgrade_1.propOf)(opts, 'clientSecret')), `${atlasKey} client secret`, `${upper}_CLIENT_SECRET`, { area: 'strategies', setting: `${module}.clientSecret`, secret: true });
396
+ const scope = (0, upgrade_1.propOf)(opts, 'scope');
397
+ const scopes = scope?.kind === 'array' ? scope.items.map(str).filter((s) => Boolean(s)) : str(scope)?.split(/[\s,]+/);
398
+ const values = {};
399
+ if (atlasKey === 'auth0' || atlasKey === 'okta') {
400
+ const domain = (0, upgrade_1.propOf)(opts, 'domain') ?? (0, upgrade_1.propOf)(opts, 'audience');
401
+ values.domain = b.configString(cv(domain), `${atlasKey} domain`, `${upper}_DOMAIN`, { area: 'strategies', setting: `${module}.domain` });
402
+ }
403
+ if (atlasKey === 'microsoft' && (0, upgrade_1.propOf)(opts, 'tenant'))
404
+ values.tenant = b.configString(cv((0, upgrade_1.propOf)(opts, 'tenant')), 'Microsoft tenant', 'MICROSOFT_TENANT_ID', { area: 'strategies', setting: `${module}.tenant` });
405
+ b.oauthProvider({ sourceId: atlasKey, atlasKey, clientId, clientSecret, scopes, values, area: 'strategies', setting: `new ${c.callee}(…) from ${module}`, at: c.loc });
406
+ if ((0, upgrade_1.propOf)(opts, 'callbackURL'))
407
+ b.add('mapped', 'strategies', `${module}.callbackURL`, "Atlas receives the provider callback on its own domain: add Atlas's redirect_uri to the OAuth app (keep the old one until the cutover ends).", (0, upgrade_1.propOf)(opts, 'callbackURL').loc);
408
+ b.add('manual', 'strategies', `${module} verify callback`, 'Your verify(accessToken, refreshToken, profile, done) logic (find-or-create the user) moves to Atlas: identities link by provider user id; put extra steps in a post-login Action.', c.loc);
409
+ continue;
410
+ }
411
+ if (module === 'passport-local') {
412
+ const field = str((0, upgrade_1.propOf)(opts, 'usernameField')) ?? 'username';
413
+ b.set('strategies.password', true);
414
+ if (field !== 'email')
415
+ b.set('strategies.username', true);
416
+ b.add('differs', 'strategies', 'passport-local', `Password sign-in by ${field === 'email' ? 'email' : `${field} (Atlas usernames)`}; Atlas verifies passwords itself. Hashes your app stored with bcrypt, Argon2, PBKDF2 or passport-local-mongoose carry over in the export.`, c.loc, field === 'email' ? 'auth_config.strategies.password' : 'auth_config.strategies.username');
417
+ continue;
418
+ }
419
+ if (module === 'passport-jwt' || module === 'passport-http-bearer' || module === 'passport-headerapikey') {
420
+ b.add('manual', 'strategies', module, 'Bearer-token APIs: verify Atlas session tokens (or Atlas API keys / M2M tokens) with requireAuth() from the Atlas Express adapter or the Backend SDK instead.', c.loc);
421
+ continue;
422
+ }
423
+ if (module === 'passport-saml' || module === '@node-saml/passport-saml') {
424
+ const entryPoint = (0, upgrade_1.propOf)(opts, 'entryPoint');
425
+ const entry = str(entryPoint) ?? (entryPoint ? describe(entryPoint) : 'from the IdP metadata');
426
+ b.add('manual', 'sso', module, `Create a SAML connection in Atlas (enterprise SSO) with the IdP SSO URL (${entry}), its certificate and issuer, then update the IdP with Atlas's ACS URL and entity id.`, c.loc, 'sso_connections');
427
+ continue;
428
+ }
429
+ if (module === 'passport-openidconnect' || module === 'passport-azure-ad' || module === 'passport-oauth2') {
430
+ b.add('manual', 'strategies', module, `Add this identity provider as a custom ${module === 'passport-oauth2' ? 'OAuth 2.0' : 'OIDC'} provider in Atlas (custom_oauth_providers) or as an enterprise OIDC connection, with the same client id.`, c.loc, 'custom_oauth_providers');
431
+ continue;
432
+ }
433
+ if (module === 'passport-magic-link' || module === 'passport-magic-login') {
434
+ b.set('strategies.emailLink', true);
435
+ b.add('differs', 'strategies', module, 'Email sign-in links on; Atlas sends them through your email provider.', c.loc, 'auth_config.strategies.emailLink');
436
+ continue;
437
+ }
438
+ b.add('manual', 'strategies', module, 'A Passport strategy with no Atlas counterpart to map automatically; review it.', c.loc);
439
+ }
440
+ for (const c of analysis.calls.filter((x) => x.matcher === 'session')) {
441
+ const opts = objectOf(c.args[0]);
442
+ const name = str((0, upgrade_1.propOf)(opts, 'name')) ?? 'connect.sid';
443
+ b.bridge.vars.cookie_name = name;
444
+ b.add('mapped', 'bridge', 'session({ name })', `The bridge reads "${name}" and pulls the session id out with expressSessionExtractor() (preset passport).`, at((0, upgrade_1.propOf)(opts, 'name') ?? opts, c.loc), 'bridge preset passport');
445
+ const cookie = (0, upgrade_1.propOf)(opts, 'cookie');
446
+ const maxAgeMs = num((0, upgrade_1.propOf)(cookie, 'maxAge')) ?? num((0, upgrade_1.propOf)(cookie, 'expires'));
447
+ const rolling = bool((0, upgrade_1.propOf)(opts, 'rolling')) === true;
448
+ if (maxAgeMs !== undefined)
449
+ b.session(Math.round(maxAgeMs / 1000), rolling, 'express-session', 'cookie.maxAge', at((0, upgrade_1.propOf)(cookie, 'maxAge'), c.loc), 'express-session');
450
+ else
451
+ b.add('differs', 'express-session', 'cookie.maxAge', 'Browser-session cookies (no maxAge): Atlas sessions have a lifetime (default 7 days idle); set auth_config.session to taste.', at(cookie, c.loc), 'auth_config.session');
452
+ const store = (0, upgrade_1.propOf)(opts, 'store');
453
+ b.add(store ? 'mapped' : 'manual', 'express-session', 'store', store
454
+ ? `${describe(store)}: dump its sessions (table, collection or keys) and the export imports the live ones for the bridge.`
455
+ : 'MemoryStore: sessions live in process memory and cannot be exported; signed-in users sign in once more after the switch.', at(store, c.loc));
456
+ if ((0, upgrade_1.propOf)(opts, 'secret'))
457
+ b.add('mapped', 'express-session', 'secret', 'Only the bridge extractor uses it (to check the cookie signature) during the cutover.', (0, upgrade_1.propOf)(opts, 'secret').loc);
458
+ }
459
+ for (const c of analysis.calls.filter((x) => x.matcher === 'cookie_session')) {
460
+ b.add('manual', 'bridge', 'cookie-session', 'cookie-session keeps the whole session in a signed cookie (keygrip); the bridge cannot read it. Users sign in once more after the switch, or open the cookie yourself in a custom extractToken.', c.loc);
461
+ }
462
+ return b.result();
463
+ }
464
+ // ── iron-session ────────────────────────────────────────────────────────────
465
+ function translateIronSession(project) {
466
+ const analysis = (0, upgrade_1.analyzeCalls)(project, [{ id: 'iron', module: /^(iron-session(\/.*)?|next-iron-session)$/, names: ['getIronSession', 'withIronSessionApiRoute', 'withIronSessionSsr', 'ironSession', 'withIronSession', 'default', 'sealData', 'unsealData'] }], ['iron-session']);
467
+ const { origin, where } = originOf(analysis.calls, 'iron-session');
468
+ const b = new report_1.TranslationBuilder(origin, where);
469
+ if (!analysis.calls.length)
470
+ return notFound(b, analysis, 'setup', 'getIronSession() / withIronSession…() call');
471
+ b.set('strategies.password', true);
472
+ let seen = false;
473
+ for (const c of analysis.calls) {
474
+ if (c.imported.name === 'sealData' || c.imported.name === 'unsealData') {
475
+ b.add('mapped', 'iron-session', c.imported.name, 'Sealing other data (magic links, invites) is unrelated to sign-in and keeps working.', c.loc);
476
+ continue;
477
+ }
478
+ const opts = [...c.args].reverse().map(objectOf).find((o) => o && ((0, upgrade_1.propOf)(o, 'cookieName') || (0, upgrade_1.propOf)(o, 'password')));
479
+ if (!opts || seen)
480
+ continue;
481
+ seen = true;
482
+ const name = str((0, upgrade_1.propOf)(opts, 'cookieName'));
483
+ b.bridge = { preset: 'iron_session', vars: name ? { cookie_name: name } : {} };
484
+ b.add(name ? 'mapped' : 'manual', 'bridge', 'cookieName', name ? `The bridge reads "${name}": pass ironSessionExtractor({ cookieName, password, bridgeSecret }) to the middleware; the password stays on your server.` : 'Set cookie_name in the bridge settings to your iron-session cookieName.', at((0, upgrade_1.propOf)(opts, 'cookieName'), c.loc), 'bridge preset iron_session');
485
+ const password = (0, upgrade_1.propOf)(opts, 'password');
486
+ if (password?.kind === 'env')
487
+ b.add('mapped', 'bridge', 'password', `Read from ${password.name} by the bridge extractor on your server (never sent to Atlas).`, password.loc);
488
+ else if (password)
489
+ b.add('manual', 'bridge', 'password', 'The session password is not read from an environment variable: pass it to ironSessionExtractor on your server (it never goes to Atlas).', password.loc);
490
+ const ttl = num((0, upgrade_1.propOf)(opts, 'ttl'));
491
+ const ttlSeconds = ttl === undefined ? 14 * report_1.DAY : ttl;
492
+ if (ttlSeconds === 0)
493
+ b.add('differs', 'iron-session', 'ttl: 0', 'Atlas sessions always expire; the longest is 90 days.', at((0, upgrade_1.propOf)(opts, 'ttl'), c.loc), 'auth_config.session');
494
+ else
495
+ b.session(ttlSeconds, false, 'iron-session', 'ttl', at((0, upgrade_1.propOf)(opts, 'ttl'), c.loc), 'iron-session');
496
+ const domain = (0, upgrade_1.propOf)((0, upgrade_1.propOf)(opts, 'cookieOptions'), 'domain');
497
+ if (domain)
498
+ b.add('manual', 'iron-session', 'cookieOptions.domain', 'Shared cookies across subdomains: turn on session.crossSubdomainCookies.', domain.loc, 'auth_config.session.crossSubdomainCookies');
499
+ }
500
+ b.add('manual', 'users', 'user store', 'iron-session has no user store: export your users table (atlas migrate iron-session export --set dump=<dir>, with --set users-table=… and the column settings as needed).', where);
501
+ return b.result();
502
+ }
503
+ //# sourceMappingURL=translate-js.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translate-js.js","sourceRoot":"","sources":["../../../src/migrate/frameworks/translate-js.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { TranslationResult } from '../framework/plugin';
2
+ export declare function translateDevise(project: string): TranslationResult;
3
+ export declare function translateDjango(project: string): TranslationResult;