@maka/maka-cli 4.5.19 → 4.5.21

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 (310) hide show
  1. package/bundle/obf/package.json +127 -0
  2. package/bundle/obf/src/README.md +31 -0
  3. package/bundle/obf/src/command.js +1 -0
  4. package/bundle/obf/src/commands/_index.js +1 -0
  5. package/bundle/obf/src/commands/aws/_index.js +1 -0
  6. package/bundle/obf/src/commands/aws/aws.command.js +1 -0
  7. package/bundle/obf/src/commands/aws/ci.sub.cmd.js +1 -0
  8. package/bundle/obf/src/commands/aws/ckp.sub.cmd.js +1 -0
  9. package/bundle/obf/src/commands/aws/csg.sub.cmd.js +1 -0
  10. package/bundle/obf/src/commands/aws/di.sub.cmd.js +1 -0
  11. package/bundle/obf/src/commands/aws/dkp.sub.cmd.js +1 -0
  12. package/bundle/obf/src/commands/aws/dsg.sub.cmd.js +1 -0
  13. package/bundle/obf/src/commands/aws/rbi.sub.cmd.js +1 -0
  14. package/bundle/obf/src/commands/aws/rkp.sub.cmd.js +1 -0
  15. package/bundle/obf/src/commands/aws/sth.sub.cmd.js +1 -0
  16. package/bundle/obf/src/commands/aws/ti.sub.cmd.js +1 -0
  17. package/bundle/obf/src/commands/build/_index.js +1 -0
  18. package/bundle/obf/src/commands/build/build.js +1 -0
  19. package/bundle/obf/src/commands/build/docker.sub.cmd.js +1 -0
  20. package/bundle/obf/src/commands/create.js +1 -0
  21. package/bundle/obf/src/commands/debug.js +1 -0
  22. package/bundle/obf/src/commands/deploy.js +1 -0
  23. package/bundle/obf/src/commands/game/_index.js +1 -0
  24. package/bundle/obf/src/commands/game/battleship.sub.cmd.js +1 -0
  25. package/bundle/obf/src/commands/game/play.command.js +1 -0
  26. package/bundle/obf/src/commands/game/pong.sub.cmd.js +1 -0
  27. package/bundle/obf/src/commands/game/sideQuest/commands/command.js +1 -0
  28. package/bundle/obf/src/commands/game/sideQuest/commands/drop.js +1 -0
  29. package/bundle/obf/src/commands/game/sideQuest/commands/equip.js +1 -0
  30. package/bundle/obf/src/commands/game/sideQuest/commands/go.js +1 -0
  31. package/bundle/obf/src/commands/game/sideQuest/commands/lock.js +1 -0
  32. package/bundle/obf/src/commands/game/sideQuest/commands/look.js +1 -0
  33. package/bundle/obf/src/commands/game/sideQuest/commands/search.js +1 -0
  34. package/bundle/obf/src/commands/game/sideQuest/commands/solve.js +1 -0
  35. package/bundle/obf/src/commands/game/sideQuest/commands/take.js +1 -0
  36. package/bundle/obf/src/commands/game/sideQuest/commands/unequip.js +1 -0
  37. package/bundle/obf/src/commands/game/sideQuest/commands/unlock.js +1 -0
  38. package/bundle/obf/src/commands/game/sideQuest/commands/use.js +1 -0
  39. package/bundle/obf/src/commands/game/sideQuest/factories/commandF.js +1 -0
  40. package/bundle/obf/src/commands/game/sideQuest/game.js +1 -0
  41. package/bundle/obf/src/commands/game/sideQuest/models/door.js +1 -0
  42. package/bundle/obf/src/commands/game/sideQuest/models/inventory.js +1 -0
  43. package/bundle/obf/src/commands/game/sideQuest/models/item.js +1 -0
  44. package/bundle/obf/src/commands/game/sideQuest/models/npc.js +1 -0
  45. package/bundle/obf/src/commands/game/sideQuest/models/player.js +1 -0
  46. package/bundle/obf/src/commands/game/sideQuest/models/puzzle.js +1 -0
  47. package/bundle/obf/src/commands/game/sideQuest/models/room.js +1 -0
  48. package/bundle/obf/src/commands/game/sideQuest/models/scene.js +1 -0
  49. package/bundle/obf/src/commands/game/sideQuest/scenes/items.js +1 -0
  50. package/bundle/obf/src/commands/game/sideQuest/scenes/puzzles.js +0 -0
  51. package/bundle/obf/src/commands/game/sideQuest/scenes/rooms.js +1 -0
  52. package/bundle/obf/src/commands/game/sideQuest/types/enums.js +1 -0
  53. package/bundle/obf/src/commands/game/sideQuest/types/interfaces.js +1 -0
  54. package/bundle/obf/src/commands/game/sideQuest/types/types.js +1 -0
  55. package/bundle/obf/src/commands/game/sideQuest/ui.js +1 -0
  56. package/bundle/obf/src/commands/game/sideQuest/utilities/logger.js +1 -0
  57. package/bundle/obf/src/commands/game/sideQuest.sub.cmd.js +1 -0
  58. package/bundle/obf/src/commands/game/snake.sub.cmd.js +1 -0
  59. package/bundle/obf/src/commands/game/tetris.sub.cmd.js +1 -0
  60. package/bundle/obf/src/commands/generate.js +1 -0
  61. package/bundle/obf/src/commands/get/_index.js +1 -0
  62. package/bundle/obf/src/commands/get/get.command.js +1 -0
  63. package/bundle/obf/src/commands/get/global.sub.cmd.js +1 -0
  64. package/bundle/obf/src/commands/get/local.sub.cmd.js +1 -0
  65. package/bundle/obf/src/commands/get/whoami.sub.cmd.js +1 -0
  66. package/bundle/obf/src/commands/help.js +1 -0
  67. package/bundle/obf/src/commands/jsdoc.js +1 -0
  68. package/bundle/obf/src/commands/lint.js +1 -0
  69. package/bundle/obf/src/commands/login.js +1 -0
  70. package/bundle/obf/src/commands/logout.js +1 -0
  71. package/bundle/obf/src/commands/logs.js +1 -0
  72. package/bundle/obf/src/commands/maka.cmd.js +1 -0
  73. package/bundle/obf/src/commands/murder.js +1 -0
  74. package/bundle/obf/src/commands/proxy.js +1 -0
  75. package/bundle/obf/src/commands/reconfig.js +1 -0
  76. package/bundle/obf/src/commands/run/_index.js +1 -0
  77. package/bundle/obf/src/commands/run/docker.sub.cmd.js +1 -0
  78. package/bundle/obf/src/commands/run/run.command.js +1 -0
  79. package/bundle/obf/src/commands/set/_index.js +1 -0
  80. package/bundle/obf/src/commands/set/global.sub.cmd.js +1 -0
  81. package/bundle/obf/src/commands/set/local.sub.cmd.js +1 -0
  82. package/bundle/obf/src/commands/set/set.command.js +1 -0
  83. package/bundle/obf/src/commands/ssh.js +1 -0
  84. package/bundle/obf/src/commands/ssl.js +1 -0
  85. package/bundle/obf/src/commands/test.js +1 -0
  86. package/bundle/obf/src/commands/version.js +1 -0
  87. package/bundle/obf/src/error.js +1 -0
  88. package/bundle/obf/src/exec.js +2 -0
  89. package/bundle/obf/src/generator.js +1 -0
  90. package/bundle/obf/src/generators/_index.js +1 -0
  91. package/bundle/obf/src/generators/api.js +1 -0
  92. package/bundle/obf/src/generators/collection.js +1 -0
  93. package/bundle/obf/src/generators/component.js +1 -0
  94. package/bundle/obf/src/generators/config.js +1 -0
  95. package/bundle/obf/src/generators/dbc.js +1 -0
  96. package/bundle/obf/src/generators/dockerfile.js +1 -0
  97. package/bundle/obf/src/generators/hook.js +1 -0
  98. package/bundle/obf/src/generators/kit.js +1 -0
  99. package/bundle/obf/src/generators/layout.js +1 -0
  100. package/bundle/obf/src/generators/maka.gen.js +1 -0
  101. package/bundle/obf/src/generators/methods.js +1 -0
  102. package/bundle/obf/src/generators/package.js +1 -0
  103. package/bundle/obf/src/generators/page.js +1 -0
  104. package/bundle/obf/src/generators/publish.js +1 -0
  105. package/bundle/obf/src/generators/route.js +1 -0
  106. package/bundle/obf/src/generators/service.js +1 -0
  107. package/bundle/obf/src/generators/services/_index.js +1 -0
  108. package/bundle/obf/src/generators/services/openssl.js +1 -0
  109. package/bundle/obf/src/generators/services/translation.js +1 -0
  110. package/bundle/obf/src/maka.js +1 -0
  111. package/bundle/obf/src/templates/meteor/api/api.js +11 -0
  112. package/bundle/obf/src/templates/meteor/api/api.js.ts +11 -0
  113. package/bundle/obf/src/templates/meteor/api/collection.js +86 -0
  114. package/bundle/obf/src/templates/meteor/api/collection.js.ts +94 -0
  115. package/bundle/obf/src/templates/meteor/api/fixtures.js +23 -0
  116. package/bundle/obf/src/templates/meteor/api/fixtures.js.ts +23 -0
  117. package/bundle/obf/src/templates/meteor/api/methods.js +136 -0
  118. package/bundle/obf/src/templates/meteor/api/methods.js.ts +137 -0
  119. package/bundle/obf/src/templates/meteor/api/publications.js +31 -0
  120. package/bundle/obf/src/templates/meteor/api/publications.js.ts +31 -0
  121. package/bundle/obf/src/templates/meteor/api/register-api.js +15 -0
  122. package/bundle/obf/src/templates/meteor/api/register-api.js.ts +15 -0
  123. package/bundle/obf/src/templates/meteor/api/resolvers.js +9 -0
  124. package/bundle/obf/src/templates/meteor/api/resolvers.js.ts +9 -0
  125. package/bundle/obf/src/templates/meteor/api/tests.js +1 -0
  126. package/bundle/obf/src/templates/meteor/api/tests.js.ts +1 -0
  127. package/bundle/obf/src/templates/meteor/api/typeDefs.js +5 -0
  128. package/bundle/obf/src/templates/meteor/api/typeDefs.js.ts +5 -0
  129. package/bundle/obf/src/templates/meteor/app/client/.gitkeep +0 -0
  130. package/bundle/obf/src/templates/meteor/app/client/body.html +3 -0
  131. package/bundle/obf/src/templates/meteor/app/client/head.html +15 -0
  132. package/bundle/obf/src/templates/meteor/app/client/main.app-tests.js +9 -0
  133. package/bundle/obf/src/templates/meteor/app/client/main.app-tests.js.jsx +9 -0
  134. package/bundle/obf/src/templates/meteor/app/client/main.app-tests.js.ts +9 -0
  135. package/bundle/obf/src/templates/meteor/app/client/main.app-tests.js.tsx +9 -0
  136. package/bundle/obf/src/templates/meteor/app/client/main.js +13 -0
  137. package/bundle/obf/src/templates/meteor/app/client/main.js.jsx +13 -0
  138. package/bundle/obf/src/templates/meteor/app/client/main.js.ts +13 -0
  139. package/bundle/obf/src/templates/meteor/app/client/main.js.tsx +13 -0
  140. package/bundle/obf/src/templates/meteor/app/imports/api/.gitkeep +0 -0
  141. package/bundle/obf/src/templates/meteor/app/imports/startup/client/index.js +20 -0
  142. package/bundle/obf/src/templates/meteor/app/imports/startup/client/index.js.jsx +117 -0
  143. package/bundle/obf/src/templates/meteor/app/imports/startup/client/index.js.ts +20 -0
  144. package/bundle/obf/src/templates/meteor/app/imports/startup/client/index.js.tsx +118 -0
  145. package/bundle/obf/src/templates/meteor/app/imports/startup/client/routes.js +39 -0
  146. package/bundle/obf/src/templates/meteor/app/imports/startup/client/routes.js.jsx +48 -0
  147. package/bundle/obf/src/templates/meteor/app/imports/startup/client/routes.js.ts +24 -0
  148. package/bundle/obf/src/templates/meteor/app/imports/startup/client/routes.js.tsx +48 -0
  149. package/bundle/obf/src/templates/meteor/app/imports/startup/client/templates.js +9 -0
  150. package/bundle/obf/src/templates/meteor/app/imports/startup/client/templates.js.jsx +9 -0
  151. package/bundle/obf/src/templates/meteor/app/imports/startup/client/templates.js.ts +9 -0
  152. package/bundle/obf/src/templates/meteor/app/imports/startup/client/templates.js.tsx +9 -0
  153. package/bundle/obf/src/templates/meteor/app/imports/startup/lib/index.js +1 -0
  154. package/bundle/obf/src/templates/meteor/app/imports/startup/lib/index.js.jsx +21 -0
  155. package/bundle/obf/src/templates/meteor/app/imports/startup/lib/index.js.ts +1 -0
  156. package/bundle/obf/src/templates/meteor/app/imports/startup/lib/index.js.tsx +21 -0
  157. package/bundle/obf/src/templates/meteor/app/imports/startup/lib/routes.js.jsx +48 -0
  158. package/bundle/obf/src/templates/meteor/app/imports/startup/lib/routes.js.tsx +48 -0
  159. package/bundle/obf/src/templates/meteor/app/imports/startup/lib/templates.js.jsx +0 -0
  160. package/bundle/obf/src/templates/meteor/app/imports/startup/lib/templates.js.tsx +0 -0
  161. package/bundle/obf/src/templates/meteor/app/imports/startup/server/index.js +1 -0
  162. package/bundle/obf/src/templates/meteor/app/imports/startup/server/index.js.jsx +152 -0
  163. package/bundle/obf/src/templates/meteor/app/imports/startup/server/index.js.ts +0 -0
  164. package/bundle/obf/src/templates/meteor/app/imports/startup/server/index.js.tsx +152 -0
  165. package/bundle/obf/src/templates/meteor/app/imports/ui/test-helpers.js +24 -0
  166. package/bundle/obf/src/templates/meteor/app/imports/ui/test-helpers.js.ts +24 -0
  167. package/bundle/obf/src/templates/meteor/app/lib/.gitkeep +0 -0
  168. package/bundle/obf/src/templates/meteor/app/lib/main.js +1 -0
  169. package/bundle/obf/src/templates/meteor/app/lib/main.js.jsx +1 -0
  170. package/bundle/obf/src/templates/meteor/app/lib/main.js.ts +1 -0
  171. package/bundle/obf/src/templates/meteor/app/lib/main.js.tsx +1 -0
  172. package/bundle/obf/src/templates/meteor/app/maka.d.ts +160 -0
  173. package/bundle/obf/src/templates/meteor/app/meteor.d.ts +955 -0
  174. package/bundle/obf/src/templates/meteor/app/packages/.gitkeep +0 -0
  175. package/bundle/obf/src/templates/meteor/app/private/.gitkeep +0 -0
  176. package/bundle/obf/src/templates/meteor/app/public/.gitkeep +0 -0
  177. package/bundle/obf/src/templates/meteor/app/public/favicon.ico +0 -0
  178. package/bundle/obf/src/templates/meteor/app/public/maka-144x144.png +0 -0
  179. package/bundle/obf/src/templates/meteor/app/public/maka-192x192.png +0 -0
  180. package/bundle/obf/src/templates/meteor/app/public/maka-512x512.png +0 -0
  181. package/bundle/obf/src/templates/meteor/app/public/manifest.json +27 -0
  182. package/bundle/obf/src/templates/meteor/app/public/sw.js +30 -0
  183. package/bundle/obf/src/templates/meteor/app/public/sw.js.jsx +30 -0
  184. package/bundle/obf/src/templates/meteor/app/public/sw.js.ts +30 -0
  185. package/bundle/obf/src/templates/meteor/app/public/sw.js.tsx +30 -0
  186. package/bundle/obf/src/templates/meteor/app/server/.gitkeep +0 -0
  187. package/bundle/obf/src/templates/meteor/app/server/helmet-csp.js +179 -0
  188. package/bundle/obf/src/templates/meteor/app/server/helmet-csp.js.jsx +179 -0
  189. package/bundle/obf/src/templates/meteor/app/server/helmet-csp.js.ts +179 -0
  190. package/bundle/obf/src/templates/meteor/app/server/helmet-csp.js.tsx +179 -0
  191. package/bundle/obf/src/templates/meteor/app/server/main.app-tests.js +9 -0
  192. package/bundle/obf/src/templates/meteor/app/server/main.app-tests.js.jsx +9 -0
  193. package/bundle/obf/src/templates/meteor/app/server/main.app-tests.js.ts +9 -0
  194. package/bundle/obf/src/templates/meteor/app/server/main.app-tests.js.tsx +9 -0
  195. package/bundle/obf/src/templates/meteor/app/server/main.js +8 -0
  196. package/bundle/obf/src/templates/meteor/app/server/main.js.jsx +8 -0
  197. package/bundle/obf/src/templates/meteor/app/server/main.js.ts +8 -0
  198. package/bundle/obf/src/templates/meteor/app/server/main.js.tsx +8 -0
  199. package/bundle/obf/src/templates/meteor/app/tsconfig.json +28 -0
  200. package/bundle/obf/src/templates/meteor/collection/collection.js +85 -0
  201. package/bundle/obf/src/templates/meteor/collection/collection.js.ts +97 -0
  202. package/bundle/obf/src/templates/meteor/collection/tests.js +27 -0
  203. package/bundle/obf/src/templates/meteor/collection/tests.js.ts +27 -0
  204. package/bundle/obf/src/templates/meteor/config/docker-compose.yaml +17 -0
  205. package/bundle/obf/src/templates/meteor/config/pm2.config.js +25 -0
  206. package/bundle/obf/src/templates/meteor/config/process.env +5 -0
  207. package/bundle/obf/src/templates/meteor/config/settings.json +10 -0
  208. package/bundle/obf/src/templates/meteor/config/ssh.json +6 -0
  209. package/bundle/obf/src/templates/meteor/dbc/config.js +70 -0
  210. package/bundle/obf/src/templates/meteor/dbc/config.js.ts +70 -0
  211. package/bundle/obf/src/templates/meteor/dbc/conn.js +37 -0
  212. package/bundle/obf/src/templates/meteor/dbc/conn.js.ts +37 -0
  213. package/bundle/obf/src/templates/meteor/dbc/register-dbc.js +3 -0
  214. package/bundle/obf/src/templates/meteor/dbc/register-dbc.js.ts +3 -0
  215. package/bundle/obf/src/templates/meteor/method/method.js +48 -0
  216. package/bundle/obf/src/templates/meteor/method/method.js.ts +48 -0
  217. package/bundle/obf/src/templates/meteor/package/client/package.js +0 -0
  218. package/bundle/obf/src/templates/meteor/package/client/package.js.jsx +0 -0
  219. package/bundle/obf/src/templates/meteor/package/client/package.js.ts +0 -0
  220. package/bundle/obf/src/templates/meteor/package/client/package.js.tsx +0 -0
  221. package/bundle/obf/src/templates/meteor/package/lib/package.js +0 -0
  222. package/bundle/obf/src/templates/meteor/package/lib/package.js.jsx +0 -0
  223. package/bundle/obf/src/templates/meteor/package/lib/package.js.ts +0 -0
  224. package/bundle/obf/src/templates/meteor/package/lib/package.js.tsx +0 -0
  225. package/bundle/obf/src/templates/meteor/package/package.js +37 -0
  226. package/bundle/obf/src/templates/meteor/package/package.js.jsx +37 -0
  227. package/bundle/obf/src/templates/meteor/package/package.js.ts +36 -0
  228. package/bundle/obf/src/templates/meteor/package/package.js.tsx +37 -0
  229. package/bundle/obf/src/templates/meteor/package/server/package.js +0 -0
  230. package/bundle/obf/src/templates/meteor/package/server/package.js.jsx +0 -0
  231. package/bundle/obf/src/templates/meteor/package/server/package.js.ts +0 -0
  232. package/bundle/obf/src/templates/meteor/package/server/package.js.tsx +0 -0
  233. package/bundle/obf/src/templates/meteor/package/tests/client/package.js +5 -0
  234. package/bundle/obf/src/templates/meteor/package/tests/client/package.js.jsx +5 -0
  235. package/bundle/obf/src/templates/meteor/package/tests/client/package.js.ts +5 -0
  236. package/bundle/obf/src/templates/meteor/package/tests/client/package.js.tsx +5 -0
  237. package/bundle/obf/src/templates/meteor/package/tests/server/package.js +5 -0
  238. package/bundle/obf/src/templates/meteor/package/tests/server/package.js.jsx +5 -0
  239. package/bundle/obf/src/templates/meteor/package/tests/server/package.js.ts +5 -0
  240. package/bundle/obf/src/templates/meteor/package/tests/server/package.js.tsx +5 -0
  241. package/bundle/obf/src/templates/meteor/project/.maka/config.json +29 -0
  242. package/bundle/obf/src/templates/meteor/project/README.md +1 -0
  243. package/bundle/obf/src/templates/meteor/project/build/.gitkeep +0 -0
  244. package/bundle/obf/src/templates/meteor/project/build/README +4 -0
  245. package/bundle/obf/src/templates/meteor/project/gitignore +6 -0
  246. package/bundle/obf/src/templates/meteor/publish/publish.js +3 -0
  247. package/bundle/obf/src/templates/meteor/publish/publish.js.jsx +3 -0
  248. package/bundle/obf/src/templates/meteor/publish/publish.js.tsx +3 -0
  249. package/bundle/obf/src/templates/meteor/publish/publish.ts +3 -0
  250. package/bundle/obf/src/templates/meteor/service/logger/logger.js +27 -0
  251. package/bundle/obf/src/templates/meteor/service/logger/logger.js.ts +27 -0
  252. package/bundle/obf/src/templates/meteor/stylesheet/stylesheet.css +5 -0
  253. package/bundle/obf/src/templates/meteor/stylesheet/stylesheet.css.less +5 -0
  254. package/bundle/obf/src/templates/meteor/template/template-tests.js +1 -0
  255. package/bundle/obf/src/templates/meteor/template/template-tests.js.jsx +55 -0
  256. package/bundle/obf/src/templates/meteor/template/template-tests.js.ts +1 -0
  257. package/bundle/obf/src/templates/meteor/template/template-tests.js.tsx +55 -0
  258. package/bundle/obf/src/templates/meteor/template/template.css +6 -0
  259. package/bundle/obf/src/templates/meteor/template/template.css.less +6 -0
  260. package/bundle/obf/src/templates/meteor/template/template.html +5 -0
  261. package/bundle/obf/src/templates/meteor/template/template.js +20 -0
  262. package/bundle/obf/src/templates/meteor/template/template.js.jsx +77 -0
  263. package/bundle/obf/src/templates/meteor/template/template.js.ts +1 -0
  264. package/bundle/obf/src/templates/meteor/template/template.js.tsx +89 -0
  265. package/bundle/obf/src/templates/react/component/component.css +6 -0
  266. package/bundle/obf/src/templates/react/component/component.css.less +6 -0
  267. package/bundle/obf/src/templates/react/component/component.js +0 -0
  268. package/bundle/obf/src/templates/react/component/component.js.jsx +63 -0
  269. package/bundle/obf/src/templates/react/component/component.js.ts +0 -0
  270. package/bundle/obf/src/templates/react/component/component.js.tsx +68 -0
  271. package/bundle/obf/src/templates/react/hook/hook.js +1 -0
  272. package/bundle/obf/src/templates/react/hook/hook.js.jsx +24 -0
  273. package/bundle/obf/src/templates/react/hook/hook.js.ts +0 -0
  274. package/bundle/obf/src/templates/react/hook/hook.js.tsx +23 -0
  275. package/bundle/obf/src/templates/react/route/route.js +8 -0
  276. package/bundle/obf/src/templates/react/route/route.js.jsx +8 -0
  277. package/bundle/obf/src/templates/react/route/route.js.ts +8 -0
  278. package/bundle/obf/src/templates/react/route/route.js.tsx +8 -0
  279. package/bundle/obf/src/templates/react/test/test.js +1 -0
  280. package/bundle/obf/src/templates/react/test/test.js.jsx +41 -0
  281. package/bundle/obf/src/templates/react/test/test.js.ts +1 -0
  282. package/bundle/obf/src/templates/react/test/test.js.tsx +41 -0
  283. package/bundle/obf/src/templates/service/docker/Dockerfile +54 -0
  284. package/bundle/obf/src/templates/service/eslint/eslintrc.json +33 -0
  285. package/bundle/obf/src/templates/service/i18n/i18n.js +33 -0
  286. package/bundle/obf/src/templates/service/i18n/i18n.js.ts +33 -0
  287. package/bundle/obf/src/templates/service/i18n/index.js +0 -0
  288. package/bundle/obf/src/templates/service/i18n/index.js.jsx +0 -0
  289. package/bundle/obf/src/templates/service/i18n/locales.js +3 -0
  290. package/bundle/obf/src/templates/service/i18n/locales.js.ts +3 -0
  291. package/bundle/obf/src/templates/service/openssl/openssl.conf +22 -0
  292. package/bundle/obf/src/tool.js +1 -0
  293. package/bundle/obf/src/tools/actions/actions.class.js +1 -0
  294. package/bundle/obf/src/tools/aws/aws.class.js +1 -0
  295. package/bundle/obf/src/tools/aws/aws.interfaces.js +1 -0
  296. package/bundle/obf/src/tools/docker/docker.class.js +1 -0
  297. package/bundle/obf/src/tools/docker/docker.interfaces.js +1 -0
  298. package/bundle/obf/src/tools/fsi/fsi.class.js +1 -0
  299. package/bundle/obf/src/tools/fsi/fsi.interfaces.js +1 -0
  300. package/bundle/obf/src/tools/https/https.class.js +1 -0
  301. package/bundle/obf/src/tools/https/https.interface.js +1 -0
  302. package/bundle/obf/src/tools/log/log.class.js +1 -0
  303. package/bundle/obf/src/tools/log/log.interfaces.js +1 -0
  304. package/bundle/obf/src/tools/spawn-async/spawn-async.class.js +1 -0
  305. package/bundle/obf/src/tools/spawn-async/spawn-async.interfaces.js +1 -0
  306. package/bundle/obf/src/tools/ssh/ssh.class.js +1 -0
  307. package/bundle/obf/src/tools/ssh/ssh.interfaces.js +1 -0
  308. package/bundle/obf/src/tools/ssl/ssl.class.js +1 -0
  309. package/bundle/obf/src/tools/ssl/ssl.interfaces.js +0 -0
  310. package/package.json +4 -4
