gina 0.1.1-alpha.19 → 0.1.1-alpha.191

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 (369) hide show
  1. package/AUTHORS +2 -1
  2. package/LICENSE +1 -1
  3. package/README-4Contributors.md +30 -0
  4. package/README.md +208 -32
  5. package/bin/cli +165 -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.19/lib/inherits → v0.1.1-alpha.191}/LICENSE +1 -1
  10. package/framework/v0.1.1-alpha.191/VERSION +1 -0
  11. package/framework/{v0.1.1-alpha.19/core/asset/js/plugin/readme.md → v0.1.1-alpha.191/core/asset/plugin/README.md} +31 -9
  12. package/framework/v0.1.1-alpha.191/core/asset/plugin/dist/vendor/gina/css/gina.min.css +1 -0
  13. package/framework/v0.1.1-alpha.191/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
  14. package/framework/v0.1.1-alpha.191/core/asset/plugin/dist/vendor/gina/html/toolbar.html +251 -0
  15. package/framework/{v0.1.1-alpha.19/core/asset/js/plugin/dist → v0.1.1-alpha.191/core/asset/plugin/dist/vendor/gina/js}/gina.js +4364 -3175
  16. package/framework/v0.1.1-alpha.191/core/asset/plugin/dist/vendor/gina/js/gina.min.js +764 -0
  17. package/framework/v0.1.1-alpha.191/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
  18. package/framework/v0.1.1-alpha.191/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +5 -0
  19. package/framework/v0.1.1-alpha.191/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
  20. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/config.js +172 -79
  21. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/connectors/couchbase/index.js +373 -259
  22. package/framework/v0.1.1-alpha.191/core/connectors/couchbase/lib/connector.js +22 -0
  23. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/connectors/couchbase/lib/connector.v2.js +51 -51
  24. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/connectors/couchbase/lib/connector.v3.js +51 -51
  25. package/framework/v0.1.1-alpha.191/core/connectors/couchbase/lib/connector.v4.js +384 -0
  26. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/connectors/couchbase/lib/n1ql.js +3 -2
  27. package/framework/v0.1.1-alpha.191/core/connectors/couchbase/lib/session-store.js +22 -0
  28. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/connectors/couchbase/lib/session-store.v3.js +12 -12
  29. package/framework/v0.1.1-alpha.191/core/connectors/couchbase/lib/session-store.v4.js +361 -0
  30. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/controller/controller.js +921 -773
  31. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/dev/index.js +1 -1
  32. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/dev/lib/class.js +1 -1
  33. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/dev/lib/factory.js +2 -2
  34. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/gna.js +13 -9
  35. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/locales/README.md +5 -0
  36. package/framework/v0.1.1-alpha.191/core/locales/dist/region/en.json +5727 -0
  37. package/framework/v0.1.1-alpha.191/core/locales/dist/region/fr.json +11452 -0
  38. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/locales/index.js +2 -2
  39. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/locales/src/make.js +39 -41
  40. package/framework/v0.1.1-alpha.191/core/locales/src/resources/region.mapping.json +43 -0
  41. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/model/entity.js +87 -67
  42. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/model/index.js +16 -16
  43. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/model/template/entityFactory.js +1 -1
  44. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/model/template/index.js +17 -15
  45. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/plugins/index.js +1 -1
  46. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/plugins/lib/file/package.json +1 -1
  47. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/plugins/lib/intl/package.json +1 -1
  48. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/plugins/lib/intl/src/main.js +5 -5
  49. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/plugins/lib/storage/package.json +1 -1
  50. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/plugins/lib/storage/src/main.js +6 -5
  51. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/plugins/lib/validator/package.json +1 -1
  52. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/plugins/lib/validator/src/form-validator.js +403 -300
  53. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/plugins/lib/validator/src/main.js +1368 -1314
  54. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/router.js +99 -90
  55. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/server.isaac.js +203 -180
  56. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/server.js +439 -238
  57. package/framework/v0.1.1-alpha.191/core/template/boilerplate/bundle/config/settings.json +12 -0
  58. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/boilerplate/bundle/config/settings.server.json +4 -4
  59. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/boilerplate/bundle/config/templates.json +4 -4
  60. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/boilerplate/bundle/controllers/controller.content.js +1 -1
  61. package/framework/v0.1.1-alpha.191/core/template/boilerplate/bundle/controllers/setup.js +111 -0
  62. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/boilerplate/bundle/index.js +13 -1
  63. package/framework/v0.1.1-alpha.191/core/template/boilerplate/bundle_templates/html/content/homepage.html +8 -0
  64. package/framework/v0.1.1-alpha.191/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +11 -0
  65. package/framework/v0.1.1-alpha.191/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +8 -0
  66. package/framework/{v0.1.1-alpha.19/core/template/boilerplate/bundle_templates/html/layout → v0.1.1-alpha.191/core/template/boilerplate/bundle_templates/html/layouts}/main.html +10 -3
  67. package/framework/v0.1.1-alpha.191/core/template/command/gina.bat.tpl +8 -0
  68. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/command/gina.tpl +4 -4
  69. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/conf/env.json +11 -0
  70. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/conf/package.json +1 -1
  71. package/framework/v0.1.1-alpha.191/core/template/conf/statics.json +12 -0
  72. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/conf/templates.json +2 -2
  73. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/helpers/console.js +3 -3
  74. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/helpers/context.js +148 -7
  75. package/framework/v0.1.1-alpha.191/helpers/data/LICENSE +9 -0
  76. package/framework/v0.1.1-alpha.191/helpers/data/README.md +12 -0
  77. package/framework/v0.1.1-alpha.191/helpers/data/package.json +20 -0
  78. package/framework/v0.1.1-alpha.191/helpers/data/src/main.js +295 -0
  79. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/helpers/dateFormat.js +9 -7
  80. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/helpers/index.js +13 -8
  81. package/framework/v0.1.1-alpha.191/helpers/json/LICENSE +9 -0
  82. package/framework/v0.1.1-alpha.191/helpers/json/README.md +12 -0
  83. package/framework/{v0.1.1-alpha.19/helpers/plugins → v0.1.1-alpha.191/helpers/json}/package.json +2 -2
  84. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/helpers/json/src/main.js +28 -26
  85. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/helpers/path.js +176 -96
  86. package/framework/{v0.1.1-alpha.19/helpers/json → v0.1.1-alpha.191/helpers/plugins}/package.json +2 -2
  87. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/helpers/plugins/src/api-error.js +23 -23
  88. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/helpers/plugins/src/main.js +3 -3
  89. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/helpers/prototypes.js +46 -38
  90. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/helpers/task.js +21 -14
  91. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/helpers/text.js +2 -2
  92. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/archiver/package.json +1 -1
  93. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/archiver/src/dep/jszip.min.js +3 -3
  94. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/archiver/src/main.js +168 -168
  95. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/aliases.json +4 -1
  96. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/bundle/add.js +84 -27
  97. package/framework/v0.1.1-alpha.191/lib/cmd/bundle/arguments.json +7 -0
  98. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/bundle/help.txt +4 -2
  99. package/framework/v0.1.1-alpha.191/lib/cmd/bundle/list.js +176 -0
  100. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/bundle/remove.js +36 -27
  101. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/bundle/start.js +264 -46
  102. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/bundle/stop.js +93 -74
  103. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/env/add.js +44 -43
  104. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/env/list.js +23 -4
  105. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/env/remove.js +19 -19
  106. package/framework/{v0.1.1-alpha.19/lib/cmd/scope → v0.1.1-alpha.191/lib/cmd/env}/use.js +21 -1
  107. package/framework/v0.1.1-alpha.191/lib/cmd/framework/build.js +88 -0
  108. package/framework/v0.1.1-alpha.191/lib/cmd/framework/init.js +798 -0
  109. package/framework/v0.1.1-alpha.191/lib/cmd/framework/link-node-modules.js +116 -0
  110. package/framework/v0.1.1-alpha.191/lib/cmd/framework/link.js +114 -0
  111. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/framework/open.js +22 -1
  112. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/framework/restart.js +61 -26
  113. package/framework/v0.1.1-alpha.191/lib/cmd/framework/set.js +276 -0
  114. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/framework/start.js +46 -20
  115. package/framework/v0.1.1-alpha.191/lib/cmd/framework/status.js +141 -0
  116. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/framework/stop.js +47 -28
  117. package/framework/v0.1.1-alpha.191/lib/cmd/framework/tail.js +302 -0
  118. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/framework/version.js +15 -3
  119. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/helper.js +131 -18
  120. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/index.js +23 -23
  121. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/port/inc/scan.js +32 -16
  122. package/framework/v0.1.1-alpha.191/lib/cmd/port/list.js +462 -0
  123. package/framework/v0.1.1-alpha.191/lib/cmd/port/reset.js +429 -0
  124. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/project/add.js +147 -122
  125. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/project/arguments.json +2 -1
  126. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/project/build.js +28 -28
  127. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/project/list.js +19 -2
  128. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/project/remove.js +19 -17
  129. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/project/rename.js +11 -11
  130. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/protocol/set.js +256 -209
  131. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/scope/list.js +27 -8
  132. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/scope/remove.js +19 -19
  133. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/view/add.js +35 -10
  134. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/collection/package.json +1 -1
  135. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/collection/src/main.js +243 -242
  136. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/config.js +31 -30
  137. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cron/package.json +1 -1
  138. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cron/src/main.js +10 -9
  139. package/framework/v0.1.1-alpha.191/lib/domain/LICENSE +9 -0
  140. package/framework/v0.1.1-alpha.191/lib/domain/README.md +46 -0
  141. package/framework/v0.1.1-alpha.191/lib/domain/dist/public_suffix_list.dat +14186 -0
  142. package/framework/v0.1.1-alpha.191/lib/domain/package.json +20 -0
  143. package/framework/v0.1.1-alpha.191/lib/domain/src/main.js +442 -0
  144. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/generator/index.js +4 -4
  145. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/index.js +3 -2
  146. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191/lib/inherits}/LICENSE +1 -1
  147. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/inherits/README.md +2 -2
  148. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/inherits/package.json +3 -4
  149. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/inherits/src/main.js +3 -3
  150. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/logger/package.json +2 -2
  151. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/logger/src/containers/default/index.js +13 -2
  152. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/logger/src/containers/file/index.js +109 -14
  153. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/logger/src/containers/mq/index.js +12 -3
  154. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/logger/src/containers/mq/listener.js +16 -14
  155. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/logger/src/containers/mq/speaker.js +32 -3
  156. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/logger/src/helper.js +21 -1
  157. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/logger/src/main.js +36 -9
  158. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/math/index.js +9 -9
  159. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/merge/README.md +2 -2
  160. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/merge/package.json +1 -1
  161. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/merge/src/main.js +118 -91
  162. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/model.js +10 -10
  163. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/proc.js +87 -49
  164. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/routing/package.json +1 -1
  165. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/routing/src/main.js +313 -285
  166. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/session-store.js +6 -6
  167. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/shell.js +3 -3
  168. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/swig-filters/package.json +1 -1
  169. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/swig-filters/src/main.js +140 -119
  170. package/framework/v0.1.1-alpha.191/lib/url/README.md +0 -0
  171. package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/validator.js +2 -2
  172. package/framework/v0.1.1-alpha.191/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/home/user/extensions/logger/default/config.json +1 -1
  177. package/resources/package.json.template +29 -18
  178. package/script/post_install.js +409 -124
  179. package/script/post_publish.js +186 -0
  180. package/script/pre_install.js +425 -77
  181. package/script/prepare_version.js +275 -98
  182. package/services/.gna/67fdf1b224a2ed5597e63d4b64283834468e05e3.txt +0 -0
  183. package/services/.gna/arch +1 -0
  184. package/services/.gna/locals.json +14 -0
  185. package/services/.gna/platform +1 -0
  186. package/services/configure +6 -0
  187. package/services/env.json +18 -0
  188. package/services/manifest.json +30 -0
  189. package/services/package.json +11 -0
  190. package/services/src/proxy/config/app.json +6 -0
  191. package/services/src/proxy/config/routing.json +11 -0
  192. package/services/src/proxy/config/settings.json +9 -0
  193. package/services/src/proxy/config/settings.server.json +31 -0
  194. package/services/src/proxy/config/statics.json +3 -0
  195. package/services/src/proxy/controllers/controller.content.js +58 -0
  196. package/services/src/proxy/controllers/controller.js +30 -0
  197. package/{framework/v0.1.1-alpha.19/core/template/boilerplate/bundle → services/src/proxy}/controllers/setup.js +14 -14
  198. package/services/src/proxy/index.js +31 -0
  199. package/services/src/proxy/lib/domain/README.md +48 -0
  200. package/services/src/proxy/lib/domain/src/config/public_suffix_list.dat +14186 -0
  201. package/services/src/toolbar/config/app.json +6 -0
  202. package/services/src/toolbar/config/routing.json +11 -0
  203. package/{framework/v0.1.1-alpha.19/core/template/boilerplate/bundle → services/src/toolbar}/config/settings.json +0 -0
  204. package/services/src/toolbar/config/settings.server.json +30 -0
  205. package/services/src/toolbar/controllers/controller.content.js +39 -0
  206. package/services/src/toolbar/controllers/controller.js +30 -0
  207. package/services/src/toolbar/controllers/setup.js +111 -0
  208. package/services/src/toolbar/index.js +43 -0
  209. package/utils/helper.js +236 -185
  210. package/utils/prototypes.js +9 -9
  211. package/utils/prototypes.json_clone.js +70 -37
  212. package/doc/framework/cli/doc.json +0 -9
  213. package/doc/framework/index.md +0 -60
  214. package/framework/v0.1.1-alpha.19/VERSION +0 -1
  215. package/framework/v0.1.1-alpha.19/core/asset/js/plugin/dist/gina.js.map +0 -56
  216. package/framework/v0.1.1-alpha.19/core/asset/js/plugin/dist/gina.min.css +0 -1
  217. package/framework/v0.1.1-alpha.19/core/asset/js/plugin/dist/gina.min.css.map +0 -1
  218. package/framework/v0.1.1-alpha.19/core/asset/js/plugin/dist/gina.min.js +0 -736
  219. package/framework/v0.1.1-alpha.19/core/asset/js/plugin/dist/gina.min.js.map +0 -56
  220. package/framework/v0.1.1-alpha.19/core/asset/js/plugin/dist/gina.onload.min.js +0 -5
  221. package/framework/v0.1.1-alpha.19/core/asset/js/plugin/dist/gina.onload.min.js.map +0 -8
  222. package/framework/v0.1.1-alpha.19/core/connectors/couchbase/lib/connector.js +0 -20
  223. package/framework/v0.1.1-alpha.19/core/connectors/couchbase/lib/session-store.js +0 -21
  224. package/framework/v0.1.1-alpha.19/core/locales/dist/region/en.json +0 -9492
  225. package/framework/v0.1.1-alpha.19/core/locales/dist/region/fr.json +0 -9492
  226. package/framework/v0.1.1-alpha.19/core/locales/src/resources/region.mapping.json +0 -28
  227. package/framework/v0.1.1-alpha.19/core/template/boilerplate/bundle_templates/html/homepage.html +0 -4
  228. package/framework/v0.1.1-alpha.19/core/template/conf/statics.json +0 -10
  229. package/framework/v0.1.1-alpha.19/lib/cmd/bundle/arguments.json +0 -4
  230. package/framework/v0.1.1-alpha.19/lib/cmd/bundle/list.js +0 -129
  231. package/framework/v0.1.1-alpha.19/lib/cmd/framework/init.js +0 -514
  232. package/framework/v0.1.1-alpha.19/lib/cmd/framework/set.js +0 -161
  233. package/framework/v0.1.1-alpha.19/lib/cmd/framework/status.js +0 -72
  234. package/framework/v0.1.1-alpha.19/lib/cmd/framework/tail.js +0 -183
  235. package/framework/v0.1.1-alpha.19/lib/cmd/port/list.js +0 -176
  236. package/framework/v0.1.1-alpha.19/package.json +0 -14
  237. /package/{framework/v0.1.1-alpha.19/core/template/command/gina.bat.tpl → bin/gina.bat} +0 -0
  238. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/AUTHORS +0 -0
  239. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/asset/html/nolayout.html +0 -0
  240. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/asset/html/static.html +0 -0
  241. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/asset/img/android-chrome-192x192.png +0 -0
  242. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/asset/img/android-chrome-512x512.png +0 -0
  243. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/asset/img/apple-touch-icon.png +0 -0
  244. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/asset/img/favicon-16x16.png +0 -0
  245. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/asset/img/favicon-32x32.png +0 -0
  246. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/asset/img/favicon.ico +0 -0
  247. /package/framework/{v0.1.1-alpha.19/core/asset/js → v0.1.1-alpha.191/core/asset}/plugin/uuid.json +0 -0
  248. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  249. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/controller/controller.framework.js +0 -0
  250. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/controller/index.js +0 -0
  251. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/deps/busboy/.travis.yml +0 -0
  252. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/deps/busboy/LICENSE +0 -0
  253. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/deps/busboy/README.md +0 -0
  254. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
  255. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/deps/busboy/deps/encoding/encoding.js +0 -0
  256. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/deps/busboy/lib/main.js +0 -0
  257. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/deps/busboy/lib/types/multipart.js +0 -0
  258. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/deps/busboy/lib/types/urlencoded.js +0 -0
  259. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/deps/busboy/lib/utils.js +0 -0
  260. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/deps/busboy/package.json +0 -0
  261. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  262. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/dev/lib/tools.js +0 -0
  263. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/locales/currency.json +0 -0
  264. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/locales/dist/language/en.json +0 -0
  265. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/locales/dist/language/fr.json +0 -0
  266. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/locales/src/resources/currency.csv +0 -0
  267. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/locales/src/resources/region.csv +0 -0
  268. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/mime.types +0 -0
  269. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/plugins/README.md +0 -0
  270. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/plugins/lib/file/README.md +0 -0
  271. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/plugins/lib/file/build.json +0 -0
  272. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/plugins/lib/intl/README.md +0 -0
  273. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/plugins/lib/intl/build.json +0 -0
  274. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/plugins/lib/storage/README.md +0 -0
  275. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/plugins/lib/storage/build.json +0 -0
  276. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/plugins/lib/validator/README.md +0 -0
  277. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/plugins/lib/validator/build.json +0 -0
  278. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/server.express.js +0 -0
  279. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/status.codes +0 -0
  280. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/boilerplate/bundle/config/app.json +0 -0
  281. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/boilerplate/bundle/config/routing.json +0 -0
  282. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  283. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  284. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  285. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  286. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  287. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  288. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/boilerplate/bundle_public/readme.md +0 -0
  289. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  290. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/conf/manifest.json +0 -0
  291. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/conf/settings.json +0 -0
  292. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/error/client/json/401.json +0 -0
  293. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/error/client/json/403.json +0 -0
  294. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/error/client/json/404.json +0 -0
  295. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/error/server/html/50x.html +0 -0
  296. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/error/server/json/500.json +0 -0
  297. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/error/server/json/503.json +0 -0
  298. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/core/template/extensions/logger/config.json +0 -0
  299. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/helpers/plugins/README.md +0 -0
  300. /package/framework/{v0.1.1-alpha.19/helpers/json → v0.1.1-alpha.191/lib/archiver}/README.md +0 -0
  301. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/archiver/build.json +0 -0
  302. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/bundle/copy.js +0 -0
  303. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/bundle/cp.js +0 -0
  304. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/bundle/help.js +0 -0
  305. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/bundle/rename.js +0 -0
  306. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/bundle/restart.js +0 -0
  307. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/bundle/rm.js +0 -0
  308. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/bundle/status.js +0 -0
  309. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/env/get.js +0 -0
  310. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/env/help.js +0 -0
  311. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/env/help.txt +0 -0
  312. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/env/link-dev.js +0 -0
  313. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/env/rm.js +0 -0
  314. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/env/set.js +0 -0
  315. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/env/unset.js +0 -0
  316. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/framework/dot.js +0 -0
  317. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/framework/get.js +0 -0
  318. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/framework/help.js +0 -0
  319. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/framework/help.txt +0 -0
  320. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/framework/msg.json +0 -0
  321. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/framework/update.js +0 -0
  322. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/gina-dev.1.md +0 -0
  323. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/gina-framework.1.md +0 -0
  324. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/gina.1.md +0 -0
  325. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/msg.json +0 -0
  326. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/port/help.js +0 -0
  327. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/port/help.txt +0 -0
  328. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/port/set.js +0 -0
  329. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/project/help.js +0 -0
  330. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/project/help.txt +0 -0
  331. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/project/import.js +0 -0
  332. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/project/move.js +0 -0
  333. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/project/restart.js +0 -0
  334. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/project/rm.js +0 -0
  335. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/project/start.js +0 -0
  336. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/project/status.js +0 -0
  337. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/project/stop.js +0 -0
  338. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/protocol/help.js +0 -0
  339. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/protocol/help.txt +0 -0
  340. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/protocol/list.js +0 -0
  341. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/scope/help.js +0 -0
  342. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/scope/help.txt +0 -0
  343. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/scope/link-local.js +0 -0
  344. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/scope/rm.js +0 -0
  345. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/scope/set.js +0 -0
  346. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cmd/scope/unset.js +0 -0
  347. /package/framework/{v0.1.1-alpha.19/lib/cmd/env → v0.1.1-alpha.191/lib/cmd/scope}/use.js +0 -0
  348. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/collection/README.md +0 -0
  349. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/collection/build.json +0 -0
  350. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/cron/README.md +0 -0
  351. /package/framework/{v0.1.1-alpha.19/lib/archiver/README.md → v0.1.1-alpha.191/lib/domain/exemples/backend.js} +0 -0
  352. /package/framework/{v0.1.1-alpha.19/lib/routing/README.md → v0.1.1-alpha.191/lib/domain/exemples/frontend.html} +0 -0
  353. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  354. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/inherits/example/protected_inheritance.js +0 -0
  355. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/inherits/example/simple_inheritance.js +0 -0
  356. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  357. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/logger/README.md +0 -0
  358. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  359. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  360. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/merge/example/merge.js +0 -0
  361. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/merge/example/merge_2_literal objects.js +0 -0
  362. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/merge/example/merge_and_preserve_first.js +0 -0
  363. /package/framework/{v0.1.1-alpha.19/lib/swig-filters → v0.1.1-alpha.191/lib/routing}/README.md +0 -0
  364. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/routing/build.json +0 -0
  365. /package/framework/{v0.1.1-alpha.19/lib/url → v0.1.1-alpha.191/lib/swig-filters}/README.md +0 -0
  366. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/url/index.js +0 -0
  367. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/url/mocks.json +0 -0
  368. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/url/routing.json +0 -0
  369. /package/framework/{v0.1.1-alpha.19 → v0.1.1-alpha.191}/lib/url/test.js +0 -0
