gina 0.1.1-alpha.20 → 0.1.1-alpha.201

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.20/lib/inherits → v0.1.1-alpha.201}/LICENSE +1 -1
  10. package/framework/v0.1.1-alpha.201/VERSION +1 -0
  11. package/framework/{v0.1.1-alpha.20/core/asset/js/plugin/readme.md → v0.1.1-alpha.201/core/asset/plugin/README.md} +31 -9
  12. package/framework/v0.1.1-alpha.201/core/asset/plugin/dist/vendor/gina/css/gina.min.css +1 -0
  13. package/framework/v0.1.1-alpha.201/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
  14. package/framework/v0.1.1-alpha.201/core/asset/plugin/dist/vendor/gina/html/toolbar.html +251 -0
  15. package/framework/{v0.1.1-alpha.20/core/asset/js/plugin/dist → v0.1.1-alpha.201/core/asset/plugin/dist/vendor/gina/js}/gina.js +4364 -3175
  16. package/framework/v0.1.1-alpha.201/core/asset/plugin/dist/vendor/gina/js/gina.min.js +764 -0
  17. package/framework/v0.1.1-alpha.201/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
  18. package/framework/v0.1.1-alpha.201/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +5 -0
  19. package/framework/v0.1.1-alpha.201/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
  20. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/config.js +172 -79
  21. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/connectors/couchbase/index.js +373 -259
  22. package/framework/v0.1.1-alpha.201/core/connectors/couchbase/lib/connector.js +22 -0
  23. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/connectors/couchbase/lib/connector.v2.js +51 -51
  24. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/connectors/couchbase/lib/connector.v3.js +51 -51
  25. package/framework/v0.1.1-alpha.201/core/connectors/couchbase/lib/connector.v4.js +384 -0
  26. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/connectors/couchbase/lib/n1ql.js +3 -2
  27. package/framework/v0.1.1-alpha.201/core/connectors/couchbase/lib/session-store.js +22 -0
  28. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/connectors/couchbase/lib/session-store.v3.js +12 -12
  29. package/framework/v0.1.1-alpha.201/core/connectors/couchbase/lib/session-store.v4.js +361 -0
  30. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/controller/controller.js +921 -773
  31. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/dev/index.js +1 -1
  32. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/dev/lib/class.js +1 -1
  33. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/dev/lib/factory.js +2 -2
  34. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/gna.js +13 -9
  35. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/locales/README.md +5 -0
  36. package/framework/v0.1.1-alpha.201/core/locales/dist/region/en.json +5727 -0
  37. package/framework/v0.1.1-alpha.201/core/locales/dist/region/fr.json +11452 -0
  38. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/locales/index.js +2 -2
  39. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/locales/src/make.js +39 -41
  40. package/framework/v0.1.1-alpha.201/core/locales/src/resources/region.mapping.json +43 -0
  41. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/model/entity.js +87 -67
  42. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/model/index.js +16 -16
  43. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/model/template/entityFactory.js +1 -1
  44. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/model/template/index.js +17 -15
  45. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/plugins/index.js +1 -1
  46. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/plugins/lib/file/package.json +1 -1
  47. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/plugins/lib/intl/package.json +1 -1
  48. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/plugins/lib/intl/src/main.js +5 -5
  49. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/plugins/lib/storage/package.json +1 -1
  50. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/plugins/lib/storage/src/main.js +6 -5
  51. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/plugins/lib/validator/package.json +1 -1
  52. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/plugins/lib/validator/src/form-validator.js +403 -300
  53. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/plugins/lib/validator/src/main.js +1368 -1314
  54. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/router.js +99 -90
  55. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/server.isaac.js +203 -180
  56. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/server.js +439 -238
  57. package/framework/v0.1.1-alpha.201/core/template/boilerplate/bundle/config/settings.json +12 -0
  58. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/boilerplate/bundle/config/settings.server.json +4 -4
  59. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/boilerplate/bundle/config/templates.json +4 -4
  60. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/boilerplate/bundle/controllers/controller.content.js +1 -1
  61. package/framework/v0.1.1-alpha.201/core/template/boilerplate/bundle/controllers/setup.js +111 -0
  62. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/boilerplate/bundle/index.js +13 -1
  63. package/framework/v0.1.1-alpha.201/core/template/boilerplate/bundle_templates/html/content/homepage.html +8 -0
  64. package/framework/v0.1.1-alpha.201/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +11 -0
  65. package/framework/v0.1.1-alpha.201/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +8 -0
  66. package/framework/{v0.1.1-alpha.20/core/template/boilerplate/bundle_templates/html/layout → v0.1.1-alpha.201/core/template/boilerplate/bundle_templates/html/layouts}/main.html +10 -3
  67. package/framework/v0.1.1-alpha.201/core/template/command/gina.bat.tpl +8 -0
  68. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/command/gina.tpl +4 -4
  69. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/conf/env.json +11 -0
  70. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/conf/package.json +1 -1
  71. package/framework/v0.1.1-alpha.201/core/template/conf/statics.json +12 -0
  72. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/conf/templates.json +2 -2
  73. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/helpers/console.js +3 -3
  74. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/helpers/context.js +148 -7
  75. package/framework/v0.1.1-alpha.201/helpers/data/LICENSE +9 -0
  76. package/framework/v0.1.1-alpha.201/helpers/data/README.md +12 -0
  77. package/framework/v0.1.1-alpha.201/helpers/data/package.json +20 -0
  78. package/framework/v0.1.1-alpha.201/helpers/data/src/main.js +295 -0
  79. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/helpers/dateFormat.js +9 -7
  80. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/helpers/index.js +13 -8
  81. package/framework/v0.1.1-alpha.201/helpers/json/LICENSE +9 -0
  82. package/framework/v0.1.1-alpha.201/helpers/json/README.md +12 -0
  83. package/framework/{v0.1.1-alpha.20/helpers/plugins → v0.1.1-alpha.201/helpers/json}/package.json +2 -2
  84. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/helpers/json/src/main.js +28 -26
  85. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/helpers/path.js +176 -96
  86. package/framework/{v0.1.1-alpha.20/helpers/json → v0.1.1-alpha.201/helpers/plugins}/package.json +2 -2
  87. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/helpers/plugins/src/api-error.js +23 -23
  88. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/helpers/plugins/src/main.js +3 -3
  89. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/helpers/prototypes.js +46 -38
  90. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/helpers/task.js +21 -14
  91. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/helpers/text.js +2 -2
  92. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/archiver/package.json +1 -1
  93. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/archiver/src/dep/jszip.min.js +3 -3
  94. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/archiver/src/main.js +168 -168
  95. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/aliases.json +4 -1
  96. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/bundle/add.js +84 -27
  97. package/framework/v0.1.1-alpha.201/lib/cmd/bundle/arguments.json +7 -0
  98. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/bundle/help.txt +4 -2
  99. package/framework/v0.1.1-alpha.201/lib/cmd/bundle/list.js +176 -0
  100. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/bundle/remove.js +36 -27
  101. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/bundle/start.js +264 -46
  102. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/bundle/stop.js +93 -74
  103. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/env/add.js +44 -43
  104. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/env/list.js +23 -4
  105. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/env/remove.js +19 -19
  106. package/framework/{v0.1.1-alpha.20/lib/cmd/scope → v0.1.1-alpha.201/lib/cmd/env}/use.js +21 -1
  107. package/framework/v0.1.1-alpha.201/lib/cmd/framework/build.js +88 -0
  108. package/framework/v0.1.1-alpha.201/lib/cmd/framework/init.js +798 -0
  109. package/framework/v0.1.1-alpha.201/lib/cmd/framework/link-node-modules.js +116 -0
  110. package/framework/v0.1.1-alpha.201/lib/cmd/framework/link.js +114 -0
  111. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/framework/open.js +22 -1
  112. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/framework/restart.js +61 -26
  113. package/framework/v0.1.1-alpha.201/lib/cmd/framework/set.js +279 -0
  114. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/framework/start.js +46 -20
  115. package/framework/v0.1.1-alpha.201/lib/cmd/framework/status.js +141 -0
  116. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/framework/stop.js +47 -28
  117. package/framework/v0.1.1-alpha.201/lib/cmd/framework/tail.js +302 -0
  118. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/framework/version.js +15 -3
  119. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/helper.js +131 -18
  120. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/index.js +23 -23
  121. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/port/inc/scan.js +32 -16
  122. package/framework/v0.1.1-alpha.201/lib/cmd/port/list.js +462 -0
  123. package/framework/v0.1.1-alpha.201/lib/cmd/port/reset.js +429 -0
  124. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/project/add.js +147 -122
  125. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/project/arguments.json +2 -1
  126. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/project/build.js +28 -28
  127. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/project/list.js +19 -2
  128. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/project/remove.js +19 -17
  129. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/project/rename.js +11 -11
  130. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/protocol/set.js +256 -209
  131. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/scope/list.js +27 -8
  132. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/scope/remove.js +19 -19
  133. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/view/add.js +35 -10
  134. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/collection/package.json +1 -1
  135. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/collection/src/main.js +243 -242
  136. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/config.js +31 -30
  137. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cron/package.json +1 -1
  138. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cron/src/main.js +10 -9
  139. package/framework/v0.1.1-alpha.201/lib/domain/LICENSE +9 -0
  140. package/framework/v0.1.1-alpha.201/lib/domain/README.md +46 -0
  141. package/framework/v0.1.1-alpha.201/lib/domain/dist/public_suffix_list.dat +14186 -0
  142. package/framework/v0.1.1-alpha.201/lib/domain/package.json +20 -0
  143. package/framework/v0.1.1-alpha.201/lib/domain/src/main.js +442 -0
  144. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/generator/index.js +4 -4
  145. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/index.js +3 -2
  146. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201/lib/inherits}/LICENSE +1 -1
  147. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/inherits/README.md +2 -2
  148. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/inherits/package.json +3 -4
  149. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/inherits/src/main.js +3 -3
  150. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/logger/package.json +2 -2
  151. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/logger/src/containers/default/index.js +13 -2
  152. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/logger/src/containers/file/index.js +109 -14
  153. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/logger/src/containers/mq/index.js +12 -3
  154. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/logger/src/containers/mq/listener.js +16 -14
  155. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/logger/src/containers/mq/speaker.js +32 -3
  156. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/logger/src/helper.js +21 -1
  157. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/logger/src/main.js +36 -9
  158. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/math/index.js +9 -9
  159. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/merge/README.md +2 -2
  160. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/merge/package.json +1 -1
  161. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/merge/src/main.js +118 -91
  162. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/model.js +10 -10
  163. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/proc.js +87 -49
  164. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/routing/package.json +1 -1
  165. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/routing/src/main.js +313 -285
  166. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/session-store.js +6 -6
  167. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/shell.js +3 -3
  168. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/swig-filters/package.json +1 -1
  169. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/swig-filters/src/main.js +140 -119
  170. package/framework/v0.1.1-alpha.201/lib/url/README.md +0 -0
  171. package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/validator.js +2 -2
  172. package/framework/v0.1.1-alpha.201/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 +411 -127
  180. package/script/post_publish.js +188 -0
  181. package/script/pre_install.js +457 -77
  182. package/script/prepare_version.js +277 -98
  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.20/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.20/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.20/VERSION +0 -1
  216. package/framework/v0.1.1-alpha.20/core/asset/js/plugin/dist/gina.js.map +0 -56
  217. package/framework/v0.1.1-alpha.20/core/asset/js/plugin/dist/gina.min.css +0 -1
  218. package/framework/v0.1.1-alpha.20/core/asset/js/plugin/dist/gina.min.css.map +0 -1
  219. package/framework/v0.1.1-alpha.20/core/asset/js/plugin/dist/gina.min.js +0 -736
  220. package/framework/v0.1.1-alpha.20/core/asset/js/plugin/dist/gina.min.js.map +0 -56
  221. package/framework/v0.1.1-alpha.20/core/asset/js/plugin/dist/gina.onload.min.js +0 -5
  222. package/framework/v0.1.1-alpha.20/core/asset/js/plugin/dist/gina.onload.min.js.map +0 -8
  223. package/framework/v0.1.1-alpha.20/core/connectors/couchbase/lib/connector.js +0 -20
  224. package/framework/v0.1.1-alpha.20/core/connectors/couchbase/lib/session-store.js +0 -21
  225. package/framework/v0.1.1-alpha.20/core/locales/dist/region/en.json +0 -9492
  226. package/framework/v0.1.1-alpha.20/core/locales/dist/region/fr.json +0 -9492
  227. package/framework/v0.1.1-alpha.20/core/locales/src/resources/region.mapping.json +0 -28
  228. package/framework/v0.1.1-alpha.20/core/template/boilerplate/bundle_templates/html/homepage.html +0 -4
  229. package/framework/v0.1.1-alpha.20/core/template/conf/statics.json +0 -10
  230. package/framework/v0.1.1-alpha.20/lib/cmd/bundle/arguments.json +0 -4
  231. package/framework/v0.1.1-alpha.20/lib/cmd/bundle/list.js +0 -129
  232. package/framework/v0.1.1-alpha.20/lib/cmd/framework/init.js +0 -514
  233. package/framework/v0.1.1-alpha.20/lib/cmd/framework/set.js +0 -161
  234. package/framework/v0.1.1-alpha.20/lib/cmd/framework/status.js +0 -72
  235. package/framework/v0.1.1-alpha.20/lib/cmd/framework/tail.js +0 -183
  236. package/framework/v0.1.1-alpha.20/lib/cmd/port/list.js +0 -176
  237. package/framework/v0.1.1-alpha.20/package.json +0 -14
  238. /package/{framework/v0.1.1-alpha.20/core/template/command/gina.bat.tpl → bin/gina.bat} +0 -0
  239. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/AUTHORS +0 -0
  240. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/asset/html/nolayout.html +0 -0
  241. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/asset/html/static.html +0 -0
  242. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/asset/img/android-chrome-192x192.png +0 -0
  243. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/asset/img/android-chrome-512x512.png +0 -0
  244. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/asset/img/apple-touch-icon.png +0 -0
  245. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/asset/img/favicon-16x16.png +0 -0
  246. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/asset/img/favicon-32x32.png +0 -0
  247. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/asset/img/favicon.ico +0 -0
  248. /package/framework/{v0.1.1-alpha.20/core/asset/js → v0.1.1-alpha.201/core/asset}/plugin/uuid.json +0 -0
  249. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  250. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/controller/controller.framework.js +0 -0
  251. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/controller/index.js +0 -0
  252. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/deps/busboy/.travis.yml +0 -0
  253. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/deps/busboy/LICENSE +0 -0
  254. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/deps/busboy/README.md +0 -0
  255. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
  256. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/deps/busboy/deps/encoding/encoding.js +0 -0
  257. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/deps/busboy/lib/main.js +0 -0
  258. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/deps/busboy/lib/types/multipart.js +0 -0
  259. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/deps/busboy/lib/types/urlencoded.js +0 -0
  260. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/deps/busboy/lib/utils.js +0 -0
  261. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/deps/busboy/package.json +0 -0
  262. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  263. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/dev/lib/tools.js +0 -0
  264. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/locales/currency.json +0 -0
  265. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/locales/dist/language/en.json +0 -0
  266. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/locales/dist/language/fr.json +0 -0
  267. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/locales/src/resources/currency.csv +0 -0
  268. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/locales/src/resources/region.csv +0 -0
  269. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/mime.types +0 -0
  270. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/plugins/README.md +0 -0
  271. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/plugins/lib/file/README.md +0 -0
  272. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/plugins/lib/file/build.json +0 -0
  273. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/plugins/lib/intl/README.md +0 -0
  274. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/plugins/lib/intl/build.json +0 -0
  275. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/plugins/lib/storage/README.md +0 -0
  276. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/plugins/lib/storage/build.json +0 -0
  277. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/plugins/lib/validator/README.md +0 -0
  278. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/plugins/lib/validator/build.json +0 -0
  279. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/server.express.js +0 -0
  280. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/status.codes +0 -0
  281. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/boilerplate/bundle/config/app.json +0 -0
  282. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/boilerplate/bundle/config/routing.json +0 -0
  283. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  284. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  285. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  286. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  287. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  288. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  289. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/boilerplate/bundle_public/readme.md +0 -0
  290. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  291. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/conf/manifest.json +0 -0
  292. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/conf/settings.json +0 -0
  293. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/error/client/json/401.json +0 -0
  294. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/error/client/json/403.json +0 -0
  295. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/error/client/json/404.json +0 -0
  296. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/error/server/html/50x.html +0 -0
  297. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/error/server/json/500.json +0 -0
  298. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/error/server/json/503.json +0 -0
  299. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/core/template/extensions/logger/config.json +0 -0
  300. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/helpers/plugins/README.md +0 -0
  301. /package/framework/{v0.1.1-alpha.20/helpers/json → v0.1.1-alpha.201/lib/archiver}/README.md +0 -0
  302. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/archiver/build.json +0 -0
  303. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/bundle/copy.js +0 -0
  304. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/bundle/cp.js +0 -0
  305. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/bundle/help.js +0 -0
  306. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/bundle/rename.js +0 -0
  307. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/bundle/restart.js +0 -0
  308. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/bundle/rm.js +0 -0
  309. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/bundle/status.js +0 -0
  310. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/env/get.js +0 -0
  311. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/env/help.js +0 -0
  312. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/env/help.txt +0 -0
  313. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/env/link-dev.js +0 -0
  314. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/env/rm.js +0 -0
  315. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/env/set.js +0 -0
  316. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/env/unset.js +0 -0
  317. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/framework/dot.js +0 -0
  318. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/framework/get.js +0 -0
  319. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/framework/help.js +0 -0
  320. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/framework/help.txt +0 -0
  321. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/framework/msg.json +0 -0
  322. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/framework/update.js +0 -0
  323. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/gina-dev.1.md +0 -0
  324. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/gina-framework.1.md +0 -0
  325. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/gina.1.md +0 -0
  326. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/msg.json +0 -0
  327. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/port/help.js +0 -0
  328. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/port/help.txt +0 -0
  329. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/port/set.js +0 -0
  330. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/project/help.js +0 -0
  331. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/project/help.txt +0 -0
  332. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/project/import.js +0 -0
  333. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/project/move.js +0 -0
  334. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/project/restart.js +0 -0
  335. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/project/rm.js +0 -0
  336. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/project/start.js +0 -0
  337. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/project/status.js +0 -0
  338. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/project/stop.js +0 -0
  339. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/protocol/help.js +0 -0
  340. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/protocol/help.txt +0 -0
  341. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/protocol/list.js +0 -0
  342. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/scope/help.js +0 -0
  343. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/scope/help.txt +0 -0
  344. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/scope/link-local.js +0 -0
  345. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/scope/rm.js +0 -0
  346. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/scope/set.js +0 -0
  347. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cmd/scope/unset.js +0 -0
  348. /package/framework/{v0.1.1-alpha.20/lib/cmd/env → v0.1.1-alpha.201/lib/cmd/scope}/use.js +0 -0
  349. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/collection/README.md +0 -0
  350. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/collection/build.json +0 -0
  351. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/cron/README.md +0 -0
  352. /package/framework/{v0.1.1-alpha.20/lib/archiver/README.md → v0.1.1-alpha.201/lib/domain/exemples/backend.js} +0 -0
  353. /package/framework/{v0.1.1-alpha.20/lib/routing/README.md → v0.1.1-alpha.201/lib/domain/exemples/frontend.html} +0 -0
  354. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  355. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/inherits/example/protected_inheritance.js +0 -0
  356. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/inherits/example/simple_inheritance.js +0 -0
  357. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  358. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/logger/README.md +0 -0
  359. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  360. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  361. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/merge/example/merge.js +0 -0
  362. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/merge/example/merge_2_literal objects.js +0 -0
  363. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/merge/example/merge_and_preserve_first.js +0 -0
  364. /package/framework/{v0.1.1-alpha.20/lib/swig-filters → v0.1.1-alpha.201/lib/routing}/README.md +0 -0
  365. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/routing/build.json +0 -0
  366. /package/framework/{v0.1.1-alpha.20/lib/url → v0.1.1-alpha.201/lib/swig-filters}/README.md +0 -0
  367. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/url/index.js +0 -0
  368. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/url/mocks.json +0 -0
  369. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/lib/url/routing.json +0 -0
  370. /package/framework/{v0.1.1-alpha.20 → v0.1.1-alpha.201}/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,47 +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');
