gina 0.1.1-alpha.2 → 0.1.1-alpha.200

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 (370) hide show
  1. package/AUTHORS +2 -1
  2. package/LICENSE +1 -1
  3. package/README-4Contributors.md +30 -0
  4. package/README.md +210 -32
  5. package/bin/cli +166 -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.2/lib/inherits → v0.1.1-alpha.200}/LICENSE +1 -1
  10. package/framework/v0.1.1-alpha.200/VERSION +1 -0
  11. package/framework/{v0.1.1-alpha.2/core/asset/js/plugin/readme.md → v0.1.1-alpha.200/core/asset/plugin/README.md} +31 -9
  12. package/framework/v0.1.1-alpha.200/core/asset/plugin/dist/vendor/gina/css/gina.min.css +1 -0
  13. package/framework/v0.1.1-alpha.200/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
  14. package/framework/v0.1.1-alpha.200/core/asset/plugin/dist/vendor/gina/html/toolbar.html +251 -0
  15. package/framework/{v0.1.1-alpha.2/core/asset/js/plugin/dist → v0.1.1-alpha.200/core/asset/plugin/dist/vendor/gina/js}/gina.js +4364 -3175
  16. package/framework/v0.1.1-alpha.200/core/asset/plugin/dist/vendor/gina/js/gina.min.js +764 -0
  17. package/framework/v0.1.1-alpha.200/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
  18. package/framework/v0.1.1-alpha.200/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +5 -0
  19. package/framework/v0.1.1-alpha.200/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
  20. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/config.js +172 -79
  21. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/connectors/couchbase/index.js +373 -259
  22. package/framework/v0.1.1-alpha.200/core/connectors/couchbase/lib/connector.js +22 -0
  23. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/connectors/couchbase/lib/connector.v2.js +51 -51
  24. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/connectors/couchbase/lib/connector.v3.js +51 -51
  25. package/framework/v0.1.1-alpha.200/core/connectors/couchbase/lib/connector.v4.js +384 -0
  26. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/connectors/couchbase/lib/n1ql.js +3 -2
  27. package/framework/v0.1.1-alpha.200/core/connectors/couchbase/lib/session-store.js +22 -0
  28. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/connectors/couchbase/lib/session-store.v3.js +12 -12
  29. package/framework/v0.1.1-alpha.200/core/connectors/couchbase/lib/session-store.v4.js +361 -0
  30. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/controller/controller.js +921 -773
  31. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/dev/index.js +1 -1
  32. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/dev/lib/class.js +1 -1
  33. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/dev/lib/factory.js +2 -2
  34. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/gna.js +13 -9
  35. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/locales/README.md +5 -0
  36. package/framework/v0.1.1-alpha.200/core/locales/dist/region/en.json +5727 -0
  37. package/framework/v0.1.1-alpha.200/core/locales/dist/region/fr.json +11452 -0
  38. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/locales/index.js +2 -2
  39. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/locales/src/make.js +39 -41
  40. package/framework/v0.1.1-alpha.200/core/locales/src/resources/region.mapping.json +43 -0
  41. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/model/entity.js +87 -67
  42. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/model/index.js +16 -16
  43. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/model/template/entityFactory.js +1 -1
  44. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/model/template/index.js +17 -15
  45. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/index.js +1 -1
  46. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/file/package.json +1 -1
  47. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/intl/package.json +1 -1
  48. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/intl/src/main.js +5 -5
  49. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/storage/package.json +1 -1
  50. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/storage/src/main.js +6 -5
  51. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/validator/package.json +1 -1
  52. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/validator/src/form-validator.js +403 -300
  53. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/validator/src/main.js +1368 -1314
  54. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/router.js +99 -90
  55. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/server.isaac.js +203 -180
  56. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/server.js +439 -238
  57. package/framework/v0.1.1-alpha.200/core/template/boilerplate/bundle/config/settings.json +12 -0
  58. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle/config/settings.server.json +4 -4
  59. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle/config/templates.json +4 -4
  60. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle/controllers/controller.content.js +1 -1
  61. package/framework/v0.1.1-alpha.200/core/template/boilerplate/bundle/controllers/setup.js +111 -0
  62. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle/index.js +13 -1
  63. package/framework/v0.1.1-alpha.200/core/template/boilerplate/bundle_templates/html/content/homepage.html +8 -0
  64. package/framework/v0.1.1-alpha.200/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +11 -0
  65. package/framework/v0.1.1-alpha.200/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +8 -0
  66. package/framework/{v0.1.1-alpha.2/core/template/boilerplate/bundle_templates/html/layout → v0.1.1-alpha.200/core/template/boilerplate/bundle_templates/html/layouts}/main.html +10 -3
  67. package/framework/v0.1.1-alpha.200/core/template/command/gina.bat.tpl +8 -0
  68. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/command/gina.tpl +4 -4
  69. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/conf/env.json +11 -0
  70. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/conf/package.json +1 -1
  71. package/framework/v0.1.1-alpha.200/core/template/conf/statics.json +12 -0
  72. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/conf/templates.json +2 -2
  73. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/console.js +3 -3
  74. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/context.js +148 -7
  75. package/framework/v0.1.1-alpha.200/helpers/data/LICENSE +9 -0
  76. package/framework/v0.1.1-alpha.200/helpers/data/README.md +12 -0
  77. package/framework/v0.1.1-alpha.200/helpers/data/package.json +20 -0
  78. package/framework/v0.1.1-alpha.200/helpers/data/src/main.js +295 -0
  79. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/dateFormat.js +9 -7
  80. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/index.js +13 -8
  81. package/framework/v0.1.1-alpha.200/helpers/json/LICENSE +9 -0
  82. package/framework/v0.1.1-alpha.200/helpers/json/README.md +12 -0
  83. package/framework/{v0.1.1-alpha.2/helpers/plugins → v0.1.1-alpha.200/helpers/json}/package.json +2 -2
  84. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/json/src/main.js +28 -26
  85. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/path.js +176 -96
  86. package/framework/{v0.1.1-alpha.2/helpers/json → v0.1.1-alpha.200/helpers/plugins}/package.json +2 -2
  87. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/plugins/src/api-error.js +23 -23
  88. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/plugins/src/main.js +3 -3
  89. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/prototypes.js +46 -38
  90. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/task.js +21 -14
  91. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/text.js +2 -2
  92. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/archiver/package.json +1 -1
  93. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/archiver/src/dep/jszip.min.js +3 -3
  94. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/archiver/src/main.js +168 -168
  95. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/aliases.json +4 -1
  96. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/add.js +84 -27
  97. package/framework/v0.1.1-alpha.200/lib/cmd/bundle/arguments.json +7 -0
  98. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/help.txt +4 -2
  99. package/framework/v0.1.1-alpha.200/lib/cmd/bundle/list.js +176 -0
  100. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/remove.js +36 -27
  101. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/start.js +264 -46
  102. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/stop.js +93 -74
  103. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/env/add.js +44 -43
  104. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/env/list.js +23 -4
  105. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/env/remove.js +19 -19
  106. package/framework/{v0.1.1-alpha.2/lib/cmd/scope → v0.1.1-alpha.200/lib/cmd/env}/use.js +21 -1
  107. package/framework/v0.1.1-alpha.200/lib/cmd/framework/build.js +88 -0
  108. package/framework/v0.1.1-alpha.200/lib/cmd/framework/init.js +798 -0
  109. package/framework/v0.1.1-alpha.200/lib/cmd/framework/link-node-modules.js +116 -0
  110. package/framework/v0.1.1-alpha.200/lib/cmd/framework/link.js +114 -0
  111. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/framework/open.js +22 -1
  112. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/framework/restart.js +61 -26
  113. package/framework/v0.1.1-alpha.200/lib/cmd/framework/set.js +276 -0
  114. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/framework/start.js +46 -20
  115. package/framework/v0.1.1-alpha.200/lib/cmd/framework/status.js +141 -0
  116. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/framework/stop.js +47 -28
  117. package/framework/v0.1.1-alpha.200/lib/cmd/framework/tail.js +302 -0
  118. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/framework/version.js +15 -3
  119. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/helper.js +131 -18
  120. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/index.js +23 -23
  121. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/port/inc/scan.js +32 -16
  122. package/framework/v0.1.1-alpha.200/lib/cmd/port/list.js +462 -0
  123. package/framework/v0.1.1-alpha.200/lib/cmd/port/reset.js +429 -0
  124. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/add.js +147 -122
  125. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/arguments.json +2 -1
  126. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/build.js +28 -28
  127. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/list.js +19 -2
  128. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/remove.js +19 -17
  129. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/rename.js +11 -11
  130. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/protocol/set.js +256 -209
  131. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/scope/list.js +27 -8
  132. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/scope/remove.js +19 -19
  133. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/view/add.js +35 -10
  134. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/collection/package.json +1 -1
  135. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/collection/src/main.js +243 -242
  136. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/config.js +31 -30
  137. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cron/package.json +1 -1
  138. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cron/src/main.js +10 -9
  139. package/framework/v0.1.1-alpha.200/lib/domain/LICENSE +9 -0
  140. package/framework/v0.1.1-alpha.200/lib/domain/README.md +46 -0
  141. package/framework/v0.1.1-alpha.200/lib/domain/dist/public_suffix_list.dat +14186 -0
  142. package/framework/v0.1.1-alpha.200/lib/domain/package.json +20 -0
  143. package/framework/v0.1.1-alpha.200/lib/domain/src/main.js +442 -0
  144. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/generator/index.js +4 -4
  145. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/index.js +3 -2
  146. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200/lib/inherits}/LICENSE +1 -1
  147. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/inherits/README.md +2 -2
  148. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/inherits/package.json +3 -4
  149. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/inherits/src/main.js +3 -3
  150. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/logger/package.json +2 -2
  151. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/logger/src/containers/default/index.js +13 -2
  152. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/logger/src/containers/file/index.js +109 -14
  153. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/logger/src/containers/mq/index.js +12 -3
  154. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/logger/src/containers/mq/listener.js +16 -14
  155. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/logger/src/containers/mq/speaker.js +32 -3
  156. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/logger/src/helper.js +21 -1
  157. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/logger/src/main.js +42 -10
  158. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/math/index.js +9 -9
  159. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/merge/README.md +2 -2
  160. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/merge/package.json +1 -1
  161. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/merge/src/main.js +118 -91
  162. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/model.js +10 -10
  163. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/proc.js +87 -49
  164. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/routing/package.json +1 -1
  165. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/routing/src/main.js +313 -285
  166. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/session-store.js +6 -6
  167. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/shell.js +3 -3
  168. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/swig-filters/package.json +1 -1
  169. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/swig-filters/src/main.js +140 -119
  170. package/framework/v0.1.1-alpha.200/lib/url/README.md +0 -0
  171. package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/validator.js +2 -2
  172. package/framework/v0.1.1-alpha.200/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/lib.js +0 -0
  179. package/script/post_install.js +417 -114
  180. package/script/post_publish.js +188 -0
  181. package/script/pre_install.js +462 -69
  182. package/script/prepare_version.js +209 -26
  183. package/services/.gna/67fdf1b224a2ed5597e63d4b64283834468e05e3.txt +0 -0
  184. package/services/.gna/arch +1 -0
  185. package/services/.gna/locals.json +14 -0
  186. package/services/.gna/platform +1 -0
  187. package/services/configure +6 -0
  188. package/services/env.json +18 -0
  189. package/services/manifest.json +30 -0
  190. package/services/package.json +11 -0
  191. package/services/src/proxy/config/app.json +6 -0
  192. package/services/src/proxy/config/routing.json +11 -0
  193. package/services/src/proxy/config/settings.json +9 -0
  194. package/services/src/proxy/config/settings.server.json +31 -0
  195. package/services/src/proxy/config/statics.json +3 -0
  196. package/services/src/proxy/controllers/controller.content.js +58 -0
  197. package/services/src/proxy/controllers/controller.js +30 -0
  198. package/{framework/v0.1.1-alpha.2/core/template/boilerplate/bundle → services/src/proxy}/controllers/setup.js +14 -14
  199. package/services/src/proxy/index.js +31 -0
  200. package/services/src/proxy/lib/domain/README.md +48 -0
  201. package/services/src/proxy/lib/domain/src/config/public_suffix_list.dat +14186 -0
  202. package/services/src/toolbar/config/app.json +6 -0
  203. package/services/src/toolbar/config/routing.json +11 -0
  204. package/{framework/v0.1.1-alpha.2/core/template/boilerplate/bundle → services/src/toolbar}/config/settings.json +0 -0
  205. package/services/src/toolbar/config/settings.server.json +30 -0
  206. package/services/src/toolbar/controllers/controller.content.js +39 -0
  207. package/services/src/toolbar/controllers/controller.js +30 -0
  208. package/services/src/toolbar/controllers/setup.js +111 -0
  209. package/services/src/toolbar/index.js +43 -0
  210. package/utils/helper.js +236 -185
  211. package/utils/prototypes.js +9 -9
  212. package/utils/prototypes.json_clone.js +70 -37
  213. package/doc/framework/cli/doc.json +0 -9
  214. package/doc/framework/index.md +0 -60
  215. package/framework/v0.1.1-alpha.2/VERSION +0 -1
  216. package/framework/v0.1.1-alpha.2/core/asset/js/plugin/dist/gina.js.map +0 -56
  217. package/framework/v0.1.1-alpha.2/core/asset/js/plugin/dist/gina.min.css +0 -1
  218. package/framework/v0.1.1-alpha.2/core/asset/js/plugin/dist/gina.min.css.map +0 -1
  219. package/framework/v0.1.1-alpha.2/core/asset/js/plugin/dist/gina.min.js +0 -736
  220. package/framework/v0.1.1-alpha.2/core/asset/js/plugin/dist/gina.min.js.map +0 -56
  221. package/framework/v0.1.1-alpha.2/core/asset/js/plugin/dist/gina.onload.min.js +0 -5
  222. package/framework/v0.1.1-alpha.2/core/asset/js/plugin/dist/gina.onload.min.js.map +0 -8
  223. package/framework/v0.1.1-alpha.2/core/connectors/couchbase/lib/connector.js +0 -20
  224. package/framework/v0.1.1-alpha.2/core/connectors/couchbase/lib/session-store.js +0 -21
  225. package/framework/v0.1.1-alpha.2/core/locales/dist/region/en.json +0 -9492
  226. package/framework/v0.1.1-alpha.2/core/locales/dist/region/fr.json +0 -9492
  227. package/framework/v0.1.1-alpha.2/core/locales/src/resources/region.mapping.json +0 -28
  228. package/framework/v0.1.1-alpha.2/core/template/boilerplate/bundle_templates/html/homepage.html +0 -4
  229. package/framework/v0.1.1-alpha.2/core/template/conf/statics.json +0 -10
  230. package/framework/v0.1.1-alpha.2/lib/cmd/bundle/arguments.json +0 -4
  231. package/framework/v0.1.1-alpha.2/lib/cmd/bundle/list.js +0 -129
  232. package/framework/v0.1.1-alpha.2/lib/cmd/framework/init.js +0 -514
  233. package/framework/v0.1.1-alpha.2/lib/cmd/framework/set.js +0 -161
  234. package/framework/v0.1.1-alpha.2/lib/cmd/framework/status.js +0 -72
  235. package/framework/v0.1.1-alpha.2/lib/cmd/framework/tail.js +0 -183
  236. package/framework/v0.1.1-alpha.2/lib/cmd/port/list.js +0 -176
  237. package/framework/v0.1.1-alpha.2/package.json +0 -14
  238. /package/{framework/v0.1.1-alpha.2/core/template/command/gina.bat.tpl → bin/gina.bat} +0 -0
  239. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/AUTHORS +0 -0
  240. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/asset/html/nolayout.html +0 -0
  241. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/asset/html/static.html +0 -0
  242. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/asset/img/android-chrome-192x192.png +0 -0
  243. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/asset/img/android-chrome-512x512.png +0 -0
  244. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/asset/img/apple-touch-icon.png +0 -0
  245. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/asset/img/favicon-16x16.png +0 -0
  246. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/asset/img/favicon-32x32.png +0 -0
  247. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/asset/img/favicon.ico +0 -0
  248. /package/framework/{v0.1.1-alpha.2/core/asset/js → v0.1.1-alpha.200/core/asset}/plugin/uuid.json +0 -0
  249. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  250. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/controller/controller.framework.js +0 -0
  251. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/controller/index.js +0 -0
  252. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/deps/busboy/.travis.yml +0 -0
  253. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/deps/busboy/LICENSE +0 -0
  254. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/deps/busboy/README.md +0 -0
  255. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
  256. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/deps/busboy/deps/encoding/encoding.js +0 -0
  257. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/deps/busboy/lib/main.js +0 -0
  258. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/deps/busboy/lib/types/multipart.js +0 -0
  259. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/deps/busboy/lib/types/urlencoded.js +0 -0
  260. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/deps/busboy/lib/utils.js +0 -0
  261. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/deps/busboy/package.json +0 -0
  262. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  263. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/dev/lib/tools.js +0 -0
  264. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/locales/currency.json +0 -0
  265. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/locales/dist/language/en.json +0 -0
  266. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/locales/dist/language/fr.json +0 -0
  267. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/locales/src/resources/currency.csv +0 -0
  268. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/locales/src/resources/region.csv +0 -0
  269. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/mime.types +0 -0
  270. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/README.md +0 -0
  271. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/file/README.md +0 -0
  272. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/file/build.json +0 -0
  273. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/intl/README.md +0 -0
  274. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/intl/build.json +0 -0
  275. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/storage/README.md +0 -0
  276. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/storage/build.json +0 -0
  277. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/validator/README.md +0 -0
  278. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/validator/build.json +0 -0
  279. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/server.express.js +0 -0
  280. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/status.codes +0 -0
  281. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle/config/app.json +0 -0
  282. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle/config/routing.json +0 -0
  283. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  284. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  285. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  286. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  287. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  288. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  289. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle_public/readme.md +0 -0
  290. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  291. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/conf/manifest.json +0 -0
  292. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/conf/settings.json +0 -0
  293. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/error/client/json/401.json +0 -0
  294. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/error/client/json/403.json +0 -0
  295. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/error/client/json/404.json +0 -0
  296. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/error/server/html/50x.html +0 -0
  297. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/error/server/json/500.json +0 -0
  298. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/error/server/json/503.json +0 -0
  299. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/extensions/logger/config.json +0 -0
  300. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/plugins/README.md +0 -0
  301. /package/framework/{v0.1.1-alpha.2/helpers/json → v0.1.1-alpha.200/lib/archiver}/README.md +0 -0
  302. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/archiver/build.json +0 -0
  303. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/copy.js +0 -0
  304. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/cp.js +0 -0
  305. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/help.js +0 -0
  306. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/rename.js +0 -0
  307. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/restart.js +0 -0
  308. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/rm.js +0 -0
  309. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/status.js +0 -0
  310. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/env/get.js +0 -0
  311. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/env/help.js +0 -0
  312. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/env/help.txt +0 -0
  313. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/env/link-dev.js +0 -0
  314. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/env/rm.js +0 -0
  315. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/env/set.js +0 -0
  316. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/env/unset.js +0 -0
  317. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/framework/dot.js +0 -0
  318. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/framework/get.js +0 -0
  319. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/framework/help.js +0 -0
  320. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/framework/help.txt +0 -0
  321. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/framework/msg.json +0 -0
  322. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/framework/update.js +0 -0
  323. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/gina-dev.1.md +0 -0
  324. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/gina-framework.1.md +0 -0
  325. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/gina.1.md +0 -0
  326. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/msg.json +0 -0
  327. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/port/help.js +0 -0
  328. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/port/help.txt +0 -0
  329. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/port/set.js +0 -0
  330. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/help.js +0 -0
  331. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/help.txt +0 -0
  332. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/import.js +0 -0
  333. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/move.js +0 -0
  334. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/restart.js +0 -0
  335. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/rm.js +0 -0
  336. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/start.js +0 -0
  337. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/status.js +0 -0
  338. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/stop.js +0 -0
  339. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/protocol/help.js +0 -0
  340. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/protocol/help.txt +0 -0
  341. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/protocol/list.js +0 -0
  342. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/scope/help.js +0 -0
  343. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/scope/help.txt +0 -0
  344. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/scope/link-local.js +0 -0
  345. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/scope/rm.js +0 -0
  346. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/scope/set.js +0 -0
  347. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/scope/unset.js +0 -0
  348. /package/framework/{v0.1.1-alpha.2/lib/cmd/env → v0.1.1-alpha.200/lib/cmd/scope}/use.js +0 -0
  349. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/collection/README.md +0 -0
  350. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/collection/build.json +0 -0
  351. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cron/README.md +0 -0
  352. /package/framework/{v0.1.1-alpha.2/lib/archiver/README.md → v0.1.1-alpha.200/lib/domain/exemples/backend.js} +0 -0
  353. /package/framework/{v0.1.1-alpha.2/lib/routing/README.md → v0.1.1-alpha.200/lib/domain/exemples/frontend.html} +0 -0
  354. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  355. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/inherits/example/protected_inheritance.js +0 -0
  356. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/inherits/example/simple_inheritance.js +0 -0
  357. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  358. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/logger/README.md +0 -0
  359. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  360. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  361. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/merge/example/merge.js +0 -0
  362. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/merge/example/merge_2_literal objects.js +0 -0
  363. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/merge/example/merge_and_preserve_first.js +0 -0
  364. /package/framework/{v0.1.1-alpha.2/lib/swig-filters → v0.1.1-alpha.200/lib/routing}/README.md +0 -0
  365. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/routing/build.json +0 -0
  366. /package/framework/{v0.1.1-alpha.2/lib/url → v0.1.1-alpha.200/lib/swig-filters}/README.md +0 -0
  367. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/url/index.js +0 -0
  368. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/url/mocks.json +0 -0
  369. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/url/routing.json +0 -0
  370. /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/url/test.js +0 -0
