gina 0.1.1-alpha.23 → 0.1.1-alpha.230

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 (368) hide show
  1. package/AUTHORS +2 -1
  2. package/LICENSE +1 -1
  3. package/README-4Contributors.md +30 -0
  4. package/README.md +223 -33
  5. package/bin/cli +184 -68
  6. package/bin/cli-debug +49 -18
  7. package/bin/cmd +40 -18
  8. package/bin/gina +48 -37
  9. package/framework/{v0.1.1-alpha.23/lib/inherits → v0.1.1-alpha.230}/LICENSE +1 -1
  10. package/framework/v0.1.1-alpha.230/VERSION +1 -0
  11. package/framework/{v0.1.1-alpha.23/core/asset/js/plugin/readme.md → v0.1.1-alpha.230/core/asset/plugin/README.md} +31 -9
  12. package/framework/v0.1.1-alpha.230/core/asset/plugin/dist/vendor/gina/css/gina.min.css +1 -0
  13. package/framework/v0.1.1-alpha.230/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
  14. package/framework/v0.1.1-alpha.230/core/asset/plugin/dist/vendor/gina/html/toolbar.html +251 -0
  15. package/framework/{v0.1.1-alpha.23/core/asset/js/plugin/dist → v0.1.1-alpha.230/core/asset/plugin/dist/vendor/gina/js}/gina.js +4364 -3175
  16. package/framework/v0.1.1-alpha.230/core/asset/plugin/dist/vendor/gina/js/gina.min.js +764 -0
  17. package/framework/v0.1.1-alpha.230/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
  18. package/framework/v0.1.1-alpha.230/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +5 -0
  19. package/framework/v0.1.1-alpha.230/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
  20. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/config.js +178 -80
  21. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/connectors/couchbase/index.js +373 -259
  22. package/framework/v0.1.1-alpha.230/core/connectors/couchbase/lib/connector.js +22 -0
  23. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/connectors/couchbase/lib/connector.v2.js +51 -51
  24. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/connectors/couchbase/lib/connector.v3.js +51 -51
  25. package/framework/v0.1.1-alpha.230/core/connectors/couchbase/lib/connector.v4.js +384 -0
  26. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/connectors/couchbase/lib/n1ql.js +3 -2
  27. package/framework/v0.1.1-alpha.230/core/connectors/couchbase/lib/session-store.js +22 -0
  28. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/connectors/couchbase/lib/session-store.v3.js +12 -12
  29. package/framework/v0.1.1-alpha.230/core/connectors/couchbase/lib/session-store.v4.js +361 -0
  30. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/controller/controller.js +923 -773
  31. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/dev/index.js +1 -1
  32. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/dev/lib/class.js +1 -1
  33. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/dev/lib/factory.js +2 -2
  34. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/gna.js +13 -9
  35. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/locales/README.md +5 -0
  36. package/framework/v0.1.1-alpha.230/core/locales/dist/region/en.json +5727 -0
  37. package/framework/v0.1.1-alpha.230/core/locales/dist/region/fr.json +11452 -0
  38. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/locales/index.js +2 -2
  39. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/locales/src/make.js +39 -41
  40. package/framework/v0.1.1-alpha.230/core/locales/src/resources/region.mapping.json +43 -0
  41. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/model/entity.js +87 -67
  42. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/model/index.js +16 -16
  43. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/model/template/entityFactory.js +1 -1
  44. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/model/template/index.js +17 -15
  45. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/plugins/index.js +1 -1
  46. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/plugins/lib/file/package.json +1 -1
  47. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/plugins/lib/intl/package.json +1 -1
  48. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/plugins/lib/intl/src/main.js +5 -5
  49. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/plugins/lib/storage/package.json +1 -1
  50. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/plugins/lib/storage/src/main.js +6 -5
  51. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/plugins/lib/validator/package.json +1 -1
  52. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/plugins/lib/validator/src/form-validator.js +403 -300
  53. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/plugins/lib/validator/src/main.js +1368 -1314
  54. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/router.js +99 -90
  55. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/server.isaac.js +203 -180
  56. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/server.js +439 -238
  57. package/framework/v0.1.1-alpha.230/core/template/boilerplate/bundle/config/settings.json +12 -0
  58. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/boilerplate/bundle/config/settings.server.json +4 -4
  59. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/boilerplate/bundle/config/templates.json +4 -4
  60. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/boilerplate/bundle/controllers/controller.content.js +1 -1
  61. package/framework/v0.1.1-alpha.230/core/template/boilerplate/bundle/controllers/setup.js +111 -0
  62. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/boilerplate/bundle/index.js +13 -1
  63. package/framework/v0.1.1-alpha.230/core/template/boilerplate/bundle_templates/html/content/homepage.html +8 -0
  64. package/framework/v0.1.1-alpha.230/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +11 -0
  65. package/framework/v0.1.1-alpha.230/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +8 -0
  66. package/framework/{v0.1.1-alpha.23/core/template/boilerplate/bundle_templates/html/layout → v0.1.1-alpha.230/core/template/boilerplate/bundle_templates/html/layouts}/main.html +10 -3
  67. package/framework/v0.1.1-alpha.230/core/template/command/gina.bat.tpl +8 -0
  68. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/command/gina.tpl +4 -4
  69. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/conf/env.json +11 -0
  70. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/conf/package.json +1 -1
  71. package/framework/v0.1.1-alpha.230/core/template/conf/statics.json +12 -0
  72. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/conf/templates.json +2 -2
  73. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/helpers/console.js +3 -3
  74. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/helpers/context.js +148 -7
  75. package/framework/v0.1.1-alpha.230/helpers/data/LICENSE +9 -0
  76. package/framework/v0.1.1-alpha.230/helpers/data/README.md +12 -0
  77. package/framework/v0.1.1-alpha.230/helpers/data/package.json +20 -0
  78. package/framework/v0.1.1-alpha.230/helpers/data/src/main.js +295 -0
  79. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/helpers/dateFormat.js +9 -7
  80. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/helpers/index.js +13 -8
  81. package/framework/v0.1.1-alpha.230/helpers/json/LICENSE +9 -0
  82. package/framework/v0.1.1-alpha.230/helpers/json/README.md +12 -0
  83. package/framework/{v0.1.1-alpha.23/helpers/plugins → v0.1.1-alpha.230/helpers/json}/package.json +2 -2
  84. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/helpers/json/src/main.js +28 -26
  85. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/helpers/path.js +176 -96
  86. package/framework/{v0.1.1-alpha.23/helpers/json → v0.1.1-alpha.230/helpers/plugins}/package.json +2 -2
  87. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/helpers/plugins/src/api-error.js +23 -23
  88. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/helpers/plugins/src/main.js +3 -3
  89. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/helpers/prototypes.js +46 -38
  90. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/helpers/task.js +21 -14
  91. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/helpers/text.js +2 -2
  92. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/archiver/package.json +1 -1
  93. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/archiver/src/dep/jszip.min.js +3 -3
  94. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/archiver/src/main.js +168 -168
  95. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/aliases.json +4 -1
  96. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/bundle/add.js +84 -27
  97. package/framework/v0.1.1-alpha.230/lib/cmd/bundle/arguments.json +7 -0
  98. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/bundle/help.txt +4 -2
  99. package/framework/v0.1.1-alpha.230/lib/cmd/bundle/list.js +176 -0
  100. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/bundle/remove.js +36 -27
  101. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/bundle/start.js +264 -46
  102. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/bundle/stop.js +93 -74
  103. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/env/add.js +44 -43
  104. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/env/list.js +23 -4
  105. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/env/remove.js +19 -19
  106. package/framework/{v0.1.1-alpha.23/lib/cmd/scope → v0.1.1-alpha.230/lib/cmd/env}/use.js +21 -1
  107. package/framework/v0.1.1-alpha.230/lib/cmd/framework/build.js +88 -0
  108. package/framework/v0.1.1-alpha.230/lib/cmd/framework/init.js +798 -0
  109. package/framework/v0.1.1-alpha.230/lib/cmd/framework/link-node-modules.js +116 -0
  110. package/framework/v0.1.1-alpha.230/lib/cmd/framework/link.js +114 -0
  111. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/framework/open.js +22 -1
  112. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/framework/restart.js +61 -26
  113. package/framework/v0.1.1-alpha.230/lib/cmd/framework/set.js +293 -0
  114. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/framework/start.js +46 -20
  115. package/framework/v0.1.1-alpha.230/lib/cmd/framework/status.js +141 -0
  116. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/framework/stop.js +47 -28
  117. package/framework/v0.1.1-alpha.230/lib/cmd/framework/tail.js +302 -0
  118. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/framework/version.js +15 -3
  119. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/helper.js +131 -18
  120. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/index.js +23 -23
  121. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/port/inc/scan.js +32 -16
  122. package/framework/v0.1.1-alpha.230/lib/cmd/port/list.js +462 -0
  123. package/framework/v0.1.1-alpha.230/lib/cmd/port/reset.js +429 -0
  124. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/project/add.js +147 -122
  125. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/project/arguments.json +2 -1
  126. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/project/build.js +28 -28
  127. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/project/list.js +19 -2
  128. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/project/remove.js +19 -17
  129. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/project/rename.js +11 -11
  130. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/protocol/set.js +256 -209
  131. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/scope/list.js +27 -8
  132. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/scope/remove.js +19 -19
  133. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/view/add.js +35 -10
  134. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/collection/package.json +1 -1
  135. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/collection/src/main.js +243 -242
  136. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/config.js +31 -30
  137. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cron/package.json +1 -1
  138. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cron/src/main.js +10 -9
  139. package/framework/v0.1.1-alpha.230/lib/domain/LICENSE +9 -0
  140. package/framework/v0.1.1-alpha.230/lib/domain/README.md +46 -0
  141. package/framework/v0.1.1-alpha.230/lib/domain/dist/public_suffix_list.dat +14186 -0
  142. package/framework/v0.1.1-alpha.230/lib/domain/package.json +20 -0
  143. package/framework/v0.1.1-alpha.230/lib/domain/src/main.js +442 -0
  144. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/generator/index.js +5 -5
  145. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/index.js +3 -2
  146. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230/lib/inherits}/LICENSE +1 -1
  147. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/inherits/README.md +2 -2
  148. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/inherits/package.json +3 -4
  149. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/inherits/src/main.js +3 -3
  150. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/logger/package.json +2 -2
  151. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/logger/src/containers/default/index.js +13 -2
  152. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/logger/src/containers/file/index.js +109 -14
  153. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/logger/src/containers/mq/index.js +12 -3
  154. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/logger/src/containers/mq/listener.js +29 -21
  155. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/logger/src/containers/mq/speaker.js +32 -3
  156. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/logger/src/helper.js +21 -1
  157. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/logger/src/main.js +36 -9
  158. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/math/index.js +9 -9
  159. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/merge/README.md +2 -2
  160. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/merge/package.json +1 -1
  161. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/merge/src/main.js +118 -91
  162. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/model.js +10 -10
  163. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/proc.js +87 -49
  164. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/routing/package.json +1 -1
  165. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/routing/src/main.js +313 -285
  166. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/session-store.js +6 -6
  167. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/shell.js +3 -3
  168. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/swig-filters/package.json +1 -1
  169. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/swig-filters/src/main.js +140 -119
  170. package/framework/v0.1.1-alpha.230/lib/url/README.md +0 -0
  171. package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/validator.js +2 -2
  172. package/framework/v0.1.1-alpha.230/package.json +14 -0
  173. package/package.json +33 -24
  174. package/resources/home/main.json +53 -4
  175. package/resources/home/settings.json +9 -0
  176. package/resources/package.json.template +29 -18
  177. package/script/lib.js +0 -0
  178. package/script/post_install.js +492 -141
  179. package/script/pre_install.js +496 -77
  180. package/services/.gna/67fdf1b224a2ed5597e63d4b64283834468e05e3.txt +0 -0
  181. package/services/.gna/arch +1 -0
  182. package/services/.gna/locals.json +14 -0
  183. package/services/.gna/platform +1 -0
  184. package/services/configure +6 -0
  185. package/services/env.json +18 -0
  186. package/services/manifest.json +30 -0
  187. package/services/package.json +11 -0
  188. package/services/src/proxy/config/app.json +6 -0
  189. package/services/src/proxy/config/routing.json +11 -0
  190. package/services/src/proxy/config/settings.json +9 -0
  191. package/services/src/proxy/config/settings.server.json +31 -0
  192. package/services/src/proxy/config/statics.json +3 -0
  193. package/services/src/proxy/controllers/controller.content.js +58 -0
  194. package/services/src/proxy/controllers/controller.js +30 -0
  195. package/{framework/v0.1.1-alpha.23/core/template/boilerplate/bundle → services/src/proxy}/controllers/setup.js +14 -14
  196. package/services/src/proxy/index.js +31 -0
  197. package/services/src/proxy/lib/domain/README.md +48 -0
  198. package/services/src/proxy/lib/domain/src/config/public_suffix_list.dat +14186 -0
  199. package/services/src/toolbar/config/app.json +6 -0
  200. package/services/src/toolbar/config/routing.json +11 -0
  201. package/{framework/v0.1.1-alpha.23/core/template/boilerplate/bundle → services/src/toolbar}/config/settings.json +0 -0
  202. package/services/src/toolbar/config/settings.server.json +30 -0
  203. package/services/src/toolbar/controllers/controller.content.js +39 -0
  204. package/services/src/toolbar/controllers/controller.js +30 -0
  205. package/services/src/toolbar/controllers/setup.js +111 -0
  206. package/services/src/toolbar/index.js +43 -0
  207. package/utils/helper.js +236 -185
  208. package/utils/prototypes.js +9 -9
  209. package/utils/prototypes.json_clone.js +70 -37
  210. package/doc/framework/cli/doc.json +0 -9
  211. package/doc/framework/index.md +0 -60
  212. package/framework/v0.1.1-alpha.23/VERSION +0 -1
  213. package/framework/v0.1.1-alpha.23/core/asset/js/plugin/dist/gina.js.map +0 -56
  214. package/framework/v0.1.1-alpha.23/core/asset/js/plugin/dist/gina.min.css +0 -1
  215. package/framework/v0.1.1-alpha.23/core/asset/js/plugin/dist/gina.min.css.map +0 -1
  216. package/framework/v0.1.1-alpha.23/core/asset/js/plugin/dist/gina.min.js +0 -736
  217. package/framework/v0.1.1-alpha.23/core/asset/js/plugin/dist/gina.min.js.map +0 -56
  218. package/framework/v0.1.1-alpha.23/core/asset/js/plugin/dist/gina.onload.min.js +0 -5
  219. package/framework/v0.1.1-alpha.23/core/asset/js/plugin/dist/gina.onload.min.js.map +0 -8
  220. package/framework/v0.1.1-alpha.23/core/connectors/couchbase/lib/connector.js +0 -20
  221. package/framework/v0.1.1-alpha.23/core/connectors/couchbase/lib/session-store.js +0 -21
  222. package/framework/v0.1.1-alpha.23/core/locales/dist/region/en.json +0 -9492
  223. package/framework/v0.1.1-alpha.23/core/locales/dist/region/fr.json +0 -9492
  224. package/framework/v0.1.1-alpha.23/core/locales/src/resources/region.mapping.json +0 -28
  225. package/framework/v0.1.1-alpha.23/core/template/boilerplate/bundle_templates/html/homepage.html +0 -4
  226. package/framework/v0.1.1-alpha.23/core/template/conf/statics.json +0 -10
  227. package/framework/v0.1.1-alpha.23/lib/cmd/bundle/arguments.json +0 -4
  228. package/framework/v0.1.1-alpha.23/lib/cmd/bundle/list.js +0 -129
  229. package/framework/v0.1.1-alpha.23/lib/cmd/framework/init.js +0 -514
  230. package/framework/v0.1.1-alpha.23/lib/cmd/framework/set.js +0 -161
  231. package/framework/v0.1.1-alpha.23/lib/cmd/framework/status.js +0 -72
  232. package/framework/v0.1.1-alpha.23/lib/cmd/framework/tail.js +0 -183
  233. package/framework/v0.1.1-alpha.23/lib/cmd/port/list.js +0 -176
  234. package/framework/v0.1.1-alpha.23/package.json +0 -14
  235. package/script/prepare_version.js +0 -429
  236. /package/{framework/v0.1.1-alpha.23/core/template/command/gina.bat.tpl → bin/gina.bat} +0 -0
  237. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/AUTHORS +0 -0
  238. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/asset/html/nolayout.html +0 -0
  239. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/asset/html/static.html +0 -0
  240. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/asset/img/android-chrome-192x192.png +0 -0
  241. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/asset/img/android-chrome-512x512.png +0 -0
  242. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/asset/img/apple-touch-icon.png +0 -0
  243. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/asset/img/favicon-16x16.png +0 -0
  244. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/asset/img/favicon-32x32.png +0 -0
  245. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/asset/img/favicon.ico +0 -0
  246. /package/framework/{v0.1.1-alpha.23/core/asset/js → v0.1.1-alpha.230/core/asset}/plugin/uuid.json +0 -0
  247. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  248. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/controller/controller.framework.js +0 -0
  249. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/controller/index.js +0 -0
  250. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/deps/busboy/.travis.yml +0 -0
  251. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/deps/busboy/LICENSE +0 -0
  252. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/deps/busboy/README.md +0 -0
  253. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
  254. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/deps/busboy/deps/encoding/encoding.js +0 -0
  255. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/deps/busboy/lib/main.js +0 -0
  256. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/deps/busboy/lib/types/multipart.js +0 -0
  257. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/deps/busboy/lib/types/urlencoded.js +0 -0
  258. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/deps/busboy/lib/utils.js +0 -0
  259. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/deps/busboy/package.json +0 -0
  260. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  261. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/dev/lib/tools.js +0 -0
  262. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/locales/currency.json +0 -0
  263. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/locales/dist/language/en.json +0 -0
  264. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/locales/dist/language/fr.json +0 -0
  265. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/locales/src/resources/currency.csv +0 -0
  266. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/locales/src/resources/region.csv +0 -0
  267. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/mime.types +0 -0
  268. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/plugins/README.md +0 -0
  269. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/plugins/lib/file/README.md +0 -0
  270. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/plugins/lib/file/build.json +0 -0
  271. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/plugins/lib/intl/README.md +0 -0
  272. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/plugins/lib/intl/build.json +0 -0
  273. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/plugins/lib/storage/README.md +0 -0
  274. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/plugins/lib/storage/build.json +0 -0
  275. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/plugins/lib/validator/README.md +0 -0
  276. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/plugins/lib/validator/build.json +0 -0
  277. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/server.express.js +0 -0
  278. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/status.codes +0 -0
  279. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/boilerplate/bundle/config/app.json +0 -0
  280. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/boilerplate/bundle/config/routing.json +0 -0
  281. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  282. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  283. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  284. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  285. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  286. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  287. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/boilerplate/bundle_public/readme.md +0 -0
  288. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  289. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/conf/manifest.json +0 -0
  290. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/conf/settings.json +0 -0
  291. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/error/client/json/401.json +0 -0
  292. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/error/client/json/403.json +0 -0
  293. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/error/client/json/404.json +0 -0
  294. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/error/server/html/50x.html +0 -0
  295. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/error/server/json/500.json +0 -0
  296. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/error/server/json/503.json +0 -0
  297. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/core/template/extensions/logger/config.json +0 -0
  298. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/helpers/plugins/README.md +0 -0
  299. /package/framework/{v0.1.1-alpha.23/helpers/json → v0.1.1-alpha.230/lib/archiver}/README.md +0 -0
  300. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/archiver/build.json +0 -0
  301. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/bundle/copy.js +0 -0
  302. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/bundle/cp.js +0 -0
  303. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/bundle/help.js +0 -0
  304. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/bundle/rename.js +0 -0
  305. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/bundle/restart.js +0 -0
  306. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/bundle/rm.js +0 -0
  307. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/bundle/status.js +0 -0
  308. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/env/get.js +0 -0
  309. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/env/help.js +0 -0
  310. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/env/help.txt +0 -0
  311. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/env/link-dev.js +0 -0
  312. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/env/rm.js +0 -0
  313. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/env/set.js +0 -0
  314. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/env/unset.js +0 -0
  315. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/framework/dot.js +0 -0
  316. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/framework/get.js +0 -0
  317. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/framework/help.js +0 -0
  318. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/framework/help.txt +0 -0
  319. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/framework/msg.json +0 -0
  320. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/framework/update.js +0 -0
  321. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/gina-dev.1.md +0 -0
  322. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/gina-framework.1.md +0 -0
  323. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/gina.1.md +0 -0
  324. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/msg.json +0 -0
  325. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/port/help.js +0 -0
  326. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/port/help.txt +0 -0
  327. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/port/set.js +0 -0
  328. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/project/help.js +0 -0
  329. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/project/help.txt +0 -0
  330. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/project/import.js +0 -0
  331. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/project/move.js +0 -0
  332. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/project/restart.js +0 -0
  333. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/project/rm.js +0 -0
  334. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/project/start.js +0 -0
  335. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/project/status.js +0 -0
  336. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/project/stop.js +0 -0
  337. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/protocol/help.js +0 -0
  338. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/protocol/help.txt +0 -0
  339. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/protocol/list.js +0 -0
  340. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/scope/help.js +0 -0
  341. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/scope/help.txt +0 -0
  342. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/scope/link-local.js +0 -0
  343. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/scope/rm.js +0 -0
  344. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/scope/set.js +0 -0
  345. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cmd/scope/unset.js +0 -0
  346. /package/framework/{v0.1.1-alpha.23/lib/cmd/env → v0.1.1-alpha.230/lib/cmd/scope}/use.js +0 -0
  347. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/collection/README.md +0 -0
  348. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/collection/build.json +0 -0
  349. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/cron/README.md +0 -0
  350. /package/framework/{v0.1.1-alpha.23/lib/archiver/README.md → v0.1.1-alpha.230/lib/domain/exemples/backend.js} +0 -0
  351. /package/framework/{v0.1.1-alpha.23/lib/routing/README.md → v0.1.1-alpha.230/lib/domain/exemples/frontend.html} +0 -0
  352. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  353. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/inherits/example/protected_inheritance.js +0 -0
  354. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/inherits/example/simple_inheritance.js +0 -0
  355. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  356. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/logger/README.md +0 -0
  357. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  358. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  359. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/merge/example/merge.js +0 -0
  360. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/merge/example/merge_2_literal objects.js +0 -0
  361. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/merge/example/merge_and_preserve_first.js +0 -0
  362. /package/framework/{v0.1.1-alpha.23/lib/swig-filters → v0.1.1-alpha.230/lib/routing}/README.md +0 -0
  363. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/routing/build.json +0 -0
  364. /package/framework/{v0.1.1-alpha.23/lib/url → v0.1.1-alpha.230/lib/swig-filters}/README.md +0 -0
  365. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/url/index.js +0 -0
  366. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/url/mocks.json +0 -0
  367. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/url/routing.json +0 -0
  368. /package/framework/{v0.1.1-alpha.23 → v0.1.1-alpha.230}/lib/url/test.js +0 -0
