@maka/maka-cli 5.123.1 → 5.125.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 (342) 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/companions.js +13 -5
  35. package/bundle/typescript/src/commands/game/sideQuest/commands/companions.js.map +1 -1
  36. package/bundle/typescript/src/commands/game/sideQuest/commands/drone.js +5 -2
  37. package/bundle/typescript/src/commands/game/sideQuest/commands/drone.js.map +1 -1
  38. package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js +2 -2
  39. package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js.map +1 -1
  40. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +1 -1
  41. package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.d.ts +0 -38
  42. package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js +11 -45
  43. package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js.map +1 -1
  44. package/bundle/typescript/src/commands/game/sideQuest/commands/install.js +5 -4
  45. package/bundle/typescript/src/commands/game/sideQuest/commands/install.js.map +1 -1
  46. package/bundle/typescript/src/commands/game/sideQuest/commands/jump.js +10 -4
  47. package/bundle/typescript/src/commands/game/sideQuest/commands/jump.js.map +1 -1
  48. package/bundle/typescript/src/commands/game/sideQuest/commands/lifestyle.d.ts +7 -0
  49. package/bundle/typescript/src/commands/game/sideQuest/commands/lifestyle.js +58 -9
  50. package/bundle/typescript/src/commands/game/sideQuest/commands/lifestyle.js.map +1 -1
  51. package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.js +10 -7
  52. package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.js.map +1 -1
  53. package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js +7 -1
  54. package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js.map +1 -1
  55. package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +9 -9
  56. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js +12 -8
  57. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js.map +1 -1
  58. package/bundle/typescript/src/commands/game/sideQuest/commands/sin.js +2 -2
  59. package/bundle/typescript/src/commands/game/sideQuest/commands/sin.js.map +1 -1
  60. package/bundle/typescript/src/commands/game/sideQuest/commands/source.js +8 -8
  61. package/bundle/typescript/src/commands/game/sideQuest/commands/source.js.map +1 -1
  62. package/bundle/typescript/src/commands/game/sideQuest/commands/take.js +22 -1
  63. package/bundle/typescript/src/commands/game/sideQuest/commands/take.js.map +1 -1
  64. package/bundle/typescript/src/commands/game/sideQuest/engine-version.d.ts +1 -1
  65. package/bundle/typescript/src/commands/game/sideQuest/engine-version.js +24 -1
  66. package/bundle/typescript/src/commands/game/sideQuest/engine-version.js.map +1 -1
  67. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.d.ts +39 -1
  68. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js +110 -35
  69. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js.map +1 -1
  70. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +445 -445
  71. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js.map +1 -1
  72. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js +6 -6
  73. package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +42 -1
  74. package/bundle/typescript/src/commands/game/sideQuest/game.js +118 -43
  75. package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
  76. package/bundle/typescript/src/commands/game/sideQuest/metamagics.d.ts +32 -0
  77. package/bundle/typescript/src/commands/game/sideQuest/metamagics.js +12 -0
  78. package/bundle/typescript/src/commands/game/sideQuest/metamagics.js.map +1 -0
  79. package/bundle/typescript/src/commands/game/sideQuest/metatypes.d.ts +6 -4
  80. package/bundle/typescript/src/commands/game/sideQuest/metatypes.js +3 -83
  81. package/bundle/typescript/src/commands/game/sideQuest/metatypes.js.map +1 -1
  82. package/bundle/typescript/src/commands/game/sideQuest/models/home-containers.d.ts +36 -0
  83. package/bundle/typescript/src/commands/game/sideQuest/models/home-containers.js +62 -0
  84. package/bundle/typescript/src/commands/game/sideQuest/models/home-containers.js.map +1 -0
  85. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +206 -206
  86. package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +5 -5
  87. package/bundle/typescript/src/commands/game/sideQuest/models/player.js +10 -14
  88. package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
  89. package/bundle/typescript/src/commands/game/sideQuest/models/room.js +24 -10
  90. package/bundle/typescript/src/commands/game/sideQuest/models/room.js.map +1 -1
  91. package/bundle/typescript/src/commands/game/sideQuest/qualities.d.ts +3 -7
  92. package/bundle/typescript/src/commands/game/sideQuest/qualities.js +15 -715
  93. package/bundle/typescript/src/commands/game/sideQuest/qualities.js.map +1 -1
  94. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene1.json +556 -556
  95. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene2.json +1447 -1447
  96. package/bundle/typescript/src/commands/game/sideQuest/spells.d.ts +5 -7
  97. package/bundle/typescript/src/commands/game/sideQuest/spells.js +5 -63
  98. package/bundle/typescript/src/commands/game/sideQuest/spells.js.map +1 -1
  99. package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +8 -0
  100. package/bundle/typescript/src/commands/game/sideQuest/ui.js +22 -0
  101. package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
  102. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.d.ts +36 -20
  103. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js +24 -658
  104. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js.map +1 -1
  105. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.d.ts +100 -20
  106. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js +314 -57
  107. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js.map +1 -1
  108. package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.d.ts +32 -0
  109. package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.js +45 -5
  110. package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.js.map +1 -1
  111. package/bundle/typescript/src/commands/game/sideQuest/utilities/ephemeral.js +14 -14
  112. package/bundle/typescript/src/commands/game/sideQuest/utilities/owned-drones.d.ts +32 -0
  113. package/bundle/typescript/src/commands/game/sideQuest/utilities/owned-drones.js +24 -0
  114. package/bundle/typescript/src/commands/game/sideQuest/utilities/owned-drones.js.map +1 -0
  115. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.d.ts +34 -0
  116. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js +66 -29
  117. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js.map +1 -1
  118. package/bundle/typescript/src/commands/game/sideQuest-backlog.sub.cmd.js +2 -2
  119. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +28 -2
  120. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
  121. package/bundle/typescript/src/commands/generate.js +2 -2
  122. package/bundle/typescript/src/commands/lint.js +10 -10
  123. package/bundle/typescript/src/commands/maka.cmd.js +26 -26
  124. package/bundle/typescript/src/commands/murder.js +14 -14
  125. package/bundle/typescript/src/commands/proxy.js +13 -13
  126. package/bundle/typescript/src/commands/remote/reconfig.sub.cmd.js +6 -6
  127. package/bundle/typescript/src/commands/run/docker.sub.cmd.js +11 -11
  128. package/bundle/typescript/src/commands/run/run.command.js +24 -24
  129. package/bundle/typescript/src/commands/set/global.sub.cmd.js +8 -8
  130. package/bundle/typescript/src/commands/set/local.sub.cmd.js +2 -2
  131. package/bundle/typescript/src/commands/set/set.command.js +3 -3
  132. package/bundle/typescript/src/commands/testCmd/test.command.js +2 -2
  133. package/bundle/typescript/src/error.js +1 -1
  134. package/bundle/typescript/src/error.js.map +1 -1
  135. package/bundle/typescript/src/exec.js +0 -0
  136. package/bundle/typescript/src/generators/api.js +11 -11
  137. package/bundle/typescript/src/generators/collection.js +6 -6
  138. package/bundle/typescript/src/generators/hook.js +10 -10
  139. package/bundle/typescript/src/generators/kits/auth/auth.generator.js +2 -2
  140. package/bundle/typescript/src/generators/kits/auth/auth0-meteor.auth.gen.js +612 -612
  141. package/bundle/typescript/src/generators/kits/auth/basic-meteor.auth.gen.js +48 -48
  142. package/bundle/typescript/src/generators/kits/auth/provider.auth.gen.js +12 -12
  143. package/bundle/typescript/src/generators/kits/esri/esri.generator.js +3 -3
  144. package/bundle/typescript/src/generators/kits/esri/map.esri.gen.js +7 -7
  145. package/bundle/typescript/src/generators/kits/frames/frames.generator.js +16 -16
  146. package/bundle/typescript/src/generators/kits/mui/auth.mui.gen.js +2 -2
  147. package/bundle/typescript/src/generators/kits/mui/auth0.mui.gen.js +5 -5
  148. package/bundle/typescript/src/generators/kits/mui/frame.mui.gen.js +4 -4
  149. package/bundle/typescript/src/generators/kits/mui/mui.generator.js +22 -22
  150. package/bundle/typescript/src/generators/services/translation.js +5 -5
  151. package/bundle/typescript/src/templates/aws/cloudformation/create-ec2-instance.template +14 -14
  152. package/bundle/typescript/src/templates/meteor/api/api.js +20 -20
  153. package/bundle/typescript/src/templates/meteor/api/api.js.ts +20 -20
  154. package/bundle/typescript/src/templates/meteor/api/apollo-gateway.js +50 -50
  155. package/bundle/typescript/src/templates/meteor/api/apollo-gateway.js.ts +55 -55
  156. package/bundle/typescript/src/templates/meteor/api/graphql-api.js +63 -63
  157. package/bundle/typescript/src/templates/meteor/api/graphql-api.js.ts +69 -69
  158. package/bundle/typescript/src/templates/meteor/api/methods.js +39 -39
  159. package/bundle/typescript/src/templates/meteor/api/methods.js.ts +40 -40
  160. package/bundle/typescript/src/templates/meteor/api/register-api.js +3 -3
  161. package/bundle/typescript/src/templates/meteor/api/register-api.js.ts +3 -3
  162. package/bundle/typescript/src/templates/meteor/api/resolvers.js +9 -9
  163. package/bundle/typescript/src/templates/meteor/api/resolvers.js.ts +9 -9
  164. package/bundle/typescript/src/templates/meteor/api/typeDefs.js +6 -6
  165. package/bundle/typescript/src/templates/meteor/api/typeDefs.js.ts +6 -6
  166. package/bundle/typescript/src/templates/meteor/app/client/body.html +3 -3
  167. package/bundle/typescript/src/templates/meteor/app/client/head.html +12 -12
  168. package/bundle/typescript/src/templates/meteor/app/client/main.js +15 -15
  169. package/bundle/typescript/src/templates/meteor/app/client/main.js.jsx +15 -15
  170. package/bundle/typescript/src/templates/meteor/app/client/main.js.ts +17 -17
  171. package/bundle/typescript/src/templates/meteor/app/client/main.js.tsx +17 -17
  172. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js +20 -20
  173. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.jsx +107 -107
  174. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.ts +20 -20
  175. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.tsx +108 -108
  176. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js +39 -39
  177. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.jsx +33 -33
  178. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.ts +24 -24
  179. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.tsx +33 -33
  180. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js +9 -9
  181. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.jsx +9 -9
  182. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.ts +9 -9
  183. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.tsx +9 -9
  184. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js +1 -1
  185. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.jsx +20 -20
  186. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.ts +1 -1
  187. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.tsx +20 -20
  188. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/routes.js.jsx +28 -28
  189. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/routes.js.tsx +28 -28
  190. package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js +1 -1
  191. package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js.jsx +95 -95
  192. package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js.tsx +98 -98
  193. package/bundle/typescript/src/templates/meteor/app/imports/ui/test-helpers.js +24 -24
  194. package/bundle/typescript/src/templates/meteor/app/imports/ui/test-helpers.js.ts +24 -24
  195. package/bundle/typescript/src/templates/meteor/app/lib/main.js +3 -3
  196. package/bundle/typescript/src/templates/meteor/app/lib/main.js.jsx +3 -3
  197. package/bundle/typescript/src/templates/meteor/app/lib/main.js.ts +3 -3
  198. package/bundle/typescript/src/templates/meteor/app/lib/main.js.tsx +3 -3
  199. package/bundle/typescript/src/templates/meteor/app/maka.d.ts +533 -533
  200. package/bundle/typescript/src/templates/meteor/app/meteor.d.ts +181 -181
  201. package/bundle/typescript/src/templates/meteor/app/public/manifest.json +27 -27
  202. package/bundle/typescript/src/templates/meteor/app/public/sw.js +30 -30
  203. package/bundle/typescript/src/templates/meteor/app/public/sw.js.jsx +30 -30
  204. package/bundle/typescript/src/templates/meteor/app/public/sw.js.ts +30 -30
  205. package/bundle/typescript/src/templates/meteor/app/public/sw.js.tsx +30 -30
  206. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js +179 -179
  207. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.jsx +179 -179
  208. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.ts +179 -179
  209. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.tsx +179 -179
  210. package/bundle/typescript/src/templates/meteor/app/server/main.js +13 -13
  211. package/bundle/typescript/src/templates/meteor/app/server/main.js.jsx +13 -13
  212. package/bundle/typescript/src/templates/meteor/app/server/main.js.ts +14 -14
  213. package/bundle/typescript/src/templates/meteor/app/server/main.js.tsx +14 -14
  214. package/bundle/typescript/src/templates/meteor/app/tsconfig.json +42 -42
  215. package/bundle/typescript/src/templates/meteor/collection/collection.js +51 -51
  216. package/bundle/typescript/src/templates/meteor/collection/collection.js.ts +55 -55
  217. package/bundle/typescript/src/templates/meteor/collection/tests.js +27 -27
  218. package/bundle/typescript/src/templates/meteor/collection/tests.js.ts +27 -27
  219. package/bundle/typescript/src/templates/meteor/config/deploy.sh.template +101 -101
  220. package/bundle/typescript/src/templates/meteor/config/docker-compose.yaml +17 -17
  221. package/bundle/typescript/src/templates/meteor/config/nginx.conf.template +31 -31
  222. package/bundle/typescript/src/templates/meteor/config/pm2.config.js +27 -27
  223. package/bundle/typescript/src/templates/meteor/config/process.env +5 -5
  224. package/bundle/typescript/src/templates/meteor/config/settings.json +11 -11
  225. package/bundle/typescript/src/templates/meteor/config/ssh.json +6 -6
  226. package/bundle/typescript/src/templates/meteor/dbc/config.js +70 -70
  227. package/bundle/typescript/src/templates/meteor/dbc/config.js.ts +70 -70
  228. package/bundle/typescript/src/templates/meteor/dbc/conn.js +37 -37
  229. package/bundle/typescript/src/templates/meteor/dbc/conn.js.ts +37 -37
  230. package/bundle/typescript/src/templates/meteor/dbc/register-dbc.js +3 -3
  231. package/bundle/typescript/src/templates/meteor/dbc/register-dbc.js.ts +3 -3
  232. package/bundle/typescript/src/templates/meteor/github/workflows/deploy.yaml +150 -150
  233. package/bundle/typescript/src/templates/meteor/method/method.js +48 -48
  234. package/bundle/typescript/src/templates/meteor/method/method.js.ts +48 -48
  235. package/bundle/typescript/src/templates/meteor/package/package.js +37 -37
  236. package/bundle/typescript/src/templates/meteor/package/package.js.jsx +37 -37
  237. package/bundle/typescript/src/templates/meteor/package/package.js.ts +36 -36
  238. package/bundle/typescript/src/templates/meteor/package/package.js.tsx +37 -37
  239. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js +5 -5
  240. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.jsx +5 -5
  241. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.ts +5 -5
  242. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.tsx +5 -5
  243. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js +5 -5
  244. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.jsx +5 -5
  245. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.ts +5 -5
  246. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.tsx +5 -5
  247. package/bundle/typescript/src/templates/meteor/project/.maka/config.json +29 -29
  248. package/bundle/typescript/src/templates/meteor/project/README.md +33 -33
  249. package/bundle/typescript/src/templates/meteor/project/build/README +4 -4
  250. package/bundle/typescript/src/templates/meteor/project/gitignore +10 -10
  251. package/bundle/typescript/src/templates/meteor/project/package.json +29 -29
  252. package/bundle/typescript/src/templates/meteor/publish/publish.js +7 -7
  253. package/bundle/typescript/src/templates/meteor/publish/publish.js.ts +7 -7
  254. package/bundle/typescript/src/templates/meteor/service/logger/logger.js +27 -27
  255. package/bundle/typescript/src/templates/meteor/service/logger/logger.js.ts +27 -27
  256. package/bundle/typescript/src/templates/meteor/stylesheet/stylesheet.css +5 -5
  257. package/bundle/typescript/src/templates/meteor/stylesheet/stylesheet.css.less +5 -5
  258. package/bundle/typescript/src/templates/meteor/template/template-tests.js +1 -1
  259. package/bundle/typescript/src/templates/meteor/template/template-tests.js.jsx +55 -55
  260. package/bundle/typescript/src/templates/meteor/template/template-tests.js.ts +1 -1
  261. package/bundle/typescript/src/templates/meteor/template/template-tests.js.tsx +55 -55
  262. package/bundle/typescript/src/templates/meteor/template/template.css +3 -3
  263. package/bundle/typescript/src/templates/meteor/template/template.css.less +3 -3
  264. package/bundle/typescript/src/templates/meteor/template/template.css.scss +3 -3
  265. package/bundle/typescript/src/templates/meteor/template/template.html +5 -5
  266. package/bundle/typescript/src/templates/meteor/template/template.js +20 -20
  267. package/bundle/typescript/src/templates/meteor/template/template.js.jsx +77 -77
  268. package/bundle/typescript/src/templates/meteor/template/template.js.ts +1 -1
  269. package/bundle/typescript/src/templates/meteor/template/template.js.tsx +89 -89
  270. package/bundle/typescript/src/templates/react/component/component.css +6 -6
  271. package/bundle/typescript/src/templates/react/component/component.css.less +6 -6
  272. package/bundle/typescript/src/templates/react/component/component.css.scss +3 -3
  273. package/bundle/typescript/src/templates/react/component/component.js.jsx +59 -59
  274. package/bundle/typescript/src/templates/react/component/component.js.tsx +65 -65
  275. package/bundle/typescript/src/templates/react/hook/hook.css +3 -3
  276. package/bundle/typescript/src/templates/react/hook/hook.css.scss +3 -3
  277. package/bundle/typescript/src/templates/react/hook/hook.js.jsx +19 -19
  278. package/bundle/typescript/src/templates/react/hook/hook.js.tsx +19 -19
  279. package/bundle/typescript/src/templates/react/kit/auth/provider/authentication-provider.js.jsx +306 -306
  280. package/bundle/typescript/src/templates/react/kit/auth/provider/authentication-provider.js.tsx +350 -350
  281. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-client.js.jsx +178 -178
  282. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-client.js.tsx +178 -178
  283. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-config.js.jsx +59 -59
  284. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-config.js.tsx +67 -67
  285. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-methods.js.jsx +273 -273
  286. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-methods.js.tsx +275 -275
  287. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-validator.js.jsx +182 -182
  288. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-validator.js.tsx +199 -199
  289. package/bundle/typescript/src/templates/react/kit/auth/service/meteor-auth-service.js.jsx +138 -138
  290. package/bundle/typescript/src/templates/react/kit/auth/service/meteor-auth-service.js.tsx +153 -153
  291. package/bundle/typescript/src/templates/react/kit/esri/map/basic-map.js.jsx +29 -29
  292. package/bundle/typescript/src/templates/react/kit/esri/map/basic-map.js.tsx +32 -32
  293. package/bundle/typescript/src/templates/react/kit/frames/frames-demo.css +63 -63
  294. package/bundle/typescript/src/templates/react/kit/frames/frames-demo.jsx +153 -153
  295. package/bundle/typescript/src/templates/react/kit/frames/frames-demo.tsx +164 -164
  296. package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.css +105 -105
  297. package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.jsx +158 -158
  298. package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.tsx +166 -166
  299. package/bundle/typescript/src/templates/react/kit/mui/auth/forgot-password/basic-forgot-password-page.js.jsx +34 -34
  300. package/bundle/typescript/src/templates/react/kit/mui/auth/forgot-password/basic-forgot-password-page.js.tsx +33 -33
  301. package/bundle/typescript/src/templates/react/kit/mui/auth/login/basic-login-page.js.jsx +53 -53
  302. package/bundle/typescript/src/templates/react/kit/mui/auth/login/basic-login-page.js.tsx +53 -53
  303. package/bundle/typescript/src/templates/react/kit/mui/auth/logout/basic-logout-page.js.jsx +25 -25
  304. package/bundle/typescript/src/templates/react/kit/mui/auth/logout/basic-logout-page.js.tsx +25 -25
  305. package/bundle/typescript/src/templates/react/kit/mui/auth/password-reset/basic-password-reset-page.js.jsx +41 -41
  306. package/bundle/typescript/src/templates/react/kit/mui/auth/password-reset/basic-password-reset-page.js.tsx +34 -34
  307. package/bundle/typescript/src/templates/react/kit/mui/auth/register/basic-register-page.js.jsx +33 -33
  308. package/bundle/typescript/src/templates/react/kit/mui/auth/register/basic-register-page.js.tsx +33 -33
  309. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth-callback.js.jsx +71 -71
  310. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth-callback.js.tsx +71 -71
  311. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-account-settings.js.jsx +123 -123
  312. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-account-settings.js.tsx +123 -123
  313. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-login-button.js.jsx +56 -56
  314. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-login-button.js.tsx +74 -74
  315. package/bundle/typescript/src/templates/react/kit/mui/frame/app-bars/basic-app-bar.js.jsx +43 -43
  316. package/bundle/typescript/src/templates/react/kit/mui/frame/app-bars/basic-app-bar.js.tsx +43 -43
  317. package/bundle/typescript/src/templates/react/kit/mui/frame/drawers/basic-drawer.js.jsx +121 -121
  318. package/bundle/typescript/src/templates/react/kit/mui/frame/drawers/basic-drawer.js.tsx +117 -117
  319. package/bundle/typescript/src/templates/react/kit/mui/frame/footers/basic-sticky-footer.js.jsx +41 -41
  320. package/bundle/typescript/src/templates/react/kit/mui/frame/footers/basic-sticky-footer.js.tsx +41 -41
  321. package/bundle/typescript/src/templates/react/route/route.js +8 -8
  322. package/bundle/typescript/src/templates/react/route/route.js.jsx +5 -5
  323. package/bundle/typescript/src/templates/react/route/route.js.ts +8 -8
  324. package/bundle/typescript/src/templates/react/route/route.js.tsx +5 -5
  325. package/bundle/typescript/src/templates/react/test/test.js +1 -1
  326. package/bundle/typescript/src/templates/react/test/test.js.jsx +40 -40
  327. package/bundle/typescript/src/templates/react/test/test.js.ts +1 -1
  328. package/bundle/typescript/src/templates/react/test/test.js.tsx +40 -40
  329. package/bundle/typescript/src/templates/service/docker/Dockerfile +54 -54
  330. package/bundle/typescript/src/templates/service/eslint/babel.config.js +16 -16
  331. package/bundle/typescript/src/templates/service/eslint/config.eslint.js +69 -69
  332. package/bundle/typescript/src/templates/service/i18n/i18n.js +33 -33
  333. package/bundle/typescript/src/templates/service/i18n/i18n.js.ts +33 -33
  334. package/bundle/typescript/src/templates/service/i18n/locales.js +3 -3
  335. package/bundle/typescript/src/templates/service/i18n/locales.js.ts +3 -3
  336. package/bundle/typescript/src/templates/service/openssl/openssl.conf +22 -22
  337. package/bundle/typescript/src/templates/service/test/jest/jest.config.js +24 -24
  338. package/bundle/typescript/src/templates/service/test/jest/jest.setup.js +7 -7
  339. package/bundle/typescript/src/tool.d.ts +2 -0
  340. package/bundle/typescript/src/tool.js +5 -2
  341. package/bundle/typescript/src/tool.js.map +1 -1
  342. package/package.json +120 -120