@@ -1,6 +1,8 @@
1
+ #!/usr/bin/env node
2
+
1
3
  /**
2
4
  * This file is part of the gina package.
3
- * Copyright (c) 2017 Rhinostone <contact@gina.io>
5
+ * Copyright (c) 2009-2023 Rhinostone <contact@gina.io>
4
6
  *
5
7
  * For the full copyright and license information, please view the LICENSE
6
8
  * file that was distributed with this source code.
@@ -8,10 +10,68 @@
8
10
 
9
11
  //Imports
10
12
  var fs = require('fs');
13
+ var os = require("os");
11
14
  var util = require('util');
12
15
  var promisify = util.promisify;
13
16
  const { execSync } = require('child_process');
14
17
 
18
+ var isWin32 = function() {
19
+ return (process.platform === 'win32') ? true : false;
20
+ };
21
+ var isWritableSync = function(path) {
22
+ var canWrite = false;
23
+ if ( fs.accessSync && typeof(fs.accessSync) != 'undefined' ) {
24
+ try {
25
+ fs.accessSync(path, fs.constants.W_OK);
26
+ canWrite = true;
27
+ } catch (err) {
28
+ canWrite = false;
29
+ }
30
+ } else { // support for old version of nodejs
31
+
32
+ try {
33
+ canWrite = (fs.statSync(path).mode & (fs.constants.S_IRUSR | fs.constants.S_IRGRP | fs.constants.S_IROTH));
34
+ } catch (err) {
35
+ canWrite = false
36
+ }
37
+ }
38
+
39
+ return canWrite
40
+ };
41
+
42
+ var getUserHome = function() {
43
+ var home = os.homedir ? os.homedir : function() {
44
+ var homeDir = process.env[(isWin32()) ? 'USERPROFILE' : 'HOME'];
45
+
46
+ if ( !homeDir || homeDir == '' ) {
47
+ throw new Error('Home directory not defined or not found !');
48
+ }
49
+
50
+ if ( !isWritableSync(homeDir) ) {
51
+ throw new Error('Home directory found but not writable: need permissions for `'+ homeDir +'`');
52
+ }
53
+
54
+ return homeDir;
55
+ };
56
+
57
+ return home()
58
+ };
59
+
60
+ // just in case `post_install` is called by hand
61
+ var initialDir = process.cwd();
62
+ var frameworkPath = __dirname +'/..';
63
+ if ( !fs.existsSync(frameworkPath +'/node_modules/colors') ) {
64
+ process.chdir(frameworkPath);
65
+
66
+ var oldConfigGlobal = process.env.npm_config_global;
67
+ process.env.npm_config_global=false;
68
+ var cmd = ( isWin32() ) ? 'npm.cmd install colors@1.4.0' : 'npm install colors@1.4.0';
69
+ execSync(cmd);
70
+ process.env.npm_config_global=oldConfigGlobal;
71
+
72
+ process.chdir(initialDir);
73
+ }
74
+
15
75
  var lib = require('./lib');
16
76
  var console = lib.logger;
17
77
 
@@ -20,6 +80,7 @@ var ginaPath = (scriptPath.replace(/\\/g, '/')).replace('/script', '');
20
80
  var help = require(ginaPath + '/utils/helper.js');
21
81
  var pack = ginaPath + '/package.json';
22
82
  pack = (isWin32()) ? pack.replace(/\//g, '\\') : pack;
83
+ var helpers = null;
23
84
 
24
85
 
25
86
  /**
@@ -28,39 +89,156 @@ pack = (isWin32()) ? pack.replace(/\//g, '\\') : pack;
28
89
  * */
