@maka/maka-cli 5.123.1 → 5.124.0

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 (315) 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 +2 -2
  20. package/bundle/typescript/src/commands/env/env.command.js +8 -8
  21. package/bundle/typescript/src/commands/env/set.sub.cmd.js +11 -11
  22. package/bundle/typescript/src/commands/game/sideQuest/adept-powers.d.ts +0 -8
  23. package/bundle/typescript/src/commands/game/sideQuest/adept-powers.js +6 -50
  24. package/bundle/typescript/src/commands/game/sideQuest/adept-powers.js.map +1 -1
  25. package/bundle/typescript/src/commands/game/sideQuest/archetypes.js +3 -3
  26. package/bundle/typescript/src/commands/game/sideQuest/archetypes.js.map +1 -1
  27. package/bundle/typescript/src/commands/game/sideQuest/augmentations.d.ts +0 -4
  28. package/bundle/typescript/src/commands/game/sideQuest/augmentations.js +0 -1342
  29. package/bundle/typescript/src/commands/game/sideQuest/augmentations.js.map +1 -1
  30. package/bundle/typescript/src/commands/game/sideQuest/commands/cast.d.ts +1 -1
  31. package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js +1 -1
  32. package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.js +5 -6
  33. package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.js.map +1 -1
  34. package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js +2 -2
  35. package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js.map +1 -1
  36. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +1 -1
  37. package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.d.ts +0 -38
  38. package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js +11 -45
  39. package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js.map +1 -1
  40. package/bundle/typescript/src/commands/game/sideQuest/commands/install.js +5 -4
  41. package/bundle/typescript/src/commands/game/sideQuest/commands/install.js.map +1 -1
  42. package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.js +10 -7
  43. package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.js.map +1 -1
  44. package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +9 -9
  45. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js +5 -6
  46. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js.map +1 -1
  47. package/bundle/typescript/src/commands/game/sideQuest/commands/sin.js +2 -2
  48. package/bundle/typescript/src/commands/game/sideQuest/commands/sin.js.map +1 -1
  49. package/bundle/typescript/src/commands/game/sideQuest/commands/source.js +8 -8
  50. package/bundle/typescript/src/commands/game/sideQuest/commands/source.js.map +1 -1
  51. package/bundle/typescript/src/commands/game/sideQuest/engine-version.d.ts +1 -1
  52. package/bundle/typescript/src/commands/game/sideQuest/engine-version.js +14 -1
  53. package/bundle/typescript/src/commands/game/sideQuest/engine-version.js.map +1 -1
  54. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js +11 -12
  55. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js.map +1 -1
  56. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +445 -445
  57. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js.map +1 -1
  58. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js +6 -6
  59. package/bundle/typescript/src/commands/game/sideQuest/game.js +6 -10
  60. package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
  61. package/bundle/typescript/src/commands/game/sideQuest/metamagics.d.ts +32 -0
  62. package/bundle/typescript/src/commands/game/sideQuest/metamagics.js +12 -0
  63. package/bundle/typescript/src/commands/game/sideQuest/metamagics.js.map +1 -0
  64. package/bundle/typescript/src/commands/game/sideQuest/metatypes.d.ts +6 -4
  65. package/bundle/typescript/src/commands/game/sideQuest/metatypes.js +3 -83
  66. package/bundle/typescript/src/commands/game/sideQuest/metatypes.js.map +1 -1
  67. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +206 -206
  68. package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +5 -5
  69. package/bundle/typescript/src/commands/game/sideQuest/models/player.js +10 -14
  70. package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
  71. package/bundle/typescript/src/commands/game/sideQuest/models/room.js +9 -9
  72. package/bundle/typescript/src/commands/game/sideQuest/qualities.d.ts +3 -7
  73. package/bundle/typescript/src/commands/game/sideQuest/qualities.js +15 -715
  74. package/bundle/typescript/src/commands/game/sideQuest/qualities.js.map +1 -1
  75. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene1.json +556 -556
  76. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene2.json +1447 -1447
  77. package/bundle/typescript/src/commands/game/sideQuest/spells.d.ts +5 -7
  78. package/bundle/typescript/src/commands/game/sideQuest/spells.js +5 -63
  79. package/bundle/typescript/src/commands/game/sideQuest/spells.js.map +1 -1
  80. package/bundle/typescript/src/commands/game/sideQuest/ui.js +22 -0
  81. package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
  82. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.d.ts +36 -20
  83. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js +24 -658
  84. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js.map +1 -1
  85. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.d.ts +100 -20
  86. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js +314 -57
  87. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js.map +1 -1
  88. package/bundle/typescript/src/commands/game/sideQuest/utilities/ephemeral.js +14 -14
  89. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js +3 -2
  90. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js.map +1 -1
  91. package/bundle/typescript/src/commands/game/sideQuest-backlog.sub.cmd.js +2 -2
  92. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +28 -2
  93. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
  94. package/bundle/typescript/src/commands/generate.js +2 -2
  95. package/bundle/typescript/src/commands/lint.js +10 -10
  96. package/bundle/typescript/src/commands/maka.cmd.js +26 -26
  97. package/bundle/typescript/src/commands/murder.js +14 -14
  98. package/bundle/typescript/src/commands/proxy.js +13 -13
  99. package/bundle/typescript/src/commands/remote/reconfig.sub.cmd.js +6 -6
  100. package/bundle/typescript/src/commands/run/docker.sub.cmd.js +11 -11
  101. package/bundle/typescript/src/commands/run/run.command.js +24 -24
  102. package/bundle/typescript/src/commands/set/global.sub.cmd.js +8 -8
  103. package/bundle/typescript/src/commands/set/local.sub.cmd.js +2 -2
  104. package/bundle/typescript/src/commands/set/set.command.js +3 -3
  105. package/bundle/typescript/src/commands/testCmd/test.command.js +2 -2
  106. package/bundle/typescript/src/error.js +1 -1
  107. package/bundle/typescript/src/error.js.map +1 -1
  108. package/bundle/typescript/src/exec.js +0 -0
  109. package/bundle/typescript/src/generators/api.js +11 -11
  110. package/bundle/typescript/src/generators/collection.js +6 -6
  111. package/bundle/typescript/src/generators/hook.js +10 -10
  112. package/bundle/typescript/src/generators/kits/auth/auth.generator.js +2 -2
  113. package/bundle/typescript/src/generators/kits/auth/auth0-meteor.auth.gen.js +612 -612
  114. package/bundle/typescript/src/generators/kits/auth/basic-meteor.auth.gen.js +48 -48
  115. package/bundle/typescript/src/generators/kits/auth/provider.auth.gen.js +12 -12
  116. package/bundle/typescript/src/generators/kits/esri/esri.generator.js +3 -3
  117. package/bundle/typescript/src/generators/kits/esri/map.esri.gen.js +7 -7
  118. package/bundle/typescript/src/generators/kits/frames/frames.generator.js +16 -16
  119. package/bundle/typescript/src/generators/kits/mui/auth.mui.gen.js +2 -2
  120. package/bundle/typescript/src/generators/kits/mui/auth0.mui.gen.js +5 -5
  121. package/bundle/typescript/src/generators/kits/mui/frame.mui.gen.js +4 -4
  122. package/bundle/typescript/src/generators/kits/mui/mui.generator.js +22 -22
  123. package/bundle/typescript/src/generators/services/translation.js +5 -5
  124. package/bundle/typescript/src/templates/aws/cloudformation/create-ec2-instance.template +14 -14
  125. package/bundle/typescript/src/templates/meteor/api/api.js +20 -20
  126. package/bundle/typescript/src/templates/meteor/api/api.js.ts +20 -20
  127. package/bundle/typescript/src/templates/meteor/api/apollo-gateway.js +50 -50
  128. package/bundle/typescript/src/templates/meteor/api/apollo-gateway.js.ts +55 -55
  129. package/bundle/typescript/src/templates/meteor/api/graphql-api.js +63 -63
  130. package/bundle/typescript/src/templates/meteor/api/graphql-api.js.ts +69 -69
  131. package/bundle/typescript/src/templates/meteor/api/methods.js +39 -39
  132. package/bundle/typescript/src/templates/meteor/api/methods.js.ts +40 -40
  133. package/bundle/typescript/src/templates/meteor/api/register-api.js +3 -3
  134. package/bundle/typescript/src/templates/meteor/api/register-api.js.ts +3 -3
  135. package/bundle/typescript/src/templates/meteor/api/resolvers.js +9 -9
  136. package/bundle/typescript/src/templates/meteor/api/resolvers.js.ts +9 -9
  137. package/bundle/typescript/src/templates/meteor/api/typeDefs.js +6 -6
  138. package/bundle/typescript/src/templates/meteor/api/typeDefs.js.ts +6 -6
  139. package/bundle/typescript/src/templates/meteor/app/client/body.html +3 -3
  140. package/bundle/typescript/src/templates/meteor/app/client/head.html +12 -12
  141. package/bundle/typescript/src/templates/meteor/app/client/main.js +15 -15
  142. package/bundle/typescript/src/templates/meteor/app/client/main.js.jsx +15 -15
  143. package/bundle/typescript/src/templates/meteor/app/client/main.js.ts +17 -17
  144. package/bundle/typescript/src/templates/meteor/app/client/main.js.tsx +17 -17
  145. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js +20 -20
  146. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.jsx +107 -107
  147. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.ts +20 -20
  148. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.tsx +108 -108
  149. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js +39 -39
  150. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.jsx +33 -33
  151. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.ts +24 -24
  152. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.tsx +33 -33
  153. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js +9 -9
  154. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.jsx +9 -9
  155. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.ts +9 -9
  156. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.tsx +9 -9
  157. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js +1 -1
  158. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.jsx +20 -20
  159. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.ts +1 -1
  160. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.tsx +20 -20
  161. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/routes.js.jsx +28 -28
  162. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/routes.js.tsx +28 -28
  163. package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js +1 -1
  164. package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js.jsx +95 -95
  165. package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js.tsx +98 -98
  166. package/bundle/typescript/src/templates/meteor/app/imports/ui/test-helpers.js +24 -24
  167. package/bundle/typescript/src/templates/meteor/app/imports/ui/test-helpers.js.ts +24 -24
  168. package/bundle/typescript/src/templates/meteor/app/lib/main.js +3 -3
  169. package/bundle/typescript/src/templates/meteor/app/lib/main.js.jsx +3 -3
  170. package/bundle/typescript/src/templates/meteor/app/lib/main.js.ts +3 -3
  171. package/bundle/typescript/src/templates/meteor/app/lib/main.js.tsx +3 -3
  172. package/bundle/typescript/src/templates/meteor/app/maka.d.ts +533 -533
  173. package/bundle/typescript/src/templates/meteor/app/meteor.d.ts +181 -181
  174. package/bundle/typescript/src/templates/meteor/app/public/manifest.json +27 -27
  175. package/bundle/typescript/src/templates/meteor/app/public/sw.js +30 -30
  176. package/bundle/typescript/src/templates/meteor/app/public/sw.js.jsx +30 -30
  177. package/bundle/typescript/src/templates/meteor/app/public/sw.js.ts +30 -30
  178. package/bundle/typescript/src/templates/meteor/app/public/sw.js.tsx +30 -30
  179. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js +179 -179
  180. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.jsx +179 -179
  181. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.ts +179 -179
  182. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.tsx +179 -179
  183. package/bundle/typescript/src/templates/meteor/app/server/main.js +13 -13
  184. package/bundle/typescript/src/templates/meteor/app/server/main.js.jsx +13 -13
  185. package/bundle/typescript/src/templates/meteor/app/server/main.js.ts +14 -14
  186. package/bundle/typescript/src/templates/meteor/app/server/main.js.tsx +14 -14
  187. package/bundle/typescript/src/templates/meteor/app/tsconfig.json +42 -42
  188. package/bundle/typescript/src/templates/meteor/collection/collection.js +51 -51
  189. package/bundle/typescript/src/templates/meteor/collection/collection.js.ts +55 -55
  190. package/bundle/typescript/src/templates/meteor/collection/tests.js +27 -27
  191. package/bundle/typescript/src/templates/meteor/collection/tests.js.ts +27 -27
  192. package/bundle/typescript/src/templates/meteor/config/deploy.sh.template +101 -101
  193. package/bundle/typescript/src/templates/meteor/config/docker-compose.yaml +17 -17
  194. package/bundle/typescript/src/templates/meteor/config/nginx.conf.template +31 -31
  195. package/bundle/typescript/src/templates/meteor/config/pm2.config.js +27 -27
  196. package/bundle/typescript/src/templates/meteor/config/process.env +5 -5
  197. package/bundle/typescript/src/templates/meteor/config/settings.json +11 -11
  198. package/bundle/typescript/src/templates/meteor/config/ssh.json +6 -6
  199. package/bundle/typescript/src/templates/meteor/dbc/config.js +70 -70
  200. package/bundle/typescript/src/templates/meteor/dbc/config.js.ts +70 -70
  201. package/bundle/typescript/src/templates/meteor/dbc/conn.js +37 -37
  202. package/bundle/typescript/src/templates/meteor/dbc/conn.js.ts +37 -37
  203. package/bundle/typescript/src/templates/meteor/dbc/register-dbc.js +3 -3
  204. package/bundle/typescript/src/templates/meteor/dbc/register-dbc.js.ts +3 -3
  205. package/bundle/typescript/src/templates/meteor/github/workflows/deploy.yaml +150 -150
  206. package/bundle/typescript/src/templates/meteor/method/method.js +48 -48
  207. package/bundle/typescript/src/templates/meteor/method/method.js.ts +48 -48
  208. package/bundle/typescript/src/templates/meteor/package/package.js +37 -37
  209. package/bundle/typescript/src/templates/meteor/package/package.js.jsx +37 -37
  210. package/bundle/typescript/src/templates/meteor/package/package.js.ts +36 -36
  211. package/bundle/typescript/src/templates/meteor/package/package.js.tsx +37 -37
  212. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js +5 -5
  213. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.jsx +5 -5
  214. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.ts +5 -5
  215. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.tsx +5 -5
  216. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js +5 -5
  217. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.jsx +5 -5
  218. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.ts +5 -5
  219. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.tsx +5 -5
  220. package/bundle/typescript/src/templates/meteor/project/.maka/config.json +29 -29
  221. package/bundle/typescript/src/templates/meteor/project/README.md +33 -33
  222. package/bundle/typescript/src/templates/meteor/project/build/README +4 -4
  223. package/bundle/typescript/src/templates/meteor/project/gitignore +10 -10
  224. package/bundle/typescript/src/templates/meteor/project/package.json +29 -29
  225. package/bundle/typescript/src/templates/meteor/publish/publish.js +7 -7
  226. package/bundle/typescript/src/templates/meteor/publish/publish.js.ts +7 -7
  227. package/bundle/typescript/src/templates/meteor/service/logger/logger.js +27 -27
  228. package/bundle/typescript/src/templates/meteor/service/logger/logger.js.ts +27 -27
  229. package/bundle/typescript/src/templates/meteor/stylesheet/stylesheet.css +5 -5
  230. package/bundle/typescript/src/templates/meteor/stylesheet/stylesheet.css.less +5 -5
  231. package/bundle/typescript/src/templates/meteor/template/template-tests.js +1 -1
  232. package/bundle/typescript/src/templates/meteor/template/template-tests.js.jsx +55 -55
  233. package/bundle/typescript/src/templates/meteor/template/template-tests.js.ts +1 -1
  234. package/bundle/typescript/src/templates/meteor/template/template-tests.js.tsx +55 -55
  235. package/bundle/typescript/src/templates/meteor/template/template.css +3 -3
  236. package/bundle/typescript/src/templates/meteor/template/template.css.less +3 -3
  237. package/bundle/typescript/src/templates/meteor/template/template.css.scss +3 -3
  238. package/bundle/typescript/src/templates/meteor/template/template.html +5 -5
  239. package/bundle/typescript/src/templates/meteor/template/template.js +20 -20
  240. package/bundle/typescript/src/templates/meteor/template/template.js.jsx +77 -77
  241. package/bundle/typescript/src/templates/meteor/template/template.js.ts +1 -1
  242. package/bundle/typescript/src/templates/meteor/template/template.js.tsx +89 -89
  243. package/bundle/typescript/src/templates/react/component/component.css +6 -6
  244. package/bundle/typescript/src/templates/react/component/component.css.less +6 -6
  245. package/bundle/typescript/src/templates/react/component/component.css.scss +3 -3
  246. package/bundle/typescript/src/templates/react/component/component.js.jsx +59 -59
  247. package/bundle/typescript/src/templates/react/component/component.js.tsx +65 -65
  248. package/bundle/typescript/src/templates/react/hook/hook.css +3 -3
  249. package/bundle/typescript/src/templates/react/hook/hook.css.scss +3 -3
  250. package/bundle/typescript/src/templates/react/hook/hook.js.jsx +19 -19
  251. package/bundle/typescript/src/templates/react/hook/hook.js.tsx +19 -19
  252. package/bundle/typescript/src/templates/react/kit/auth/provider/authentication-provider.js.jsx +306 -306
  253. package/bundle/typescript/src/templates/react/kit/auth/provider/authentication-provider.js.tsx +350 -350
  254. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-client.js.jsx +178 -178
  255. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-client.js.tsx +178 -178
  256. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-config.js.jsx +59 -59
  257. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-config.js.tsx +67 -67
  258. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-methods.js.jsx +273 -273
  259. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-methods.js.tsx +275 -275
  260. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-validator.js.jsx +182 -182
  261. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-validator.js.tsx +199 -199
  262. package/bundle/typescript/src/templates/react/kit/auth/service/meteor-auth-service.js.jsx +138 -138
  263. package/bundle/typescript/src/templates/react/kit/auth/service/meteor-auth-service.js.tsx +153 -153
  264. package/bundle/typescript/src/templates/react/kit/esri/map/basic-map.js.jsx +29 -29
  265. package/bundle/typescript/src/templates/react/kit/esri/map/basic-map.js.tsx +32 -32
  266. package/bundle/typescript/src/templates/react/kit/frames/frames-demo.css +63 -63
  267. package/bundle/typescript/src/templates/react/kit/frames/frames-demo.jsx +153 -153
  268. package/bundle/typescript/src/templates/react/kit/frames/frames-demo.tsx +164 -164
  269. package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.css +105 -105
  270. package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.jsx +158 -158
  271. package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.tsx +166 -166
  272. package/bundle/typescript/src/templates/react/kit/mui/auth/forgot-password/basic-forgot-password-page.js.jsx +34 -34
  273. package/bundle/typescript/src/templates/react/kit/mui/auth/forgot-password/basic-forgot-password-page.js.tsx +33 -33
  274. package/bundle/typescript/src/templates/react/kit/mui/auth/login/basic-login-page.js.jsx +53 -53
  275. package/bundle/typescript/src/templates/react/kit/mui/auth/login/basic-login-page.js.tsx +53 -53
  276. package/bundle/typescript/src/templates/react/kit/mui/auth/logout/basic-logout-page.js.jsx +25 -25
  277. package/bundle/typescript/src/templates/react/kit/mui/auth/logout/basic-logout-page.js.tsx +25 -25
  278. package/bundle/typescript/src/templates/react/kit/mui/auth/password-reset/basic-password-reset-page.js.jsx +41 -41
  279. package/bundle/typescript/src/templates/react/kit/mui/auth/password-reset/basic-password-reset-page.js.tsx +34 -34
  280. package/bundle/typescript/src/templates/react/kit/mui/auth/register/basic-register-page.js.jsx +33 -33
  281. package/bundle/typescript/src/templates/react/kit/mui/auth/register/basic-register-page.js.tsx +33 -33
  282. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth-callback.js.jsx +71 -71
  283. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth-callback.js.tsx +71 -71
  284. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-account-settings.js.jsx +123 -123
  285. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-account-settings.js.tsx +123 -123
  286. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-login-button.js.jsx +56 -56
  287. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-login-button.js.tsx +74 -74
  288. package/bundle/typescript/src/templates/react/kit/mui/frame/app-bars/basic-app-bar.js.jsx +43 -43
  289. package/bundle/typescript/src/templates/react/kit/mui/frame/app-bars/basic-app-bar.js.tsx +43 -43
  290. package/bundle/typescript/src/templates/react/kit/mui/frame/drawers/basic-drawer.js.jsx +121 -121
  291. package/bundle/typescript/src/templates/react/kit/mui/frame/drawers/basic-drawer.js.tsx +117 -117
  292. package/bundle/typescript/src/templates/react/kit/mui/frame/footers/basic-sticky-footer.js.jsx +41 -41
  293. package/bundle/typescript/src/templates/react/kit/mui/frame/footers/basic-sticky-footer.js.tsx +41 -41
  294. package/bundle/typescript/src/templates/react/route/route.js +8 -8
  295. package/bundle/typescript/src/templates/react/route/route.js.jsx +5 -5
  296. package/bundle/typescript/src/templates/react/route/route.js.ts +8 -8
  297. package/bundle/typescript/src/templates/react/route/route.js.tsx +5 -5
  298. package/bundle/typescript/src/templates/react/test/test.js +1 -1
  299. package/bundle/typescript/src/templates/react/test/test.js.jsx +40 -40
  300. package/bundle/typescript/src/templates/react/test/test.js.ts +1 -1
  301. package/bundle/typescript/src/templates/react/test/test.js.tsx +40 -40
  302. package/bundle/typescript/src/templates/service/docker/Dockerfile +54 -54
  303. package/bundle/typescript/src/templates/service/eslint/babel.config.js +16 -16
  304. package/bundle/typescript/src/templates/service/eslint/config.eslint.js +69 -69
  305. package/bundle/typescript/src/templates/service/i18n/i18n.js +33 -33
  306. package/bundle/typescript/src/templates/service/i18n/i18n.js.ts +33 -33
  307. package/bundle/typescript/src/templates/service/i18n/locales.js +3 -3
  308. package/bundle/typescript/src/templates/service/i18n/locales.js.ts +3 -3
  309. package/bundle/typescript/src/templates/service/openssl/openssl.conf +22 -22
  310. package/bundle/typescript/src/templates/service/test/jest/jest.config.js +24 -24
  311. package/bundle/typescript/src/templates/service/test/jest/jest.setup.js +7 -7
  312. package/bundle/typescript/src/tool.d.ts +2 -0
  313. package/bundle/typescript/src/tool.js +5 -2
  314. package/bundle/typescript/src/tool.js.map +1 -1
  315. package/package.json +120 -120