@@ -1,51 +1,51 @@
1
- import { Mongo } from 'meteor/mongo';<% if (where === 'client') { -%>
2
- export const <%= name %> = new Mongo.Collection(null);<% } else { -%>
3
-
4
- class <%= name %>Collection extends Mongo.Collection {
5
- constructor() {
6
- super('<%= name %>');
7
-
8
- this.publicFields = {};
9
- this.privateFields = {};
10
- this.allow({
11
- insert() { return false; },
12
- update() { return false; },
13
- remove() { return false; },
14
- });
15
- }
16
-
17
- async createIndexAsync(index, options) {
18
- return await createIndexAsync(index, options);
19
- }
20
-
21
- find(selector = {}, modifier) {
22
- return super.find(selector, modifier);
23
- }
24
-
25
- async findOneAsync(selector = {}, modifier) {
26
- return await super.findOneAsync(selector, modifier);
27
- }
28
-
29
- async insertAsync(doc) {
30
- return await super.insertAsync(doc);
31
- }
32
-
33
- async updateAsync(selector, modifier) {
34
- return await super.updateAsync(selector, modifier);
35
- }
36
-
37
- async upsertAsync(selector, modifier, options) {
38
- return await super.upsertAsync(selector, modifier, options);
39
- }
40
-
41
- async remove(selector) {
42
- return await super.removeAsync(selector);
43
- }
44
- }
45
-
46
- /**
47
- * @memberof Server.<%= name %>
48
- * @member <%= name %>
49
- */
50
- const <%= name %> = new <%= name %>Collection();
51
- export default <%= name %>;<% } %>
1
+ import { Mongo } from 'meteor/mongo';<% if (where === 'client') { -%>
2
+ export const <%= name %> = new Mongo.Collection(null);<% } else { -%>
3
+
4
+ class <%= name %>Collection extends Mongo.Collection {
5
+ constructor() {
6
+ super('<%= name %>');
7
+
8
+ this.publicFields = {};
9
+ this.privateFields = {};
10
+ this.allow({
11
+ insert() { return false; },
12
+ update() { return false; },
13
+ remove() { return false; },
14
+ });
15
+ }
16
+
17
+ async createIndexAsync(index, options) {
18
+ return await createIndexAsync(index, options);
19
+ }
20
+
21
+ find(selector = {}, modifier) {
22
+ return super.find(selector, modifier);
23
+ }
24
+
25
+ async findOneAsync(selector = {}, modifier) {
26
+ return await super.findOneAsync(selector, modifier);
27
+ }
28
+
29
+ async insertAsync(doc) {
30
+ return await super.insertAsync(doc);
31
+ }
32
+
33
+ async updateAsync(selector, modifier) {
34
+ return await super.updateAsync(selector, modifier);
35
+ }
36
+
37
+ async upsertAsync(selector, modifier, options) {
38
+ return await super.upsertAsync(selector, modifier, options);
39
+ }
40
+
41
+ async remove(selector) {
42
+ return await super.removeAsync(selector);
43
+ }
44
+ }
45
+
46
+ /**
47
+ * @memberof Server.<%= name %>
48
+ * @member <%= name %>
49
+ */
50
+ const <%= name %> = new <%= name %>Collection();
51
+ export default <%= name %>;<% } %>
@@ -1,55 +1,55 @@
1
- import { Mongo } from 'meteor/mongo';<% if (where === 'client') { -%>
2
- export const <%= name %> = new Mongo.Collection(null);<% } else { %>
3
-
4
- class <%= name %>Collection extends Mongo.Collection<<%=name%>Collection> {
5
- publicFields: any;
6
- privateFields: any;
7
- allow: any = () => {};
8
-
9
- constructor() {
10
- super('<%= name %>');
11
-
12
- this.publicFields = {};
13
- this.privateFields = {};
14
- this.allow({
15
- insert() { return false; },
16
- update() { return false; },
17
- remove() { return false; },
18
- });
19
- }
20
-
21
- async createIndexAsync(index: any, options: any) {
22
- return await createIndexAsync(index, options);
23
- }
24
-
25
- find(selector = {}, modifier?: any) {
26
- return super.find(selector, modifier);
27
- }
28
-
29
- async findOneAsync(selector = {}, modifier?: any) {
30
- return super.findOneAsync(selector, modifier);
31
- }
32
-
33
- async insertAsync(doc: any) {
34
- return await super.insertAsync(doc);
35
- }
36
-
37
- async updateAsync(selector: any, modifier?: any) {
38
- return await super.updateAsync(selector, modifier);
39
- }
40
-
41
- async upsertAsync(selector: any, modifier?: any, options?: any) {
42
- return await super.upsertAsync(selector, modifier, options);
43
- }
44
-
45
- async removeAsync(selector: any) {
46
- return await super.removeAsync(selector);
47
- }
48
- }
49
-
50
- /**
51
- * @memberof Server.<%= name %>
52
- * @member <%= name %>
53
- */
54
- const <%= name %> = new <%= name %>Collection();
55
- export default <%= name %>;<% } %>
1
+ import { Mongo } from 'meteor/mongo';<% if (where === 'client') { -%>
2
+ export const <%= name %> = new Mongo.Collection(null);<% } else { %>
3
+
4
+ class <%= name %>Collection extends Mongo.Collection<<%=name%>Collection> {
5
+ publicFields: any;
6
+ privateFields: any;
7
+ allow: any = () => {};
8
+
9
+ constructor() {
10
+ super('<%= name %>');
11
+
12
+ this.publicFields = {};
13
+ this.privateFields = {};
14
+ this.allow({
15
+ insert() { return false; },
16
+ update() { return false; },
17
+ remove() { return false; },
18
+ });
19
+ }
20
+
21
+ async createIndexAsync(index: any, options: any) {
22
+ return await createIndexAsync(index, options);
23
+ }
24
+
25
+ find(selector = {}, modifier?: any) {
26
+ return super.find(selector, modifier);
27
+ }
28
+
29
+ async findOneAsync(selector = {}, modifier?: any) {
30
+ return super.findOneAsync(selector, modifier);
31
+ }
32
+
33
+ async insertAsync(doc: any) {
34
+ return await super.insertAsync(doc);
35
+ }
36
+
37
+ async updateAsync(selector: any, modifier?: any) {
38
+ return await super.updateAsync(selector, modifier);
39
+ }
40
+
41
+ async upsertAsync(selector: any, modifier?: any, options?: any) {
42
+ return await super.upsertAsync(selector, modifier, options);
43
+ }
44
+
45
+ async removeAsync(selector: any) {
46
+ return await super.removeAsync(selector);
47
+ }
48
+ }
49
+
50
+ /**
51
+ * @memberof Server.<%= name %>
52
+ * @member <%= name %>
53
+ */
54
+ const <%= name %> = new <%= name %>Collection();
55
+ export default <%= name %>;<% } %>
@@ -1,27 +1,27 @@
1
- /* eslint-env jasmine */
2
- import { Meteor } from 'meteor/meteor';
3
-
4
- if (Meteor.isServer) {
5
- const <%= name %> = require('./<%= fileName %>').default;
6
- describe('<%= name %>', () => {
7
- <% if (test === 'jasmine') { %>
8
- it('has been defined', () => {
9
- let isDefined = false;
10
- if(<%= name %>) {
11
- isDefined = true;
12
- }
13
-
14
- expect(isDefined).toBe(true);
15
-
16
- });
17
- <% } else if (test === 'mocha') { %>
18
- it('has been defined', () => {
19
- let isDefined = false;
20
- if(<%= name %>) {
21
- isDefined = true;
22
- }
23
- assert.equal(isDefined, true);
24
- });
25
- <% } %>
26
- });
27
- }
1
+ /* eslint-env jasmine */
2
+ import { Meteor } from 'meteor/meteor';
3
+
4
+ if (Meteor.isServer) {
5
+ const <%= name %> = require('./<%= fileName %>').default;
6
+ describe('<%= name %>', () => {
7
+ <% if (test === 'jasmine') { %>
8
+ it('has been defined', () => {
9
+ let isDefined = false;
10
+ if(<%= name %>) {
11
+ isDefined = true;
12
+ }
13
+
14
+ expect(isDefined).toBe(true);
15
+
16
+ });
17
+ <% } else if (test === 'mocha') { %>
18
+ it('has been defined', () => {
19
+ let isDefined = false;
20
+ if(<%= name %>) {
21
+ isDefined = true;
22
+ }
23
+ assert.equal(isDefined, true);
24
+ });
25
+ <% } %>
26
+ });
27
+ }
@@ -1,27 +1,27 @@
1
- /* eslint-env jasmine */
2
- import { Meteor } from 'meteor/meteor';
3
-
4
- if (Meteor.isServer) {
5
- const <%= name %> = require('./<%= fileName %>').default;
6
- describe('<%= name %>', () => {
7
- <% if (test === 'jasmine') { %>
8
- it('has been defined', () => {
9
- let isDefined = false;
10
- if(<%= name %>) {
11
- isDefined = true;
12
- }
13
-
14
- expect(isDefined).toBe(true);
15
-
16
- });
17
- <% } else if (test === 'mocha') { %>
18
- it('has been defined', () => {
19
- let isDefined = false;
20
- if(<%= name %>) {
21
- isDefined = true;
22
- }
23
- assert.equal(isDefined, true);
24
- });
25
- <% } %>
26
- });
27
- }
1
+ /* eslint-env jasmine */
2
+ import { Meteor } from 'meteor/meteor';
3
+
4
+ if (Meteor.isServer) {
5
+ const <%= name %> = require('./<%= fileName %>').default;
6
+ describe('<%= name %>', () => {
7
+ <% if (test === 'jasmine') { %>
8
+ it('has been defined', () => {
9
+ let isDefined = false;
10
+ if(<%= name %>) {
11
+ isDefined = true;
12
+ }
13
+
14
+ expect(isDefined).toBe(true);
15
+
16
+ });
17
+ <% } else if (test === 'mocha') { %>
18
+ it('has been defined', () => {
19
+ let isDefined = false;
20
+ if(<%= name %>) {
21
+ isDefined = true;
22
+ }
23
+ assert.equal(isDefined, true);
24
+ });
25
+ <% } %>
26
+ });
27
+ }
@@ -1,101 +1,101 @@
1
- # DATA VOLUME: if a second, bare (unpartitioned, unformatted) disk is
2
- # attached to this instance, claim it for the bundle -- the thing most
3
- # likely to blow out a small root volume on a redeploy (a staged
4
- # extract briefly holds old + new bundle at once). A disk that already
5
- # has partitions is left alone; only a genuinely blank one gets
6
- # formatted. No-op on a single-disk box.
7
- ROOT_DISK=$(lsblk -no pkname "$(findmnt -no SOURCE /)" 2>/dev/null)
8
- DATA_DEV=$(lsblk -ndo NAME,TYPE | awk -v root="$ROOT_DISK" '$2=="disk" && $1!=root {print $1; exit}')
9
- if [ -n "$DATA_DEV" ] && ! mountpoint -q /mnt/data; then
10
- sudo mkdir -p /mnt/data
11
- if [ "$(lsblk -ndo NAME "/dev/$DATA_DEV" | wc -l)" = "1" ]; then
12
- sudo blkid "/dev/$DATA_DEV" >/dev/null 2>&1 || sudo mkfs -t ext4 -L data "/dev/$DATA_DEV"
13
- UUID=$(sudo blkid -s UUID -o value "/dev/$DATA_DEV")
14
- grep -q "$UUID" /etc/fstab || echo "UUID=$UUID /mnt/data ext4 defaults,nofail 0 2" | sudo tee -a /etc/fstab
15
- sudo mount /mnt/data
16
- sudo chown "$(whoami):$(whoami)" /mnt/data
17
- else
18
- echo "/dev/$DATA_DEV has existing partitions -- not touching it automatically"
19
- fi
20
- fi
21
- BUNDLE_ROOT=$HOME
22
- mountpoint -q /mnt/data && BUNDLE_ROOT=/mnt/data
23
- sudo apt-get update
24
- # install git and nginx
25
- sudo apt install build-essential git nginx -y
26
- # setup node and npm with the proper node version using nvm
27
- git clone https://gist.github.com/c427ccd6f4377b39299b9d402f5d51fe.git ~/maka-env/nvm-install
28
- rm -rf ~/.bash_profile ~/.bashrc
29
- touch ~/.bash_profile ~/.bashrc
30
- echo "test -f ~/.bashrc && . ~/.bashrc" > ~/.bash_profile
31
- chmod +x ~/maka-env/nvm-install/nvm-install.sh && ~/maka-env/nvm-install/nvm-install.sh
32
- source ~/.bashrc
33
- nvm install <%= nodeVersion %> || nvm install <%= fallbackVersion %>
34
- [ "$(nvm current)" == "<%= nodeVersion %>" ] && nvm alias default <%= nodeVersion %> || nvm alias default <%= fallbackVersion %>
35
- npm install -g pm2@latest
36
- npm install -g @dotenvx/dotenvx@latest
37
- pm2 install pm2-logrotate
38
- pm2 set pm2-logrotate:max_size 20M
39
- pm2 set pm2-logrotate:compress true
40
- pm2 set pm2-logrotate:retain 30
41
- rm -rf ~/maka-env/nvm-install
42
- # Prepare nginx
43
- [ -d /etc/systemd/system/nginx.service.d ] && echo "nginx.service.d exists" || sudo mkdir /etc/systemd/system/nginx.service.d
44
- printf "[Service]\nExecStartPost=/bin/sleep 0.1\n" > override.conf
45
- sudo cp override.conf /etc/systemd/system/nginx.service.d/override.conf
46
- sudo systemctl daemon-reload || null
47
- sudo systemctl stop nginx
48
- sudo nginx -s stop
49
- sudo cp ~/nginx.conf /etc/nginx/sites-enabled/default
50
- sudo systemctl daemon-reload && sudo systemctl start nginx
51
- # Ensure certbot is installed and re-inject the SSL server block that
52
- # `sudo cp` above just overwrote (domain/email from letsencrypt.json).
53
- # certbot --nginx is idempotent: skips reissuing a still-valid cert but
54
- # always makes sure the nginx config has the SSL block wired in.
55
- sudo snap install core >/dev/null 2>&1
56
- sudo snap refresh core >/dev/null 2>&1
57
- sudo snap install --classic certbot >/dev/null 2>&1 || true
58
- [ -L /usr/bin/certbot ] || sudo ln -s /snap/bin/certbot /usr/bin/certbot
59
- sudo certbot --nginx --agree-tos --expand -n --domains <%= domainNames %> --email <%= emailUpdate %>
60
- # Decompress the bundle -- extracted onto BUNDLE_ROOT (the data volume
61
- # when one's attached, see above), with ~/bundle symlinked to it so
62
- # everything downstream (pm2, `cd bundle/programs/server` below) keeps
63
- # resolving relative to $HOME unchanged.
64
- echo "Attempting to decompress the bundle"
65
- if [ -f app.tar.gz ]; then
66
- echo "Bundle found, decompressing"
67
- rm -rf "$BUNDLE_ROOT/bundle"
68
- tar -xf app.tar.gz -C "$BUNDLE_ROOT"
69
- elif [ -f app.tar.gz.bk ]; then
70
- echo "No bundle found, using backup"
71
- cp app.tar.gz.bk app.tar.gz
72
- rm -rf "$BUNDLE_ROOT/bundle"
73
- tar -xf app.tar.gz -C "$BUNDLE_ROOT"
74
- else
75
- echo "Could not find app.tar.gz, exiting!"
76
- exit 1
77
- fi
78
- [ "$BUNDLE_ROOT" = "$HOME" ] || ln -sfn "$BUNDLE_ROOT/bundle" ~/bundle
79
- cd bundle/programs/server
80
- npm install
81
- npm audit fix --force
82
- cd ~
83
- # Reset pm2
84
- pm2 delete all
85
- # updating PM2 to latest
86
- pm2 update
87
- # Bring up pm2 with environment
88
- if [ -f ~/process.env ]; then
89
- dotenvx run -f ~/process.env -- pm2 start ~/pm2.config.js
90
- else
91
- pm2 start ~/pm2.config.js
92
- fi
93
- # Configure pm2 to start on boot
94
- pm2 startup
95
- sudo env PATH=$PATH:$(which npm) $(which pm2) startup systemd -u <%= ec2User %> --hp /home/<%= ec2User %>
96
- pm2 save
97
- # remove backup tar, if any
98
- # rm -f ~/app.tar.gz.bk
99
- # backup tar bundle
100
- mv ~/app.tar.gz ~/app.tar.gz.bk
101
- exit 0
1
+ # DATA VOLUME: if a second, bare (unpartitioned, unformatted) disk is
2
+ # attached to this instance, claim it for the bundle -- the thing most
3
+ # likely to blow out a small root volume on a redeploy (a staged
4
+ # extract briefly holds old + new bundle at once). A disk that already
5
+ # has partitions is left alone; only a genuinely blank one gets
6
+ # formatted. No-op on a single-disk box.
7
+ ROOT_DISK=$(lsblk -no pkname "$(findmnt -no SOURCE /)" 2>/dev/null)
8
+ DATA_DEV=$(lsblk -ndo NAME,TYPE | awk -v root="$ROOT_DISK" '$2=="disk" && $1!=root {print $1; exit}')
9
+ if [ -n "$DATA_DEV" ] && ! mountpoint -q /mnt/data; then
10
+ sudo mkdir -p /mnt/data
11
+ if [ "$(lsblk -ndo NAME "/dev/$DATA_DEV" | wc -l)" = "1" ]; then
12
+ sudo blkid "/dev/$DATA_DEV" >/dev/null 2>&1 || sudo mkfs -t ext4 -L data "/dev/$DATA_DEV"
13
+ UUID=$(sudo blkid -s UUID -o value "/dev/$DATA_DEV")
14
+ grep -q "$UUID" /etc/fstab || echo "UUID=$UUID /mnt/data ext4 defaults,nofail 0 2" | sudo tee -a /etc/fstab
15
+ sudo mount /mnt/data
16
+ sudo chown "$(whoami):$(whoami)" /mnt/data
17
+ else
18
+ echo "/dev/$DATA_DEV has existing partitions -- not touching it automatically"
19
+ fi
20
+ fi
21
+ BUNDLE_ROOT=$HOME
22
+ mountpoint -q /mnt/data && BUNDLE_ROOT=/mnt/data
23
+ sudo apt-get update
24
+ # install git and nginx
25
+ sudo apt install build-essential git nginx -y
26
+ # setup node and npm with the proper node version using nvm
27
+ git clone https://gist.github.com/c427ccd6f4377b39299b9d402f5d51fe.git ~/maka-env/nvm-install
28
+ rm -rf ~/.bash_profile ~/.bashrc
29
+ touch ~/.bash_profile ~/.bashrc
30
+ echo "test -f ~/.bashrc && . ~/.bashrc" > ~/.bash_profile
31
+ chmod +x ~/maka-env/nvm-install/nvm-install.sh && ~/maka-env/nvm-install/nvm-install.sh
32
+ source ~/.bashrc
33
+ nvm install <%= nodeVersion %> || nvm install <%= fallbackVersion %>
34
+ [ "$(nvm current)" == "<%= nodeVersion %>" ] && nvm alias default <%= nodeVersion %> || nvm alias default <%= fallbackVersion %>
35
+ npm install -g pm2@latest
36
+ npm install -g @dotenvx/dotenvx@latest
37
+ pm2 install pm2-logrotate
38
+ pm2 set pm2-logrotate:max_size 20M
39
+ pm2 set pm2-logrotate:compress true
40
+ pm2 set pm2-logrotate:retain 30
41
+ rm -rf ~/maka-env/nvm-install
42
+ # Prepare nginx
43
+ [ -d /etc/systemd/system/nginx.service.d ] && echo "nginx.service.d exists" || sudo mkdir /etc/systemd/system/nginx.service.d
44
+ printf "[Service]\nExecStartPost=/bin/sleep 0.1\n" > override.conf
45
+ sudo cp override.conf /etc/systemd/system/nginx.service.d/override.conf
46
+ sudo systemctl daemon-reload || null
47
+ sudo systemctl stop nginx
48
+ sudo nginx -s stop
49
+ sudo cp ~/nginx.conf /etc/nginx/sites-enabled/default
50
+ sudo systemctl daemon-reload && sudo systemctl start nginx
51
+ # Ensure certbot is installed and re-inject the SSL server block that
52
+ # `sudo cp` above just overwrote (domain/email from letsencrypt.json).
53
+ # certbot --nginx is idempotent: skips reissuing a still-valid cert but
54
+ # always makes sure the nginx config has the SSL block wired in.
55
+ sudo snap install core >/dev/null 2>&1
56
+ sudo snap refresh core >/dev/null 2>&1
57
+ sudo snap install --classic certbot >/dev/null 2>&1 || true
58
+ [ -L /usr/bin/certbot ] || sudo ln -s /snap/bin/certbot /usr/bin/certbot
59
+ sudo certbot --nginx --agree-tos --expand -n --domains <%= domainNames %> --email <%= emailUpdate %>
60
+ # Decompress the bundle -- extracted onto BUNDLE_ROOT (the data volume
61
+ # when one's attached, see above), with ~/bundle symlinked to it so
62
+ # everything downstream (pm2, `cd bundle/programs/server` below) keeps
63
+ # resolving relative to $HOME unchanged.
64
+ echo "Attempting to decompress the bundle"
65
+ if [ -f app.tar.gz ]; then
66
+ echo "Bundle found, decompressing"
67
+ rm -rf "$BUNDLE_ROOT/bundle"
68
+ tar -xf app.tar.gz -C "$BUNDLE_ROOT"
69
+ elif [ -f app.tar.gz.bk ]; then
70
+ echo "No bundle found, using backup"
71
+ cp app.tar.gz.bk app.tar.gz
72
+ rm -rf "$BUNDLE_ROOT/bundle"
73
+ tar -xf app.tar.gz -C "$BUNDLE_ROOT"
74
+ else
75
+ echo "Could not find app.tar.gz, exiting!"
76
+ exit 1
77
+ fi
78
+ [ "$BUNDLE_ROOT" = "$HOME" ] || ln -sfn "$BUNDLE_ROOT/bundle" ~/bundle
79
+ cd bundle/programs/server
80
+ npm install
81
+ npm audit fix --force
82
+ cd ~
83
+ # Reset pm2
84
+ pm2 delete all
85
+ # updating PM2 to latest
86
+ pm2 update
87
+ # Bring up pm2 with environment
88
+ if [ -f ~/process.env ]; then
89
+ dotenvx run -f ~/process.env -- pm2 start ~/pm2.config.js
90
+ else
91
+ pm2 start ~/pm2.config.js
92
+ fi
93
+ # Configure pm2 to start on boot
94
+ pm2 startup
95
+ sudo env PATH=$PATH:$(which npm) $(which pm2) startup systemd -u <%= ec2User %> --hp /home/<%= ec2User %>
96
+ pm2 save
97
+ # remove backup tar, if any
98
+ # rm -f ~/app.tar.gz.bk
99
+ # backup tar bundle
100
+ mv ~/app.tar.gz ~/app.tar.gz.bk
101
+ exit 0
@@ -1,17 +1,17 @@
1
- version: "3.7"
2
- services:
3
- <%= app %>:
4
- image: "<%= appFileCase %>:latest"
5
- ports:
6
- - 80:3000
7
- volumes:
8
- - ./pm2.config.js:/home/ubuntu/pm2.config.js
9
- - ./settings.json:/home/ubuntu/settings.json
10
-
11
- mongo:
12
- image: "mongo"
13
- ports:
14
- - 27017:27017
15
-
16
- networks:
17
- default:
1
+ version: "3.7"
2
+ services:
3
+ <%= app %>:
4
+ image: "<%= appFileCase %>:latest"
5
+ ports:
6
+ - 80:3000
7
+ volumes:
8
+ - ./pm2.config.js:/home/ubuntu/pm2.config.js
9
+ - ./settings.json:/home/ubuntu/settings.json
10
+
11
+ mongo:
12
+ image: "mongo"
13
+ ports:
14
+ - 27017:27017
15
+
16
+ networks:
17
+ default:
@@ -1,31 +1,31 @@
1
- server_tokens off;
2
- map $http_upgrade $connection_upgrade {
3
- default upgrade;
4
- '' close;
5
- }
6
-
7
- server {
8
- listen 80 default_server;
9
- listen [::]:80 default_server ipv6only=on;
10
- <% if (domainNames) { -%>
11
- server_name <%= domainNames.split(',').map(function(d) { return d.trim(); }).join(' ') %>;
12
- <% } -%>
13
- if ($http_user_agent ~ "MSIE" ) {
14
- return 303 https://browser-update.org/update.html;
15
- }
16
- location = /favicon.ico {
17
- alias /home/<%= ec2User %>/bundle/programs/web.browser/app;
18
- }
19
-
20
- location / {
21
- proxy_pass http://0.0.0.0:3000;
22
- proxy_http_version 1.1;
23
- proxy_set_header Upgrade $http_upgrade;
24
- proxy_set_header Connection "upgrade";
25
- proxy_set_header X-Forwarded-For $remote_addr;
26
- proxy_set_header Host $host;
27
- if ($uri != '/') {
28
- expires 30d;
29
- }
30
- }
31
- }
1
+ server_tokens off;
2
+ map $http_upgrade $connection_upgrade {
3
+ default upgrade;
4
+ '' close;
5
+ }
6
+
7
+ server {
8
+ listen 80 default_server;
9
+ listen [::]:80 default_server ipv6only=on;
10
+ <% if (domainNames) { -%>
11
+ server_name <%= domainNames.split(',').map(function(d) { return d.trim(); }).join(' ') %>;
12
+ <% } -%>
13
+ if ($http_user_agent ~ "MSIE" ) {
14
+ return 303 https://browser-update.org/update.html;
15
+ }
16
+ location = /favicon.ico {
17
+ alias /home/<%= ec2User %>/bundle/programs/web.browser/app;
18
+ }
19
+
20
+ location / {
21
+ proxy_pass http://0.0.0.0:3000;
22
+ proxy_http_version 1.1;
23
+ proxy_set_header Upgrade $http_upgrade;
24
+ proxy_set_header Connection "upgrade";
25
+ proxy_set_header X-Forwarded-For $remote_addr;
26
+ proxy_set_header Host $host;
27
+ if ($uri != '/') {
28
+ expires 30d;
29
+ }
30
+ }
31
+ }