41
- self.isCustomPrefix = false;
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
+ }
42
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
43
124
  var args = process.argv, i = 0, len = args.length;
44
125
  for (; i < len; ++i) {
45
- if (args[i] == '-g' ) {
126
+ if ( /^(\-g|\-\-global)$/.test(args[i]) ) {
46
127
  self.isGlobalInstall = true;
47
128
  continue;
48
129
  }
49
- if (args[i] == '--prefix' ) {
130
+
131
+ if ( /^\-\-reset$/.test(args[i]) ) {
132
+ self.isResetNeeded = true;
133
+ continue;
134
+ }
135
+
136
+ if ( /^\-\-prefix\=/.test(args[i] ) ) {
50
137
  self.isCustomPrefix = true;
51
138
  self.prefix = args[i].split(/\=/)[1];
139
+ self.prefix = self.prefix.replace(/^\~/, getUserHome());
52
140
  continue;
53
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;
147
+ }
54
148
  }
55
149
 
56
- self.prefix = self.prefix.toString().replace(/\n/g, '');
150
+ if (self.prefix != self.defaultPrefix) {
151
+ self.isCustomPrefix = true;
152
+ }
57
153
 
58
- console.debug('Is this for Windows ? ' + self.isWin32);
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
+ }
59
164
 
60
- if ( !self.isGlobalInstall ) { //global install
61
- self.root = process.cwd(); // project path
62
- console.error('local installation is not supported for this version at the moment.');
63
- console.info('please use `npm install -g gina`');
64
- process.exit(1);
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
65
195
  }
196
+ pkgObj = JSON.parse(pkg);
197
+ self.optionalPrefix = pkgObj.dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
66
198
 
67
- console.debug('prefix path: ' + self.prefix);
68
- console.debug('framework path: ' + self.gina);
69
- console.debug('framework version path: ' + self.path);
70
- console.debug('cwd path: ' + self.root );
71
- console.debug('this is a global install ...');
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
+ }
237
+
238
+ //Initialize post installation scripts.
239
+ var init = function() {
240
+ configure();
241
+ helpers = require(self.versionPath+ '/helpers');
72
242
 
73
243
  begin(0);
74
244
  }