@@ -0,0 +1,179 @@
1
+ /*
2
+ * Content Security Policy (CSP)
3
+ * https://guide.meteor.com/security.html#httpheaders
4
+ */
5
+
6
+ /* global __meteor_runtime_config__ */
7
+ import { Meteor } from 'meteor/meteor'
8
+ import { WebApp } from 'meteor/webapp'
9
+ import { Autoupdate } from 'meteor/autoupdate'
10
+ import crypto from 'crypto'
11
+
12
+ const self = '\'self\''
13
+ const data = 'data:'
14
+ const unsafeEval = '\'unsafe-eval\''
15
+ const unsafeInline = '\'unsafe-inline\''
16
+ const allowedOrigins = Meteor.settings.extraAllowedOrigins;
17
+ const devAllowedOrigins = Meteor.settings.devAllowedOrigins;
18
+
19
+ // create the default connect source for our current domain in
20
+ // a multi-protocol compatible way (http/ws or https/wss)
21
+ const url = Meteor.absoluteUrl()
22
+ const domain = url.replace(/http(s)*:\/\//, '').replace(/\/$/, '')
23
+ const s = url.match(/(?!=http)s(?=:\/\/)/) ? 's' : ''
24
+ const usesHttps = s.length > 0
25
+ const connectSrc = [
26
+ self,
27
+ `http${s}://${domain}`,
28
+ `ws${s}://${domain}`
29
+ ]
30
+
31
+ // Prepare runtime config for generating the sha256 hash
32
+ // It is important, that the hash meets exactly the hash of the
33
+ // script in the client bundle.
34
+ // Otherwise the app would not be able to start, since the runtimeConfigScript
35
+ // is rejected __meteor_runtime_config__ is not available, causing
36
+ // a cascade of follow-up errors.
37
+ const runtimeConfig = Object.assign(__meteor_runtime_config__, Autoupdate, {
38
+ // the following lines may depend on, whether you called Accounts.config
39
+ // and whether your Meteor app is a "newer" version
40
+ accountsConfigCalled: true,
41
+ isModern: true
42
+ })
43
+
44
+ // add client versions to __meteor_runtime_config__
45
+ Object.keys(WebApp.clientPrograms).forEach(arch => {
46
+ __meteor_runtime_config__.versions[arch] = {
47
+ version: Autoupdate.autoupdateVersion || WebApp.clientPrograms[arch].version(),
48
+ versionRefreshable: Autoupdate.autoupdateVersion || WebApp.clientPrograms[arch].versionRefreshable(),
49
+ versionNonRefreshable: Autoupdate.autoupdateVersion || WebApp.clientPrograms[arch].versionNonRefreshable(),
50
+ // comment the following line if you use Meteor < 2.0
51
+ versionReplaceable: Autoupdate.autoupdateVersion || WebApp.clientPrograms[arch].versionReplaceable()
52
+ }
53
+ })
54
+
55
+ const runtimeConfigScript = `__meteor_runtime_config__ = JSON.parse(decodeURIComponent("${encodeURIComponent(JSON.stringify(runtimeConfig))}"))`
56
+ const runtimeConfigHash = crypto.createHash('sha256').update(runtimeConfigScript).digest('base64')
57
+
58
+ const helmetOptions = {
59
+ crossOriginOpenerPolicy: { policy: "same-origin-allow-popups" },
60
+ crossOriginResourcePolicy: true,
61
+ //If you want to embed something like an iframe, set to false
62
+ //If this is truu, site's won't be able to link to you
63
+ crossOriginEmbedderPolicy: false,
64
+ contentSecurityPolicy: {
65
+ blockAllMixedContent: true,
66
+ directives: {
67
+ defaultSrc: [self].concat(allowedOrigins),
68
+ scriptSrc: [
69
+ self,
70
+ // Remove / comment out unsafeEval if you do not use dynamic imports
71
+ // to tighten security. However, if you use dynamic imports this line
72
+ // must be kept in order to make them work.
73
+ unsafeEval,
74
+ `'sha256-${runtimeConfigHash}'`
75
+ ].concat(allowedOrigins),
76
+ childSrc: [self].concat(allowedOrigins),
77
+ // If you have external apps, that should be allowed as sources for
78
+ // connections or images, your should add them here
79
+ // Call helmetOptions() without args if you have no external sources
80
+ // Note, that this is just an example and you may configure this to your needs
81
+ connectSrc: connectSrc.concat(allowedOrigins),
82
+ fontSrc: [self, data].concat(allowedOrigins),
83
+ formAction: [self].concat(allowedOrigins),
84
+ frameAncestors: [self].concat(allowedOrigins),
85
+ frameSrc: [self].concat(allowedOrigins),
86
+ // This is an example to show, that we can define to show images only
87
+ // from our self, browser data/blob and a defined set of hosts.
88
+ // Configure to your needs.
89
+ imgSrc: [self, data, 'blob:'].concat(allowedOrigins),
90
+ manifestSrc: [self].concat(allowedOrigins),
91
+ mediaSrc: [self].concat(allowedOrigins),
92
+ objectSrc: [self].concat(allowedOrigins),
93
+ // these are just examples, configure to your needs, see
94
+ // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/sandbox
95
+ sandbox: [
96
+ // allow-downloads-without-user-activation // experimental
97
+ 'allow-forms',
98
+ 'allow-modals',
99
+ // 'allow-orientation-lock',
100
+ // 'allow-pointer-lock',
101
+ 'allow-popups',
102
+ // 'allow-popups-to-escape-sandbox',
103
+ // 'allow-presentation',
104
+ 'allow-same-origin',
105
+ 'allow-scripts',
106
+ // 'allow-storage-access-by-user-activation ', // experimental
107
+ // 'allow-top-navigation',
108
+ // 'allow-top-navigation-by-user-activation'
109
+ ],
110
+ styleSrc: [self, unsafeInline].concat(allowedOrigins),
111
+ workerSrc: [self, 'blob:'].concat(allowedOrigins)
112
+ }
113
+ },
114
+ // see the helmet documentation to get a better understanding of
115
+ // the following configurations and settings
116
+ strictTransportSecurity: {
117
+ maxAge: 15552000,
118
+ includeSubDomains: true,
119
+ preload: false
120
+ },
121
+ referrerPolicy: {
122
+ policy: 'no-referrer'
123
+ },
124
+ expectCt: {
125
+ enforce: true,
126
+ maxAge: 604800
127
+ },
128
+ frameguard: {
129
+ action: 'sameorigin'
130
+ },
131
+ dnsPrefetchControl: {
132
+ allow: false
133
+ },
134
+ permittedCrossDomainPolicies: {
135
+ permittedPolicies: 'none'
136
+ }
137
+ };
138
+
139
+ // We assume, that we are working on a localhost when there is no https
140
+ // connection available.
141
+ // Run your project with --production flag to simulate script-src hashing
142
+ if (!usesHttps && Meteor.isDevelopment) {
143
+ delete helmetOptions.contentSecurityPolicy.blockAllMixedContent;
144
+ helmetOptions.contentSecurityPolicy.directives.scriptSrc = [
145
+ self,
146
+ devAllowedOrigins.join(' '),
147
+ data,
148
+ unsafeEval,
149
+ unsafeInline,
150
+ ];
151
+
152
+ helmetOptions.contentSecurityPolicy.directives.styleSrc = [
153
+ self,
154
+ devAllowedOrigins.join(' '),
155
+ data,
156
+ unsafeEval,
157
+ unsafeInline,
158
+ ];
159
+
160
+ helmetOptions.contentSecurityPolicy.directives.imgSrc = [
161
+ self,
162
+ devAllowedOrigins.join(' '),
163
+ data,
164
+ unsafeEval,
165
+ unsafeInline,
166
+ ];
167
+
168
+ helmetOptions.contentSecurityPolicy.directives.fontSrc = [
169
+ self,
170
+ devAllowedOrigins.join(' '),
171
+ data,
172
+ unsafeEval,
173
+ unsafeInline,
174
+ ];
175
+
176
+ helmetOptions.contentSecurityPolicy.directives['script-src-attr'] = null;
177
+ }
178
+
179
+ export default helmetOptions;
@@ -0,0 +1,179 @@
1
+ /*
2
+ * Content Security Policy (CSP)
3
+ * https://guide.meteor.com/security.html#httpheaders
4
+ */
5
+
6
+ /* global __meteor_runtime_config__ */
7
+ import { Meteor } from 'meteor/meteor'
8
+ import { WebApp } from 'meteor/webapp'
9
+ import { Autoupdate } from 'meteor/autoupdate'
10
+ import crypto from 'crypto'
11
+
12
+ const self = '\'self\''
13
+ const data = 'data:'
14
+ const unsafeEval = '\'unsafe-eval\''
15
+ const unsafeInline = '\'unsafe-inline\''
16
+ const allowedOrigins = Meteor.settings.extraAllowedOrigins;
17
+ const devAllowedOrigins = Meteor.settings.devAllowedOrigins;
18
+
19
+ // create the default connect source for our current domain in
20
+ // a multi-protocol compatible way (http/ws or https/wss)
21
+ const url = Meteor.absoluteUrl()
22
+ const domain = url.replace(/http(s)*:\/\//, '').replace(/\/$/, '')
23
+ const s = url.match(/(?!=http)s(?=:\/\/)/) ? 's' : ''
24
+ const usesHttps = s.length > 0
25
+ const connectSrc = [
26
+ self,
27
+ `http${s}://${domain}`,
28
+ `ws${s}://${domain}`
29
+ ]
30
+
31
+ // Prepare runtime config for generating the sha256 hash
32
+ // It is important, that the hash meets exactly the hash of the
33
+ // script in the client bundle.
34
+ // Otherwise the app would not be able to start, since the runtimeConfigScript
35
+ // is rejected __meteor_runtime_config__ is not available, causing
36
+ // a cascade of follow-up errors.
37
+ const runtimeConfig = Object.assign(__meteor_runtime_config__, Autoupdate, {
38
+ // the following lines may depend on, whether you called Accounts.config
39
+ // and whether your Meteor app is a "newer" version
40
+ accountsConfigCalled: true,
41
+ isModern: true
42
+ })
43
+
44
+ // add client versions to __meteor_runtime_config__
45
+ Object.keys(WebApp.clientPrograms).forEach(arch => {
46
+ __meteor_runtime_config__.versions[arch] = {
47
+ version: Autoupdate.autoupdateVersion || WebApp.clientPrograms[arch].version(),
48
+ versionRefreshable: Autoupdate.autoupdateVersion || WebApp.clientPrograms[arch].versionRefreshable(),
49
+ versionNonRefreshable: Autoupdate.autoupdateVersion || WebApp.clientPrograms[arch].versionNonRefreshable(),
50
+ // comment the following line if you use Meteor < 2.0
51
+ versionReplaceable: Autoupdate.autoupdateVersion || WebApp.clientPrograms[arch].versionReplaceable()
52
+ }
53
+ })
54
+
55
+ const runtimeConfigScript = `__meteor_runtime_config__ = JSON.parse(decodeURIComponent("${encodeURIComponent(JSON.stringify(runtimeConfig))}"))`
56
+ const runtimeConfigHash = crypto.createHash('sha256').update(runtimeConfigScript).digest('base64')
57
+
58
+ const helmetOptions = {
59
+ crossOriginOpenerPolicy: { policy: "same-origin-allow-popups" },
60
+ crossOriginResourcePolicy: true,
61
+ //If you want to embed something like an iframe, set to false
62
+ //If this is truu, site's won't be able to link to you
63
+ crossOriginEmbedderPolicy: false,
64
+ contentSecurityPolicy: {
65
+ blockAllMixedContent: true,
66
+ directives: {
67
+ defaultSrc: [self].concat(allowedOrigins),
68
+ scriptSrc: [
69
+ self,
70
+ // Remove / comment out unsafeEval if you do not use dynamic imports
71
+ // to tighten security. However, if you use dynamic imports this line
72
+ // must be kept in order to make them work.
73
+ unsafeEval,
74
+ `'sha256-${runtimeConfigHash}'`
75
+ ].concat(allowedOrigins),
76
+ childSrc: [self].concat(allowedOrigins),
77
+ // If you have external apps, that should be allowed as sources for
78
+ // connections or images, your should add them here
79
+ // Call helmetOptions() without args if you have no external sources
80
+ // Note, that this is just an example and you may configure this to your needs
81
+ connectSrc: connectSrc.concat(allowedOrigins),
82
+ fontSrc: [self, data].concat(allowedOrigins),
83
+ formAction: [self].concat(allowedOrigins),
84
+ frameAncestors: [self].concat(allowedOrigins),
85
+ frameSrc: [self].concat(allowedOrigins),
86
+ // This is an example to show, that we can define to show images only
87
+ // from our self, browser data/blob and a defined set of hosts.
88
+ // Configure to your needs.
89
+ imgSrc: [self, data, 'blob:'].concat(allowedOrigins),
90
+ manifestSrc: [self].concat(allowedOrigins),
91
+ mediaSrc: [self].concat(allowedOrigins),
92
+ objectSrc: [self].concat(allowedOrigins),
93
+ // these are just examples, configure to your needs, see
94
+ // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/sandbox
95
+ sandbox: [
96
+ // allow-downloads-without-user-activation // experimental
97
+ 'allow-forms',
98
+ 'allow-modals',
99
+ // 'allow-orientation-lock',
100
+ // 'allow-pointer-lock',
101
+ 'allow-popups',
102
+ // 'allow-popups-to-escape-sandbox',
103
+ // 'allow-presentation',
104
+ 'allow-same-origin',
105
+ 'allow-scripts',
106
+ // 'allow-storage-access-by-user-activation ', // experimental
107
+ // 'allow-top-navigation',
108
+ // 'allow-top-navigation-by-user-activation'
109
+ ],
110
+ styleSrc: [self, unsafeInline].concat(allowedOrigins),
111
+ workerSrc: [self, 'blob:'].concat(allowedOrigins)
112
+ }
113
+ },
114
+ // see the helmet documentation to get a better understanding of
115
+ // the following configurations and settings
116
+ strictTransportSecurity: {
117
+ maxAge: 15552000,
118
+ includeSubDomains: true,
119
+ preload: false
120
+ },
121
+ referrerPolicy: {
122
+ policy: 'no-referrer'
123
+ },
124
+ expectCt: {
125
+ enforce: true,
126
+ maxAge: 604800
127
+ },
128
+ frameguard: {
129
+ action: 'sameorigin'
130
+ },
131
+ dnsPrefetchControl: {
132
+ allow: false
133
+ },
134
+ permittedCrossDomainPolicies: {
135
+ permittedPolicies: 'none'
136
+ }
137
+ };
138
+
139
+ // We assume, that we are working on a localhost when there is no https
140
+ // connection available.
141
+ // Run your project with --production flag to simulate script-src hashing
142
+ if (!usesHttps && Meteor.isDevelopment) {
143
+ delete helmetOptions.contentSecurityPolicy.blockAllMixedContent;
144
+ helmetOptions.contentSecurityPolicy.directives.scriptSrc = [
145
+ self,
146
+ devAllowedOrigins.join(' '),
147
+ data,
148
+ unsafeEval,
149
+ unsafeInline,
150
+ ];
151
+
152
+ helmetOptions.contentSecurityPolicy.directives.styleSrc = [
153
+ self,
154
+ devAllowedOrigins.join(' '),
155
+ data,
156
+ unsafeEval,
157
+ unsafeInline,
158
+ ];
159
+
160
+ helmetOptions.contentSecurityPolicy.directives.imgSrc = [
161
+ self,
162
+ devAllowedOrigins.join(' '),
163
+ data,
164
+ unsafeEval,
165
+ unsafeInline,
166
+ ];
167
+
168
+ helmetOptions.contentSecurityPolicy.directives.fontSrc = [
169
+ self,
170
+ devAllowedOrigins.join(' '),
171
+ data,
172
+ unsafeEval,
173
+ unsafeInline,
174
+ ];
175
+
176
+ helmetOptions.contentSecurityPolicy.directives['script-src-attr'] = null;
177
+ }
178
+
179
+ export default helmetOptions;
@@ -0,0 +1,9 @@
1
+ import assert from "assert";
2
+
3
+ describe("<%= app %>", function () {
4
+ if (Meteor.isServer) {
5
+ it("server is not client", function () {
6
+ assert.strictEqual(Meteor.isClient, false);
7
+ });
8
+ }
9
+ });
@@ -0,0 +1,9 @@
1
+ import assert from "assert";
2
+
3
+ describe("<%= app %>", function () {
4
+ if (Meteor.isServer) {
5
+ it("server is not client", function () {
6
+ assert.strictEqual(Meteor.isClient, false);
7
+ });
8
+ }
9
+ });
@@ -0,0 +1,9 @@
1
+ import assert from "assert";
2
+
3
+ describe("<%= app %>", function () {
4
+ if (Meteor.isServer) {
5
+ it("server is not client", function () {
6
+ assert.strictEqual(Meteor.isClient, false);
7
+ });
8
+ }
9
+ });
@@ -0,0 +1,9 @@
1
+ import assert from "assert";
2
+
3
+ describe("<%= app %>", function () {
4
+ if (Meteor.isServer) {
5
+ it("server is not client", function () {
6
+ assert.strictEqual(Meteor.isClient, false);
7
+ });
8
+ }
9
+ });
@@ -0,0 +1,8 @@
1
+ import { WebApp } from 'meteor/webapp';
2
+ import helmet from "helmet";
3
+ import helmetOptions from './helmet-csp';
4
+
5
+ WebApp.connectHandlers.use(helmet(helmetOptions));
6
+ WebApp.addHtmlAttributeHook(() => ({ lang: Meteor.settings.language }));
7
+
8
+ import '/imports/startup/server/index';
@@ -0,0 +1,8 @@
1
+ import { WebApp } from 'meteor/webapp';
2
+ import helmet from "helmet";
3
+ import helmetOptions from './helmet-csp';
4
+
5
+ WebApp.connectHandlers.use(helmet(helmetOptions));
6
+ WebApp.addHtmlAttributeHook(() => ({ lang: Meteor.settings.language }));
7
+
8
+ import '/imports/startup/server/index';
@@ -0,0 +1,8 @@
1
+ import { WebApp } from 'meteor/webapp';
2
+ import helmet from "helmet";
3
+ import helmetOptions from './helmet-csp';
4
+
5
+ WebApp.connectHandlers.use(helmet(helmetOptions));
6
+ WebApp.addHtmlAttributeHook(() => ({ lang: Meteor.settings.language }));
7
+
8
+ import '/imports/startup/server/index';
@@ -0,0 +1,8 @@
1
+ import { WebApp } from 'meteor/webapp';
2
+ import helmet from "helmet";
3
+ import helmetOptions from './helmet-csp';
4
+
5
+ WebApp.connectHandlers.use(helmet(helmetOptions));
6
+ WebApp.addHtmlAttributeHook(() => ({ lang: Meteor.settings.language }));
7
+
8
+ import '/imports/startup/server/index';
@@ -0,0 +1,28 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "es6",
4
+ "types": [ "meteor" ],
5
+ "module": "commonjs",
6
+ "moduleResolution": "node",
7
+ "alwaysStrict": true,
8
+ "sourceMap": true,
9
+ "jsx": "react",
10
+ "allowJs": false,
11
+ "noImplicitAny": true,
12
+ "strictNullChecks": false,
13
+ "experimentalDecorators": true
14
+ },
15
+ "include": [
16
+ "client/**/*",
17
+ "lib/**/*",
18
+ "server/**/*",
19
+ "imports/**/*"
20
+ ],
21
+ "exclude": [
22
+ ".meteor",
23
+ "node_modules",
24
+ "packages",
25
+ "public",
26
+ "private"
27
+ ]
28
+ }
@@ -0,0 +1,85 @@
1
+ import { Mongo } from 'meteor/mongo';
2
+ import { check, Match } from 'meteor/maka:check';
3
+
4
+ <% if (where === 'client') { -%>
5
+ export const <%= name %> = new Mongo.Collection(null);
6
+ <% } else { -%>
7
+ class <%= name %>Collection extends Mongo.Collection {
8
+ constructor() {
9
+ super('<%= name %>');
10
+
11
+ this.publicFields = {};
12
+ this.privateFields = {};
13
+ this.allow({
14
+ insert() { return false; },
15
+ update() { return false; },
16
+ remove() { return false; },
17
+ });
18
+
19
+ this.insertSchema = {};
20
+ this.updateSchema = {}; // Note: You'll likely want all properties to be Match.Optional()
21
+ }
22
+
23
+ find(selector = {}, modifier) {
24
+ return super.find(selector, modifier);
25
+ }
26
+
27
+ findOne(selector = {}, modifier) {
28
+ return super.findOne(selector, modifier);
29
+ }
30
+
31
+ /**
32
+ * @public
33
+ * @param { object } doc The document to inserted.
34
+ * @param { object } callback The callback from invocation.
35
+ * @returns { string } The _id of the new doc.
36
+ */
37
+ insert(doc) {
38
+ if (this._hasSchema()) {
39
+ check(doc, this.insertSchema, 'while validating mongo insert against schema');
40
+ }
41
+ return super.insert(doc);
42
+ }
43
+
44
+ /**
45
+ * @public
46
+ * @param { object | string } selector The mongodb selector.
47
+ * @param { object } modifier The mongodb modifier.
48
+ * @returns { string } The _id of the document updated.
49
+ * */
50
+ update(selector, modifier) {
51
+ if (this._hasSchema()) {
52
+ check(modifier.$set, this.updateSchema, 'while validating mongo update against schema');
53
+ }
54
+ return super.update(selector, modifier);
55
+ }
56
+
57
+ /**
58
+ * @public
59
+ * @param { object | string } selector The mongodb selector.
60
+ * @returns { string } The _id of the document being removed.
61
+ */
62
+ remove(selector) {
63
+ return super.remove(selector);
64
+ }
65
+
66
+ // Helper method
67
+ _hasSchema = () => {
68
+ const { insertSchema, updateSchema } = this;
69
+ if (insertSchema) {
70
+ return (Object.keys(insertSchema).length !== 0
71
+ && insertSchema.constructor === Object);
72
+ }
73
+ if (updateSchema) {
74
+ return (Object.keys(updateSchema).length !== 0
75
+ && updateSchema.constructor === Object);
76
+ }
77
+ }
78
+ }
79
+
80
+ /**
81
+ * @memberof Server.<%= name %>
82
+ * @member <%= name %>
83
+ */
84
+ const <%= name %> = new <%= name %>Collection();
85
+ export default <%= name %>;<% } %>
@@ -0,0 +1,97 @@
1
+ import { Mongo } from 'meteor/mongo';
2
+ import { check, Match } from 'meteor/maka:check';
3
+
4
+ <% if (where === 'client') { -%>
5
+ export const <%= name %> = new Mongo.Collection(null);
6
+ <% } else { %>
7
+ interface <%=name%>Collection {
8
+ publicFields: any;
9
+ privateFields: any;
10
+ deny: any,
11
+ schema: any;
12
+ }
13
+
14
+ /**
15
+ * @memberof Server.<%= name %>
16
+ * @extends Mongo.Collection
17
+ */
18
+ class <%= name %>Collection extends Mongo.Collection<<%=name%>Collection> {
19
+ constructor() {
20
+ super('<%= name %>');
21
+
22
+ this.publicFields = {};
23
+ this.privateFields = {};
24
+ this.allow({
25
+ insert() { return false; },
26
+ update() { return false; },
27
+ remove() { return false; },
28
+ });
29
+
30
+ this.insertSchema = {};
31
+ this.updateSchema = {}; // Note: You'll likely want all properties to be Match.Optional()
32
+ }
33
+
34
+ find(selector:any = {}, modifier:object) {
35
+ return super.find(selector, modifier);
36
+ }
37
+
38
+ findOne(selector:any = {}, modifier:object) {
39
+ return super.findOne(selector, modifier);
40
+ }
41
+
42
+ /**
43
+ * @public
44
+ * @param { object } doc The document to inserted.
45
+ * @param { object } callback The callback from invocation.
46
+ * @returns { string } The _id of the new doc.
47
+ */
48
+ insert(doc:any) {
49
+ if (this._hasSchema()) {
50
+ check(doc, this.insertSchema, 'while validating mongo insert against schema');
51
+ }
52
+ return super.insert(doc);
53
+ }
54
+
55
+ /**
56
+ * @public
57
+ * @param { object | string } selector The mongodb selector.
58
+ * @param { object } modifier The mongodb modifier.
59
+ * @returns { string } The _id of the document updated.
60
+ * */
61
+ update(selector:any, modifier:UpdateModifier) {
62
+ if (this._hasSchema()) {
63
+ check(modifier.$set, this.updateSchema, 'while validating mongo update against schema');
64
+ }
65
+
66
+ return super.update(selector, modifier);
67
+ }
68
+
69
+ /**
70
+ * @public
71
+ * @param { object | string } selector The mongodb selector.
72
+ * @returns { string } The _id of the document being removed.
73
+ */
74
+ remove(selector:any) {
75
+ return super.remove(selector);
76
+ }
77
+
78
+ // Helper method
79
+ _hasSchema = () => {
80
+ const { insertSchema, updateSchema } = this;
81
+ if (insertSchema) {
82
+ return (Object.keys(insertSchema).length !== 0
83
+ && insertSchema.constructor === Object);
84
+ }
85
+ if (updateSchema) {
86
+ return (Object.keys(updateSchema).length !== 0
87
+ && updateSchema.constructor === Object);
88
+ }
89
+ }
90
+ }
91
+
92
+ /**
93
+ * @memberof Server.<%= name %>
94
+ * @member <%= name %>
95
+ */
96
+ const <%= name %> = new <%= name %>Collection();
97
+ export default <%= name %>;<% } %>
@@ -0,0 +1,27 @@
1
+ /* eslint-env jasmine */
2
+ import { Meteor } from 'meteor/meteor';
3
+
4
+ if (Meteor.isServer) {
5
+ import <%= name %> from './<%= fileName %>';
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
+ }