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
- * This file is part of the gina package.
3
- * Copyright (c) 2017 Rhinostone <contact@gina.io>
4
+ * This file is part of the gina pkg.
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.
@@ -15,10 +17,6 @@ var { execSync } = require('child_process');
15
17
  //var lib = require('./lib');
16
18
  // var console = lib.logger;
17
19
  var lib = null;
18
- var isWin32 = function() {
19
- return (process.platform === 'win32') ? true : false;
20
- };
21
-
22
20
  var helpers = null;
23
21
 
24
22
  /**
@@ -27,43 +25,151 @@ var helpers = null;
27
25
  * if you need to test, go to gina main folder
28
26
  * $ node --inspect-brk=5858 ./script/pre_install.js -g
29
27
  *
28
+ * NB.: At this stage, Gina is not yet installed and no lib or helper cannot be used here
29
+ * excepted if Gina has been previously installed
30
+ *
30
31
  * @constructor
31
32
  * */
32
33
  function PreInstall() {
33
- var self = {}, _this = this;
34
+ var self = {};
34
35
 
35
- var init = function() {
36
+ var configure = function() {
37
+
38
+ // TODO - handle windows case
39
+ if ( /^true$/i.test(isWin32()) ) {
40
+ throw new Error('Windows in not yet fully supported. Thank you for your patience');
41
+ }
42
+
43
+ self.isWin32 = isWin32();
44
+ self.isGlobalInstall = process.env.npm_config_global || false;
45
+ self.isResetNeeded = process.env.npm_config_reset || false;
46
+ self.defaultPrefix = execSync('npm config get prefix').toString().replace(/\n$/g, '');
36
47
 
37
- self.isGlobalInstall = false;
38
- self.prefix = execSync('npm config get prefix');
39
- self.isGinaInstall = false;
40
48
 
49
+ // `process.env.npm_config_prefix` is only retrieved on `npm install gina`
50
+ // and it should always be equal to `self.defaultPrefix`
51
+ self.prefix = process.env.npm_config_prefix || self.defaultPrefix;
52
+ self.isCustomPrefix = false;
53
+ self.isGinaInstalled = false;
54
+
55
+ // Overriding thru passed arguments
41
56
  var args = process.argv, i = 0, len = args.length;
42
57
  for (; i < len; ++i) {
43
- if (args[i] == '-g' ) {
58
+ if ( /^(\-g|\-\-global)$/.test(args[i]) ) {
44
59
  self.isGlobalInstall = true;
45
- break;
60
+ continue;
61
+ }
62
+
63
+ if ( /^\-\-reset$/.test(args[i]) ) {
64
+ self.isResetNeeded = true;
65
+ continue;
66
+ }
67
+
68
+ if ( /^\-\-prefix\=/.test(args[i] ) ) {
69
+ self.isCustomPrefix = true;
70
+ self.prefix = args[i].split(/\=/)[1];
71
+ self.prefix = self.prefix.replace(/^\~/, getUserHome());
72
+ continue;
46
73
  }
47
74
  }
48
75
 
49
- if ( !self.isGlobalInstall ) { //global install
50
- self.root = process.cwd(); // project path
51
- self.tmpDir = os.tmpdir(); // default tmp path
52
- console.error('local installation is not supported for this version at the moment.');
53
- console.info('please use `npm install -g gina`');
54
- process.exit(1);
76
+ if (self.prefix != self.defaultPrefix) {
77
+ self.isCustomPrefix = true;
55
78
  }
56
79
 
80
+ // For local install
81
+ console.debug('self.isGlobalInstall => '+ self.isGlobalInstall);
82
+ if ( !self.isGlobalInstall ) {
83
+ console.warn('Local installation is not fully supported at the moment.');
84
+ 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');
85
+ // Just in case someone is trying to run pre_install from the `gina` module
86
+ console.info('process.env.INIT_CWD: ', process.env.INIT_CWD);
87
+ if (!/node\_modules(\\\\|\/)gina$/.test(process.env.INIT_CWD)) {
88
+ self.prefix = process.env.INIT_CWD;//process.cwd();
89
+ }
90
+ }
91
+
92
+ // checking permission
93
+ var hasPermissionsForBin = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'bin');
94
+ var hasPermissionsForLib = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'lib');
95
+ var hasPermissionsForVar = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'var');
96
+ if ( !hasPermissionsForBin || !hasPermissionsForLib || !hasPermissionsForVar) {
97
+ if (!hasPermissionsForBin) {
98
+ console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'bin')
99
+ }
100
+ if (!hasPermissionsForLib) {
101
+ console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'lib')
102
+ }
103
+ if (!hasPermissionsForVar) {
104
+ console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'var')
105
+ }
106
+
107
+ // console.warn('You do not have sufficient permissions. Switching to `--prefix='+ self.optionalPrefix +'`');
108
+ // process.env.npm_config_prefix = self.prefix = self.optionalPrefix;
109
+ }
110
+
111
+ var pkg = null, pkgObj = null, cmd = null;
112
+ try {
113
+ cmd = 'npm list gina --long --json --prefix='+ self.prefix;
114
+ if (self.isGlobalInstall) {
115
+ cmd += ' -g';
116
+ }
117
+ pkg = execSync(cmd).toString().replace(/\n$/g, '');
118
+ self.optionalPrefix = JSON.parse(pkg).dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
119
+
120
+ pkgObj = JSON.parse(pkg);
121
+ self.optionalPrefix = pkgObj.dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
122
+ } catch(err) {
123
+ // means that gina is not already installed
124
+ // throw err
125
+ }
126
+
127
+
128
+ if ( self.prefix != self.defaultPrefix ) {
129
+ self.isCustomPrefix = true;
130
+ }
131
+
132
+ self.gina = __dirname +'/..';
133
+ // tying to figure out if gina is already install the given prefix
134
+ // var hasFoundGina = execSync('npm list -g gina --long --json').toString().replace(/\n$/g, '');
135
+ var hasFoundGina = pkg;
136
+ try {
137
+ hasFoundGina = JSON.parse(hasFoundGina);
138
+ if ( hasFoundGina.dependencies && typeof(hasFoundGina.dependencies.gina) != 'undefined' ) {
139
+ self.isGinaInstalled = true;
140
+ self.versionPath = self.gina;
141
+ self.versionPath += (isWin32()) ? '\\framework\\' : '/framework/';
142
+ self.versionPath += 'v'+ hasFoundGina.dependencies.gina.version;
143
+
144
+ console.debug('Install path => '+ hasFoundGina.dependencies.gina.path);
145
+
146
+ // OK ... found installed gina but on a different prefix
147
+ // In this case, let's assume that it is not really installed
148
+ if ( !new RegExp('^'+ self.prefix).test(hasFoundGina.dependencies.gina.path) ) {
149
+ self.isGinaInstalled = false;
150
+ }
151
+ }
152
+ } catch (err) {}
153
+
154
+ console.debug('self.defaultPrefix => '+ self.defaultPrefix);
155
+ console.debug('self.optionalPrefix => '+ self.optionalPrefix );
156
+ console.debug('self.prefix => '+ self.prefix);
157
+ console.debug('self.isCustomPrefix => ', self.isCustomPrefix);
158
+ // only available when running the script with NPM
159
+ console.debug('process.env.npm_config_prefix => '+ process.env.npm_config_prefix);
160
+ }
161
+
162
+ var init = function() {
163
+
164
+ configure();
57
165
 
58
166
  begin(0);
59
- // TODO check old framework version to be archived
60
167
  }
