@maka/maka-cli 5.122.1 → 5.123.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 (366) hide show
  1. package/README.md +64 -64
  2. package/bundle/typescript/package.json +120 -120
  3. package/bundle/typescript/src/README.md +64 -64
  4. package/bundle/typescript/src/commands/aws/aws.command.js +2 -2
  5. package/bundle/typescript/src/commands/aws/ci.sub.cmd.js +5 -5
  6. package/bundle/typescript/src/commands/aws/ckp.sub.cmd.js +12 -12
  7. package/bundle/typescript/src/commands/aws/csg.sub.cmd.js +3 -3
  8. package/bundle/typescript/src/commands/aws/di.sub.cmd.js +8 -8
  9. package/bundle/typescript/src/commands/aws/rkp.sub.cmd.js +5 -5
  10. package/bundle/typescript/src/commands/aws/sth.sub.cmd.js +3 -3
  11. package/bundle/typescript/src/commands/aws/ti.sub.cmd.js +5 -5
  12. package/bundle/typescript/src/commands/build/build.js +16 -16
  13. package/bundle/typescript/src/commands/build/docker.sub.cmd.js +9 -9
  14. package/bundle/typescript/src/commands/create.js +36 -36
  15. package/bundle/typescript/src/commands/debug.js +4 -4
  16. package/bundle/typescript/src/commands/deploy/deploy.command.js +2 -2
  17. package/bundle/typescript/src/commands/deploy/galaxy.sub.cmd.js +2 -2
  18. package/bundle/typescript/src/commands/deploy/github.sub.cmd.js +8 -8
  19. package/bundle/typescript/src/commands/deploy/ubuntu.sub.cmd.js +14 -10
  20. package/bundle/typescript/src/commands/deploy/ubuntu.sub.cmd.js.map +1 -1
  21. package/bundle/typescript/src/commands/env/env.command.js +8 -8
  22. package/bundle/typescript/src/commands/env/set.sub.cmd.js +11 -11
  23. package/bundle/typescript/src/commands/game/sideQuest/adept-powers.d.ts +15 -0
  24. package/bundle/typescript/src/commands/game/sideQuest/adept-powers.js +12 -0
  25. package/bundle/typescript/src/commands/game/sideQuest/adept-powers.js.map +1 -1
  26. package/bundle/typescript/src/commands/game/sideQuest/archetypes.d.ts +10 -0
  27. package/bundle/typescript/src/commands/game/sideQuest/archetypes.js +40 -14
  28. package/bundle/typescript/src/commands/game/sideQuest/archetypes.js.map +1 -1
  29. package/bundle/typescript/src/commands/game/sideQuest/augmentations.d.ts +33 -10
  30. package/bundle/typescript/src/commands/game/sideQuest/augmentations.js +155 -72
  31. package/bundle/typescript/src/commands/game/sideQuest/augmentations.js.map +1 -1
  32. package/bundle/typescript/src/commands/game/sideQuest/commands/advance.js +15 -6
  33. package/bundle/typescript/src/commands/game/sideQuest/commands/advance.js.map +1 -1
  34. package/bundle/typescript/src/commands/game/sideQuest/commands/ask.js +1 -1
  35. package/bundle/typescript/src/commands/game/sideQuest/commands/ask.js.map +1 -1
  36. package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.js +1 -1
  37. package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.js.map +1 -1
  38. package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js +33 -33
  39. package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js.map +1 -1
  40. package/bundle/typescript/src/commands/game/sideQuest/commands/drone.js +1 -1
  41. package/bundle/typescript/src/commands/game/sideQuest/commands/drone.js.map +1 -1
  42. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +2 -2
  43. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
  44. package/bundle/typescript/src/commands/game/sideQuest/commands/grapple.js +5 -1
  45. package/bundle/typescript/src/commands/game/sideQuest/commands/grapple.js.map +1 -1
  46. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +6 -6
  47. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js.map +1 -1
  48. package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.js +4 -4
  49. package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.js.map +1 -1
  50. package/bundle/typescript/src/commands/game/sideQuest/commands/hop.js +1 -1
  51. package/bundle/typescript/src/commands/game/sideQuest/commands/hop.js.map +1 -1
  52. package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.d.ts +20 -0
  53. package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js +9 -0
  54. package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js.map +1 -1
  55. package/bundle/typescript/src/commands/game/sideQuest/commands/lead.js +7 -3
  56. package/bundle/typescript/src/commands/game/sideQuest/commands/lead.js.map +1 -1
  57. package/bundle/typescript/src/commands/game/sideQuest/commands/move.js +3 -3
  58. package/bundle/typescript/src/commands/game/sideQuest/commands/move.js.map +1 -1
  59. package/bundle/typescript/src/commands/game/sideQuest/commands/persuade.js +1 -1
  60. package/bundle/typescript/src/commands/game/sideQuest/commands/persuade.js.map +1 -1
  61. package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js +3 -3
  62. package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js.map +1 -1
  63. package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +9 -9
  64. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js +10 -10
  65. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js.map +1 -1
  66. package/bundle/typescript/src/commands/game/sideQuest/commands/source.js +7 -7
  67. package/bundle/typescript/src/commands/game/sideQuest/commands/tap.js +1 -1
  68. package/bundle/typescript/src/commands/game/sideQuest/commands/tap.js.map +1 -1
  69. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.d.ts +24 -0
  70. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js +95 -0
  71. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js.map +1 -1
  72. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +443 -443
  73. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js +6 -6
  74. package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +45 -1
  75. package/bundle/typescript/src/commands/game/sideQuest/game.js +120 -9
  76. package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
  77. package/bundle/typescript/src/commands/game/sideQuest/metatypes.d.ts +53 -0
  78. package/bundle/typescript/src/commands/game/sideQuest/metatypes.js +86 -0
  79. package/bundle/typescript/src/commands/game/sideQuest/metatypes.js.map +1 -0
  80. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +214 -208
  81. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js.map +1 -1
  82. package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +215 -18
  83. package/bundle/typescript/src/commands/game/sideQuest/models/player.js +548 -117
  84. package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
  85. package/bundle/typescript/src/commands/game/sideQuest/models/room.js +9 -9
  86. package/bundle/typescript/src/commands/game/sideQuest/models/scene.d.ts +2 -1
  87. package/bundle/typescript/src/commands/game/sideQuest/models/scene.js +3 -2
  88. package/bundle/typescript/src/commands/game/sideQuest/models/scene.js.map +1 -1
  89. package/bundle/typescript/src/commands/game/sideQuest/qualities.d.ts +96 -4
  90. package/bundle/typescript/src/commands/game/sideQuest/qualities.js +290 -11
  91. package/bundle/typescript/src/commands/game/sideQuest/qualities.js.map +1 -1
  92. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene1.json +556 -556
  93. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene2.json +1447 -1447
  94. package/bundle/typescript/src/commands/game/sideQuest/skill-groups.d.ts +11 -1
  95. package/bundle/typescript/src/commands/game/sideQuest/skill-groups.js +13 -1
  96. package/bundle/typescript/src/commands/game/sideQuest/skill-groups.js.map +1 -1
  97. package/bundle/typescript/src/commands/game/sideQuest/skills.d.ts +17 -0
  98. package/bundle/typescript/src/commands/game/sideQuest/skills.js +23 -0
  99. package/bundle/typescript/src/commands/game/sideQuest/skills.js.map +1 -0
  100. package/bundle/typescript/src/commands/game/sideQuest/spells.d.ts +76 -3
  101. package/bundle/typescript/src/commands/game/sideQuest/spells.js +48 -21
  102. package/bundle/typescript/src/commands/game/sideQuest/spells.js.map +1 -1
  103. package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +8 -0
  104. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.d.ts +90 -82
  105. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js +277 -10
  106. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js.map +1 -1
  107. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.d.ts +121 -2
  108. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js +342 -18
  109. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js.map +1 -1
  110. package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.d.ts +65 -2
  111. package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.js +74 -7
  112. package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.js.map +1 -1
  113. package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js +1 -1
  114. package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js.map +1 -1
  115. package/bundle/typescript/src/commands/game/sideQuest/utilities/effects.d.ts +248 -0
  116. package/bundle/typescript/src/commands/game/sideQuest/utilities/effects.js +38 -0
  117. package/bundle/typescript/src/commands/game/sideQuest/utilities/effects.js.map +1 -0
  118. package/bundle/typescript/src/commands/game/sideQuest/utilities/ephemeral.js +14 -14
  119. package/bundle/typescript/src/commands/game/sideQuest/utilities/first-aid.js +1 -2
  120. package/bundle/typescript/src/commands/game/sideQuest/utilities/first-aid.js.map +1 -1
  121. package/bundle/typescript/src/commands/game/sideQuest/utilities/perception.js +1 -2
  122. package/bundle/typescript/src/commands/game/sideQuest/utilities/perception.js.map +1 -1
  123. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js +5 -0
  124. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js.map +1 -1
  125. package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js +5 -1
  126. package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js.map +1 -1
  127. package/bundle/typescript/src/commands/game/sideQuest/utilities/pregen-worksheet.js +22 -12
  128. package/bundle/typescript/src/commands/game/sideQuest/utilities/pregen-worksheet.js.map +1 -1
  129. package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js +1 -2
  130. package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js.map +1 -1
  131. package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.d.ts +1 -0
  132. package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.js +20 -0
  133. package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.js.map +1 -1
  134. package/bundle/typescript/src/commands/game/sideQuest-backlog.sub.cmd.js +2 -2
  135. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +33 -2
  136. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
  137. package/bundle/typescript/src/commands/generate.js +2 -2
  138. package/bundle/typescript/src/commands/lint.js +10 -10
  139. package/bundle/typescript/src/commands/login.js +19 -1
  140. package/bundle/typescript/src/commands/login.js.map +1 -1
  141. package/bundle/typescript/src/commands/logout.js +16 -1
  142. package/bundle/typescript/src/commands/logout.js.map +1 -1
  143. package/bundle/typescript/src/commands/maka.cmd.js +26 -26
  144. package/bundle/typescript/src/commands/murder.js +14 -14
  145. package/bundle/typescript/src/commands/proxy.js +13 -13
  146. package/bundle/typescript/src/commands/remote/reconfig.sub.cmd.js +6 -6
  147. package/bundle/typescript/src/commands/run/docker.sub.cmd.js +11 -11
  148. package/bundle/typescript/src/commands/run/run.command.js +24 -24
  149. package/bundle/typescript/src/commands/set/global.sub.cmd.js +8 -8
  150. package/bundle/typescript/src/commands/set/local.sub.cmd.js +2 -2
  151. package/bundle/typescript/src/commands/set/set.command.js +3 -3
  152. package/bundle/typescript/src/commands/testCmd/test.command.js +2 -2
  153. package/bundle/typescript/src/exec.js +0 -0
  154. package/bundle/typescript/src/generators/api.js +11 -11
  155. package/bundle/typescript/src/generators/collection.js +6 -6
  156. package/bundle/typescript/src/generators/hook.js +10 -10
  157. package/bundle/typescript/src/generators/kits/auth/auth.generator.js +2 -2
  158. package/bundle/typescript/src/generators/kits/auth/auth0-meteor.auth.gen.js +612 -612
  159. package/bundle/typescript/src/generators/kits/auth/basic-meteor.auth.gen.js +48 -48
  160. package/bundle/typescript/src/generators/kits/auth/provider.auth.gen.js +12 -12
  161. package/bundle/typescript/src/generators/kits/esri/esri.generator.js +3 -3
  162. package/bundle/typescript/src/generators/kits/esri/map.esri.gen.js +7 -7
  163. package/bundle/typescript/src/generators/kits/frames/frames.generator.js +16 -16
  164. package/bundle/typescript/src/generators/kits/mui/auth.mui.gen.js +2 -2
  165. package/bundle/typescript/src/generators/kits/mui/auth0.mui.gen.js +5 -5
  166. package/bundle/typescript/src/generators/kits/mui/frame.mui.gen.js +4 -4
  167. package/bundle/typescript/src/generators/kits/mui/mui.generator.js +22 -22
  168. package/bundle/typescript/src/generators/services/translation.js +5 -5
  169. package/bundle/typescript/src/templates/aws/cloudformation/create-ec2-instance.template +14 -14
  170. package/bundle/typescript/src/templates/meteor/api/api.js +20 -20
  171. package/bundle/typescript/src/templates/meteor/api/api.js.ts +20 -20
  172. package/bundle/typescript/src/templates/meteor/api/apollo-gateway.js +50 -50
  173. package/bundle/typescript/src/templates/meteor/api/apollo-gateway.js.ts +55 -55
  174. package/bundle/typescript/src/templates/meteor/api/graphql-api.js +63 -63
  175. package/bundle/typescript/src/templates/meteor/api/graphql-api.js.ts +69 -69
  176. package/bundle/typescript/src/templates/meteor/api/methods.js +39 -39
  177. package/bundle/typescript/src/templates/meteor/api/methods.js.ts +40 -40
  178. package/bundle/typescript/src/templates/meteor/api/register-api.js +3 -3
  179. package/bundle/typescript/src/templates/meteor/api/register-api.js.ts +3 -3
  180. package/bundle/typescript/src/templates/meteor/api/resolvers.js +9 -9
  181. package/bundle/typescript/src/templates/meteor/api/resolvers.js.ts +9 -9
  182. package/bundle/typescript/src/templates/meteor/api/typeDefs.js +6 -6
  183. package/bundle/typescript/src/templates/meteor/api/typeDefs.js.ts +6 -6
  184. package/bundle/typescript/src/templates/meteor/app/client/body.html +3 -3
  185. package/bundle/typescript/src/templates/meteor/app/client/head.html +12 -12
  186. package/bundle/typescript/src/templates/meteor/app/client/main.js +15 -15
  187. package/bundle/typescript/src/templates/meteor/app/client/main.js.jsx +15 -15
  188. package/bundle/typescript/src/templates/meteor/app/client/main.js.ts +17 -17
  189. package/bundle/typescript/src/templates/meteor/app/client/main.js.tsx +17 -17
  190. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js +20 -20
  191. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.jsx +107 -107
  192. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.ts +20 -20
  193. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.tsx +108 -108
  194. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js +39 -39
  195. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.jsx +33 -33
  196. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.ts +24 -24
  197. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.tsx +33 -33
  198. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js +9 -9
  199. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.jsx +9 -9
  200. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.ts +9 -9
  201. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.tsx +9 -9
  202. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js +1 -1
  203. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.jsx +20 -20
  204. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.ts +1 -1
  205. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.tsx +20 -20
  206. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/routes.js.jsx +28 -28
  207. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/routes.js.tsx +28 -28
  208. package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js +1 -1
  209. package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js.jsx +95 -95
  210. package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js.tsx +98 -98
  211. package/bundle/typescript/src/templates/meteor/app/imports/ui/test-helpers.js +24 -24
  212. package/bundle/typescript/src/templates/meteor/app/imports/ui/test-helpers.js.ts +24 -24
  213. package/bundle/typescript/src/templates/meteor/app/lib/main.js +3 -3
  214. package/bundle/typescript/src/templates/meteor/app/lib/main.js.jsx +3 -3
  215. package/bundle/typescript/src/templates/meteor/app/lib/main.js.ts +3 -3
  216. package/bundle/typescript/src/templates/meteor/app/lib/main.js.tsx +3 -3
  217. package/bundle/typescript/src/templates/meteor/app/maka.d.ts +533 -533
  218. package/bundle/typescript/src/templates/meteor/app/meteor.d.ts +181 -181
  219. package/bundle/typescript/src/templates/meteor/app/public/manifest.json +27 -27
  220. package/bundle/typescript/src/templates/meteor/app/public/sw.js +30 -30
  221. package/bundle/typescript/src/templates/meteor/app/public/sw.js.jsx +30 -30
  222. package/bundle/typescript/src/templates/meteor/app/public/sw.js.ts +30 -30
  223. package/bundle/typescript/src/templates/meteor/app/public/sw.js.tsx +30 -30
  224. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js +179 -179
  225. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.jsx +179 -179
  226. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.ts +179 -179
  227. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.tsx +179 -179
  228. package/bundle/typescript/src/templates/meteor/app/server/main.js +13 -13
  229. package/bundle/typescript/src/templates/meteor/app/server/main.js.jsx +13 -13
  230. package/bundle/typescript/src/templates/meteor/app/server/main.js.ts +14 -14
  231. package/bundle/typescript/src/templates/meteor/app/server/main.js.tsx +14 -14
  232. package/bundle/typescript/src/templates/meteor/app/tsconfig.json +42 -42
  233. package/bundle/typescript/src/templates/meteor/collection/collection.js +51 -51
  234. package/bundle/typescript/src/templates/meteor/collection/collection.js.ts +55 -55
  235. package/bundle/typescript/src/templates/meteor/collection/tests.js +27 -27
  236. package/bundle/typescript/src/templates/meteor/collection/tests.js.ts +27 -27
  237. package/bundle/typescript/src/templates/meteor/config/deploy.sh.template +101 -101
  238. package/bundle/typescript/src/templates/meteor/config/docker-compose.yaml +17 -17
  239. package/bundle/typescript/src/templates/meteor/config/nginx.conf.template +31 -31
  240. package/bundle/typescript/src/templates/meteor/config/pm2.config.js +27 -27
  241. package/bundle/typescript/src/templates/meteor/config/process.env +5 -5
  242. package/bundle/typescript/src/templates/meteor/config/settings.json +11 -11
  243. package/bundle/typescript/src/templates/meteor/config/ssh.json +6 -6
  244. package/bundle/typescript/src/templates/meteor/dbc/config.js +70 -70
  245. package/bundle/typescript/src/templates/meteor/dbc/config.js.ts +70 -70
  246. package/bundle/typescript/src/templates/meteor/dbc/conn.js +37 -37
  247. package/bundle/typescript/src/templates/meteor/dbc/conn.js.ts +37 -37
  248. package/bundle/typescript/src/templates/meteor/dbc/register-dbc.js +3 -3
  249. package/bundle/typescript/src/templates/meteor/dbc/register-dbc.js.ts +3 -3
  250. package/bundle/typescript/src/templates/meteor/github/workflows/deploy.yaml +150 -150
  251. package/bundle/typescript/src/templates/meteor/method/method.js +48 -48
  252. package/bundle/typescript/src/templates/meteor/method/method.js.ts +48 -48
  253. package/bundle/typescript/src/templates/meteor/package/package.js +37 -37
  254. package/bundle/typescript/src/templates/meteor/package/package.js.jsx +37 -37
  255. package/bundle/typescript/src/templates/meteor/package/package.js.ts +36 -36
  256. package/bundle/typescript/src/templates/meteor/package/package.js.tsx +37 -37
  257. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js +5 -5
  258. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.jsx +5 -5
  259. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.ts +5 -5
  260. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.tsx +5 -5
  261. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js +5 -5
  262. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.jsx +5 -5
  263. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.ts +5 -5
  264. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.tsx +5 -5
  265. package/bundle/typescript/src/templates/meteor/project/.maka/config.json +29 -29
  266. package/bundle/typescript/src/templates/meteor/project/README.md +33 -33
  267. package/bundle/typescript/src/templates/meteor/project/build/README +4 -4
  268. package/bundle/typescript/src/templates/meteor/project/gitignore +10 -10
  269. package/bundle/typescript/src/templates/meteor/project/package.json +29 -29
  270. package/bundle/typescript/src/templates/meteor/publish/publish.js +7 -7
  271. package/bundle/typescript/src/templates/meteor/publish/publish.js.ts +7 -7
  272. package/bundle/typescript/src/templates/meteor/service/logger/logger.js +27 -27
  273. package/bundle/typescript/src/templates/meteor/service/logger/logger.js.ts +27 -27
  274. package/bundle/typescript/src/templates/meteor/stylesheet/stylesheet.css +5 -5
  275. package/bundle/typescript/src/templates/meteor/stylesheet/stylesheet.css.less +5 -5
  276. package/bundle/typescript/src/templates/meteor/template/template-tests.js +1 -1
  277. package/bundle/typescript/src/templates/meteor/template/template-tests.js.jsx +55 -55
  278. package/bundle/typescript/src/templates/meteor/template/template-tests.js.ts +1 -1
  279. package/bundle/typescript/src/templates/meteor/template/template-tests.js.tsx +55 -55
  280. package/bundle/typescript/src/templates/meteor/template/template.css +3 -3
  281. package/bundle/typescript/src/templates/meteor/template/template.css.less +3 -3
  282. package/bundle/typescript/src/templates/meteor/template/template.css.scss +3 -3
  283. package/bundle/typescript/src/templates/meteor/template/template.html +5 -5
  284. package/bundle/typescript/src/templates/meteor/template/template.js +20 -20
  285. package/bundle/typescript/src/templates/meteor/template/template.js.jsx +77 -77
  286. package/bundle/typescript/src/templates/meteor/template/template.js.ts +1 -1
  287. package/bundle/typescript/src/templates/meteor/template/template.js.tsx +89 -89
  288. package/bundle/typescript/src/templates/react/component/component.css +6 -6
  289. package/bundle/typescript/src/templates/react/component/component.css.less +6 -6
  290. package/bundle/typescript/src/templates/react/component/component.css.scss +3 -3
  291. package/bundle/typescript/src/templates/react/component/component.js.jsx +59 -59
  292. package/bundle/typescript/src/templates/react/component/component.js.tsx +65 -65
  293. package/bundle/typescript/src/templates/react/hook/hook.css +3 -3
  294. package/bundle/typescript/src/templates/react/hook/hook.css.scss +3 -3
  295. package/bundle/typescript/src/templates/react/hook/hook.js.jsx +19 -19
  296. package/bundle/typescript/src/templates/react/hook/hook.js.tsx +19 -19
  297. package/bundle/typescript/src/templates/react/kit/auth/provider/authentication-provider.js.jsx +306 -306
  298. package/bundle/typescript/src/templates/react/kit/auth/provider/authentication-provider.js.tsx +350 -350
  299. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-client.js.jsx +178 -178
  300. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-client.js.tsx +178 -178
  301. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-config.js.jsx +59 -59
  302. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-config.js.tsx +67 -67
  303. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-methods.js.jsx +273 -273
  304. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-methods.js.tsx +275 -275
  305. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-validator.js.jsx +182 -182
  306. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-validator.js.tsx +199 -199
  307. package/bundle/typescript/src/templates/react/kit/auth/service/meteor-auth-service.js.jsx +138 -138
  308. package/bundle/typescript/src/templates/react/kit/auth/service/meteor-auth-service.js.tsx +153 -153
  309. package/bundle/typescript/src/templates/react/kit/esri/map/basic-map.js.jsx +29 -29
  310. package/bundle/typescript/src/templates/react/kit/esri/map/basic-map.js.tsx +32 -32
  311. package/bundle/typescript/src/templates/react/kit/frames/frames-demo.css +63 -63
  312. package/bundle/typescript/src/templates/react/kit/frames/frames-demo.jsx +153 -153
  313. package/bundle/typescript/src/templates/react/kit/frames/frames-demo.tsx +164 -164
  314. package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.css +105 -105
  315. package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.jsx +158 -158
  316. package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.tsx +166 -166
  317. package/bundle/typescript/src/templates/react/kit/mui/auth/forgot-password/basic-forgot-password-page.js.jsx +34 -34
  318. package/bundle/typescript/src/templates/react/kit/mui/auth/forgot-password/basic-forgot-password-page.js.tsx +33 -33
  319. package/bundle/typescript/src/templates/react/kit/mui/auth/login/basic-login-page.js.jsx +53 -53
  320. package/bundle/typescript/src/templates/react/kit/mui/auth/login/basic-login-page.js.tsx +53 -53
  321. package/bundle/typescript/src/templates/react/kit/mui/auth/logout/basic-logout-page.js.jsx +25 -25
  322. package/bundle/typescript/src/templates/react/kit/mui/auth/logout/basic-logout-page.js.tsx +25 -25
  323. package/bundle/typescript/src/templates/react/kit/mui/auth/password-reset/basic-password-reset-page.js.jsx +41 -41
  324. package/bundle/typescript/src/templates/react/kit/mui/auth/password-reset/basic-password-reset-page.js.tsx +34 -34
  325. package/bundle/typescript/src/templates/react/kit/mui/auth/register/basic-register-page.js.jsx +33 -33
  326. package/bundle/typescript/src/templates/react/kit/mui/auth/register/basic-register-page.js.tsx +33 -33
  327. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth-callback.js.jsx +71 -71
  328. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth-callback.js.tsx +71 -71
  329. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-account-settings.js.jsx +123 -123
  330. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-account-settings.js.tsx +123 -123
  331. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-login-button.js.jsx +56 -56
  332. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-login-button.js.tsx +74 -74
  333. package/bundle/typescript/src/templates/react/kit/mui/frame/app-bars/basic-app-bar.js.jsx +43 -43
  334. package/bundle/typescript/src/templates/react/kit/mui/frame/app-bars/basic-app-bar.js.tsx +43 -43
  335. package/bundle/typescript/src/templates/react/kit/mui/frame/drawers/basic-drawer.js.jsx +121 -121
  336. package/bundle/typescript/src/templates/react/kit/mui/frame/drawers/basic-drawer.js.tsx +117 -117
  337. package/bundle/typescript/src/templates/react/kit/mui/frame/footers/basic-sticky-footer.js.jsx +41 -41
  338. package/bundle/typescript/src/templates/react/kit/mui/frame/footers/basic-sticky-footer.js.tsx +41 -41
  339. package/bundle/typescript/src/templates/react/route/route.js +8 -8
  340. package/bundle/typescript/src/templates/react/route/route.js.jsx +5 -5
  341. package/bundle/typescript/src/templates/react/route/route.js.ts +8 -8
  342. package/bundle/typescript/src/templates/react/route/route.js.tsx +5 -5
  343. package/bundle/typescript/src/templates/react/test/test.js +1 -1
  344. package/bundle/typescript/src/templates/react/test/test.js.jsx +40 -40
  345. package/bundle/typescript/src/templates/react/test/test.js.ts +1 -1
  346. package/bundle/typescript/src/templates/react/test/test.js.tsx +40 -40
  347. package/bundle/typescript/src/templates/service/docker/Dockerfile +54 -54
  348. package/bundle/typescript/src/templates/service/eslint/babel.config.js +16 -16
  349. package/bundle/typescript/src/templates/service/eslint/config.eslint.js +69 -69
  350. package/bundle/typescript/src/templates/service/i18n/i18n.js +33 -33
  351. package/bundle/typescript/src/templates/service/i18n/i18n.js.ts +33 -33
  352. package/bundle/typescript/src/templates/service/i18n/locales.js +3 -3
  353. package/bundle/typescript/src/templates/service/i18n/locales.js.ts +3 -3
  354. package/bundle/typescript/src/templates/service/openssl/openssl.conf +22 -22
  355. package/bundle/typescript/src/templates/service/test/jest/jest.config.js +24 -24
  356. package/bundle/typescript/src/templates/service/test/jest/jest.setup.js +7 -7
  357. package/bundle/typescript/src/tools/guarded-file/guarded-file.class.d.ts +59 -0
  358. package/bundle/typescript/src/tools/guarded-file/guarded-file.class.js +120 -0
  359. package/bundle/typescript/src/tools/guarded-file/guarded-file.class.js.map +1 -0
  360. package/bundle/typescript/src/tools/mpi/mpi.class.d.ts +16 -0
  361. package/bundle/typescript/src/tools/mpi/mpi.class.js +25 -7
  362. package/bundle/typescript/src/tools/mpi/mpi.class.js.map +1 -1
  363. package/bundle/typescript/src/tools/mpi/sdk-runtime.d.ts +1 -0
  364. package/bundle/typescript/src/tools/mpi/sdk-runtime.js +29 -0
  365. package/bundle/typescript/src/tools/mpi/sdk-runtime.js.map +1 -1
  366. package/package.json +120 -120