@@ -1,6 +1,6 @@
1
1
  /**
2
- * This file is part of the gina package.
3
- * Copyright (c) 2017 Rhinostone <contact@gina.io>
2
+ * This file is part of the gina pkg.
3
+ * Copyright (c) 2009-2023 Rhinostone <contact@gina.io>
4
4
  *
5
5
  * For the full copyright and license information, please view the LICENSE
6
6
  * file that was distributed with this source code.
@@ -15,10 +15,6 @@ var { execSync } = require('child_process');
15
15
  //var lib = require('./lib');
16
16
  // var console = lib.logger;
17
17
  var lib = null;
18
- var isWin32 = function() {
19
- return (process.platform === 'win32') ? true : false;
20
- };
21
-
22
18
  var helpers = null;
23
19
 
24
20
  /**
@@ -27,43 +23,149 @@ var helpers = null;
27
23
  * if you need to test, go to gina main folder
28
24
  * $ node --inspect-brk=5858 ./script/pre_install.js -g
29
25
  *
26
+ * NB.: At this stage, Gina is not yet installed and no lib or helper cannot be used here
27
+ * excepted if Gina has been previously installed
28
+ *
30
29
  * @constructor
31
30
  * */
32
31
  function PreInstall() {
33
- var self = {}, _this = this;
32
+ var self = {};
33
+
34
+ var configure = function() {
35
+
36
+ // TODO - handle windows case
37
+ if ( /^true$/i.test(isWin32()) ) {
38
+ throw new Error('Windows in not yet fully supported. Thank you for your patience');
39
+ }
40
+
41
+ self.isWin32 = isWin32();
42
+ self.isGlobalInstall = process.env.npm_config_global || false;
43
+ self.isResetNeeded = process.env.npm_config_reset || false;
44
+ self.defaultPrefix = execSync('npm config get prefix').toString().replace(/\n$/g, '');
34
45
 
35
- var init = function() {
36
46
 
37
- self.isGlobalInstall = false;
38
- self.prefix = execSync('npm config get prefix');
39
- self.isGinaInstall = false;
47
+ // `process.env.npm_config_prefix` is only retrieved on `npm install gina`
48
+ // and it should always be equal to `self.defaultPrefix`
49
+ self.prefix = process.env.npm_config_prefix || self.defaultPrefix;
50
+ self.isCustomPrefix = false;
51
+ self.isGinaInstalled = false;
40
52
 
53
+ // Overriding thru passed arguments
41
54
  var args = process.argv, i = 0, len = args.length;
42
55
  for (; i < len; ++i) {
43
- if (args[i] == '-g' ) {
56
+ if ( /^(\-g|\-\-global)$/.test(args[i]) ) {
44
57
  self.isGlobalInstall = true;
45
- break;
58
+ continue;
59
+ }
60
+
61
+ if ( /^\-\-reset$/.test(args[i]) ) {
62
+ self.isResetNeeded = true;
63
+ continue;
64
+ }
65
+
66
+ if ( /^\-\-prefix\=/.test(args[i] ) ) {
67
+ self.isCustomPrefix = true;
68
+ self.prefix = args[i].split(/\=/)[1];
69
+ self.prefix = self.prefix.replace(/^\~/, getUserHome());
70
+ continue;
46
71
  }
47
72
  }
48
73
 
49
- if ( !self.isGlobalInstall ) { //global install
50
- self.root = process.cwd(); // project path
51
- self.tmpDir = os.tmpdir(); // default tmp path
52
- console.error('local installation is not supported for this version at the moment.');
53
- console.info('please use `npm install -g gina`');
54
- process.exit(1);
74
+ if (self.prefix != self.defaultPrefix) {
75
+ self.isCustomPrefix = true;
55
76
  }
56
77
 
78
+ // For local install
79
+ console.debug('self.isGlobalInstall => '+ self.isGlobalInstall);
80
+ if ( !self.isGlobalInstall ) {
81
+ console.warn('Local installation is not fully supported at the moment.');
82
+ console.warn('You are encouraged to use `npm install -g gina`\nor, if you are trying to link gina to your project, use `npm link gina` if Gina has already been installed globally\n');
83
+ // Just in case someone is trying to run pre_install from the `gina` module
84
+ console.info('process.env.INIT_CWD: ', process.env.INIT_CWD);
85
+ if (!/node\_modules(\\\\|\/)gina$/.test(process.env.INIT_CWD)) {
86
+ self.prefix = process.env.INIT_CWD;//process.cwd();
87
+ }
88
+ }
89
+
90
+ // checking permission
91
+ var hasPermissionsForBin = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'bin');
92
+ var hasPermissionsForLib = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'lib');
93
+ var hasPermissionsForVar = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'var');
94
+ if ( !hasPermissionsForBin || !hasPermissionsForLib || !hasPermissionsForVar) {
95
+ if (!hasPermissionsForBin) {
96
+ console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'bin')
97
+ }
98
+ if (!hasPermissionsForLib) {
99
+ console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'lib')
100
+ }
101
+ if (!hasPermissionsForVar) {
102
+ console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'var')
103
+ }
104
+
105
+ // console.warn('You do not have sufficient permissions. Switching to `--prefix='+ self.optionalPrefix +'`');
106
+ // process.env.npm_config_prefix = self.prefix = self.optionalPrefix;
107
+ }
108
+
109
+ var pkg = null, pkgObj = null, cmd = null;
110
+ try {
111
+ cmd = 'npm list gina --long --json --prefix='+ self.prefix;
112
+ if (self.isGlobalInstall) {
113
+ cmd += ' -g';
114
+ }
115
+ pkg = execSync(cmd).toString().replace(/\n$/g, '');
116
+ self.optionalPrefix = JSON.parse(pkg).dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
117
+
118
+ } catch(err) {
119
+ throw err
120
+ }
121
+ pkgObj = JSON.parse(pkg);
122
+ self.optionalPrefix = pkgObj.dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
123
+
124
+ if ( self.prefix != self.defaultPrefix ) {
125
+ self.isCustomPrefix = true;
126
+ }
127
+
128
+ self.gina = __dirname +'/..';
129
+ // tying to figure out if gina is already install the given prefix
130
+ // var hasFoundGina = execSync('npm list -g gina --long --json').toString().replace(/\n$/g, '');
131
+ var hasFoundGina = pkg;
132
+ try {
133
+ hasFoundGina = JSON.parse(hasFoundGina);
134
+ if ( hasFoundGina.dependencies && typeof(hasFoundGina.dependencies.gina) != 'undefined' ) {
135
+ self.isGinaInstalled = true;
136
+ self.versionPath = self.gina;
137
+ self.versionPath += (isWin32()) ? '\\framework\\' : '/framework/';
138
+ self.versionPath += 'v'+ hasFoundGina.dependencies.gina.version;
139
+
140
+ console.debug('Install path => '+ hasFoundGina.dependencies.gina.path);
141
+
142
+ // OK ... found installed gina but on a different prefix
143
+ // In this case, let's assume that it is not really installed
144
+ if ( !new RegExp('^'+ self.prefix).test(hasFoundGina.dependencies.gina.path) ) {
145
+ self.isGinaInstalled = false;
146
+ }
147
+ }
148
+ } catch (err) {}
149
+
150
+ console.debug('self.defaultPrefix => '+ self.defaultPrefix);
151
+ console.debug('self.optionalPrefix => '+ self.optionalPrefix );
152
+ console.debug('self.prefix => '+ self.prefix);
153
+ console.debug('self.isCustomPrefix => ', self.isCustomPrefix);
154
+ // only available when running the script with NPM
155
+ console.debug('process.env.npm_config_prefix => '+ process.env.npm_config_prefix);
156
+ }
157
+
158
+ var init = function() {
159
+
160
+ configure();
57
161
 
58
162
  begin(0);
59
- // TODO check old framework version to be archived
60
163
  }