29
90
  function PostInstall() {
30
91
 
31
- var self = {}, _this = this;
92
+ var self = {};
32
93
 
33
- //Initialize post installation scripts.
34
- var init = function() {
35
- self.isWin32 = isWin32();//getEnvVar('GINA_IS_WIN32');
36
- self.path = getEnvVar('GINA_FRAMEWORK');
37
- self.gina = getEnvVar('GINA_DIR');
38
- self.root = self.gina; // by default
39
- self.isGlobalInstall = false;
40
- self.prefix = execSync('npm config get prefix');
94
+ var configure = function() {
95
+
96
+ // TODO - handle windows case
97
+ if ( /^true$/i.test(isWin32()) ) {
98
+ throw new Error('Windows in not yet fully supported. Thank you for your patience');
99
+ }
41
100
 
101
+ self.isWin32 = isWin32();
102
+ self.isGlobalInstall = process.env.npm_config_global || false;
103
+ self.isResetNeeded = process.env.npm_config_reset || false;
104
+ self.defaultPrefix = execSync('npm config get prefix').toString().replace(/\n$/g, '');
105
+ // var pkg = null;
106
+ // try {
107
+ // if (self.isGlobalInstall) {
108
+ // pkg = execSync('npm list -g gina --long --json').toString().replace(/\n$/g, '');
109
+ // } else {
110
+ // pkg = execSync('npm list gina --long --json').toString().replace(/\n$/g, '');
111
+ // }
112
+ // } catch(err) {
113
+ // throw err
114
+ // }
115
+ // self.optionalPrefix = JSON.parse(pkg).dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
116
+
117
+ // `process.env.npm_config_prefix` is only retrieved on `npm install gina`
118
+ // and it should always be equal to `self.defaultPrefix`
119
+ self.prefix = process.env.npm_config_prefix || self.defaultPrefix;
120
+ self.isCustomPrefix = false;
121
+ self.isGinaInstalled = false;
122
+
123
+ // Overriding thru passed arguments
42
124
  var args = process.argv, i = 0, len = args.length;
43
125
  for (; i < len; ++i) {
44
- if (args[i] == '-g' ) {
126
+ if ( /^(\-g|\-\-global)$/.test(args[i]) ) {
45
127
  self.isGlobalInstall = true;
46
- break;
128
+ continue;
129
+ }
130
+
131
+ if ( /^\-\-reset$/.test(args[i]) ) {
132
+ self.isResetNeeded = true;
133
+ continue;
134
+ }
135
+
136
+ if ( /^\-\-prefix\=/.test(args[i] ) ) {
137
+ self.isCustomPrefix = true;
138
+ self.prefix = args[i].split(/\=/)[1];
139
+ self.prefix = self.prefix.replace(/^\~/, getUserHome());
140
+ continue;
141
+ }
142
+
143
+ if ( /^\-\-log-level\=/.test(args[i]) ) {
144
+ var logLevel = args[i].split(/\=/)[1];
145
+ console.setLevel(logLevel, 'gina');
146
+ process.env.LOG_LEVEL=logLevel;
47
147
  }
48
148
  }
49
149
 
50
- console.debug('Is this for Windows ? ' + self.isWin32);
150
+ if (self.prefix != self.defaultPrefix) {
151
+ self.isCustomPrefix = true;
152
+ }
51
153
 
52
- if ( !self.isGlobalInstall ) { //global install
53
- self.root = process.cwd(); // project path
54
- console.error('local installation is not supported for this version at the moment.');
55
- console.info('please use `npm install -g gina`');
56
- process.exit(1);
154
+ // For local install
155
+ console.debug('self.isGlobalInstall => '+ self.isGlobalInstall);
156
+ if ( !self.isGlobalInstall ) {
157
+ console.warn('Local installation is not fully supported at the moment.');
158
+ 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');
159
+ // Just in case someone is trying to run pre_install from the `gina` module
160
+ if (!/node\_modules(\\\\|\/)gina$/.test(process.env.INIT_CWD)) {
161
+ self.prefix = process.env.INIT_CWD;//process.cwd();
162
+ }
163
+ }
164
+
165
+ // checking permission
166
+ var hasPermissionsForBin = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'bin');
167
+ var hasPermissionsForLib = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'lib');
168
+ var hasPermissionsForVar = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'var');
169
+ if ( !hasPermissionsForBin || !hasPermissionsForLib || !hasPermissionsForVar) {
170
+ if (!hasPermissionsForBin) {
171
+ console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'bin')
172
+ }
173
+ if (!hasPermissionsForLib) {
174
+ console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'lib')
175
+ }
176
+ if (!hasPermissionsForVar) {
177
+ console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'var')
178
+ }
179
+
180
+ // console.warn('You do not have sufficient permissions. Switching to `--prefix='+ self.optionalPrefix +'`');
181
+ // process.env.npm_config_prefix = self.prefix = self.optionalPrefix;
182
+ }
183
+
184
+ var pkg = null, pkgObj = null, cmd = null;
185
+ try {
186
+ cmd = 'npm list gina --long --json --prefix='+ self.prefix;
187
+ if (self.isGlobalInstall) {
188
+ cmd += ' -g';
189
+ }
190
+ pkg = execSync(cmd).toString().replace(/\n$/g, '');
191
+ self.optionalPrefix = JSON.parse(pkg).dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
192
+
193
+ } catch(err) {
194
+ throw err
57
195
  }