@@ -0,0 +1,798 @@
1
+ var fs = require('fs');
2
+ var EventEmitter = require('events').EventEmitter;
3
+ var e = new EventEmitter();
4
+ const { execSync } = require('child_process');
5
+ const { arch } = require('os');
6
+ var util = require('util');
7
+ var promisify = util.promisify;
8
+
9
+ var console = lib.logger;
10
+ var Domain = lib.Domain;
11
+ var ginaPath = getPath('gina').root;
12
+ var help = require(ginaPath + '/utils/helper');
13
+ // var helpers = require(getPath('gina').helpers, true);
14
+
15
+
16
+ var aliases = require( getPath('gina').lib + '/cmd/aliases.json' );
17
+
18
+ function Initialize(opt) {
19
+
20
+ var self = {};
21
+ var init = function(opt) {
22
+ self.opt = opt;
23
+ begin()
24
+ }
25
+
26
+
27
+ /**
28
+ * Bebin Checking - Will run checking tasks in order of declaration
29
+ * */
30
+ // var begin = function() {
31
+ // var i = 0;
32
+ // var funcs = [];
33
+ // for (var t in self) {
34
+ // if( typeof(self[t]) == 'function') {
35
+ // var func = 'self.' + t + '()';
36
+ // console.debug('Running [ ' + func + ' ]');
37
+ // eval(func);// jshint ignore:line
38
+ // ++i
39
+ // }
40
+
41
+ // if ( i == self.functionCount() ) {
42
+ // e.emit('init#complete', false, run, self.opt);
43
+ // break
44
+ // }
45
+ // }
46
+ // }
47
+
48
+ var begin = async function(i) {
49
+ i = (typeof(i) == 'undefined') ? 0 : i;
50
+ //console.debug('i is ', i);
51
+ var n = 0, funct = null, functName = null;
52
+ for (let t in self) {
53
+ if ( typeof(self[t]) == 'function') {
54
+ if (n == i) {
55
+ //let func = 'self.' + t + '()';
56
+ let func = 'self.' + t;
57
+ console.debug('Running [ ' + func + '() ]');
58
+ funct = func;
59
+ functName = t;
60
+ break;
61
+ }
62
+ n++;
63
+ }
64
+ }
65
+
66
+ // to handle sync vs async to allow execution in order of declaration
67
+ if (funct) {
68
+ eval('async function on'+functName+'(){ await promisify('+ funct + ')().catch(function(e){ console.error(e.toString()); process.exit(1);}).then(function(){ begin('+(i+1)+')});}; on'+functName+'();'); // jshint ignore:line
69
+ } else if ( i == self.functionCount() ) {
70
+ e.emit('init#complete', false, run, self.opt);
71
+ }
72
+ }
73
+
74
+
75
+ var checkForAliases = function(task) {
76
+ try {
77
+ // var aliasArr = aliases[task.topic].toArray();
78
+ var aliasObj = aliases[task.topic];
79
+ if (
80
+ typeof(aliases) != 'undefined'
81
+ && typeof(aliasObj) != 'undefined'
82
+ && typeof(aliasObj[task.action]) != 'undefined'
83
+ ) {
84
+ task.action = aliasObj[task.action]
85
+ }
86
+ } catch (err) {}
87
+
88
+ return task
89
+ }
90
+
91
+ var run = function(opt, cmd) {
92
+ opt.task = checkForAliases(opt.task);
93
+ var filename ='/cmd/' + opt.task.topic + '/' + opt.task.action + '.js'
94
+ var path = getPath('gina').lib + filename;
95
+
96
+ try {
97
+ if ( GINA_ENV_IS_DEV || GINA_SCOPE_IS_LOCAL)
98
+ delete require.cache[require.resolve(path)];
99
+ require(path)(opt, cmd)
100
+ } catch(err) {
101
+ console.crit('Gina has some troubles with command [ ', process.argv.join(' ') + ' ]\n' + err.stack);
102
+ if (opt.client) {
103
+ opt.client.write('Gina has some troubles with command [ ', process.argv.join(' ') + ' ]\n' + err.stack);
104
+ }
105
+ process.exit(1);
106
+ }
107
+ }
108
+
109
+ self.checkIfHome = function(done) {
110
+ var path = self.opt.homedir;
111
+ console.debug('Checking home... [ '+ path +' ]');
112
+
113
+ if ( !getEnvVar('GINA_HOMEDIR') ) {
114
+ setEnvVar('GINA_HOMEDIR', path)
115
+ } else {
116
+ path = self.opt.homedir = getEnvVar('GINA_HOMEDIR')
117
+ }
118
+
119
+ if ( !fs.existsSync(path) ) {
120
+ try {
121
+ fs.mkdirSync(path, 0775)
122
+ } catch (err) {
123
+ // console.error(err.stack);
124
+ // process.exit(1)
125
+ return done(err)
126
+ }
127
+ }
128
+
129
+ done()
130
+ }
131
+
132
+
133
+ self.checkIfVersionDir = function(done) {
134
+
135
+ var version = require(self.opt.pack).version;
136
+
137
+ if ( !getEnvVar('GINA_VERSION') ) {
138
+ setEnvVar('GINA_VERSION', version)
139
+ } else {
140
+ version = getEnvVar('GINA_VERSION')
141
+ }
142
+
143
+ if ( !getEnvVar('GINA_SHORT_VERSION') ) {
144
+ var shortVersion = version.split('.');
145
+ shortVersion.splice(2);
146
+ shortVersion = shortVersion.join('.');
147
+ setEnvVar('GINA_SHORT_VERSION', shortVersion);
148
+ }
149
+
150
+
151
+ var release = version.split('.').splice(0,2).join(".");
152
+ setEnvVar('GINA_RELEASE', release, true);
153
+ var releasePath = self.opt.homedir + '/' + release;
154
+ self.release = self.opt.release = release;
155
+
156
+ console.debug('Checking version path... [ '+ releasePath +' ]');
157
+
158
+ if ( !fs.existsSync(releasePath) ) {
159
+ try {
160
+ fs.mkdirSync(releasePath, 0775)
161
+ } catch (err) {
162
+ // console.error(err.stack);
163
+ // process.exit(1)
164
+ return done(err)
165
+ }
166
+ }
167
+ done()
168
+ }
169
+
170
+ self.checkIfMain = function(done) {
171
+ console.debug('Checking main...');
172
+ var source = getPath('gina').root + '/resources/home/main.json';
173
+ var target = self.opt.homedir + '/main.json';
174
+ var version = 'v' + getEnvVar('GINA_VERSION');
175
+ var prefix = getEnvVar('GINA_PREFIX') || execSync('npm config get prefix').toString().replace(/\n$/g, '');
176
+ var globalMode = getEnvVar('GINA_GLOBAL_MODE');
177
+
178
+ var data = require(source);
179
+ var dic = {
180
+ 'release' : self.release,
181
+ 'version' : version,
182
+ 'prefix' : prefix,
183
+ 'global_mode': globalMode
184
+ };
185
+ data = whisper(dic, data);
186
+
187
+
188
+ if ( !fs.existsSync(target) ) {
189
+ try {
190
+ lib.generator.createFileFromDataSync(data, target)
191
+ } catch (err) {
192
+ // console.error(err.stack);
193
+ // process.exit(1)
194
+ return done(err)
195
+ }
196
+ }
197
+ // update if needed : like the version number ...
198
+ var mainConfig = require(target);
199
+ mainConfig = whisper(dic, mainConfig);
200
+
201
+ // check if new definitions after update
202
+ for (let k in data) {
203
+ if ( typeof(mainConfig[k]) == 'undefined' ) {
204
+ mainConfig[k] = ( typeof(data[k]) == 'object' ) ? JSON.clone(data[k]) : data[k];
205
+ }
206
+ }
207
+ // arch
208
+ mainConfig.archs = merge(mainConfig.archs, data.archs, true);
209
+ // envs
210
+ mainConfig.envs = merge(mainConfig.envs, data.envs, true);
211
+ // scopes
212
+ mainConfig.scopes = merge(mainConfig.scopes, data.scopes, true);
213
+
214
+ // updating protocols, schemes, cultures, log_levels
215
+ mainConfig.protocols = merge(mainConfig.protocols, data.protocols, true);
216
+ mainConfig.schemes = merge(mainConfig.schemes, data.schemes, true);
217
+ mainConfig.cultures = merge(mainConfig.cultures||{}, data.cultures, true);
218
+ mainConfig.log_levels = merge(mainConfig.log_levels||{}, data.log_levels, true);
219
+
220
+
221
+ // don't remove def_protocol
222
+ var defProtocol = (mainConfig['def_protocol']) ? mainConfig['def_protocol'][self.release] : data.def_protocol[self.release];
223
+ var defScheme = (mainConfig['def_scheme']) ? mainConfig['def_scheme'][self.release] : data.def_scheme[self.release];
224
+ var defCulture = (mainConfig['def_culture']) ? mainConfig['def_culture'][self.release] : data.def_culture[self.release];
225
+ var defTimezone = (mainConfig['def_timezone']) ? mainConfig['def_timezone'][self.release] : data.def_timezone[self.release];
226
+ var defLogLevel = (mainConfig['def_log_level']) ? mainConfig['def_log_level'][self.release] : data.def_log_level[self.release];
227
+ var defPrefix = (mainConfig['def_prefix']) ? mainConfig['def_prefix'][self.release] : data.def_prefix[self.release];
228
+ var defGlobalMode = (mainConfig['def_global_mode']) ? mainConfig['def_global_mode'][self.release] : data.def_global_mode[self.release];
229
+
230
+
231
+ if ( mainConfig.protocols[self.release].indexOf(defProtocol) < 0 )
232
+ mainConfig.protocols[self.release].push(defProtocol);
233
+
234
+ if ( mainConfig.schemes[self.release].indexOf(defScheme) < 0 )
235
+ mainConfig.schemes[self.release].push(defScheme);
236
+
237
+ if ( mainConfig.cultures[self.release].indexOf(defCulture) < 0 )
238
+ mainConfig.cultures[self.release].push(defCulture);
239
+
240
+
241
+ // Update only when needed
242
+ if (!mainConfig.def_culture)
243
+ mainConfig.def_culture = data.def_culture;
244
+
245
+ if (!mainConfig.def_timezone)
246
+ mainConfig.def_timezone = data.def_timezone;
247
+
248
+ if (!mainConfig.def_log_level)
249
+ mainConfig.def_log_level = data.def_log_level;
250
+
251
+ if (!mainConfig.def_prefix)
252
+ mainConfig.def_prefix = data.def_prefix;
253
+
254
+ if (!mainConfig.def_global_mode)
255
+ mainConfig.def_global_mode = data.def_global_mode;
256
+
257
+ mainConfig.protocols[self.release].sort();
258
+ mainConfig.schemes[self.release].sort();
259
+ mainConfig.cultures[self.release].sort();
260
+
261
+ // commit
262
+ lib.generator.createFileFromDataSync(mainConfig, target);
263
+
264
+ process.env.TZ = defTimezone;
265
+ process.env.LOG_LEVEL = defLogLevel;
266
+
267
+ setEnvVar('GINA_CULTURES', mainConfig.cultures[self.release]);
268
+ setEnvVar('GINA_CULTURE', defCulture);
269
+ setEnvVar('GINA_TIMEZONE', defTimezone);
270
+ // Attenion: remove this part in case of troubles
271
+ setEnvVar('GINA_PREFIX', defPrefix);
272
+ setEnvVar('GINA_GLOBAL_MODE', defGlobalMode);
273
+
274
+ done()
275
+ }
276
+
277
+ /**
278
+ * Check arch
279
+ *
280
+ * */
281
+ self.checkArch = function(done) {
282
+
283
+ var currentArch = process.arch;
284
+ var currentPlatform = process.platform;
285
+ // ignored for framework:set
286
+ var mainConfig = require( self.opt.homedir + '/main.json' );
287
+ var defaultMainConfig = requireJSON( getPath('gina').root + '/resources/home/main.json' );
288
+ //has registered arch ?
289
+ var arch = getEnvVar('GINA_ARCH') || mainConfig['def_arch'][self.release] || null; // arch by default
290
+ if ( typeof(mainConfig.archs) == 'undefined' ) {
291
+ mainConfig.archs = {};
292
+ mainConfig.archs[self.release] = defaultMainConfig.archs['{release}'];
293
+ mainConfig['def_arch'] = {}
294
+ mainConfig['def_arch'][self.release] = currentArch;
295
+ isUpdateNeeded = true;
296
+ }
297
+ if ( mainConfig.archs[self.release].indexOf(arch) < 0 ) {
298
+ console.error('Arch [ ' + arch + ' ] not registered. Gina is not support your architecture `'+ process.arch +'` at this moment.');
299
+ process.exit(1);
300
+ }
301
+ var platform = getEnvVar('GINA_PLATFORM') || mainConfig['def_platform'][self.release] || null; // arch by default
302
+ if ( typeof(mainConfig.platforms) == 'undefined' ) {
303
+ mainConfig.platforms = {};
304
+ mainConfig.platforms[self.release] = defaultMainConfig.platforms['{release}'];
305
+ mainConfig['def_platform'] = {}
306
+ mainConfig['def_platform'][self.release] = currentPlatform;
307
+ isUpdateNeeded = true;
308
+ }
309
+ if ( mainConfig.platforms[self.release].indexOf(platform) < 0 ) {
310
+ console.error('Platform [ ' + platform + ' ] not registered. Gina is not support your platform `'+ process.platform +'` at this moment.');
311
+ process.exit(1);
312
+ }
313
+ var isUpdateNeeded = false;
314
+ if (arch != currentArch) {
315
+ // updating arch
316
+ arch = currentArch;
317
+ if ( mainConfig.archs[self.release].indexOf(arch) < 0 ) {
318
+ console.error('Arch [ ' + arch + ' ] not registered. Gina is not support your architecture `'+ process.arch +'` at this moment.');
319
+ process.exit(1);
320
+ }
321
+
322
+ isUpdateNeeded = true;
323
+ mainConfig['def_arch'][self.release] = arch;
324
+ }
325
+ if (platform != currentPlatform) {
326
+ // updating platform
327
+ platform = currentPlatform;
328
+ if ( mainConfig.platforms[self.release].indexOf(platform) < 0 ) {
329
+ console.error('Platform [ ' + arch + ' ] not registered. Gina is not support your platform `'+ process.platform +'` at this moment.');
330
+ process.exit(1);
331
+ }
332
+
333
+ isUpdateNeeded = true;
334
+ mainConfig['def_platform'][self.release] = platform;
335
+ }
336
+
337
+
338
+ // has arch & platform ?
339
+ if (
340
+ isUpdateNeeded
341
+ ||
342
+ typeof(mainConfig['def_arch']) == 'undefined'
343
+ ||
344
+ typeof(mainConfig['def_platform']) == 'undefined'
345
+ ||
346
+ typeof(mainConfig['def_arch']) != 'undefined'
347
+ && typeof(mainConfig['def_arch'][self.release]) != 'undefined'
348
+ && mainConfig.archs[self.release].indexOf(mainConfig['def_arch'][self.release]) < 0
349
+ ||
350
+ typeof(mainConfig['def_platform']) != 'undefined'
351
+ && typeof(mainConfig['def_platform'][self.release]) != 'undefined'
352
+ && mainConfig.platforms[self.release].indexOf(mainConfig['def_platform'][self.release]) < 0
353
+ ) {
354
+ var target = _(self.opt.homedir +'/main.json');
355
+ lib.generator.createFileFromDataSync(
356
+ mainConfig,
357
+ target
358
+ )
359
+ }
360
+
361
+ // TODO - Scanning project
362
+
363
+ done()
364
+ }
365
+
366
+ /**
367
+ * Checking ports
368
+ *
369
+ **/
370
+ self.checkIfPorts = function(done) {
371
+ console.debug('Checking ports...');
372
+ var mainConfig = require(self.opt.homedir + '/main.json');
373
+ var target = _(self.opt.homedir +'/ports.json');
374
+
375
+ if ( !fs.existsSync(target)) {
376
+
377
+ var protocols = mainConfig.protocols[self.release]
378
+ , schemes = mainConfig.schemes[self.release]
379
+ , ports = {};
380
+
381
+ for (let p = 0, pLen = protocols.length; p < pLen; ++p) {
382
+ ports[protocols[p]] = {};
383
+ for (let s = 0, sLen = schemes.length; s < sLen; ++s) {
384
+ ports[protocols[p]][schemes[s]] = {}
385
+ }
386
+ }
387
+ lib.generator.createFileFromDataSync(
388
+ ports,
389
+ target
390
+ )
391
+ }
392
+
393
+ done()
394
+ }
395
+
396
+ /**
397
+ * Checking ports.reverse
398
+ *
399
+ **/
400
+ self.checkIfPortsReverse = function(done) {
401
+ console.debug('Checking ports.reverse...');
402
+ var target = _(self.opt.homedir +'/ports.reverse.json');
403
+
404
+ if ( !fs.existsSync(target) ) {
405
+ lib.generator.createFileFromDataSync(
406
+ {},
407
+ target
408
+ )
409
+ }
410
+
411
+ done()
412
+ }
413
+
414
+
415
+ /**
416
+ * Check env
417
+ *
418
+ * */
419
+ self.checkEnv = function(done) {
420
+ // ignored for framework:set
421
+ //if (self.opt.task.Action != 'set' && self.opt.task.topic != 'framework') {
422
+ var err = null;
423
+ var main = require( self.opt.homedir + '/main.json' );
424
+ //has registered env ?
425
+ var env = getEnvVar('GINA_ENV') || main['dev_env'][self.release]; // dev by default
426
+
427
+ if ( main.envs[self.release].indexOf(env) < 0 ) {
428
+ // console.error('Environment [ ' + env + ' ] not registered. See [ man gina-env ].');
429
+ // process.exit(1)
430
+ err = new Error('Environment [ ' + env + ' ] not registered. See [ man gina-env ].');
431
+ return done(err)
432
+ }
433
+
434
+ // has dev env ?
435
+ if (
436
+ typeof(main['dev_env']) == 'undefined' ||
437
+ typeof(main['dev_env']) != 'undefined' &&
438
+ typeof(main['dev_env'][self.release]) != 'undefined' &&
439
+ main.envs[self.release].indexOf(main['dev_env'][self.release]) < 0
440
+ ) {
441
+ err = new Error('the framework has no dev env linked to any' +
442
+ 'environment to gina\'s.\nUse: $ gina env:link-dev <your_new_dev_env>');
443
+
444
+ // process.exit(1)
445
+ return done(err)
446
+ }
447
+
448
+ done()
449
+ }
450
+
451
+ /**
452
+ * Check scope
453
+ *
454
+ * */
455
+ self.checkScope = function(done) {
456
+ // ignored for framework:set
457
+ var err = null;
458
+ var main = require( self.opt.homedir + '/main.json' );
459
+ //has registered scope ?
460
+ var scope = getEnvVar('GINA_SCOPE') || main['local_scope'][self.release]; // scope by default
461
+ if ( main.scopes[self.release].indexOf(scope) < 0 ) {
462
+ // console.error('Scope [ ' + scope + ' ] not registered. See [ man gina-scope ].');
463
+ // process.exit(1)
464
+ err = new Error('Scope [ ' + scope + ' ] not registered. See [ man gina-scope ].');
465
+ return done(err)
466
+ }
467
+
468
+
469
+ // has local scope ?
470
+ if (
471
+ typeof(main['local_scope']) == 'undefined' ||
472
+ typeof(main['local_scope']) != 'undefined' &&
473
+ typeof(main['local_scope'][self.release]) != 'undefined' &&
474
+ main.scopes[self.release].indexOf(main['local_scope'][self.release]) < 0
475
+ ) {
476
+ // console.error('the framework has no local scope linked to any ' +
477
+ // 'scope to gina\'s.\nUse: $ gina scope:link-local <your_new_local_scope>');
478
+
479
+ // process.exit(1)
480
+ err = new Error('the framework has no local scope linked to any ' +
481
+ 'scope to gina\'s.\nUse: $ gina scope:link-local <your_new_local_scope>');
482
+
483
+ return done(err)
484
+ }
485
+
486
+ done()
487
+ }
488
+
489
+
490
+
491
+ /**
492
+ * Checking settings, defining constants
493
+ * Also done during bin/cmd::init() ... so if you change here ...
494
+ **/
495
+
496
+ self.checkIfSettings = function(done) {
497
+ console.debug('Checking framework settings...');
498
+ var main = require( _(self.opt.homedir + '/main.json', true) )
499
+ , version = getEnvVar('GINA_VERSION')
500
+ , prefix = getEnvVar('GINA_PREFIX') || main['def_prefix'][self.release]
501
+ , globalMode = getEnvVar('GINA_GLOBAL_MODE') || main['def_global_mode'][self.release]
502
+ , arch = getEnvVar('GINA_ARCH') || main['def_arch'][self.release]
503
+ , platform = getEnvVar('GINA_PLATFORM') || main['def_platform'][self.release]
504
+ , env = getEnvVar('GINA_ENV') || main['def_env'][self.release]
505
+ , scope = getEnvVar('GINA_SCOPE') || main['def_scope'][self.release]
506
+ , settings = requireJSON( _( getPath('gina').root + '/resources/home/settings.json', true ) )
507
+ , userSettings = {}
508
+ , target = _(self.opt.homedir +'/'+ self.release +'/settings.json', true)
509
+ ;
510
+
511
+ // case of port & debug_port updated
512
+ var targetObj = new _(target);
513
+ var localUserSettings = null;
514
+ if ( targetObj.existsSync() ) {
515
+ localUserSettings = requireJSON(target);
516
+ } else {
517
+ localUserSettings = JSON.clone(settings);
518
+ }
519
+
520
+ if ( !getEnvVar('GINA_PORT') && targetObj.existsSync() ) {
521
+ if ( typeof(localUserSettings.port) != 'undefined' ) {
522
+ setEnvVar('GINA_PORT', ~~localUserSettings.port);
523
+ }
524
+ }
525
+ if ( !getEnvVar('GINA_DEBUG_PORT') && targetObj.existsSync() ) {
526
+ if ( typeof(localUserSettings.debug_port) != 'undefined' ) {
527
+ setEnvVar('GINA_DEBUG_PORT', ~~localUserSettings.debug_port);
528
+ }
529
+ }
530
+ if ( !getEnvVar('GINA_MQ_PORT') && targetObj.existsSync() ) {
531
+ if ( typeof(localUserSettings.mq_port) != 'undefined' ) {
532
+ setEnvVar('GINA_MQ_PORT', ~~localUserSettings.mq_port);
533
+ }
534
+ }
535
+ if ( !getEnvVar('GINA_HOST_V4') && targetObj.existsSync() ) {
536
+ if ( typeof(localUserSettings.host_v4) != 'undefined' ) {
537
+ setEnvVar('GINA_HOST_V4', localUserSettings.host_v4);
538
+ }
539
+ }
540
+ if ( !getEnvVar('GINA_HOSTNAME') && targetObj.existsSync() ) {
541
+ if ( typeof(localUserSettings.hostname) != 'undefined' ) {
542
+ setEnvVar('GINA_HOSTNAME', localUserSettings.hostname);
543
+ }
544
+ }
545
+
546
+
547
+ // updated on framework start : you never know which user is going to start gina (root ? sudo ? regular user)
548
+ // user settings override is passed through argv while using `gina framework:set` : —-logdir=value —-tmpdir=value —-rundir=value —-homedir=value
549
+
550
+ var uid = process.getuid()
551
+ , gid = process.getgid();
552
+
553
+ try {
554
+
555
+ /**
556
+ * Before updateing here, if you have new settings,
557
+ * make sure to complete : self.checkIfMain()
558
+ */
559
+
560
+ var dic = {
561
+ 'prefix' : prefix,
562
+ 'global_mode': globalMode,
563
+ 'version' : version,
564
+ 'arch' : arch,
565
+ 'platform': platform,
566
+ 'env' : env,
567
+ 'env_is_dev' : (main['dev_env'][self.release] == env) ? true : false,
568
+ 'dev_env' : main['dev_env'][self.release],
569
+ 'scope' : scope,
570
+ 'scope_is_local' : (main['local_scope'][self.release] == scope) ? true : false,
571
+ 'local_scope': main['local_scope'][self.release],
572
+ 'culture' : getEnvVar('GINA_CULTURE'),
573
+ 'timezone' : getEnvVar('GINA_TIMEZONE'),
574
+ 'node_version': process.version,
575
+ 'port' : getEnvVar('GINA_PORT') || 8124, // TODO - scan for the next available port
576
+ 'debug_port' : getEnvVar('GINA_DEBUG_PORT') || process.debugPort || 5757,
577
+ 'host_v4' : getEnvVar('GINA_HOST_V4') || '127.0.0.1',
578
+ 'mq_port' : getEnvVar('GINA_MQ_PORT') || 8125,
579
+ 'hostname' : getEnvVar('GINA_HOSTNAME') || 'localhost',
580
+ 'user' : process.env.USER,
581
+ 'uid' : uid,
582
+ 'gid' : gid,
583
+ 'dir': getPath('gina').root,
584
+ 'home_dir' : _( getUserHome(), true ),
585
+ 'run_dir' : _( getRunDir(), true ),
586
+ 'tmp_dir' : _( getTmpDir(), true ),
587
+ 'log_dir' : _( getLogDir(), true ),
588
+ 'log_level' : getEnvVar('GINA_LOG_LEVEL') || main['def_log_level'][self.release] || 'info'
589
+ };
590
+
591
+ settings = whisper(dic, settings);
592
+ settings = merge(userSettings, settings);
593
+ self.settings = settings;
594
+
595
+ setEnvVar('GINA_PORT', settings['port']);
596
+ setEnvVar('GINA_DEBUG_PORT', settings['debug_port']);
597
+ // setEnvVar('GINA_MQ_PORT', settings['mq_port']);
598
+ // setEnvVar('GINA_HOST_V4', settings['host_v4']);
599
+ // setEnvVar('GINA_HOSTNAME', settings['hostname']);
600
+ setEnvVar('GINA_ENV_IS_DEV', settings['env_is_dev']);
601
+ setEnvVar('GINA_SCOPE_IS_LOCAL', settings['scope_is_local']);
602
+
603
+ console.debug('Framework env is: ', env);
604
+
605
+ lib.generator.createFileFromDataSync(
606
+ settings,
607
+ target
608
+ )
609
+ } catch (err) {
610
+ // console.error(err.stack);
611
+ // process.exit(1)
612
+ return done(err)
613
+ }
614
+
615
+ done()
616
+ }
617
+
618
+ /**
619
+ * Checking projects
620
+ *
621
+ **/
622
+ self.checkIfProjects = function(done) {
623
+ console.debug('Checking projects...');
624
+ var main = requireJSON( self.opt.homedir + '/main.json' );
625
+ var target = _(self.opt.homedir +'/projects.json', true);
626
+
627
+ if ( !fs.existsSync(target) ) {
628
+ lib.generator.createFileFromDataSync(
629
+ {},
630
+ target
631
+ )
632
+ }
633
+
634
+ var projects = requireJSON(target);
635
+ var newProjects = JSON.clone(projects);
636
+ for (let name in projects) {
637
+ let project = projects[name];
638
+ for (let prop in main) {
639
+ if ( typeof(project[prop]) != 'undefined' ) continue;
640
+ //if ( !Array.isArray(main[prop][self.release]) ) continue;
641
+
642
+ if ( !newProjects[name][prop] /**&& Array.isArray(main[prop][self.release])*/ ) {
643
+ newProjects[name][prop] = null;
644
+ }
645
+
646
+ try {
647
+ newProjects[name][prop] = JSON.clone(main[prop][self.release])
648
+ } catch (err) {
649
+ return done(err)
650
+ }
651
+ }
652
+ }
653
+
654
+ //console.debug('----> ', JSON.stringify(newProjects, null, 2));
655
+ lib.generator.createFileFromDataSync(
656
+ newProjects,
657
+ target
658
+ );
659
+
660
+ done()
661
+ }
662
+
663
+ self.checkDomainLibRequirements = function(done) {
664
+ // check for `public_suffix_list.dat`
665
+ var domainLibPath = _( getEnvVar('GINA_FRAMEWORK_DIR') + '/lib/domain', true);
666
+ var distPathObj = new _(domainLibPath + '/dist', true);
667
+
668
+ if ( !distPathObj.existsSync() ) {
669
+ distPathObj.mkdirSync();
670
+ }
671
+ console.debug('Checking for PSL file');
672
+ var datFilenameObj = new _(distPathObj.toString() + '/public_suffix_list.dat', true);
673
+ if ( !datFilenameObj.existsSync() ) {
674
+ try {
675
+ new Domain({isCachingRequired: true}, done);
676
+ } catch (err) {
677
+ // console.error(err.stack||err.message||err);
678
+ // process.exit(1)
679
+ return done(err)
680
+ }
681
+ // new Domain({isCachingRequired: true}, done);
682
+ }
683
+
684
+ done()
685
+ }
686
+
687
+ self.checkIfCertificatesDir = function(done) {
688
+ var certsDir = new _( getEnvVar('GINA_HOMEDIR') + '/certificates', true);
689
+ var theRSARootCertsDir = new _(certsDir.toString() + '/RSARootCerts', true);
690
+ var scopesDir = new _(certsDir.toString() + '/scopes', true);
691
+
692
+ if ( !certsDir.existsSync() ) {
693
+ certsDir.mkdirSync()
694
+ }
695
+ if ( !theRSARootCertsDir.existsSync() ) {
696
+ theRSARootCertsDir.mkdirSync()
697
+ }
698
+ if ( !scopesDir.existsSync() ) {
699
+ scopesDir.mkdirSync()
700
+ }
701
+
702
+ var mainConfig = require( _(self.opt.homedir + '/main.json', true) );
703
+ var scopes = mainConfig.scopes[self.release];
704
+
705
+ for (let i = 0, len = scopes.length; i < len; i++) {
706
+ let scopeDir = new _( scopesDir.toString() +'/'+ scopes[i], true);
707
+ if ( !scopeDir.existsSync() ) {
708
+ scopeDir.mkdirSync()
709
+ }
710
+ }
711
+
712
+ done()
713
+ }
714
+
715
+
716
+ self.readSettings = function(done) {
717
+ for (let s in self.settings) {
718
+ if (!/^\_/.test(s) && !getEnvVar('GINA_' + s.toUpperCase()) ) {
719
+ setEnvVar('GINA_' + s.toUpperCase(), self.settings[s])
720
+ }
721
+ }
722
+
723
+ done();
724
+ }
725
+
726
+ /**
727
+ * Checking PIDs for cleanup
728
+ *
729
+ **/
730
+ self.checkRunningPids = function(done) {
731
+ console.debug('Checking PIDs for cleanup...');
732
+ if ( /true/.test(getEnvVar('GINA_IS_WIN32')) ) {
733
+ console.debug(' Skipping for windows...');
734
+ }
735
+ var err = null;
736
+ var runDirObj = new _( getEnvVar('GINA_RUNDIR'), true );
737
+ var runDir = runDirObj.toString();
738
+
739
+ if ( runDirObj.existsSync() ) {
740
+ console.debug('Run dir: ', runDir );
741
+ var files = fs.readdirSync(runDir);
742
+ for (let f in files) {
743
+ if ( /^\./.test(files[f]) ) {
744
+ continue;
745
+ }
746
+ let filenameObj = new _( runDir +'/'+ files[f], true );
747
+ let filename = filenameObj.toString();
748
+ let pid = fs.readFileSync(filename).toString();
749
+ if (!pid) {
750
+ filenameObj.rmSync();
751
+ continue;
752
+ }
753
+ let isRunnung = true;
754
+ try {
755
+ let found = execSync("ps -p "+ pid +" -o pid="); //.replace(/\n$/g, '') || null;
756
+ if (!found) {
757
+ isRunnung = false;
758
+ }
759
+ } catch (err) {
760
+ isRunnung = false;
761
+ }
762
+
763
+ if (!isRunnung) {
764
+ filenameObj.rmSync();
765
+ continue;
766
+ }
767
+
768
+
769
+ console.debug('Process file location: '+ filename +' ['+ pid +'] ['+ isRunnung +']');
770
+ } // EO for (let f in files) {
771
+ } else {
772
+ console.warn('Run directory `'+ runDir +'` not found !')
773
+ }
774
+
775
+ done()
776
+ }
777
+
778
+ self.end = function(done) {
779
+ defineDefault(process.gina);
780
+ done()
781
+ }
782
+
783
+ return {
784
+ onComplete: function(callback) {
785
+ e.once('init#complete', function(err, run, opt) {
786
+ callback(err, run, opt)
787
+ });
788
+ init(opt)
789
+ },
790
+ onListen: function(callback) {
791
+ e.once('init#listen', function(err, run, opt) {
792
+ callback(err, run, opt)
793
+ });
794
+ e.emit('init#listen', false, run, opt)
795
+ }
796
+ }
797
+ }
798
+ module.exports = Initialize;