61
164
 
62
165
  /**
63
166
  * Bebin - Will run checking tasks in order of declaration
64
167
  * */
65
168
  var begin = async function(i) {
66
- //console.debug('i is ', i);
67
169
  var n = 0, funct = null, functName = null;
68
170
  for (let t in self) {
69
171
  if ( typeof(self[t]) == 'function') {
@@ -81,49 +183,81 @@ function PreInstall() {
81
183
 
82
184
  // to handle sync vs async to allow execution in order of declaration
83
185
  if (funct) {
84
- 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
186
+ 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
85
187
  } else {
86
188
  process.exit(0);
87
189
  }
88
190
  }
89
191
 
192
+
193
+
90
194
  self.checkRequirements = async function(done) {
91
- // TODO - handle windows case
92
- if ( /true/i.test(self.isWin32) ) {
93
- return done( new Error('Windows in not yet fully supported. Thank you for your patience'));
195
+
196
+ var ginaHome = getUserHome() + ( isWin32() ? '\\.gina' : '/.gina' );
197
+ if ( self.isResetNeeded && existsSync(ginaHome) ) {
198
+ console.debug('`.gina` reset requested ...');
199
+ fs.rmSync(ginaHome, { recursive: true, force: true });
94
200
  }
95
201
 
96
202
  // Let's temporarily install `colors` into `GINA_DIR` it will be removed by the `post_install.js` script
97
203
  var initialDir = process.cwd();
98
- var frameworkPath = __dirname +'/..';
99
- if ( !fs.existsSync(frameworkPath +'/node_modules/colors') ) {
100
- process.chdir(frameworkPath);
204
+
205
+ if ( !fs.existsSync(self.gina +'/node_modules/colors') ) {
206
+ process.chdir(self.gina);
207
+
208
+ var oldConfigGlobal = process.env.npm_config_global;
209
+ process.env.npm_config_global=false;
101
210
  var cmd = ( isWin32() ) ? 'npm.cmd install colors@1.4.0' : 'npm install colors@1.4.0';
102
211
  execSync(cmd);
212
+ process.env.npm_config_global=oldConfigGlobal;
213
+
103
214
  process.chdir(initialDir);
104
215
  }
105
216
 
106
- if ( !fs.existsSync(frameworkPath +'/node_modules/gina') ) {
107
- return done();
217
+
218
+
219
+ console.debug('framework path: ' + self.gina);
220
+ console.debug('framework version path: ' + self.versionPath);
221
+ console.debug('Is this a global install: '+ self.isGlobalInstall);
222
+
223
+ done();
224
+ }
225
+
226
+ self.checkRequiredFolders = function(done) {
227
+
228
+ var ginaHomeDir = getUserHome() + ((isWin32()) ? '\\.gina': '/.gina');
229
+ if (!existsSync(ginaHomeDir) ) {
230
+ fs.mkdirSync(ginaHomeDir)
231
+ }
232
+
233
+ // check for `/usr/local/tmp` or `/tmp`
234
+ var tmpDir = getTmpDir(self.prefix);
235
+ console.info('`tmp` dir -> '+ tmpDir);
236
+ if ( !existsSync(tmpDir) ) {
237
+ fs.mkdirSync(tmpDir)
108
238
  }
109
- self.isGinaInstall = true;
110
239
 
111
- helpers = require(frameworkPath+ '/utils/helpers');
112
240
 
113
- lib = require('./lib');
114
- console = lib.logger;
241
+ // check for `/usr/local/run`
242
+ var runDir = getRunDir(self.prefix);
243
+ console.info('`run` dir -> '+ runDir);
115
244
 
116
- self.isWin32 = isWin32();//getEnvVar('GINA_IS_WIN32');
117
- self.path = getEnvVar('GINA_FRAMEWORK');
118
- self.gina = getEnvVar('GINA_DIR');
119
- self.root = self.gina; // by default
245
+ // check for `/usr/local/log`
246
+ var logDir = getLogDir(self.prefix);
247
+ console.info('`log` dir -> '+ logDir);
120
248
 
121
- console.debug('framework path: ' + self.gina);
122
- console.debug('framework version path: ' + self.path);
123
- console.debug('cwd path: ' + self.root );
124
- console.debug('this is a global install ...');
249
+ // var settingsBackupPath = tmpDir + ((isWin32()) ? '\\': '/') + 'gina-install-settings.json';
250
+ // console.info('tmp folder backup -> '+ settingsBackupPath);
251
+ // var data = JSON.stringify({
252
+ // prefix: self.prefix,
253
+ // rundir: runDir,
254
+ // logdir: logDir,
255
+ // tmpdir: tmpDir
256
+ // }, null, 4);
257
+ // fs.writeFileSync(settingsBackupPath, data);
258
+ // fs.chmodSync(settingsBackupPath, 0755);
125
259
 
126
- done();
260
+ done()
127
261
  }
128
262
 
129
263
 
@@ -146,7 +280,7 @@ function PreInstall() {
146
280
  // }
147
281
  // // from `/usr/local` -> `~/.npm-global`
148
282
  // var cmd = 'npm config set prefix '+ getUserHome() +'/.npm-global';
149
- // await promisify(run)(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
283
+ // await promisify(run)(cmd, { cwd: _(self.path), tmp: getTmpDir(self.prefix);, outToProcessSTD: true })
150
284
  // .catch(function onError(err){
151
285
  // if (err) {
152
286
  // console.warn('try to run: sudo ' + cmd);
@@ -158,7 +292,7 @@ function PreInstall() {
158
292
  // var profilePathObj = new _(profilePath);
159
293
  // if ( !profilePathObj.existsSync() ) {
160
294
  // cmd = 'touch '+ profilePath;
161
- // await promisify(run)(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
295
+ // await promisify(run)(cmd, { cwd: _(self.path), tmp: getTmpDir(self.prefix);, outToProcessSTD: true })
162
296
  // .catch(function onError(err){
163
297
  // if (err) {
164
298
  // console.warn('try to run: sudo ' + cmd);
@@ -199,29 +333,45 @@ function PreInstall() {
199
333
 
200
334
  self.checkIfGinaIsAlreadyInstalled = async function(done) {
201
335
 
202
- console.debug('Checking if Gina is already installed');
203
- if (!self.isGinaInstall) {
336
+ console.debug('Checking if Gina is already installed for prefix `'+ self.prefix+'`: '+ self.isGinaInstalled);
337
+ if (!self.isGinaInstalled) {
204
338
  return done();
205
339
  }
206
340
 
341
+
207
342
  // Backup current version
208
343
 
209
344
  // check for ~/.gina
210
- var ginaHomeDir = _(getUserHome() + '/.gina', true);
345
+ var ginaHomeDir = getUserHome() + ((isWin32()) ? '\\.gina': '/.gina');
211
346
  // if not found -> skip because it means that gina might not be installed or configured yet
212
- if ( !new _(ginaHomeDir).existsSync() ) {
347
+ if (!existsSync(ginaHomeDir) ) {
213
348
  return done();
214
349
  }
215
350
 
351
+ var frameworkPath = self.versionPath;
352
+ try {
353
+ helpers = require(self.gina+ '/utils/helper');
354
+ lib = require('./lib');
355
+ console = lib.logger;
356
+ } catch (err) {
357
+ return done(err)
358
+ }
359
+
360
+
361
+
362
+ // root
363
+ // self.gina = getEnvVar('GINA_DIR');
364
+ // self.versionPath = getEnvVar('GINA_FRAMEWORK');
365
+
216
366
  // check if framework version folder is found
217
- var versionsFolders = null, frameworkPath = null;
367
+ var versionsFolders = null, frameworkFolder = null;
218
368
  try {
219
- frameworkPath = _(self.root +'/framework', true);
220
- console.info('frameworkPath: ', frameworkPath);
221
- if ( !new _(frameworkPath).existsSync() ) {
369
+ frameworkFolder = _(self.gina +'/framework', true);
370
+ console.debug('frameworkFolder: ', frameworkFolder);
371
+ if ( !existsSync(frameworkFolder) ) {
222
372
  return done();
223
373
  }
224
- versionsFolders = fs.readdirSync(frameworkPath);
374
+ versionsFolders = fs.readdirSync(frameworkFolder);
225
375
  } catch (err) {
226
376
  // do nothing
227
377
  }
@@ -273,43 +423,241 @@ function PreInstall() {
273
423
  });
274
424
 
275
425
  if (err) {
276
- throw err;
426
+ return done(err);
277
427
  }
278
428
  }
279
429
  // It is not required to update `~/.gina/main.json` && `~/.gina/{shortVersion}/settings.json`
430
+ done()
431
+ }
432
+
433
+ var isWin32 = function() {
434
+ return (process.platform === 'win32') ? true : false;
435
+ };
436
+
437
+ var existsSync = function(path) {
438
+ if ( fs.accessSync && typeof(fs.accessSync) != 'undefined' ) {
439
+ try {
440
+ fs.accessSync(path, fs.constants.F_OK);
441
+ return true;
442
+ } catch (err) {
443
+ return false;
444
+ }
445
+ } else { // support for old version of nodejs
446
+ return fs.existsSync(path);
447
+ }
448
+ }
280
449
 
281
- self.checkRequiredFolders = function(done) {
450
+ var isWritableSync = function(path) {
451
+ var canWrite = false;
452
+ if ( fs.accessSync && typeof(fs.accessSync) != 'undefined' ) {
453
+ try {
454
+ fs.accessSync(path, fs.constants.W_OK);
455
+ canWrite = true;
456
+ } catch (err) {
457
+ canWrite = false;
458
+ }
459
+ } else { // support for old version of nodejs
282
460
 
283
- // check for `/usr/local/tmp`
284
- var tmpDir = getTmpDir()
285
- console.info('`tmp` dir -> '+ tmpDir);
286
- var tmpDirObj = new _(tmpDir, true);
287
- if ( !tmpDirObj.existsSync() ) {
288
- tmpDirObj.mkdirSync()
461
+ try {
462
+ canWrite = (fs.statSync(path).mode & (fs.constants.S_IRUSR | fs.constants.S_IRGRP | fs.constants.S_IROTH));
463
+ } catch (err) {
464
+ canWrite = false
289
465
  }
466
+ }
467
+
468
+ return canWrite
469
+ };
290
470
 
291
- // check for `/usr/local/run`
292
- var runDir = getRunDir();
293
- console.info('`run` dir -> '+ runDir);
294
- var runDirObj = new _(runDir, true);
295
- if ( !runDirObj.existsSync() ) {
296
- runDirObj.mkdirSync()
471
+ /**
472
+ * Get run\lock path
473
+ * @returns {string} rundir
474
+ * */
475
+ var getRunDir = function(prefix) {
476
+ if ( !prefix || typeof(prefix) == 'undefined' || prefix == '' ) {
477
+ prefix = self.defaultPrefix;
478
+ }
479
+
480
+ // Trying to retrieve original value if already defined
481
+ // Means `/usr/local/var/lock` or `/usr/local/var/run` by default.
482
+ var runDir = (isWin32()) ? getUserHome() + '\\.gina\\run' : prefix+'/var/lock';
483
+
484
+ if ( !isWin32() && new RegExp('^'+ prefix).test(runDir) && !isWritableSync(prefix) ) {
485
+ runDir = getUserHome() +'/.gina/run';
486
+ if ( !existsSync(runDir) ) {
487
+ fs.mkdirSync(runDir)
297
488
  }
298
489
 
299
- // check for `/usr/local/log`
300
- var logDir = getLogDir();
301
- console.info('`log` dir -> '+ logDir);
302
- var logDirObj = new _(logDir, true);
303
- if ( !logDirObj.existsSync() ) {
304
- logDirObj.mkdirSync()
490
+ return runDir
491
+ }
492
+
493
+ if (!self.isGlobalInstall) {
494
+ runDir = runDir.replace(/\/var\//, '/')
495
+ }
496
+
497
+ if ( existsSync(runDir) ) {
498
+ if ( !isWritableSync(runDir) ) {
499
+ throw new Error('location `'+ runDir +'` found but not writable !' )
500
+ }
501
+
502
+ runDir += ( isWin32() || !self.isGlobalInstall ) ? '' : '/gina'
503
+ if ( !existsSync(runDir) ) {
504
+ fs.mkdirSync(runDir)
305
505
  }
306
506
 
307
- done()
507
+ return runDir;
308
508
  }
309
509
 
510
+ try {
511
+ //by default.
512
+ runDir = prefix;
513
+ if (!self.isGlobalInstall) {
514
+ runDir += '/var';
515
+ }
310
516
 
311
- done()
312
- }
517
+ if ( !existsSync(runDir) ) {
518
+ fs.mkdirSync(runDir)
519
+ }
520
+ runDir += '/run';
521
+ if ( !existsSync(runDir) ) {
522
+ fs.mkdirSync(runDir)
523
+ }
524
+ } catch (err) {
525
+ throw new Error('location error: `'+ runDir+'`\n'+ err.stack);
526
+ }
527
+
528
+ if (self.optionalPrefix != prefix && self.isGlobalInstall) {
529
+ runDir += ( isWin32() ) ? '\\gina' : '/gina'
530
+ if ( !existsSync(runDir) ) {
531
+ fs.mkdirSync(runDir)
532
+ }
533
+ }
534
+
535
+ return runDir;
536
+ };
537
+
538
+ var getTmpDir = function(prefix) {
539
+ if ( !prefix || typeof(prefix) == 'undefined' || prefix == '' ) {
540
+ prefix = self.defaultPrefix;
541
+ }
542
+ // support for node 0.10.x & 0.11.x
543
+ var tmp = (os.tmpdir) ? os.tmpdir : function() {
544
+ var tmpDir = null;
545
+ if ( isWin32() ) {
546
+ tmpDir = process.env.TEMP ||
547
+ process.env.TMP ||
548
+ (process.env.SystemRoot || process.env.windir) + '\\Temp'
549
+ ;
550
+ } else {
551
+ tmpDir = process.env.TMPDIR ||
552
+ process.env.TMP ||
553
+ process.env.TEMP ||
554
+ prefix+'/var/tmp'
555
+ ;
556
+
557
+ if ( new RegExp('^'+ prefix).test(tmpDir) && !isWritableSync(prefix) ) {
558
+ tmpDir = getUserHome() +'/.gina/tmp';
559
+ if ( !existsSync(tmpDir) ) {
560
+ fs.mkdirSync(tmpDir)
561
+ }
562
+ }
563
+
564
+ if ( new RegExp('^'+ prefix +'/var').test(tmpDir) && !existsSync(prefix+'/var') ) {
565
+ fs.mkdirSync(prefix+'/var');
566
+ }
567
+ }
568
+
569
+ if ( !existsSync(tmpDir) ) {
570
+ fs.mkdirSync(tmpDir);
571
+ }
572
+
573
+ return tmpDir
574
+ };
575
+
576
+ return tmp()
577
+ };
578
+
579
+ /**
580
+ * Get log path - %SystemRoot%\system32\winevt\logs or /
581
+ *
582
+ * @returns {string} logPath
583
+ * */
584
+ var getLogDir = function(prefix) {
585
+ if ( !prefix || typeof(prefix) == 'undefined' || prefix == '' ) {
586
+ prefix = self.defaultPrefix;
587
+ }
588
+ // Trying to retrieve original value if already defined
589
+ var logDir = null;
590
+
591
+ if ( isWin32() ) {
592
+ logDir = process.env.LOG ||
593
+ process.env.LOGS ||
594
+ (process.env.SystemRoot || process.env.windir) + '\\System32\\Winevt\\Logs'
595
+ ;
596
+
597
+ if ( !logDir || logDir == '' ) {
598
+ throw new Error('Log directory not defined or not found !');
599
+ }
600
+
601
+ if ( !isWritableSync(logDir) ) {
602
+ throw new Error('Log directory found but not writable: need permissions for `'+ logDir +'`');
603
+ }
604
+
605
+ if ( !/gina$/.test(logDir) ) {
606
+ logDir += '\\gina'
607
+ }
608
+ } else {
609
+ logDir = process.env.LOGDIR ||
610
+ process.env.LOG ||
611
+ process.env.LOGS ||
612
+ prefix+'/var/log'
613
+ ;
614
+
615
+ if ( new RegExp('^'+ prefix).test(logDir) && !isWritableSync(prefix) ) {
616
+ logDir = getUserHome() +'/.gina/log';
617
+ if ( !existsSync(logDir) ) {
618
+ fs.mkdirSync(logDir)
619
+ }
620
+
621
+ return logDir
622
+ }
623
+
624
+ if ( new RegExp('^'+ prefix +'/var').test(logDir) && !existsSync(prefix+'/var') ) {
625
+ fs.mkdirSync(prefix+'/var');
626
+ }
627
+
628
+ if ( !existsSync(logDir) ) {
629
+ fs.mkdirSync(logDir);
630
+ }
631
+
632
+ if ( !/gina$/.test(logDir) && self.optionalPrefix != prefix ) {
633
+ logDir += '/gina'
634
+ }
635
+ }
636
+
637
+ if ( !existsSync(logDir) ) {
638
+ fs.mkdirSync(logDir)
639
+ }
640
+
641
+ return logDir;
642
+ };
643
+
644
+ var getUserHome = function() {
645
+ var home = os.homedir ? os.homedir : function() {
646
+ var homeDir = process.env[(isWin32()) ? 'USERPROFILE' : 'HOME'];
647
+
648
+ if ( !homeDir || homeDir == '' ) {
649
+ throw new Error('Home directory not defined or not found !');
650
+ }
651
+
652
+ if ( !isWritableSync(homeDir) ) {
653
+ throw new Error('Home directory found but not writable: need permissions for `'+ homeDir +'`');
654
+ }
655
+
656
+ return homeDir;
657
+ };
658
+
659
+ return home()
660
+ };
313
661
 
314
662
  init()
315
663
  }