196
+ pkgObj = JSON.parse(pkg);
197
+ self.optionalPrefix = pkgObj.dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
198
+
199
+
200
+ if ( self.prefix != self.defaultPrefix ) {
201
+ self.isCustomPrefix = true;
202
+ }
203
+
204
+ self.gina = __dirname +'/..';
205
+ // tying to figure out if gina is already install the given prefix
206
+ var hasFoundGina = pkg;
207
+ try {
208
+ hasFoundGina = JSON.parse(hasFoundGina);
209
+ if ( hasFoundGina.dependencies && typeof(hasFoundGina.dependencies.gina) != 'undefined' ) {
210
+ self.isGinaInstalled = true;
211
+ self.versionPath = self.gina;
212
+ self.versionPath += (isWin32()) ? '\\framework\\' : '/framework/';
213
+ self.version = hasFoundGina.dependencies.gina.version;
214
+ self.versionPath += 'v'+ self.version;
215
+
216
+ self.shortVersion = self.version.split('.');
217
+ self.shortVersion.splice(2);
218
+ self.shortVersion = self.shortVersion.join('.');
219
+
220
+ console.debug('Install path => '+ hasFoundGina.dependencies.gina.path);
221
+
222
+ // OK ... found installed gina but on a different prefix
223
+ // In this case, let's assume that it is not really installed
224
+ if ( !new RegExp('^'+ self.prefix).test(hasFoundGina.dependencies.gina.path) ) {
225
+ self.isGinaInstalled = false;
226
+ }
227
+ }
228
+ } catch (err) {}
229
+
230
+ console.debug('self.defaultPrefix => '+ self.defaultPrefix);
231
+ console.debug('self.optionalPrefix => '+ self.optionalPrefix );
232
+ console.debug('self.prefix => '+ self.prefix);
233
+ console.debug('self.isCustomPrefix => ', self.isCustomPrefix);
234
+ // only available when running the script with NPM
235
+ console.debug('process.env.npm_config_prefix => '+ process.env.npm_config_prefix);
236
+ }
58
237
 