@@ -1,55 +1,55 @@
1
- import { ApolloServer } from '@apollo/server';
2
- import { ApolloGateway, IntrospectAndCompose } from '@apollo/gateway';
3
- import { WebApp } from 'meteor/webapp';
4
- import express, { Request, Response } from 'express';
5
- import { expressMiddleware } from '@as-integrations/express5';
6
- import { ApolloServerPluginUsageReportingDisabled } from '@apollo/server/plugin/disabled';
7
- import { Meteor } from 'meteor/meteor';
8
-
9
- // Define the context interface
10
- interface Context {
11
- token?: string;
12
- }
13
-
14
- // Use `IntrospectAndCompose` to introspect the subgraphs (empty for now, add subgraphs as needed)
15
- const gateway = new ApolloGateway({
16
- supergraphSdl: new IntrospectAndCompose({
17
- subgraphs: [
18
- ],
19
- }),
20
- });
21
-
22
- const server = new ApolloServer<Context>({
23
- gateway, // Attach the Apollo Gateway
24
- cacheControl: {
25
- defaultMaxAge: 5, // Cache control settings
26
- },
27
- cache: 'bounded',
28
- formatError: (err) => {
29
- if (Meteor.isProduction) {
30
- return { message: err.extensions?.code || 'Internal Server Error' };
31
- }
32
- console.error(err);
33
- return err;
34
- },
35
- plugins: [ApolloServerPluginUsageReportingDisabled()]
36
- });
37
-
38
- const startApolloGateway = async (server: ApolloServer<Context>) => {
39
- await server.start();
40
-
41
- // Use Meteor's WebApp to handle the Apollo middleware
42
- WebApp.connectHandlers.use(
43
- '/graphql', // The endpoint for the federated GraphQL API
44
- express.json({ limit: '5mb' }), // Handle JSON requests
45
- expressMiddleware(server, {
46
- context: async ({ req }: { req: Request }): Promise<Context> => {
47
- const token = req.headers.authorization || null;
48
- return { token }; // Pass token for authentication
49
- },
50
- }),
51
- );
52
- };
53
-
54
- // Start the Apollo Gateway server
55
- startApolloGateway(server);
1
+ import { ApolloServer } from '@apollo/server';
2
+ import { ApolloGateway, IntrospectAndCompose } from '@apollo/gateway';
3
+ import { WebApp } from 'meteor/webapp';
4
+ import express, { Request, Response } from 'express';
5
+ import { expressMiddleware } from '@as-integrations/express5';
6
+ import { ApolloServerPluginUsageReportingDisabled } from '@apollo/server/plugin/disabled';
7
+ import { Meteor } from 'meteor/meteor';
8
+
9
+ // Define the context interface
10
+ interface Context {
11
+ token?: string;
12
+ }
13
+
14
+ // Use `IntrospectAndCompose` to introspect the subgraphs (empty for now, add subgraphs as needed)
15
+ const gateway = new ApolloGateway({
16
+ supergraphSdl: new IntrospectAndCompose({
17
+ subgraphs: [
18
+ ],
19
+ }),
20
+ });
21
+
22
+ const server = new ApolloServer<Context>({
23
+ gateway, // Attach the Apollo Gateway
24
+ cacheControl: {
25
+ defaultMaxAge: 5, // Cache control settings
26
+ },
27
+ cache: 'bounded',
28
+ formatError: (err) => {
29
+ if (Meteor.isProduction) {
30
+ return { message: err.extensions?.code || 'Internal Server Error' };
31
+ }
32
+ console.error(err);
33
+ return err;
34
+ },
35
+ plugins: [ApolloServerPluginUsageReportingDisabled()]
36
+ });
37
+
38
+ const startApolloGateway = async (server: ApolloServer<Context>) => {
39
+ await server.start();
40
+
41
+ // Use Meteor's WebApp to handle the Apollo middleware
42
+ WebApp.connectHandlers.use(
43
+ '/graphql', // The endpoint for the federated GraphQL API
44
+ express.json({ limit: '5mb' }), // Handle JSON requests
45
+ expressMiddleware(server, {
46
+ context: async ({ req }: { req: Request }): Promise<Context> => {
47
+ const token = req.headers.authorization || null;
48
+ return { token }; // Pass token for authentication
49
+ },
50
+ }),
51
+ );
52
+ };
53
+
54
+ // Start the Apollo Gateway server
55
+ startApolloGateway(server);
@@ -1,63 +1,63 @@
1
- import { resolvers } from './graphql/resolvers';
2
- import { typeDefs } from './graphql/typeDefs';
3
-
4
- import { ApolloServer } from '@apollo/server';
5
- import { ApolloServerPluginUsageReportingDisabled } from '@apollo/server/plugin/disabled';
6
- import { WebApp } from 'meteor/webapp';
7
- import { expressMiddleware } from '@as-integrations/express5';
8
- import { buildSubgraphSchema } from '@apollo/subgraph';
9
- import express from 'express';
10
- import { rateLimit, ipKeyGenerator } from 'express-rate-limit';
11
-
12
- // Create rate limiter middleware
13
- const limiter = rateLimit({
14
- windowMs: 15 * 60 * 1000, // 15 minutes
15
- max: 100, // Limit each IP to 100 requests per windowMs
16
- message: 'Too many requests, please try again later.',
17
- standardHeaders: true, // Return rate limit info in the `RateLimit-*` headers
18
- legacyHeaders: false, // Disable the `X-RateLimit-*` headers,
19
- keyGenerator: (req) => {
20
- // Trust the 'X-Forwarded-For' header for client IP, but only if it exists
21
- return req.headers['x-forwarded-for'] || ipKeyGenerator(req.ip);
22
- }
23
- });
24
-
25
- const server = new ApolloServer({
26
- schema: buildSubgraphSchema({ typeDefs, resolvers }),
27
- cacheControl: {
28
- defaultMaxAge: 5, // seconds
29
- },
30
- cache: 'bounded',
31
- formatError: (err) => {
32
- if (Meteor.isProduction) {
33
- // Don't give specific errors to the client
34
- err.message = err.extensions.code; // eslint-disable-line no-param-reassign
35
- return err;
36
- }
37
- console.error(err);
38
- return err;
39
- },
40
- validate: true, // Validates the schema on startup
41
- plugins: [ApolloServerPluginUsageReportingDisabled()]
42
- });
43
-
44
- const startApolloServer = async (server) => {
45
- await server.start();
46
-
47
- // Use Meteor's built-in WebApp and Express's built-in JSON parser
48
- WebApp.connectHandlers.use(
49
- '/graphql/<%= apiVersion %>/<%= fileName %>',
50
- limiter, // Apply rate limiter middleware before GraphQL middleware
51
- express.json({ limit: '5mb' }),
52
- expressMiddleware(server, {
53
- context: async ({ req }) => {
54
- const token = req.headers.authorization;
55
- // Validate and decode token here, e.g., using JWT:
56
- return { token };
57
- }
58
- }),
59
- );
60
- };
61
-
62
- // Start the Apollo server
63
- startApolloServer(server);
1
+ import { resolvers } from './graphql/resolvers';
2
+ import { typeDefs } from './graphql/typeDefs';
3
+
4
+ import { ApolloServer } from '@apollo/server';
5
+ import { ApolloServerPluginUsageReportingDisabled } from '@apollo/server/plugin/disabled';
6
+ import { WebApp } from 'meteor/webapp';
7
+ import { expressMiddleware } from '@as-integrations/express5';
8
+ import { buildSubgraphSchema } from '@apollo/subgraph';
9
+ import express from 'express';
10
+ import { rateLimit, ipKeyGenerator } from 'express-rate-limit';
11
+
12
+ // Create rate limiter middleware
13
+ const limiter = rateLimit({
14
+ windowMs: 15 * 60 * 1000, // 15 minutes
15
+ max: 100, // Limit each IP to 100 requests per windowMs
16
+ message: 'Too many requests, please try again later.',
17
+ standardHeaders: true, // Return rate limit info in the `RateLimit-*` headers
18
+ legacyHeaders: false, // Disable the `X-RateLimit-*` headers,
19
+ keyGenerator: (req) => {
20
+ // Trust the 'X-Forwarded-For' header for client IP, but only if it exists
21
+ return req.headers['x-forwarded-for'] || ipKeyGenerator(req.ip);
22
+ }
23
+ });
24
+
25
+ const server = new ApolloServer({
26
+ schema: buildSubgraphSchema({ typeDefs, resolvers }),
27
+ cacheControl: {
28
+ defaultMaxAge: 5, // seconds
29
+ },
30
+ cache: 'bounded',
31
+ formatError: (err) => {
32
+ if (Meteor.isProduction) {
33
+ // Don't give specific errors to the client
34
+ err.message = err.extensions.code; // eslint-disable-line no-param-reassign
35
+ return err;
36
+ }
37
+ console.error(err);
38
+ return err;
39
+ },
40
+ validate: true, // Validates the schema on startup
41
+ plugins: [ApolloServerPluginUsageReportingDisabled()]
42
+ });
43
+
44
+ const startApolloServer = async (server) => {
45
+ await server.start();
46
+
47
+ // Use Meteor's built-in WebApp and Express's built-in JSON parser
48
+ WebApp.connectHandlers.use(
49
+ '/graphql/<%= apiVersion %>/<%= fileName %>',
50
+ limiter, // Apply rate limiter middleware before GraphQL middleware
51
+ express.json({ limit: '5mb' }),
52
+ expressMiddleware(server, {
53
+ context: async ({ req }) => {
54
+ const token = req.headers.authorization;
55
+ // Validate and decode token here, e.g., using JWT:
56
+ return { token };
57
+ }
58
+ }),
59
+ );
60
+ };
61
+
62
+ // Start the Apollo server
63
+ startApolloServer(server);
@@ -1,69 +1,69 @@
1
- import { resolvers } from './graphql/resolvers';
2
- import { typeDefs } from './graphql/typeDefs';
3
-
4
- import { ApolloServer } from '@apollo/server';
5
- import { ApolloServerPluginUsageReportingDisabled } from '@apollo/server/plugin/disabled';
6
- import { WebApp } from 'meteor/webapp';
7
- import { expressMiddleware } from '@as-integrations/express5';
8
- import { buildSubgraphSchema } from '@apollo/subgraph';
9
- import express, { Request } from 'express';
10
- import { rateLimit, ipKeyGenerator } from 'express-rate-limit';
11
-
12
- // Define the types for the context
13
- interface Context {
14
- token?: string;
15
- }
16
-
17
- // Create rate limiter middleware
18
- const limiter = rateLimit({
19
- windowMs: 15 * 60 * 1000, // 15 minutes
20
- max: 100, // Limit each IP to 100 requests per windowMs
21
- message: 'Too many requests, please try again later.',
22
- standardHeaders: true, // Return rate limit info in the `RateLimit-*` headers
23
- legacyHeaders: false, // Disable the `X-RateLimit-*` headers
24
- keyGenerator: (req: Request) => {
25
- // Trust the 'X-Forwarded-For' header for client IP, but only if it exists
26
- return req.headers['x-forwarded-for'] || ipKeyGenerator(req.ip);
27
- }
28
- });
29
-
30
- // Create the Apollo Server instance
31
- const server = new ApolloServer<Context>({
32
- schema: buildSubgraphSchema({ typeDefs, resolvers }), // Federation-ready schema
33
- cacheControl: {
34
- defaultMaxAge: 5, // seconds
35
- },
36
- cache: 'bounded',
37
- formatError: (err) => {
38
- if (Meteor.isProduction) {
39
- // Hide specific error details in production
40
- err.message = err.extensions?.code || 'Internal Server Error'; // eslint-disable-line no-param-reassign
41
- return err;
42
- }
43
- console.error(err);
44
- return err;
45
- },
46
- validate: true, // Validates the schema on startup
47
- plugins: [ApolloServerPluginUsageReportingDisabled()]
48
- });
49
-
50
- const startApolloServer = async (server: ApolloServer<Context>) => {
51
- await server.start();
52
-
53
- // Use Meteor's WebApp with Express's JSON parser
54
- WebApp.connectHandlers.use(
55
- '/graphql/<%= apiVersion %>/<%= fileName %>',
56
- limiter, // Apply rate limiter middleware before GraphQL middleware
57
- express.json({ limit: '5mb' }), // JSON parsing middleware
58
- expressMiddleware(server, {
59
- context: async ({ req }: { req: Request }): Promise<Context> => {
60
- const token = req.headers.authorization || null;
61
- // You can add additional validation here (e.g., JWT validation)
62
- return { token };
63
- },
64
- }),
65
- );
66
- };
67
-
68
- // Start the Apollo server
69
- startApolloServer(server);
1
+ import { resolvers } from './graphql/resolvers';
2
+ import { typeDefs } from './graphql/typeDefs';
3
+
4
+ import { ApolloServer } from '@apollo/server';
5
+ import { ApolloServerPluginUsageReportingDisabled } from '@apollo/server/plugin/disabled';
6
+ import { WebApp } from 'meteor/webapp';
7
+ import { expressMiddleware } from '@as-integrations/express5';
8
+ import { buildSubgraphSchema } from '@apollo/subgraph';
9
+ import express, { Request } from 'express';
10
+ import { rateLimit, ipKeyGenerator } from 'express-rate-limit';
11
+
12
+ // Define the types for the context
13
+ interface Context {
14
+ token?: string;
15
+ }
16
+
17
+ // Create rate limiter middleware
18
+ const limiter = rateLimit({
19
+ windowMs: 15 * 60 * 1000, // 15 minutes
20
+ max: 100, // Limit each IP to 100 requests per windowMs
21
+ message: 'Too many requests, please try again later.',
22
+ standardHeaders: true, // Return rate limit info in the `RateLimit-*` headers
23
+ legacyHeaders: false, // Disable the `X-RateLimit-*` headers
24
+ keyGenerator: (req: Request) => {
25
+ // Trust the 'X-Forwarded-For' header for client IP, but only if it exists
26
+ return req.headers['x-forwarded-for'] || ipKeyGenerator(req.ip);
27
+ }
28
+ });
29
+
30
+ // Create the Apollo Server instance
31
+ const server = new ApolloServer<Context>({
32
+ schema: buildSubgraphSchema({ typeDefs, resolvers }), // Federation-ready schema
33
+ cacheControl: {
34
+ defaultMaxAge: 5, // seconds
35
+ },
36
+ cache: 'bounded',
37
+ formatError: (err) => {
38
+ if (Meteor.isProduction) {
39
+ // Hide specific error details in production
40
+ err.message = err.extensions?.code || 'Internal Server Error'; // eslint-disable-line no-param-reassign
41
+ return err;
42
+ }
43
+ console.error(err);
44
+ return err;
45
+ },
46
+ validate: true, // Validates the schema on startup
47
+ plugins: [ApolloServerPluginUsageReportingDisabled()]
48
+ });
49
+
50
+ const startApolloServer = async (server: ApolloServer<Context>) => {
51
+ await server.start();
52
+
53
+ // Use Meteor's WebApp with Express's JSON parser
54
+ WebApp.connectHandlers.use(
55
+ '/graphql/<%= apiVersion %>/<%= fileName %>',
56
+ limiter, // Apply rate limiter middleware before GraphQL middleware
57
+ express.json({ limit: '5mb' }), // JSON parsing middleware
58
+ expressMiddleware(server, {
59
+ context: async ({ req }: { req: Request }): Promise<Context> => {
60
+ const token = req.headers.authorization || null;
61
+ // You can add additional validation here (e.g., JWT validation)
62
+ return { token };
63
+ },
64
+ }),
65
+ );
66
+ };
67
+
68
+ // Start the Apollo server
69
+ startApolloServer(server);
@@ -1,39 +1,39 @@
1
- import { Meteor } from 'meteor/meteor';
2
- import { ValidatedMethod } from 'meteor/mdg:validated-method';
3
- import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
4
-
5
-
6
- /**
7
- * Using ValidatedMethod (maintained by MDG) is the best
8
- * practice by Meteor Development Group (MDG),
9
- * and as such is used here to validate that method
10
- * calls from the client are properly handled.
11
- *
12
- */
13
- const <%= name %>Status = new ValidatedMethod({
14
- name: '<%= fileName %>-<%= apiVersion %>-status',
15
- validate() {
16
- // check(this.userId, String, 'while validating user');
17
- },
18
- run() {
19
- return 'OK';
20
- }
21
- });
22
-
23
- const RATE_LIMITED_METHODS = [
24
- <%= name %>Status
25
- ].map(value => value['name']);
26
-
27
- if (Meteor.isServer) {
28
- const OPERATIONS = 5;
29
- const PER_SECOND = 1 * 1000; // milliseconds
30
- // Only allow 5 list operations per connection per second.
31
- DDPRateLimiter.addRule({
32
- name(name) {
33
- return RATE_LIMITED_METHODS.includes(name);
34
- },
35
-
36
- // Rate limit per connection ID.
37
- connectionId() { return true; },
38
- }, OPERATIONS, PER_SECOND);
39
- }
1
+ import { Meteor } from 'meteor/meteor';
2
+ import { ValidatedMethod } from 'meteor/mdg:validated-method';
3
+ import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
4
+
5
+
6
+ /**
7
+ * Using ValidatedMethod (maintained by MDG) is the best
8
+ * practice by Meteor Development Group (MDG),
9
+ * and as such is used here to validate that method
10
+ * calls from the client are properly handled.
11
+ *
12
+ */
13
+ const <%= name %>Status = new ValidatedMethod({
14
+ name: '<%= fileName %>-<%= apiVersion %>-status',
15
+ validate() {
16
+ // check(this.userId, String, 'while validating user');
17
+ },
18
+ run() {
19
+ return 'OK';
20
+ }
21
+ });
22
+
23
+ const RATE_LIMITED_METHODS = [
24
+ <%= name %>Status
25
+ ].map(value => value['name']);
26
+
27
+ if (Meteor.isServer) {
28
+ const OPERATIONS = 5;
29
+ const PER_SECOND = 1 * 1000; // milliseconds
30
+ // Only allow 5 list operations per connection per second.
31
+ DDPRateLimiter.addRule({
32
+ name(name) {
33
+ return RATE_LIMITED_METHODS.includes(name);
34
+ },
35
+
36
+ // Rate limit per connection ID.
37
+ connectionId() { return true; },
38
+ }, OPERATIONS, PER_SECOND);
39
+ }
@@ -1,40 +1,40 @@
1
- import { Meteor } from 'meteor/meteor';
2
- import { ValidatedMethod } from 'meteor/mdg:validated-method';
3
- import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
4
-
5
-
6
- /**
7
- * Using ValidatedMethod (maintained by MDG) is the best
8
- * practice by Meteor Development Group (MDG),
9
- * and as such is used here to validate that method
10
- * calls from the client are properly handled.
11
- *
12
- */
13
- const <%= name %>Status = new ValidatedMethod({
14
- name: '<%= fileName %>-<%= apiVersion %>status',
15
- validate() {
16
- // check(this.userId, String, 'while validating user');
17
- },
18
- run() {
19
- return 'OK';
20
- }
21
- });
22
-
23
- const RATE_LIMITED_METHODS = [
24
- <%= name %>Status
25
- ].map(value => value['name']);
26
-
27
- if (Meteor.isServer) {
28
- const OPERATIONS = 5;
29
- const PER_SECOND = 1 * 1000; // milliseconds
30
- // Only allow 5 list operations per connection per second.
31
- DDPRateLimiter.addRule({
32
- name(name) {
33
- return RATE_LIMITED_METHODS.includes(name);
34
- },
35
-
36
- // Rate limit per connection ID.
37
- connectionId() { return true; },
38
- }, OPERATIONS, PER_SECOND);
39
- }
40
-
1
+ import { Meteor } from 'meteor/meteor';
2
+ import { ValidatedMethod } from 'meteor/mdg:validated-method';
3
+ import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
4
+
5
+
6
+ /**
7
+ * Using ValidatedMethod (maintained by MDG) is the best
8
+ * practice by Meteor Development Group (MDG),
9
+ * and as such is used here to validate that method
10
+ * calls from the client are properly handled.
11
+ *
12
+ */
13
+ const <%= name %>Status = new ValidatedMethod({
14
+ name: '<%= fileName %>-<%= apiVersion %>status',
15
+ validate() {
16
+ // check(this.userId, String, 'while validating user');
17
+ },
18
+ run() {
19
+ return 'OK';
20
+ }
21
+ });
22
+
23
+ const RATE_LIMITED_METHODS = [
24
+ <%= name %>Status
25
+ ].map(value => value['name']);
26
+
27
+ if (Meteor.isServer) {
28
+ const OPERATIONS = 5;
29
+ const PER_SECOND = 1 * 1000; // milliseconds
30
+ // Only allow 5 list operations per connection per second.
31
+ DDPRateLimiter.addRule({
32
+ name(name) {
33
+ return RATE_LIMITED_METHODS.includes(name);
34
+ },
35
+
36
+ // Rate limit per connection ID.
37
+ connectionId() { return true; },
38
+ }, OPERATIONS, PER_SECOND);
39
+ }
40
+
@@ -1,3 +1,3 @@
1
- <% if( withMethods ) { %>import '../../api/<%= apiVersion %><%= optsDir %><%= fileName %>/<%= fileName %>-<%= apiVersion %>-rpc-methods';<% } %>
2
- <% if( withRest ) { %>import '../../api/<%= apiVersion %><%= optsDir %><%= fileName %>/<%= fileName %>-<%= apiVersion %>-rest-api';<% } %>
3
- <% if (withGql) { %>import '../../api/<%= apiVersion %><%= optsDir %><%= fileName %>/<%= fileName %>-<%= apiVersion %>-graphql-api';<% } %>
1
+ <% if( withMethods ) { %>import '../../api/<%= apiVersion %><%= optsDir %><%= fileName %>/<%= fileName %>-<%= apiVersion %>-rpc-methods';<% } %>
2
+ <% if( withRest ) { %>import '../../api/<%= apiVersion %><%= optsDir %><%= fileName %>/<%= fileName %>-<%= apiVersion %>-rest-api';<% } %>
3
+ <% if (withGql) { %>import '../../api/<%= apiVersion %><%= optsDir %><%= fileName %>/<%= fileName %>-<%= apiVersion %>-graphql-api';<% } %>
@@ -1,3 +1,3 @@
1
- <% if( withMethods ) { %>import '../../api/<%= apiVersion %><%= optsDir %><%= fileName %>/<%= fileName %>-<%= apiVersion %>-rpc-methods';<% } %>
2
- <% if( withRest ) { %>import '../../api/<%= apiVersion %><%= optsDir %><%= fileName %>/<%= fileName %>-<%= apiVersion %>-rest-api';<% } %>
3
- <% if (withGql) { %>import '../../api/<%= apiVersion %><%= optsDir %><%= fileName %>/<%= fileName %>-<%= apiVersion %>-graphql-api';<% } %>
1
+ <% if( withMethods ) { %>import '../../api/<%= apiVersion %><%= optsDir %><%= fileName %>/<%= fileName %>-<%= apiVersion %>-rpc-methods';<% } %>
2
+ <% if( withRest ) { %>import '../../api/<%= apiVersion %><%= optsDir %><%= fileName %>/<%= fileName %>-<%= apiVersion %>-rest-api';<% } %>
3
+ <% if (withGql) { %>import '../../api/<%= apiVersion %><%= optsDir %><%= fileName %>/<%= fileName %>-<%= apiVersion %>-graphql-api';<% } %>
@@ -1,9 +1,9 @@
1
- export const resolvers = {
2
- Query: {
3
- async <%= camelCase %>(root, args, context) {
4
- // How to enable authentication
5
- // if (!context.user._id && !Meteor.isDevelopment) throw 'UNAUTHORIZED';
6
- return 'hello <%= camelCase %>';
7
- }
8
- }
9
- };
1
+ export const resolvers = {
2
+ Query: {
3
+ async <%= camelCase %>(root, args, context) {
4
+ // How to enable authentication
5
+ // if (!context.user._id && !Meteor.isDevelopment) throw 'UNAUTHORIZED';
6
+ return 'hello <%= camelCase %>';
7
+ }
8
+ }
9
+ };
@@ -1,9 +1,9 @@
1
- export const resolvers = {
2
- Query: {
3
- async <%= camelCase %>(root, args, context) {
4
- // How to enable authentication
5
- // if (!context.user._id && !Meteor.isDevelopment) throw 'UNAUTHORIZED';
6
- return 'hello <%= camelCase %>';
7
- }
8
- }
9
- };
1
+ export const resolvers = {
2
+ Query: {
3
+ async <%= camelCase %>(root, args, context) {
4
+ // How to enable authentication
5
+ // if (!context.user._id && !Meteor.isDevelopment) throw 'UNAUTHORIZED';
6
+ return 'hello <%= camelCase %>';
7
+ }
8
+ }
9
+ };
@@ -1,6 +1,6 @@
1
- import { gql } from 'graphql-tag';
2
- export const typeDefs = gql`
3
- type Query {
4
- <%= camelCase %>: String
5
- }
6
- `;
1
+ import { gql } from 'graphql-tag';
2
+ export const typeDefs = gql`
3
+ type Query {
4
+ <%= camelCase %>: String
5
+ }
6
+ `;
@@ -1,6 +1,6 @@
1
- import { gql } from 'graphql-tag';
2
- export const typeDefs = gql`
3
- type Query {
4
- <%= camelCase %>: String
5
- }
6
- `;
1
+ import { gql } from 'graphql-tag';
2
+ export const typeDefs = gql`
3
+ type Query {
4
+ <%= camelCase %>: String
5
+ }
6
+ `;
@@ -1,3 +1,3 @@
1
- <body><% if (config.engines.client === 'react' || config.engines.client === 'reflux' || config.engines.client === 'vanilla') { %>
2
- <div id="app"></div><% } %>
3
- </body>
1
+ <body><% if (config.engines.client === 'react' || config.engines.client === 'reflux' || config.engines.client === 'vanilla') { %>
2
+ <div id="app"></div><% } %>
3
+ </body>