@@ -95,7 +265,7 @@ function PostInstall() {
95
265
 
96
266
  // to handle sync vs async to allow execution in order of declaration
97
267
  if (funct) {
98
- 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
99
269
  } else {
100
270
  process.exit(0);
101
271
  }
@@ -153,10 +323,10 @@ function PostInstall() {
153
323
 
154
324
 
155
325
  self.createVersionFile = function(done) {
156
- var version = require( _(self.gina + '/package.json') ).version;
326
+ var version = self.version;
157
327
  console.debug('writting version number: '+ version);
158
328
 
159
- var target = _(self.path + '/VERSION');
329
+ var target = _(self.versionPath + '/VERSION');
160
330
  try {
161
331
  if ( fs.existsSync(target) ) {
162
332
  fs.unlinkSync(target)
@@ -169,13 +339,20 @@ function PostInstall() {
169
339
  done();
170
340
  }
171
341
 
342
+ // TODO - Remove this part
172
343
  var configureGina = function() {
173
344
  // link to ./bin/cli to binaries dir
174
345
  if (!self.isWin32) {
175
- var binPath = _(self.prefix+'/bin', true);
176
- 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);
177
354
  // TODO - remove this part for the next version
178
- var cliDebug = _(binPath +'/gina-debug');
355
+ var cliDebug = _(binPath +'/gina-debug', true);
179
356
 
180
357
  if ( fs.existsSync(cli) ) {
181
358
  fs.unlinkSync(cli)
@@ -185,24 +362,33 @@ function PostInstall() {
185
362
  fs.unlinkSync(cliDebug)
186
363
  }
187
364
 
188
- var cmd = 'ln -s '+ self.gina +'/bin/gina '+ binPath +'/gina';
189
- console.debug('running: '+ cmd);
190
- run(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
191
- .onData(function(data){
192
- console.info(data)
193
- })
194
- .onComplete( function onDone(err, data){
195
- if (err) {
196
- console.error(err);
197
- console.warn('try to run : sudo ' + cmd);
198
- }
199
- });
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
+ // });
200
386
  // To debug, you just need to run:
201
387
  // gina <topic>:<task> --inspect-gina
202
388
  //
203
389
  // TODO - remove this part for the next version
204
390
  // cmd = 'ln -s '+ self.gina +'/bin/cli-debug '+ binPath +'/gina-debug';
205
- // run(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
391
+ // run(cmd, { cwd: _(self.versionPath), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
206
392
  // .onData(function(data){
207
393
  // console.info(data)
208
394
  // })
@@ -219,55 +405,57 @@ function PostInstall() {
219
405
  }
220
406
 
221
407
  //Creating framework command line file for nix.
222
- var createGinaFile = function(win32Name, callback) {
223
- console.info('Creating framework command line: '+ _(self.path + '/package.json') );
224
-
225
- var name = require( _(self.path + '/package.json') ).name;
226
- console.info('Package name: '+ name );
227
- var appPath = _( self.path.substring(0, (self.path.length - ("node_modules/" + name + '/').length)) );
228
- var source = _(self.path + '/core/template/command/gina.tpl');
229
- var target = _(appPath +'/'+ name);
230
- if ( typeof(win32Name) != 'undefined') {
231
- target = _(appPath +'/'+ win32Name)
232
- }
233
- //Will override.
234
- console.info('linking to binaries dir ... ');
235
- if ( typeof(callback) != 'undefined') {
236
- if ( !self.isGlobalInstall ) { // local install only
237
- lib.generator.createFileFromTemplate(source, target, function onGinaFileCreated(err) {
238
- callback(err)
408
+ var createGinaFile = function(callback) {
409
+ // local install only
410
+ if (self.isGlobalInstall) {
411
+ return callback(false);
412
+ }
239
413
 
240
- })
241
- } 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);
242
428
 
243
- // configureGina();
244
- callback(false)
245
- }
246
- } else {
247
- if ( !self.isGlobalInstall ) {
248
- lib.generator.createFileFromTemplate(source, target)
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)
249
438
  }
250
- // else {
251
- // configureGina();
252
- // }
439
+
440
+ return callback(false);
253
441
  }
254
442
  }
255
443
 
256
444
  self.createGinaFileForPlatform = async function(done) {
257
445
  console.info('Creating platform file');
258
- var name = require( _(self.path + '/package.json') ).name;
446
+ // var name = require( _(self.versionPath + '/package.json') ).name;
259
447
 
260
- var filename = ( (self.isWin32) ? '.' : '' ) + name;
448
+ // var filename = ( (self.isWin32) ? '.' : '' ) + name;
261
449
 
262
- var keepGoing = function(filename) {
450
+ var keepGoing = function() {
263
451
 
264
- createGinaFile(filename, function onFileCreated(err) {
452
+ createGinaFile(function onFileCreated(err) {
265
453
  if (err) {
266
454
  return done(err)
267
455
  }
268
456
 
269
457
  // this is done to allow multiple calls of post_install.js
270
- var filename = _(self.path + '/SUCCESS');
458
+ var filename = _(self.versionPath + '/SUCCESS');
271
459
  var installed = fs.existsSync( filename );
272
460
  if (installed) {
273
461
  fs.unlinkSync( filename );
@@ -289,7 +477,7 @@ function PostInstall() {
289
477
  if ( !hasNodeModulesSync() ) {
290
478
  return npmInstall(done)
291
479
  } else {
292
- var target = new _(self.path + '/node_modules');
480
+ var target = new _(self.versionPath + '/node_modules');
293
481
  console.debug('replacing: ', target.toString() );
294
482
  return target
295
483
  .rm( function onRemove(err) {
@@ -304,54 +492,55 @@ function PostInstall() {
304
492
  })
305
493
  }
306
494
 
307
- if (self.isWin32) {
308
- var appPath = _( self.path.substring(0, (self.path.length - ("node_modules/" + name + '/').length)) );
309
- var source = _(self.path + '/core/template/command/gina.bat.tpl');
310
- var target = _(appPath +'/'+ name + '.bat');
311
- if ( fs.existsSync(target) ) {
312
- fs.unlinkSync(target);
313
- // have to wait for windows to complete this
314
- setTimeout( async function(){
315
- lib.generator.createFileFromTemplate(source, target);
316
- await keepGoing(filename)
317
- }, 1000)
318
- } else {
319
- lib.generator.createFileFromTemplate(source, target);
320
- await keepGoing(filename)
321
- }
322
-
323
- } else {
324
- await keepGoing(filename)
325
- }
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
+ // }
326
515
  }
327
516
 
328
517
 
329
518
  var hasNodeModulesSync = function() {
330
- return fs.existsSync( _(self.path + '/node_modules') )
519
+ return fs.existsSync( _(self.versionPath + '/node_modules') )
331
520
  }
332
521
 
333
522
 
334
523
  var npmInstall = function(done) {
335
- console.info('now installing modules: please, wait ...');
524
+
525
+ console.info('Now installing modules: please, wait ...');
336
526
  console.info('Prefix ('+ self.isCustomPrefix +'): '+ self.prefix);
337
- var cmd = self.prefix +'/bin/';
338
- cmd += ( isWin32() ) ? 'npm.cmd install' : 'npm install';
527
+ console.info('Default prefix: '+ self.defaultPrefix);
528
+ var initialDir = process.cwd();
339
529
 
340
- console.info('running: '+ cmd +' from '+ _(self.path) );
341
- console.info('running TMP: '+ _(self.root +'/tmp') );
342
530
 
343
- run(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
344
- .onData(function onData(data){
345
- console.info(data)
346
- })
347
- .onComplete( function onDone(err, data){
348
- if (!err) {
349
- console.info('completed: '+ cmd);
350
- return done()
351
- }
352
- console.info('error found: '+ err + '\n=> '+ data);
353
- done(err)
354
- })
531
+ var cmd = ( isWin32() ) ? 'npm.cmd install' : 'npm install';
532
+
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()
355
544
  }
356
545
 
357
546
  self.cleanupIfNeeded = function(done) {
@@ -363,16 +552,24 @@ function PostInstall() {
363
552
  if ( new _(frameworkPath +'/node_modules/colors', true).existsSync() ) {
364
553
  var initialDir = process.cwd();
365
554
  process.chdir(frameworkPath);
366
- var cmd = self.prefix +'/bin/';
367
- cmd += ( isWin32() ) ? 'npm.cmd rm colors' : 'npm rm colors';
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
+
561
+ var cmd = ( isWin32() ) ? 'npm.cmd rm colors' : 'npm rm colors';
562
+
368
563
  try {
369
564
  execSync(cmd);
370
565
  console.debug('Removed default `colors` module from `GINA_DIR`... This is normal ;)');
371
566
  } catch (npmErr) {
567
+ process.chdir(initialDir);
372
568
  return done(npmErr);
373
569
  }
374
570
 
375
571
  process.chdir(initialDir);
572
+ process.env.npm_config_global=oldConfigGlobal;
376
573
  }
377
574
 
378
575
  done()
@@ -396,6 +593,9 @@ function PostInstall() {
396
593
 
397
594
  // reading default extensions
398
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
+ // }
399
599
  var folders = [];
400
600
  try {
401
601
  console.debug('Reading : '+ ext + ' - isDirectory ? '+ fs.lstatSync( ext ).isDirectory() );
@@ -430,7 +630,6 @@ function PostInstall() {
430
630
 
431
631
  let files = []
432
632
  , extDir = _(ext +'/'+ dir, true)
433
- , extDirObj = new _(extDir)
434
633
  ;
435
634
  try {
436
635
 
@@ -467,7 +666,7 @@ function PostInstall() {
467
666
  });
468
667
 
469
668
  if (err) {
470
- throw err;
669
+ return done(err);
471
670
  }
472
671
  }
473
672
  }
@@ -477,6 +676,64 @@ function PostInstall() {
477
676
  done()
478
677
  }
479
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
+
480
737
  var restoreSymlinks = function() {
481
738
  var archivesPath = _(getUserHome() + '/.gina/archives/framework', true);
482
739
  var frameworkPath = _(self.gina +'/framework', true);
@@ -500,15 +757,17 @@ function PostInstall() {
500
757
  // intercept & remove existing symlinks or old versions dir
501
758
  try {
502
759
  if ( fs.lstatSync( _(frameworkPath +'/'+ dir, true) ).isSymbolicLink() ) {
503
- new _(frameworkPath +'/'+ dir, true).rmSync();
504
- 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));
505
763
  continue;
506
764
  }
507
- else if (
765
+
766
+ if (
508
767
  dir != currentVersion
509
768
  && fs.lstatSync( _(frameworkPath +'/'+ dir, true) ).isDirectory()
510
769
  ) {
511
- console.debug('Removing old version: '+ dir);
770
+ console.debug('Removing old version: '+ _(frameworkPath +'/'+ dir, true));
512
771
  new _(frameworkPath +'/'+ dir, true).rmSync()
513
772
  }
514
773
  } catch (e) {
@@ -540,15 +799,34 @@ function PostInstall() {
540
799
  }
541
800
  }
542
801
 
802
+
543
803
  self.end = function(done) {
544
804
 
545
805
  restoreSymlinks();
546
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
+
547
825
  // Update middleware file
548
- var filename = _(self.path) + '/MIDDLEWARE';
826
+ var filename = _(self.versionPath) + '/MIDDLEWARE';
549
827
  var msg = "Gina's command line tool has been installed.";
550
828
 
551
- var deps = require(_(self.path) + '/package.json').dependecies;
829
+ var deps = require(_(self.versionPath) + '/package.json').dependecies;
552
830
 
553
831
  var version = require( _(self.gina + '/package.json') ).version;
554
832
  var middleware = 'isaac@'+version; // by default
@@ -559,11 +837,12 @@ function PostInstall() {
559
837
  }
560
838
  }
561
839
 
562
- var expressPackage = _(self.path + '/node_modules/express/package.json');
840
+ var expressPackage = _(self.versionPath + '/node_modules/express/package.json');
563
841
  if ( typeof(middleware) == 'undefined' && fs.existsSync(expressPackage) ) {
564
842
  middleware = require(expressPackage).version;
565
843
  middleware = 'express@' + middleware;
566
- } else if (typeof(middleware) == 'undefined') {
844
+ }
845
+ else if (typeof(middleware) == 'undefined') {
567
846
  return done( new Error('No middleware found !!') );
568
847
  }
569
848
 
@@ -575,6 +854,8 @@ function PostInstall() {
575
854
  if (err) {
576
855
  return done(err)
577
856
  }
857
+ console.debug('Updated: def !== middleware case');
858
+ // execSync(self.prefix +'/bin/gina framework:set --prefix='+ self.prefix);
578
859
  console.info(msg);
579
860
  done()
580
861
  })
@@ -584,12 +865,15 @@ function PostInstall() {
584
865
  if (err) {
585
866
  return done(err)
586
867
  }
868
+ console.info('File created case');
869
+
587
870
  console.info(msg);
588
871
  done()
589
872
  })
590
873
  }
591
874
  }
592
875
 
876
+
593
877
  init()
594
878
  }
595
879
  new PostInstall()