59
- console.debug('prefix path: ' + self.prefix);
60
- console.debug('framework path: ' + self.gina);
61
- console.debug('framework version path: ' + self.path);
62
- console.debug('cwd path: ' + self.root );
63
- console.debug('this is a global install ...');
238
+ //Initialize post installation scripts.
239
+ var init = function() {
240
+ configure();
241
+ helpers = require(self.versionPath+ '/helpers');
64
242
 
65
243
  begin(0);
66
244
  }
@@ -87,7 +265,7 @@ function PostInstall() {
87
265
 
88
266
  // to handle sync vs async to allow execution in order of declaration
89
267
  if (funct) {
90
- 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
268
+ 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
91
269
  } else {
92
270
  process.exit(0);
93
271
  }
@@ -145,10 +323,10 @@ function PostInstall() {
145
323
 
146
324
 
147
325
  self.createVersionFile = function(done) {
148
- var version = require( _(self.gina + '/package.json') ).version;
326
+ var version = self.version;
149
327
  console.debug('writting version number: '+ version);
150
328
 
151
- var target = _(self.path + '/VERSION');
329
+ var target = _(self.versionPath + '/VERSION');
152
330
  try {
153
331
  if ( fs.existsSync(target) ) {
154
332
  fs.unlinkSync(target)
@@ -161,13 +339,20 @@ function PostInstall() {
161
339
  done();
162
340
  }
163
341
 
164
- var configureGina = function(callback) {
342
+ // TODO - Remove this part
343
+ var configureGina = function() {
165
344
  // link to ./bin/cli to binaries dir
166
345
  if (!self.isWin32) {
167
- var binPath = _(self.prefix+'/bin', true);
168
- var cli = _(binPath +'/gina');
346
+ var binPath = null;
347
+ if ( !self.isGlobalInstall() ) {
348
+ binPath = new _(self.prefix+'/node_modules/.bin', true).existsSync() ? _(self.prefix+'/node_modules/.bin', true) : '';
349
+ } else {
350
+ binPath = new _(self.prefix+'/lib/node_modules/gina/bin', true)
351
+ }
352
+
353
+ var cli = _(binPath +'/gina', true);
169
354
  // TODO - remove this part for the next version
170
- var cliDebug = _(binPath +'/gina-debug');
355
+ var cliDebug = _(binPath +'/gina-debug', true);
171
356
 
172
357
  if ( fs.existsSync(cli) ) {
173
358
  fs.unlinkSync(cli)
@@ -177,24 +362,33 @@ function PostInstall() {
177
362
  fs.unlinkSync(cliDebug)
178
363
  }
179
364
 
180
- var cmd = 'ln -s '+ self.gina +'/bin/gina '+ binPath +'/gina';
181
- console.debug('running: '+ cmd);
182
- run(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
183
- .onData(function(data){
184
- console.info(data)
185
- })
186
- .onComplete( function onDone(err, data){
187
- if (err) {
188
- console.error(err);
189
- console.warn('try to run : sudo ' + cmd);
190
- }
191
- });
365
+
366
+ if ( !self.isGlobalInstall() ) {
367
+ new _(cli, true).symlinkSync( _(self.prefix +'/gina', true) )
368
+ }
369
+ // else {
370
+ // new _(cli, true).symlinkSync( _(self.prefix +'/bin/', true) )
371
+ // }
372
+
373
+
374
+ // var cmd = 'ln -s '+ self.gina +'/bin/gina '+ binPath;
375
+ // console.debug('running: '+ cmd);
376
+ // run(cmd, { cwd: _(self.versionPath), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
377
+ // .onData(function(data){
378
+ // console.info(data)
379
+ // })
380
+ // .onComplete( function onDone(err, data){
381
+ // if (err) {
382
+ // console.error(err);
383
+ // console.warn('try to run : sudo ' + cmd);
384
+ // }
385
+ // });
192
386
  // To debug, you just need to run:
193
387
  // gina <topic>:<task> --inspect-gina
194
388
  //
195
389
  // TODO - remove this part for the next version
196
390
  // cmd = 'ln -s '+ self.gina +'/bin/cli-debug '+ binPath +'/gina-debug';
197
- // run(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
391
+ // run(cmd, { cwd: _(self.versionPath), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
198
392
  // .onData(function(data){
199
393
  // console.info(data)
200
394
  // })
@@ -211,52 +405,57 @@ function PostInstall() {
211
405
  }
212
406
 
213
407
  //Creating framework command line file for nix.
214
- var createGinaFile = function(win32Name, callback) {
215
- var name = require( _(self.path + '/package.json') ).name;
216
- var appPath = _( self.path.substring(0, (self.path.length - ("node_modules/" + name + '/').length)) );
217
- var source = _(self.path + '/core/template/command/gina.tpl');
218
- var target = _(appPath +'/'+ name);
219
- if ( typeof(win32Name) != 'undefined') {
220
- target = _(appPath +'/'+ win32Name)
221
- }
222
- //Will override.
223
- console.info('linking to binaries dir ... ');
224
- if ( typeof(callback) != 'undefined') {
225
- if ( !self.isGlobalInstall ) { // local install only
226
- lib.generator.createFileFromTemplate(source, target, function onGinaFileCreated(err) {
227
- callback(err)
408
+ var createGinaFile = function(callback) {
409
+ // local install only
410
+ if (self.isGlobalInstall) {
411
+ return callback(false);
412
+ }
228
413
 
229
- })
230
- } else {
414
+ console.info('Current prefix: '+ self.prefix );
415
+ console.info('Current package.json: '+ _(self.gina + '/package.json', true) );
416
+
417
+ console.info('Creating framework command line:');
418
+ var appPath = process.env.INIT_CWD;
419
+ console.debug('App path: '+ appPath);
420
+ var source = _(appPath + '/node_modules/.bin/gina', true);
421
+ var target = _(appPath +'/gina', true);
422
+ if ( isWin32() ) {
423
+ source = _(appPath + '/node_modules/.bin/gina.bat', true)
424
+ target = _(appPath +'/gina.bat', true)
425
+ }
426
+ console.debug('Source: '+ source);
427
+ console.debug('Target: '+ target);
231
428
 
232
- configureGina();
233
- callback(false)
429
+ if ( callback && typeof(callback) != 'undefined') {
430
+ console.info('linking to binaries dir: '+ source +' -> '+ target);
431
+ try {
432
+ if ( fs.existsSync(target) ) {
433
+ fs.unlinkSync(target)
434
+ }
435
+ new _(source).symlinkSync(target)
436
+ } catch (err) {
437
+ return callback(err)
234
438
  }
235
- } else {
236
- if ( !self.isGlobalInstall ) {
237
- lib.generator.createFileFromTemplate(source, target)
238
- } else {
239
439
 
240
- configureGina();
241
- }
440
+ return callback(false);
242
441
  }
243
442
  }
244
443
 
245
444
  self.createGinaFileForPlatform = async function(done) {
246
445
  console.info('Creating platform file');
247
- var name = require( _(self.path + '/package.json') ).name;
446
+ // var name = require( _(self.versionPath + '/package.json') ).name;
248
447
 
249
- var filename = ( (self.isWin32) ? '.' : '' ) + name;
448
+ // var filename = ( (self.isWin32) ? '.' : '' ) + name;
250
449
 
251
- var keepGoing = function(filename) {
450
+ var keepGoing = function() {
252
451
 
253
- createGinaFile(filename, function onFileCreated(err) {
452
+ createGinaFile(function onFileCreated(err) {
254
453
  if (err) {
255
454
  return done(err)
256
455
  }
257
456
 
258
457
  // this is done to allow multiple calls of post_install.js
259
- var filename = _(self.path + '/SUCCESS');
458
+ var filename = _(self.versionPath + '/SUCCESS');
260
459
  var installed = fs.existsSync( filename );
261
460
  if (installed) {
262
461
  fs.unlinkSync( filename );
@@ -278,7 +477,7 @@ function PostInstall() {
278
477
  if ( !hasNodeModulesSync() ) {
279
478
  return npmInstall(done)
280
479
  } else {
281
- var target = new _(self.path + '/node_modules');
480
+ var target = new _(self.versionPath + '/node_modules');
282
481
  console.debug('replacing: ', target.toString() );
283
482
  return target
284
483
  .rm( function onRemove(err) {
@@ -293,47 +492,55 @@ function PostInstall() {
293
492
  })
294
493
  }
295
494
 
296
- if (self.isWin32) {
297
- var appPath = _( self.path.substring(0, (self.path.length - ("node_modules/" + name + '/').length)) );
298
- var source = _(self.path + '/core/template/command/gina.bat.tpl');
299
- var target = _(appPath +'/'+ name + '.bat');
300
- if ( fs.existsSync(target) ) {
301
- fs.unlinkSync(target);
302
- // have to wait for windows to complete this
303
- setTimeout( async function(){
304
- lib.generator.createFileFromTemplate(source, target);
305
- await keepGoing(filename)
306
- }, 1000)
307
- } else {
308
- lib.generator.createFileFromTemplate(source, target);
309
- await keepGoing(filename)
310
- }
311
-
312
- } else {
313
- await keepGoing(filename)
314
- }
495
+ // if (self.isWin32) {
496
+ // // var appPath = _( self.versionPath.substring(0, (self.versionPath.length - ("node_modules/" + name + '/').length)) );
497
+ // var appPath = process.cwd()
498
+ // var source = _(self.versionPath + '/core/template/command/gina.bat.tpl');
499
+ // var target = _(appPath +'/'+ name + '.bat');
500
+ // if ( fs.existsSync(target) ) {
501
+ // fs.unlinkSync(target);
502
+ // // have to wait for windows to complete this
503
+ // setTimeout( async function(){
504
+ // lib.generator.createFileFromTemplate(source, target);
505
+ // await keepGoing(filename)
506
+ // }, 1000)
507
+ // } else {
508
+ // lib.generator.createFileFromTemplate(source, target);
509
+ // await keepGoing(filename)
510
+ // }
511
+
512
+ // } else {
513
+ await keepGoing()
514
+ // }
315
515
  }
316
516
 
317
517
 
318
518
  var hasNodeModulesSync = function() {
319
- return fs.existsSync( _(self.path + '/node_modules') )
519
+ return fs.existsSync( _(self.versionPath + '/node_modules') )
320
520
  }
321
521
 
322
522
 
323
523
  var npmInstall = function(done) {
324
- console.info('now installing modules: please, wait ...');
524
+
525
+ console.info('Now installing modules: please, wait ...');
526
+ console.info('Prefix ('+ self.isCustomPrefix +'): '+ self.prefix);
527
+ console.info('Default prefix: '+ self.defaultPrefix);
528
+ var initialDir = process.cwd();
529
+
530
+
325
531
  var cmd = ( isWin32() ) ? 'npm.cmd install' : 'npm install';
326
532
 
327
- run(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
328
- .onData(function onData(data){
329
- console.info(data)
330
- })
331
- .onComplete( function onDone(err, data){
332
- if (!err) {
333
- return done()
334
- }
335
- done(err)
336
- })
533
+ process.chdir( self.versionPath );
534
+
535
+ console.info('running: `'+ cmd +'` from '+ process.cwd() );
536
+ console.info('running using TMPDIR: '+ _(getTmpDir(), true) );
537
+ var oldConfigGlobal = process.env.npm_config_global;
538
+ process.env.npm_config_global = false;
539
+ execSync(cmd);
540
+ process.chdir(initialDir);
541
+ process.env.npm_config_global = oldConfigGlobal;
542
+
543
+ done()
337
544
  }
338
545
 
339
546
  self.cleanupIfNeeded = function(done) {
@@ -345,15 +552,24 @@ function PostInstall() {
345
552
  if ( new _(frameworkPath +'/node_modules/colors', true).existsSync() ) {
346
553
  var initialDir = process.cwd();
347
554
  process.chdir(frameworkPath);
555
+ var oldConfigGlobal = process.env.npm_config_global;
556
+ process.env.npm_config_global=false;
557
+
558
+ // var cmd = self.prefix +'/bin/';
559
+ // cmd += ( isWin32() ) ? 'npm.cmd rm colors' : 'npm rm colors';
560
+
348
561
  var cmd = ( isWin32() ) ? 'npm.cmd rm colors' : 'npm rm colors';
562
+
349
563
  try {
350
564
  execSync(cmd);
351
565
  console.debug('Removed default `colors` module from `GINA_DIR`... This is normal ;)');
352
566
  } catch (npmErr) {
567
+ process.chdir(initialDir);
353
568
  return done(npmErr);
354
569
  }
355
570
 
356
571
  process.chdir(initialDir);
572
+ process.env.npm_config_global=oldConfigGlobal;
357
573
  }
358
574
 
359
575
  done()
@@ -377,6 +593,9 @@ function PostInstall() {
377
593
 
378
594
  // reading default extensions
379
595
  var ext = _(self.gina +'/resources/home/user/extensions', true);
596
+ // if (!self.isCustomPrefix) {
597
+ // ext = _( self.defaultPrefix + '/lib/node_modules/gina/bin/gina')
598
+ // }
380
599
  var folders = [];
381
600
  try {
382
601
  console.debug('Reading : '+ ext + ' - isDirectory ? '+ fs.lstatSync( ext ).isDirectory() );
@@ -411,7 +630,6 @@ function PostInstall() {
411
630
 
412
631
  let files = []
413
632
  , extDir = _(ext +'/'+ dir, true)
414
- , extDirObj = new _(extDir)
415
633
  ;
416
634
  try {
417
635
 
@@ -448,7 +666,7 @@ function PostInstall() {
448
666
  });
449
667
 
450
668
  if (err) {
451
- throw err;
669
+ return done(err);
452
670
  }
453
671
  }
454
672
  }
@@ -458,6 +676,64 @@ function PostInstall() {
458
676
  done()
459
677
  }
460
678
 
679
+ /**
680
+ * Updated user's profile
681
+ * Will edit ~/.profile, check and add if needed path to Gina binary
682
+ *
683
+ */
684
+ self.updateUserProfile = async function(done) {
685
+
686
+ if ( !self.isGlobalInstall || isWin32() ) {
687
+ return done()
688
+ }
689
+ if (!self.isCustomPrefix || self.prefix == self.defaultPrefix) {
690
+ return done()
691
+ }
692
+
693
+ var profilePath = getUserHome() + '/.profile';
694
+ var profilePathObj = new _(profilePath);
695
+ if ( !profilePathObj.existsSync() ) {
696
+ cmd = 'touch '+ profilePath;
697
+ await promisify(run)(cmd, { cwd: _(self.versionPath), tmp: _(getTmpDir(), true), outToProcessSTD: true, shell: "/bin/bash"})
698
+ .catch(function onError(err){
699
+ if (err) {
700
+ console.warn('try to run: sudo ' + cmd);
701
+ return done(err);
702
+ }
703
+ });
704
+ }
705
+
706
+ var inFile = null;
707
+ var patt = _(self.prefix.replace( new RegExp( '^' +getUserHome() ), '(.*)[$]HOME') + '/bin', true);
708
+ try {
709
+ inFile = execSync("cat ~/.profile | grep -Eo '" + patt +"'", {shell: "/bin/bash"}).toString();
710
+ } catch (err) {
711
+ // nothing to do
712
+ }
713
+
714
+ if (!inFile) {
715
+ patt = patt.replace('(.*)[$]', '$');
716
+ inFile = '\nif [ -d "'+ patt +'" ]; then';
717
+ inFile += '\n PATH="'+ patt +':$PATH"';
718
+ inFile += '\nfi\n';
719
+ try {
720
+ fs.appendFileSync( getUserHome()+'/.profile', inFile );
721
+ } catch (err) {
722
+ return done(err);
723
+ }
724
+ inFile = null;
725
+
726
+ // we need to source/update ~/.profile
727
+ try {
728
+ execSync("source "+ profilePath, {shell: "/bin/bash"});
729
+ } catch (err) {
730
+ return done(err)
731
+ }
732
+ }
733
+
734
+ done()
735
+ }
736
+
461
737
  var restoreSymlinks = function() {
462
738
  var archivesPath = _(getUserHome() + '/.gina/archives/framework', true);
463
739
  var frameworkPath = _(self.gina +'/framework', true);
@@ -481,15 +757,17 @@ function PostInstall() {
481
757
  // intercept & remove existing symlinks or old versions dir
482
758
  try {
483
759
  if ( fs.lstatSync( _(frameworkPath +'/'+ dir, true) ).isSymbolicLink() ) {
484
- new _(frameworkPath +'/'+ dir, true).rmSync();
485
- console.debug('Removing Symlink: '+ dir);
760
+ console.debug('Removing Symlink: '+ _(frameworkPath +'/'+ dir, true) );
761
+ // new _(frameworkPath +'/'+ dir, true).rmSync();
762
+ fs.unlinkSync(_(frameworkPath +'/'+ dir, true));
486
763
  continue;
487
764
  }
488
- else if (
765
+
766
+ if (
489
767
  dir != currentVersion
490
768
  && fs.lstatSync( _(frameworkPath +'/'+ dir, true) ).isDirectory()
491
769
  ) {
492
- console.debug('Removing old version: '+ dir);
770
+ console.debug('Removing old version: '+ _(frameworkPath +'/'+ dir, true));
493
771
  new _(frameworkPath +'/'+ dir, true).rmSync()
494
772
  }
495
773
  } catch (e) {
@@ -521,15 +799,34 @@ function PostInstall() {
521
799
  }
522
800
  }
523
801
 
802
+
524
803
  self.end = function(done) {
525
804
 
526
805
  restoreSymlinks();
527
806
 
807
+ // configuring Gina
808
+ var ginaBinanry = _(self.gina + '/bin/gina', true);
809
+ if (!self.isCustomPrefix && self.isGlobalInstall) {
810
+ ginaBinanry = _( self.defaultPrefix + '/lib/node_modules/gina/bin/gina')
811
+ }
812
+
813
+ if ( !fs.existsSync(ginaBinanry) ) {
814
+ console.error('`'+ ginaBinanry +'` not found !');
815
+ }
816
+
817
+ try {
818
+ execSync(ginaBinanry + ' framework:set --global-mode='+ self.isGlobalInstall);
819
+ execSync(ginaBinanry + ' framework:set --prefix='+ self.prefix);
820
+ } catch (err) {
821
+ return done(err)
822
+ }
823
+
824
+
528
825
  // Update middleware file
529
- var filename = _(self.path) + '/MIDDLEWARE';
826
+ var filename = _(self.versionPath) + '/MIDDLEWARE';
530
827
  var msg = "Gina's command line tool has been installed.";
531
828
 
532
- var deps = require(_(self.path) + '/package.json').dependecies;
829
+ var deps = require(_(self.versionPath) + '/package.json').dependecies;
533
830
 
534
831
  var version = require( _(self.gina + '/package.json') ).version;
535
832
  var middleware = 'isaac@'+version; // by default
@@ -540,11 +837,12 @@ function PostInstall() {
540
837
  }
541
838
  }
542
839
 
543
- var expressPackage = _(self.path + '/node_modules/express/package.json');
840
+ var expressPackage = _(self.versionPath + '/node_modules/express/package.json');
544
841
  if ( typeof(middleware) == 'undefined' && fs.existsSync(expressPackage) ) {
545
842
  middleware = require(expressPackage).version;
546
843
  middleware = 'express@' + middleware;
547
- } else if (typeof(middleware) == 'undefined') {
844
+ }
845
+ else if (typeof(middleware) == 'undefined') {
548
846
  return done( new Error('No middleware found !!') );
549
847
  }
550
848
 
@@ -556,6 +854,8 @@ function PostInstall() {
556
854
  if (err) {
557
855
  return done(err)
558
856
  }
857
+ console.debug('Updated: def !== middleware case');
858
+ // execSync(self.prefix +'/bin/gina framework:set --prefix='+ self.prefix);
559
859
  console.info(msg);
560
860
  done()
561
861
  })
@@ -565,12 +865,15 @@ function PostInstall() {
565
865
  if (err) {
566
866
  return done(err)
567
867
  }
868
+ console.info('File created case');
869
+
568
870
  console.info(msg);
569
871
  done()
570
872
  })
571
873
  }
572
874
  }
573
875
 
876
+
574
877
  init()
575
878
  }
576
879
  new PostInstall()