@@ -1,71 +1,71 @@
1
- import React, { useEffect, useState } from 'react';
2
- import { useNavigate } from 'react-router-dom';
3
- import { Box, CircularProgress, Typography, Alert } from '@mui/material';
4
- import AuthService from '<%= authServicePath %>';
5
-
6
- /**
7
- * Auth0 Callback Component
8
- *
9
- * This component handles the OAuth callback from Auth0.
10
- * It exchanges the authorization code for tokens and logs the user into Meteor.
11
- */
12
- export const AuthCallback = () => {
13
- const navigate = useNavigate();
14
- const [error, setError] = useState<string | null>(null);
15
-
16
- useEffect(() => {
17
- const handleCallback = async () => {
18
- try {
19
- // Handle the Auth0 callback and login to Meteor
20
- await AuthService.handleAuth0Callback();
21
-
22
- // Redirect to home page after successful login
23
- navigate('/', { replace: true });
24
- } catch (err) {
25
- console.error('Auth0 callback error:', err);
26
- setError(err instanceof Error ? err.message : 'Authentication failed');
27
-
28
- // Redirect to login page after a delay
29
- setTimeout(() => {
30
- navigate('/login', { replace: true });
31
- }, 3000);
32
- }
33
- };
34
-
35
- handleCallback();
36
- }, [navigate]);
37
-
38
- return (
39
- <Box
40
- sx={{
41
- display: 'flex',
42
- flexDirection: 'column',
43
- alignItems: 'center',
44
- justifyContent: 'center',
45
- minHeight: '100vh',
46
- gap: 2,
47
- }}
48
- >
49
- {error ? (
50
- <>
51
- <Alert severity="error" sx={{ maxWidth: 600 }}>
52
- {error}
53
- </Alert>
54
- <Typography variant="body2" color="text.secondary">
55
- Redirecting to login page...
56
- </Typography>
57
- </>
58
- ) : (
59
- <>
60
- <CircularProgress size={60} />
61
- <Typography variant="h6" sx={{ mt: 2 }}>
62
- Completing authentication...
63
- </Typography>
64
- <Typography variant="body2" color="text.secondary">
65
- Please wait while we log you in.
66
- </Typography>
67
- </>
68
- )}
69
- </Box>
70
- );
71
- };
1
+ import React, { useEffect, useState } from 'react';
2
+ import { useNavigate } from 'react-router-dom';
3
+ import { Box, CircularProgress, Typography, Alert } from '@mui/material';
4
+ import AuthService from '<%= authServicePath %>';
5
+
6
+ /**
7
+ * Auth0 Callback Component
8
+ *
9
+ * This component handles the OAuth callback from Auth0.
10
+ * It exchanges the authorization code for tokens and logs the user into Meteor.
11
+ */
12
+ export const AuthCallback = () => {
13
+ const navigate = useNavigate();
14
+ const [error, setError] = useState<string | null>(null);
15
+
16
+ useEffect(() => {
17
+ const handleCallback = async () => {
18
+ try {
19
+ // Handle the Auth0 callback and login to Meteor
20
+ await AuthService.handleAuth0Callback();
21
+
22
+ // Redirect to home page after successful login
23
+ navigate('/', { replace: true });
24
+ } catch (err) {
25
+ console.error('Auth0 callback error:', err);
26
+ setError(err instanceof Error ? err.message : 'Authentication failed');
27
+
28
+ // Redirect to login page after a delay
29
+ setTimeout(() => {
30
+ navigate('/login', { replace: true });
31
+ }, 3000);
32
+ }
33
+ };
34
+
35
+ handleCallback();
36
+ }, [navigate]);
37
+
38
+ return (
39
+ <Box
40
+ sx={{
41
+ display: 'flex',
42
+ flexDirection: 'column',
43
+ alignItems: 'center',
44
+ justifyContent: 'center',
45
+ minHeight: '100vh',
46
+ gap: 2,
47
+ }}
48
+ >
49
+ {error ? (
50
+ <>
51
+ <Alert severity="error" sx={{ maxWidth: 600 }}>
52
+ {error}
53
+ </Alert>
54
+ <Typography variant="body2" color="text.secondary">
55
+ Redirecting to login page...
56
+ </Typography>
57
+ </>
58
+ ) : (
59
+ <>
60
+ <CircularProgress size={60} />
61
+ <Typography variant="h6" sx={{ mt: 2 }}>
62
+ Completing authentication...
63
+ </Typography>
64
+ <Typography variant="body2" color="text.secondary">
65
+ Please wait while we log you in.
66
+ </Typography>
67
+ </>
68
+ )}
69
+ </Box>
70
+ );
71
+ };
@@ -1,123 +1,123 @@
1
- import React, { useContext, useState } from 'react';
2
- import {
3
- Box,
4
- Card,
5
- CardContent,
6
- Typography,
7
- Button,
8
- Alert,
9
- CircularProgress,
10
- } from '@mui/material';
11
- import { Meteor } from 'meteor/meteor';
12
- import { AuthContext } from '<%= authContextPath %>';
13
-
14
- /**
15
- * Auth0 Account Settings Component
16
- *
17
- * Displays Auth0 account status and allows linking/unlinking
18
- * Auth0 account to/from the current Meteor user.
19
- */
20
- export const Auth0AccountSettings = () => {
21
- const auth = useContext(AuthContext);
22
- const [loading, setLoading] = useState(false);
23
- const [message, setMessage] = useState(null);
24
-
25
- if (!auth?.currentUser) {
26
- return null;
27
- }
28
-
29
- const user = Meteor.user();
30
- const hasAuth0Account = Boolean(user?.services?.auth0);
31
-
32
- const handleLinkAccount = async () => {
33
- setLoading(true);
34
- setMessage(null);
35
-
36
- try {
37
- const success = await auth.linkAuth0Account?.();
38
- if (success) {
39
- setMessage({ type: 'success', text: 'Auth0 account linked successfully!' });
40
- }
41
- } catch (error) {
42
- setMessage({
43
- type: 'error',
44
- text: error instanceof Error ? error.message : 'Failed to link Auth0 account',
45
- });
46
- } finally {
47
- setLoading(false);
48
- }
49
- };
50
-
51
- const handleUnlinkAccount = async () => {
52
- setLoading(true);
53
- setMessage(null);
54
-
55
- try {
56
- const success = await auth.unlinkAuth0Account?.();
57
- if (success) {
58
- setMessage({ type: 'success', text: 'Auth0 account unlinked successfully!' });
59
- }
60
- } catch (error) {
61
- setMessage({
62
- type: 'error',
63
- text: error instanceof Error ? error.message : 'Failed to unlink Auth0 account',
64
- });
65
- } finally {
66
- setLoading(false);
67
- }
68
- };
69
-
70
- return (
71
- <Card>
72
- <CardContent>
73
- <Typography variant="h6" gutterBottom>
74
- Auth0 Integration
75
- </Typography>
76
-
77
- {message && (
78
- <Alert severity={message.type} sx={{ mb: 2 }}>
79
- {message.text}
80
- </Alert>
81
- )}
82
-
83
- {hasAuth0Account ? (
84
- <Box>
85
- <Alert severity="success" sx={{ mb: 2 }}>
86
- Your account is linked with Auth0
87
- </Alert>
88
- <Typography variant="body2" color="text.secondary" gutterBottom>
89
- Email: {user?.services?.auth0?.email || 'N/A'}
90
- </Typography>
91
- <Typography variant="body2" color="text.secondary" gutterBottom>
92
- Name: {user?.services?.auth0?.name || 'N/A'}
93
- </Typography>
94
- <Button
95
- variant="outlined"
96
- color="error"
97
- onClick={handleUnlinkAccount}
98
- disabled={loading}
99
- sx={{ mt: 2 }}
100
- startIcon={loading ? <CircularProgress size={20} /> : undefined}
101
- >
102
- {loading ? 'Unlinking...' : 'Unlink Auth0 Account'}
103
- </Button>
104
- </Box>
105
- ) : (
106
- <Box>
107
- <Alert severity="info" sx={{ mb: 2 }}>
108
- Link your account with Auth0 for easier login
109
- </Alert>
110
- <Button
111
- variant="contained"
112
- onClick={handleLinkAccount}
113
- disabled={loading}
114
- startIcon={loading ? <CircularProgress size={20} /> : undefined}
115
- >
116
- {loading ? 'Linking...' : 'Link Auth0 Account'}
117
- </Button>
118
- </Box>
119
- )}
120
- </CardContent>
121
- </Card>
122
- );
123
- };
1
+ import React, { useContext, useState } from 'react';
2
+ import {
3
+ Box,
4
+ Card,
5
+ CardContent,
6
+ Typography,
7
+ Button,
8
+ Alert,
9
+ CircularProgress,
10
+ } from '@mui/material';
11
+ import { Meteor } from 'meteor/meteor';
12
+ import { AuthContext } from '<%= authContextPath %>';
13
+
14
+ /**
15
+ * Auth0 Account Settings Component
16
+ *
17
+ * Displays Auth0 account status and allows linking/unlinking
18
+ * Auth0 account to/from the current Meteor user.
19
+ */
20
+ export const Auth0AccountSettings = () => {
21
+ const auth = useContext(AuthContext);
22
+ const [loading, setLoading] = useState(false);
23
+ const [message, setMessage] = useState(null);
24
+
25
+ if (!auth?.currentUser) {
26
+ return null;
27
+ }
28
+
29
+ const user = Meteor.user();
30
+ const hasAuth0Account = Boolean(user?.services?.auth0);
31
+
32
+ const handleLinkAccount = async () => {
33
+ setLoading(true);
34
+ setMessage(null);
35
+
36
+ try {
37
+ const success = await auth.linkAuth0Account?.();
38
+ if (success) {
39
+ setMessage({ type: 'success', text: 'Auth0 account linked successfully!' });
40
+ }
41
+ } catch (error) {
42
+ setMessage({
43
+ type: 'error',
44
+ text: error instanceof Error ? error.message : 'Failed to link Auth0 account',
45
+ });
46
+ } finally {
47
+ setLoading(false);
48
+ }
49
+ };
50
+
51
+ const handleUnlinkAccount = async () => {
52
+ setLoading(true);
53
+ setMessage(null);
54
+
55
+ try {
56
+ const success = await auth.unlinkAuth0Account?.();
57
+ if (success) {
58
+ setMessage({ type: 'success', text: 'Auth0 account unlinked successfully!' });
59
+ }
60
+ } catch (error) {
61
+ setMessage({
62
+ type: 'error',
63
+ text: error instanceof Error ? error.message : 'Failed to unlink Auth0 account',
64
+ });
65
+ } finally {
66
+ setLoading(false);
67
+ }
68
+ };
69
+
70
+ return (
71
+ <Card>
72
+ <CardContent>
73
+ <Typography variant="h6" gutterBottom>
74
+ Auth0 Integration
75
+ </Typography>
76
+
77
+ {message && (
78
+ <Alert severity={message.type} sx={{ mb: 2 }}>
79
+ {message.text}
80
+ </Alert>
81
+ )}
82
+
83
+ {hasAuth0Account ? (
84
+ <Box>
85
+ <Alert severity="success" sx={{ mb: 2 }}>
86
+ Your account is linked with Auth0
87
+ </Alert>
88
+ <Typography variant="body2" color="text.secondary" gutterBottom>
89
+ Email: {user?.services?.auth0?.email || 'N/A'}
90
+ </Typography>
91
+ <Typography variant="body2" color="text.secondary" gutterBottom>
92
+ Name: {user?.services?.auth0?.name || 'N/A'}
93
+ </Typography>
94
+ <Button
95
+ variant="outlined"
96
+ color="error"
97
+ onClick={handleUnlinkAccount}
98
+ disabled={loading}
99
+ sx={{ mt: 2 }}
100
+ startIcon={loading ? <CircularProgress size={20} /> : undefined}
101
+ >
102
+ {loading ? 'Unlinking...' : 'Unlink Auth0 Account'}
103
+ </Button>
104
+ </Box>
105
+ ) : (
106
+ <Box>
107
+ <Alert severity="info" sx={{ mb: 2 }}>
108
+ Link your account with Auth0 for easier login
109
+ </Alert>
110
+ <Button
111
+ variant="contained"
112
+ onClick={handleLinkAccount}
113
+ disabled={loading}
114
+ startIcon={loading ? <CircularProgress size={20} /> : undefined}
115
+ >
116
+ {loading ? 'Linking...' : 'Link Auth0 Account'}
117
+ </Button>
118
+ </Box>
119
+ )}
120
+ </CardContent>
121
+ </Card>
122
+ );
123
+ };
@@ -1,123 +1,123 @@
1
- import React, { useContext, useState } from 'react';
2
- import {
3
- Box,
4
- Card,
5
- CardContent,
6
- Typography,
7
- Button,
8
- Alert,
9
- CircularProgress,
10
- } from '@mui/material';
11
- import { Meteor } from 'meteor/meteor';
12
- import { AuthContext } from '<%= authContextPath %>';
13
-
14
- /**
15
- * Auth0 Account Settings Component
16
- *
17
- * Displays Auth0 account status and allows linking/unlinking
18
- * Auth0 account to/from the current Meteor user.
19
- */
20
- export const Auth0AccountSettings: React.FC = () => {
21
- const auth = useContext(AuthContext);
22
- const [loading, setLoading] = useState(false);
23
- const [message, setMessage] = useState<{ type: 'success' | 'error'; text: string } | null>(null);
24
-
25
- if (!auth?.currentUser) {
26
- return null;
27
- }
28
-
29
- const user = Meteor.user();
30
- const hasAuth0Account = Boolean(user?.services?.auth0);
31
-
32
- const handleLinkAccount = async () => {
33
- setLoading(true);
34
- setMessage(null);
35
-
36
- try {
37
- const success = await auth.linkAuth0Account?.();
38
- if (success) {
39
- setMessage({ type: 'success', text: 'Auth0 account linked successfully!' });
40
- }
41
- } catch (error) {
42
- setMessage({
43
- type: 'error',
44
- text: error instanceof Error ? error.message : 'Failed to link Auth0 account',
45
- });
46
- } finally {
47
- setLoading(false);
48
- }
49
- };
50
-
51
- const handleUnlinkAccount = async () => {
52
- setLoading(true);
53
- setMessage(null);
54
-
55
- try {
56
- const success = await auth.unlinkAuth0Account?.();
57
- if (success) {
58
- setMessage({ type: 'success', text: 'Auth0 account unlinked successfully!' });
59
- }
60
- } catch (error) {
61
- setMessage({
62
- type: 'error',
63
- text: error instanceof Error ? error.message : 'Failed to unlink Auth0 account',
64
- });
65
- } finally {
66
- setLoading(false);
67
- }
68
- };
69
-
70
- return (
71
- <Card>
72
- <CardContent>
73
- <Typography variant="h6" gutterBottom>
74
- Auth0 Integration
75
- </Typography>
76
-
77
- {message && (
78
- <Alert severity={message.type} sx={{ mb: 2 }}>
79
- {message.text}
80
- </Alert>
81
- )}
82
-
83
- {hasAuth0Account ? (
84
- <Box>
85
- <Alert severity="success" sx={{ mb: 2 }}>
86
- Your account is linked with Auth0
87
- </Alert>
88
- <Typography variant="body2" color="text.secondary" gutterBottom>
89
- Email: {user?.services?.auth0?.email || 'N/A'}
90
- </Typography>
91
- <Typography variant="body2" color="text.secondary" gutterBottom>
92
- Name: {user?.services?.auth0?.name || 'N/A'}
93
- </Typography>
94
- <Button
95
- variant="outlined"
96
- color="error"
97
- onClick={handleUnlinkAccount}
98
- disabled={loading}
99
- sx={{ mt: 2 }}
100
- startIcon={loading ? <CircularProgress size={20} /> : undefined}
101
- >
102
- {loading ? 'Unlinking...' : 'Unlink Auth0 Account'}
103
- </Button>
104
- </Box>
105
- ) : (
106
- <Box>
107
- <Alert severity="info" sx={{ mb: 2 }}>
108
- Link your account with Auth0 for easier login
109
- </Alert>
110
- <Button
111
- variant="contained"
112
- onClick={handleLinkAccount}
113
- disabled={loading}
114
- startIcon={loading ? <CircularProgress size={20} /> : undefined}
115
- >
116
- {loading ? 'Linking...' : 'Link Auth0 Account'}
117
- </Button>
118
- </Box>
119
- )}
120
- </CardContent>
121
- </Card>
122
- );
123
- };
1
+ import React, { useContext, useState } from 'react';
2
+ import {
3
+ Box,
4
+ Card,
5
+ CardContent,
6
+ Typography,
7
+ Button,
8
+ Alert,
9
+ CircularProgress,
10
+ } from '@mui/material';
11
+ import { Meteor } from 'meteor/meteor';
12
+ import { AuthContext } from '<%= authContextPath %>';
13
+
14
+ /**
15
+ * Auth0 Account Settings Component
16
+ *
17
+ * Displays Auth0 account status and allows linking/unlinking
18
+ * Auth0 account to/from the current Meteor user.
19
+ */
20
+ export const Auth0AccountSettings: React.FC = () => {
21
+ const auth = useContext(AuthContext);
22
+ const [loading, setLoading] = useState(false);
23
+ const [message, setMessage] = useState<{ type: 'success' | 'error'; text: string } | null>(null);
24
+
25
+ if (!auth?.currentUser) {
26
+ return null;
27
+ }
28
+
29
+ const user = Meteor.user();
30
+ const hasAuth0Account = Boolean(user?.services?.auth0);
31
+
32
+ const handleLinkAccount = async () => {
33
+ setLoading(true);
34
+ setMessage(null);
35
+
36
+ try {
37
+ const success = await auth.linkAuth0Account?.();
38
+ if (success) {
39
+ setMessage({ type: 'success', text: 'Auth0 account linked successfully!' });
40
+ }
41
+ } catch (error) {
42
+ setMessage({
43
+ type: 'error',
44
+ text: error instanceof Error ? error.message : 'Failed to link Auth0 account',
45
+ });
46
+ } finally {
47
+ setLoading(false);
48
+ }
49
+ };
50
+
51
+ const handleUnlinkAccount = async () => {
52
+ setLoading(true);
53
+ setMessage(null);
54
+
55
+ try {
56
+ const success = await auth.unlinkAuth0Account?.();
57
+ if (success) {
58
+ setMessage({ type: 'success', text: 'Auth0 account unlinked successfully!' });
59
+ }
60
+ } catch (error) {
61
+ setMessage({
62
+ type: 'error',
63
+ text: error instanceof Error ? error.message : 'Failed to unlink Auth0 account',
64
+ });
65
+ } finally {
66
+ setLoading(false);
67
+ }
68
+ };
69
+
70
+ return (
71
+ <Card>
72
+ <CardContent>
73
+ <Typography variant="h6" gutterBottom>
74
+ Auth0 Integration
75
+ </Typography>
76
+
77
+ {message && (
78
+ <Alert severity={message.type} sx={{ mb: 2 }}>
79
+ {message.text}
80
+ </Alert>
81
+ )}
82
+
83
+ {hasAuth0Account ? (
84
+ <Box>
85
+ <Alert severity="success" sx={{ mb: 2 }}>
86
+ Your account is linked with Auth0
87
+ </Alert>
88
+ <Typography variant="body2" color="text.secondary" gutterBottom>
89
+ Email: {user?.services?.auth0?.email || 'N/A'}
90
+ </Typography>
91
+ <Typography variant="body2" color="text.secondary" gutterBottom>
92
+ Name: {user?.services?.auth0?.name || 'N/A'}
93
+ </Typography>
94
+ <Button
95
+ variant="outlined"
96
+ color="error"
97
+ onClick={handleUnlinkAccount}
98
+ disabled={loading}
99
+ sx={{ mt: 2 }}
100
+ startIcon={loading ? <CircularProgress size={20} /> : undefined}
101
+ >
102
+ {loading ? 'Unlinking...' : 'Unlink Auth0 Account'}
103
+ </Button>
104
+ </Box>
105
+ ) : (
106
+ <Box>
107
+ <Alert severity="info" sx={{ mb: 2 }}>
108
+ Link your account with Auth0 for easier login
109
+ </Alert>
110
+ <Button
111
+ variant="contained"
112
+ onClick={handleLinkAccount}
113
+ disabled={loading}
114
+ startIcon={loading ? <CircularProgress size={20} /> : undefined}
115
+ >
116
+ {loading ? 'Linking...' : 'Link Auth0 Account'}
117
+ </Button>
118
+ </Box>
119
+ )}
120
+ </CardContent>
121
+ </Card>
122
+ );
123
+ };