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

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