61
168
 
62
169
  /**
63
170
  * Bebin - Will run checking tasks in order of declaration
64
171
  * */
65
172
  var begin = async function(i) {
66
- //console.debug('i is ', i);
67
173
  var n = 0, funct = null, functName = null;
68
174
  for (let t in self) {
69
175
  if ( typeof(self[t]) == 'function') {
@@ -81,49 +187,109 @@ function PreInstall() {
81
187
 
82
188
  // to handle sync vs async to allow execution in order of declaration
83
189
  if (funct) {
84
- eval('async function on'+functName+'(){ await promisify('+ funct + ')().catch(function(e){ console.error(e.toString()); process.exit(-1);}).then(function(){ begin('+(i+1)+')});}; on'+functName+'();');// jshint ignore:line
190
+ eval('async function on'+functName+'(){ await promisify('+ funct + ')().catch(function(e){ console.error(e.toString()); process.exit(1);}).then(function(){ begin('+(i+1)+')});}; on'+functName+'();');// jshint ignore:line
85
191
  } else {
86
192
  process.exit(0);
87
193
  }
88
194
  }
89
195
 
196
+ self.checkPermissions = function(done) {
197
+ // E.g.:
198
+ // {
199
+ // uid: 0,
200
+ // gid: 0,
201
+ // username: 'root',
202
+ // homedir: '/root',
203
+ // shell: '/bin/bash'
204
+ // }
205
+ self.userInfo = os.userInfo();
206
+ var cmd = null;
207
+ if ( !isWin32() ) {
208
+ var uid = self.userInfo.uid;
209
+ var gid = self.userInfo.gid;
210
+
211
+ if ( self.userInfo.username == 'root' ) {
212
+ // cmd = 'chown -R '+ uid +':'+ gid +' '+ self.userInfo.homedir +'/.config';
213
+ // execSync(cmd);
214
+ // cmd = 'chown -R nobody:'+ gid +' '+ self.userInfo.homedir +'/.npm';
215
+ // execSync(cmd);
216
+ console.warn('You should avoid installing with root');
217
+ }
218
+ }
219
+
220
+
221
+ done();
222
+ }
223
+
224
+
225
+
90
226
  self.checkRequirements = async function(done) {
91
- // TODO - handle windows case
92
- if ( /true/i.test(self.isWin32) ) {
93
- return done( new Error('Windows in not yet fully supported. Thank you for your patience'));
227
+
228
+ var ginaHome = getUserHome() + ( isWin32() ? '\\.gina' : '/.gina' );
229
+ if ( self.isResetNeeded && existsSync(ginaHome) ) {
230
+ console.debug('`.gina` reset requested ...');
231
+ fs.rmSync(ginaHome, { recursive: true, force: true });
94
232
  }
95
233
 
96
234
  // Let's temporarily install `colors` into `GINA_DIR` it will be removed by the `post_install.js` script
97
235
  var initialDir = process.cwd();
98
- var frameworkPath = __dirname +'/..';
99
- if ( !fs.existsSync(frameworkPath +'/node_modules/colors') ) {
100
- process.chdir(frameworkPath);
236
+
237
+ if ( !fs.existsSync(self.gina +'/node_modules/colors') ) {
238
+ process.chdir(self.gina);
239
+
240
+ var oldConfigGlobal = process.env.npm_config_global;
241
+ process.env.npm_config_global=false;
101
242
  var cmd = ( isWin32() ) ? 'npm.cmd install colors@1.4.0' : 'npm install colors@1.4.0';
102
243
  execSync(cmd);
244
+ process.env.npm_config_global=oldConfigGlobal;
245
+
103
246
  process.chdir(initialDir);
104
247
  }
105
248
 
106
- if ( !fs.existsSync(frameworkPath +'/node_modules/gina') ) {
107
- return done();
249
+
250
+
251
+ console.debug('framework path: ' + self.gina);
252
+ console.debug('framework version path: ' + self.versionPath);
253
+ console.debug('Is this a global install: '+ self.isGlobalInstall);
254
+
255
+ done();
256
+ }
257
+
258
+ self.checkRequiredFolders = function(done) {
259
+
260
+ var ginaHomeDir = getUserHome() + ((isWin32()) ? '\\.gina': '/.gina');
261
+ if (!existsSync(ginaHomeDir) ) {
262
+ fs.mkdirSync(ginaHomeDir)
263
+ }
264
+
265
+ // check for `/usr/local/tmp` or `/tmp`
266
+ var tmpDir = getTmpDir(self.prefix);
267
+ console.info('`tmp` dir -> '+ tmpDir);
268
+ if ( !existsSync(tmpDir) ) {
269
+ fs.mkdirSync(tmpDir)
108
270
  }
109
- self.isGinaInstall = true;
110
271
 
111
- helpers = require(frameworkPath+ '/utils/helpers');
112
272
 
113
- lib = require('./lib');
114
- console = lib.logger;
273
+ // check for `/usr/local/run`
274
+ var runDir = getRunDir(self.prefix);
275
+ console.info('`run` dir -> '+ runDir);
115
276
 
116
- self.isWin32 = isWin32();//getEnvVar('GINA_IS_WIN32');
117
- self.path = getEnvVar('GINA_FRAMEWORK');
118
- self.gina = getEnvVar('GINA_DIR');
119
- self.root = self.gina; // by default
277
+ // check for `/usr/local/log`
278
+ var logDir = getLogDir(self.prefix);
279
+ console.info('`log` dir -> '+ logDir);
120
280
 
121
- console.debug('framework path: ' + self.gina);
122
- console.debug('framework version path: ' + self.path);
123
- console.debug('cwd path: ' + self.root );
124
- console.debug('this is a global install ...');
281
+ // var settingsBackupPath = tmpDir + ((isWin32()) ? '\\': '/') + 'gina-install-settings.json';
282
+ // console.info('tmp folder backup -> '+ settingsBackupPath);
283
+ // var data = JSON.stringify({
284
+ // prefix: self.prefix,
285
+ // rundir: runDir,
286
+ // logdir: logDir,
287
+ // tmpdir: tmpDir
288
+ // }, null, 4);
289
+ // fs.writeFileSync(settingsBackupPath, data);
290
+ // fs.chmodSync(settingsBackupPath, 0755);
125
291
 
126
- done();
292
+ done()
127
293
  }
128
294
 
129
295
 
@@ -146,7 +312,7 @@ function PreInstall() {
146
312
  // }
147
313
  // // from `/usr/local` -> `~/.npm-global`
148
314
  // var cmd = 'npm config set prefix '+ getUserHome() +'/.npm-global';
149
- // await promisify(run)(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
315
+ // await promisify(run)(cmd, { cwd: _(self.path), tmp: getTmpDir(self.prefix);, outToProcessSTD: true })
150
316
  // .catch(function onError(err){
151
317
  // if (err) {
152
318
  // console.warn('try to run: sudo ' + cmd);
@@ -158,7 +324,7 @@ function PreInstall() {
158
324
  // var profilePathObj = new _(profilePath);
159
325
  // if ( !profilePathObj.existsSync() ) {
160
326
  // cmd = 'touch '+ profilePath;
161
- // await promisify(run)(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
327
+ // await promisify(run)(cmd, { cwd: _(self.path), tmp: getTmpDir(self.prefix);, outToProcessSTD: true })
162
328
  // .catch(function onError(err){
163
329
  // if (err) {
164
330
  // console.warn('try to run: sudo ' + cmd);
@@ -199,29 +365,45 @@ function PreInstall() {
199
365
 
200
366
  self.checkIfGinaIsAlreadyInstalled = async function(done) {
201
367
 
202
- console.debug('Checking if Gina is already installed');
203
- if (!self.isGinaInstall) {
368
+ console.debug('Checking if Gina is already installed for prefix `'+ self.prefix+'`: '+ self.isGinaInstalled);
369
+ if (!self.isGinaInstalled) {
204
370
  return done();
205
371
  }
206
372
 
373
+
207
374
  // Backup current version
208
375
 
209
376
  // check for ~/.gina
210
- var ginaHomeDir = _(getUserHome() + '/.gina', true);
377
+ var ginaHomeDir = getUserHome() + ((isWin32()) ? '\\.gina': '/.gina');
211
378
  // if not found -> skip because it means that gina might not be installed or configured yet
212
- if ( !new _(ginaHomeDir).existsSync() ) {
379
+ if (!existsSync(ginaHomeDir) ) {
213
380
  return done();
214
381
  }
215
382
 
383
+ var frameworkPath = self.versionPath;
384
+ try {
385
+ helpers = require(self.gina+ '/utils/helper');
386
+ lib = require('./lib');
387
+ console = lib.logger;
388
+ } catch (err) {
389
+ return done(err)
390
+ }
391
+
392
+
393
+
394
+ // root
395
+ // self.gina = getEnvVar('GINA_DIR');
396
+ // self.versionPath = getEnvVar('GINA_FRAMEWORK');
397
+
216
398
  // check if framework version folder is found
217
- var versionsFolders = null, frameworkPath = null;
399
+ var versionsFolders = null, frameworkFolder = null;
218
400
  try {
219
- frameworkPath = _(self.root +'/framework', true);
220
- console.info('frameworkPath: ', frameworkPath);
221
- if ( !new _(frameworkPath).existsSync() ) {
401
+ frameworkFolder = _(self.gina +'/framework', true);
402
+ console.debug('frameworkFolder: ', frameworkFolder);
403
+ if ( !existsSync(frameworkFolder) ) {
222
404
  return done();
223
405
  }
224
- versionsFolders = fs.readdirSync(frameworkPath);
406
+ versionsFolders = fs.readdirSync(frameworkFolder);
225
407
  } catch (err) {
226
408
  // do nothing
227
409
  }
@@ -273,43 +455,241 @@ function PreInstall() {
273
455
  });
274
456
 
275
457
  if (err) {
276
- throw err;
458
+ return done(err);
277
459
  }
278
460
  }
279
461
  // It is not required to update `~/.gina/main.json` && `~/.gina/{shortVersion}/settings.json`
462
+ done()
463
+ }
280
464
 
281
- self.checkRequiredFolders = function(done) {
465
+ var isWin32 = function() {
466
+ return (process.platform === 'win32') ? true : false;
467
+ };
282
468
 
283
- // check for `/usr/local/tmp`
284
- var tmpDir = getTmpDir()
285
- console.info('`tmp` dir -> '+ tmpDir);
286
- var tmpDirObj = new _(tmpDir, true);
287
- if ( !tmpDirObj.existsSync() ) {
288
- tmpDirObj.mkdirSync()
469
+ var existsSync = function(path) {
470
+ if ( fs.accessSync && typeof(fs.accessSync) != 'undefined' ) {
471
+ try {
472
+ fs.accessSync(path, fs.constants.F_OK);
473
+ return true;
474
+ } catch (err) {
475
+ return false;
289
476
  }
477
+ } else { // support for old version of nodejs
478
+ return fs.existsSync(path);
479
+ }
480
+ }
290
481
 
291
- // check for `/usr/local/run`
292
- var runDir = getRunDir();
293
- console.info('`run` dir -> '+ runDir);
294
- var runDirObj = new _(runDir, true);
295
- if ( !runDirObj.existsSync() ) {
296
- runDirObj.mkdirSync()
482
+ var isWritableSync = function(path) {
483
+ var canWrite = false;
484
+ if ( fs.accessSync && typeof(fs.accessSync) != 'undefined' ) {
485
+ try {
486
+ fs.accessSync(path, fs.constants.W_OK);
487
+ canWrite = true;
488
+ } catch (err) {
489
+ canWrite = false;
297
490
  }
491
+ } else { // support for old version of nodejs
298
492
 
299
- // check for `/usr/local/log`
300
- var logDir = getLogDir();
301
- console.info('`log` dir -> '+ logDir);
302
- var logDirObj = new _(logDir, true);
303
- if ( !logDirObj.existsSync() ) {
304
- logDirObj.mkdirSync()
493
+ try {
494
+ canWrite = (fs.statSync(path).mode & (fs.constants.S_IRUSR | fs.constants.S_IRGRP | fs.constants.S_IROTH));
495
+ } catch (err) {
496
+ canWrite = false
305
497
  }
498
+ }
499
+
500
+ return canWrite
501
+ };
306
502
 
307
- done()
503
+ /**
504
+ * Get run\lock path
505
+ * @returns {string} rundir
506
+ * */
507
+ var getRunDir = function(prefix) {
508
+ if ( !prefix || typeof(prefix) == 'undefined' || prefix == '' ) {
509
+ prefix = self.defaultPrefix;
308
510
  }
309
511
 
512
+ // Trying to retrieve original value if already defined
513
+ // Means `/usr/local/var/lock` or `/usr/local/var/run` by default.
514
+ var runDir = (isWin32()) ? getUserHome() + '\\.gina\\run' : prefix+'/var/lock';
310
515
 
311
- done()
312
- }
516
+ if ( !isWin32() && new RegExp('^'+ prefix).test(runDir) && !isWritableSync(prefix) ) {
517
+ runDir = getUserHome() +'/.gina/run';
518
+ if ( !existsSync(runDir) ) {
519
+ fs.mkdirSync(runDir)
520
+ }
521
+
522
+ return runDir
523
+ }
524
+
525
+ if (!self.isGlobalInstall) {
526
+ runDir = runDir.replace(/\/var\//, '/')
527
+ }
528
+
529
+ if ( existsSync(runDir) ) {
530
+ if ( !isWritableSync(runDir) ) {
531
+ throw new Error('location `'+ runDir +'` found but not writable !' )
532
+ }
533
+
534
+ runDir += ( isWin32() || !self.isGlobalInstall ) ? '' : '/gina'
535
+ if ( !existsSync(runDir) ) {
536
+ fs.mkdirSync(runDir)
537
+ }
538
+
539
+ return runDir;
540
+ }
541
+
542
+ try {
543
+ //by default.
544
+ runDir = prefix;
545
+ if (!self.isGlobalInstall) {
546
+ runDir += '/var';
547
+ }
548
+
549
+ if ( !existsSync(runDir) ) {
550
+ fs.mkdirSync(runDir)
551
+ }
552
+ runDir += '/run';
553
+ if ( !existsSync(runDir) ) {
554
+ fs.mkdirSync(runDir)
555
+ }
556
+ } catch (err) {
557
+ throw new Error('location error: `'+ runDir+'`\n'+ err.stack);
558
+ }
559
+
560
+ if (self.optionalPrefix != prefix && self.isGlobalInstall) {
561
+ runDir += ( isWin32() ) ? '\\gina' : '/gina'
562
+ if ( !existsSync(runDir) ) {
563
+ fs.mkdirSync(runDir)
564
+ }
565
+ }
566
+
567
+ return runDir;
568
+ };
569
+
570
+ var getTmpDir = function(prefix) {
571
+ if ( !prefix || typeof(prefix) == 'undefined' || prefix == '' ) {
572
+ prefix = self.defaultPrefix;
573
+ }
574
+ // support for node 0.10.x & 0.11.x
575
+ var tmp = (os.tmpdir) ? os.tmpdir : function() {
576
+ var tmpDir = null;
577
+ if ( isWin32() ) {
578
+ tmpDir = process.env.TEMP ||
579
+ process.env.TMP ||
580
+ (process.env.SystemRoot || process.env.windir) + '\\Temp'
581
+ ;
582
+ } else {
583
+ tmpDir = process.env.TMPDIR ||
584
+ process.env.TMP ||
585
+ process.env.TEMP ||
586
+ prefix+'/var/tmp'
587
+ ;
588
+
589
+ if ( new RegExp('^'+ prefix).test(tmpDir) && !isWritableSync(prefix) ) {
590
+ tmpDir = getUserHome() +'/.gina/tmp';
591
+ if ( !existsSync(tmpDir) ) {
592
+ fs.mkdirSync(tmpDir)
593
+ }
594
+ }
595
+
596
+ if ( new RegExp('^'+ prefix +'/var').test(tmpDir) && !existsSync(prefix+'/var') ) {
597
+ fs.mkdirSync(prefix+'/var');
598
+ }
599
+ }
600
+
601
+ if ( !existsSync(tmpDir) ) {
602
+ fs.mkdirSync(tmpDir);
603
+ }
604
+
605
+ return tmpDir
606
+ };
607
+
608
+ return tmp()
609
+ };
610
+
611
+ /**
612
+ * Get log path - %SystemRoot%\system32\winevt\logs or /
613
+ *
614
+ * @returns {string} logPath
615
+ * */
616
+ var getLogDir = function(prefix) {
617
+ if ( !prefix || typeof(prefix) == 'undefined' || prefix == '' ) {
618
+ prefix = self.defaultPrefix;
619
+ }
620
+ // Trying to retrieve original value if already defined
621
+ var logDir = null;
622
+
623
+ if ( isWin32() ) {
624
+ logDir = process.env.LOG ||
625
+ process.env.LOGS ||
626
+ (process.env.SystemRoot || process.env.windir) + '\\System32\\Winevt\\Logs'
627
+ ;
628
+
629
+ if ( !logDir || logDir == '' ) {
630
+ throw new Error('Log directory not defined or not found !');
631
+ }
632
+
633
+ if ( !isWritableSync(logDir) ) {
634
+ throw new Error('Log directory found but not writable: need permissions for `'+ logDir +'`');
635
+ }
636
+
637
+ if ( !/gina$/.test(logDir) ) {
638
+ logDir += '\\gina'
639
+ }
640
+ } else {
641
+ logDir = process.env.LOGDIR ||
642
+ process.env.LOG ||
643
+ process.env.LOGS ||
644
+ prefix+'/var/log'
645
+ ;
646
+
647
+ if ( new RegExp('^'+ prefix).test(logDir) && !isWritableSync(prefix) ) {
648
+ logDir = getUserHome() +'/.gina/log';
649
+ if ( !existsSync(logDir) ) {
650
+ fs.mkdirSync(logDir)
651
+ }
652
+
653
+ return logDir
654
+ }
655
+
656
+ if ( new RegExp('^'+ prefix +'/var').test(logDir) && !existsSync(prefix+'/var') ) {
657
+ fs.mkdirSync(prefix+'/var');
658
+ }
659
+
660
+ if ( !existsSync(logDir) ) {
661
+ fs.mkdirSync(logDir);
662
+ }
663
+
664
+ if ( !/gina$/.test(logDir) && self.optionalPrefix != prefix ) {
665
+ logDir += '/gina'
666
+ }
667
+ }
668
+
669
+ if ( !existsSync(logDir) ) {
670
+ fs.mkdirSync(logDir)
671
+ }
672
+
673
+ return logDir;
674
+ };
675
+
676
+ var getUserHome = function() {
677
+ var home = os.homedir ? os.homedir : function() {
678
+ var homeDir = process.env[(isWin32()) ? 'USERPROFILE' : 'HOME'];
679
+
680
+ if ( !homeDir || homeDir == '' ) {
681
+ throw new Error('Home directory not defined or not found !');
682
+ }
683
+
684
+ if ( !isWritableSync(homeDir) ) {
685
+ throw new Error('Home directory found but not writable: need permissions for `'+ homeDir +'`');
686
+ }
687
+
688
+ return homeDir;
689
+ };
690
+
691
+ return home()
692
+ };
313
693
 
314
694
  init()
315
695
  }