gina 0.1.1-alpha.15 → 0.1.1-alpha.151

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 (322) hide show
  1. package/AUTHORS +2 -1
  2. package/README.md +170 -19
  3. package/bin/cli +129 -55
  4. package/bin/cli-debug +4 -4
  5. package/bin/cmd +40 -18
  6. package/bin/gina +40 -34
  7. package/{framework/v0.1.1-alpha.15/core/template/command/gina.bat.tpl → bin/gina.bat} +0 -0
  8. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/AUTHORS +0 -0
  9. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/LICENSE +0 -0
  10. package/framework/v0.1.1-alpha.151/VERSION +1 -0
  11. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/asset/html/nolayout.html +0 -0
  12. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/asset/html/static.html +0 -0
  13. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/asset/img/android-chrome-192x192.png +0 -0
  14. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/asset/img/android-chrome-512x512.png +0 -0
  15. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/asset/img/apple-touch-icon.png +0 -0
  16. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/asset/img/favicon-16x16.png +0 -0
  17. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/asset/img/favicon-32x32.png +0 -0
  18. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/asset/img/favicon.ico +0 -0
  19. package/framework/{v0.1.1-alpha.15/core/asset/js → v0.1.1-alpha.151/core/asset}/plugin/dist/gina.js +109 -106
  20. package/framework/{v0.1.1-alpha.15/core/asset/js → v0.1.1-alpha.151/core/asset}/plugin/dist/gina.js.map +0 -0
  21. package/framework/{v0.1.1-alpha.15/core/asset/js → v0.1.1-alpha.151/core/asset}/plugin/dist/gina.min.css +0 -0
  22. package/framework/{v0.1.1-alpha.15/core/asset/js → v0.1.1-alpha.151/core/asset}/plugin/dist/gina.min.css.map +0 -0
  23. package/framework/v0.1.1-alpha.151/core/asset/plugin/dist/gina.min.js +739 -0
  24. package/framework/v0.1.1-alpha.151/core/asset/plugin/dist/gina.min.js.map +8 -0
  25. package/framework/{v0.1.1-alpha.15/core/asset/js → v0.1.1-alpha.151/core/asset}/plugin/dist/gina.onload.min.js +0 -0
  26. package/framework/{v0.1.1-alpha.15/core/asset/js → v0.1.1-alpha.151/core/asset}/plugin/dist/gina.onload.min.js.map +0 -0
  27. package/framework/v0.1.1-alpha.151/core/asset/plugin/dist/toolbar/css/toolbar-min.css +1 -0
  28. package/framework/v0.1.1-alpha.151/core/asset/plugin/dist/toolbar/css/toolbar.css +3 -0
  29. package/framework/v0.1.1-alpha.151/core/asset/plugin/dist/toolbar/css/toolbar.css.map +1 -0
  30. package/framework/v0.1.1-alpha.151/core/asset/plugin/dist/toolbar/js/jquery-3.1.0.min.js +4 -0
  31. package/framework/v0.1.1-alpha.151/core/asset/plugin/dist/toolbar/main.js +1542 -0
  32. package/framework/v0.1.1-alpha.151/core/asset/plugin/dist/toolbar/toolbar.html +251 -0
  33. package/framework/{v0.1.1-alpha.15/core/asset/js → v0.1.1-alpha.151/core/asset}/plugin/readme.md +6 -6
  34. package/framework/{v0.1.1-alpha.15/core/asset/js → v0.1.1-alpha.151/core/asset}/plugin/uuid.json +0 -0
  35. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/config.js +28 -13
  36. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/connectors/couchbase/index.js +310 -215
  37. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/connectors/couchbase/lib/connector.js +6 -4
  38. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/connectors/couchbase/lib/connector.v2.js +47 -47
  39. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  40. package/framework/v0.1.1-alpha.151/core/connectors/couchbase/lib/connector.v4.js +377 -0
  41. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/connectors/couchbase/lib/n1ql.js +3 -2
  42. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/connectors/couchbase/lib/session-store.js +6 -5
  43. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  44. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  45. package/framework/v0.1.1-alpha.151/core/connectors/couchbase/lib/session-store.v4.js +362 -0
  46. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/controller/controller.framework.js +0 -0
  47. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/controller/controller.js +686 -675
  48. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/controller/index.js +0 -0
  49. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/deps/busboy/.travis.yml +0 -0
  50. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/deps/busboy/LICENSE +0 -0
  51. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/deps/busboy/README.md +0 -0
  52. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
  53. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/deps/busboy/deps/encoding/encoding.js +0 -0
  54. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/deps/busboy/lib/main.js +0 -0
  55. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/deps/busboy/lib/types/multipart.js +0 -0
  56. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/deps/busboy/lib/types/urlencoded.js +0 -0
  57. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/deps/busboy/lib/utils.js +0 -0
  58. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/deps/busboy/package.json +0 -0
  59. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  60. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/dev/index.js +0 -0
  61. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/dev/lib/class.js +0 -0
  62. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/dev/lib/factory.js +0 -0
  63. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/dev/lib/tools.js +0 -0
  64. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/gna.js +2 -3
  65. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/locales/README.md +0 -0
  66. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/locales/currency.json +0 -0
  67. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/locales/dist/language/en.json +0 -0
  68. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/locales/dist/language/fr.json +0 -0
  69. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/locales/dist/region/en.json +0 -0
  70. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/locales/dist/region/fr.json +0 -0
  71. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/locales/index.js +0 -0
  72. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/locales/src/make.js +0 -0
  73. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/locales/src/resources/currency.csv +0 -0
  74. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/locales/src/resources/region.csv +0 -0
  75. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/locales/src/resources/region.mapping.json +0 -0
  76. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/mime.types +0 -0
  77. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/model/entity.js +80 -60
  78. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/model/index.js +4 -4
  79. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/model/template/entityFactory.js +0 -0
  80. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/model/template/index.js +0 -0
  81. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/README.md +0 -0
  82. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/index.js +0 -0
  83. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/file/README.md +0 -0
  84. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/file/build.json +0 -0
  85. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/file/package.json +0 -0
  86. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/intl/README.md +0 -0
  87. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/intl/build.json +0 -0
  88. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/intl/package.json +0 -0
  89. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/intl/src/main.js +0 -0
  90. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/storage/README.md +0 -0
  91. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/storage/build.json +0 -0
  92. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/storage/package.json +0 -0
  93. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/storage/src/main.js +0 -0
  94. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/validator/README.md +0 -0
  95. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/validator/build.json +0 -0
  96. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/validator/package.json +0 -0
  97. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/validator/src/form-validator.js +0 -0
  98. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/validator/src/main.js +0 -0
  99. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/router.js +91 -78
  100. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/server.express.js +0 -0
  101. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/server.isaac.js +117 -108
  102. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/server.js +2 -1
  103. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/status.codes +0 -0
  104. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle/config/app.json +0 -0
  105. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle/config/routing.json +0 -0
  106. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle/config/settings.json +0 -0
  107. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  108. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle/config/templates.json +4 -4
  109. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  110. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  111. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  112. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle/index.js +0 -0
  113. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  114. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  115. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  116. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  117. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  118. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle_public/readme.md +0 -0
  119. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  120. package/framework/v0.1.1-alpha.151/core/template/boilerplate/bundle_templates/html/content/homepage.html +8 -0
  121. package/framework/v0.1.1-alpha.151/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +11 -0
  122. package/framework/v0.1.1-alpha.151/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +8 -0
  123. package/framework/{v0.1.1-alpha.15/core/template/boilerplate/bundle_templates/html/layout → v0.1.1-alpha.151/core/template/boilerplate/bundle_templates/html/layouts}/main.html +10 -3
  124. package/framework/v0.1.1-alpha.151/core/template/command/gina.bat.tpl +8 -0
  125. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/command/gina.tpl +0 -0
  126. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/conf/env.json +0 -0
  127. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/conf/manifest.json +0 -0
  128. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/conf/package.json +0 -0
  129. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/conf/settings.json +0 -0
  130. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/conf/statics.json +3 -3
  131. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/conf/templates.json +2 -2
  132. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/error/client/json/401.json +0 -0
  133. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/error/client/json/403.json +0 -0
  134. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/error/client/json/404.json +0 -0
  135. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/error/server/html/50x.html +0 -0
  136. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/error/server/json/500.json +0 -0
  137. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/error/server/json/503.json +0 -0
  138. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/extensions/logger/config.json +0 -0
  139. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/console.js +0 -0
  140. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/context.js +144 -4
  141. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/dateFormat.js +3 -1
  142. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/index.js +9 -4
  143. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/json/README.md +0 -0
  144. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/json/package.json +0 -0
  145. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/json/src/main.js +0 -0
  146. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/path.js +142 -88
  147. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/plugins/README.md +0 -0
  148. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/plugins/package.json +0 -0
  149. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/plugins/src/api-error.js +23 -23
  150. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/plugins/src/main.js +0 -0
  151. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/prototypes.js +35 -36
  152. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/task.js +21 -14
  153. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/text.js +0 -0
  154. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/archiver/README.md +0 -0
  155. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/archiver/build.json +0 -0
  156. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/archiver/package.json +0 -0
  157. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/archiver/src/dep/jszip.min.js +0 -0
  158. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/archiver/src/main.js +0 -0
  159. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/aliases.json +4 -1
  160. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/bundle/add.js +43 -17
  161. package/framework/v0.1.1-alpha.151/lib/cmd/bundle/arguments.json +6 -0
  162. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/bundle/copy.js +0 -0
  163. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/bundle/cp.js +0 -0
  164. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/bundle/help.js +0 -0
  165. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/bundle/help.txt +2 -2
  166. package/framework/v0.1.1-alpha.151/lib/cmd/bundle/list.js +176 -0
  167. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/bundle/remove.js +22 -22
  168. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/bundle/rename.js +0 -0
  169. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/bundle/restart.js +0 -0
  170. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/bundle/rm.js +0 -0
  171. package/framework/v0.1.1-alpha.151/lib/cmd/bundle/start.js +420 -0
  172. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/bundle/status.js +0 -0
  173. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/bundle/stop.js +93 -74
  174. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/env/add.js +0 -0
  175. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/env/get.js +0 -0
  176. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/env/help.js +0 -0
  177. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/env/help.txt +0 -0
  178. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/env/link-dev.js +0 -0
  179. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/env/list.js +0 -0
  180. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/env/remove.js +0 -0
  181. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/env/rm.js +0 -0
  182. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/env/set.js +0 -0
  183. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/env/unset.js +0 -0
  184. package/framework/{v0.1.1-alpha.15/lib/cmd/scope → v0.1.1-alpha.151/lib/cmd/env}/use.js +21 -1
  185. package/framework/v0.1.1-alpha.151/lib/cmd/framework/build.js +85 -0
  186. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/dot.js +0 -0
  187. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/get.js +0 -0
  188. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/help.js +0 -0
  189. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/help.txt +0 -0
  190. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/init.js +70 -16
  191. package/framework/v0.1.1-alpha.151/lib/cmd/framework/link-node-modules.js +86 -0
  192. package/framework/v0.1.1-alpha.151/lib/cmd/framework/link.js +94 -0
  193. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/msg.json +0 -0
  194. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/open.js +15 -0
  195. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/restart.js +53 -25
  196. package/framework/v0.1.1-alpha.151/lib/cmd/framework/set.js +264 -0
  197. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/start.js +35 -12
  198. package/framework/v0.1.1-alpha.151/lib/cmd/framework/status.js +138 -0
  199. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/stop.js +44 -28
  200. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/tail.js +113 -61
  201. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/update.js +0 -0
  202. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/version.js +12 -3
  203. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/gina-dev.1.md +0 -0
  204. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/gina-framework.1.md +0 -0
  205. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/gina.1.md +0 -0
  206. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/helper.js +74 -5
  207. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/index.js +21 -21
  208. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/msg.json +0 -0
  209. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/port/help.js +0 -0
  210. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/port/help.txt +0 -0
  211. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/port/inc/scan.js +32 -17
  212. package/framework/v0.1.1-alpha.151/lib/cmd/port/list.js +446 -0
  213. package/framework/v0.1.1-alpha.151/lib/cmd/port/reset.js +426 -0
  214. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/port/set.js +0 -0
  215. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/add.js +145 -121
  216. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/arguments.json +0 -0
  217. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/build.js +0 -0
  218. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/help.js +0 -0
  219. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/help.txt +0 -0
  220. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/import.js +0 -0
  221. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/list.js +0 -0
  222. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/move.js +0 -0
  223. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/remove.js +17 -17
  224. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/rename.js +0 -0
  225. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/restart.js +0 -0
  226. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/rm.js +0 -0
  227. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/start.js +0 -0
  228. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/status.js +0 -0
  229. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/stop.js +0 -0
  230. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/protocol/help.js +0 -0
  231. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/protocol/help.txt +0 -0
  232. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/protocol/list.js +0 -0
  233. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/protocol/set.js +239 -201
  234. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/scope/help.js +0 -0
  235. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/scope/help.txt +0 -0
  236. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/scope/link-local.js +0 -0
  237. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/scope/list.js +0 -0
  238. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/scope/remove.js +0 -0
  239. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/scope/rm.js +0 -0
  240. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/scope/set.js +0 -0
  241. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/scope/unset.js +0 -0
  242. package/framework/{v0.1.1-alpha.15/lib/cmd/env → v0.1.1-alpha.151/lib/cmd/scope}/use.js +0 -0
  243. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/view/add.js +34 -9
  244. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/collection/README.md +0 -0
  245. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/collection/build.json +0 -0
  246. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/collection/package.json +0 -0
  247. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/collection/src/main.js +0 -0
  248. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/config.js +0 -0
  249. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cron/README.md +0 -0
  250. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cron/package.json +0 -0
  251. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cron/src/main.js +0 -0
  252. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/generator/index.js +0 -0
  253. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/index.js +0 -0
  254. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/inherits/LICENSE +0 -0
  255. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/inherits/README.md +0 -0
  256. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  257. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/inherits/example/protected_inheritance.js +0 -0
  258. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/inherits/example/simple_inheritance.js +0 -0
  259. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  260. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/inherits/package.json +0 -0
  261. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/inherits/src/main.js +0 -0
  262. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/logger/README.md +0 -0
  263. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/logger/package.json +0 -0
  264. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/logger/src/containers/default/index.js +13 -2
  265. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/logger/src/containers/file/index.js +105 -14
  266. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  267. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  268. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/logger/src/containers/mq/index.js +2 -1
  269. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/logger/src/containers/mq/listener.js +16 -14
  270. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/logger/src/containers/mq/speaker.js +32 -3
  271. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/logger/src/helper.js +19 -0
  272. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/logger/src/main.js +4 -1
  273. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/math/index.js +0 -0
  274. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/merge/README.md +0 -0
  275. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/merge/example/merge.js +0 -0
  276. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/merge/example/merge_2_literal objects.js +0 -0
  277. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/merge/example/merge_and_preserve_first.js +0 -0
  278. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/merge/package.json +0 -0
  279. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/merge/src/main.js +0 -0
  280. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/model.js +0 -0
  281. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/proc.js +69 -45
  282. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/routing/README.md +0 -0
  283. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/routing/build.json +0 -0
  284. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/routing/package.json +0 -0
  285. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/routing/src/main.js +0 -0
  286. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/session-store.js +0 -0
  287. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/shell.js +3 -3
  288. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/swig-filters/README.md +0 -0
  289. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/swig-filters/package.json +0 -0
  290. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/swig-filters/src/main.js +54 -51
  291. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/url/README.md +0 -0
  292. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/url/index.js +0 -0
  293. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/url/mocks.json +0 -0
  294. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/url/routing.json +0 -0
  295. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/url/test.js +0 -0
  296. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/validator.js +0 -0
  297. package/framework/v0.1.1-alpha.151/package.json +14 -0
  298. package/package.json +30 -21
  299. package/resources/home/main.json +19 -1
  300. package/resources/home/settings.json +5 -0
  301. package/resources/home/user/extensions/logger/default/config.json +1 -1
  302. package/resources/package.json.template +28 -17
  303. package/script/post_install.js +404 -120
  304. package/script/post_publish.js +185 -0
  305. package/script/pre_install.js +424 -76
  306. package/script/prepare_version.js +151 -21
  307. package/utils/helper.js +230 -44
  308. package/utils/prototypes.js +9 -9
  309. package/utils/prototypes.json_clone.js +31 -31
  310. package/doc/framework/cli/doc.json +0 -9
  311. package/doc/framework/index.md +0 -60
  312. package/framework/v0.1.1-alpha.15/VERSION +0 -1
  313. package/framework/v0.1.1-alpha.15/core/asset/js/plugin/dist/gina.min.js +0 -736
  314. package/framework/v0.1.1-alpha.15/core/asset/js/plugin/dist/gina.min.js.map +0 -56
  315. package/framework/v0.1.1-alpha.15/core/template/boilerplate/bundle_templates/html/homepage.html +0 -4
  316. package/framework/v0.1.1-alpha.15/lib/cmd/bundle/arguments.json +0 -4
  317. package/framework/v0.1.1-alpha.15/lib/cmd/bundle/list.js +0 -129
  318. package/framework/v0.1.1-alpha.15/lib/cmd/bundle/start.js +0 -394
  319. package/framework/v0.1.1-alpha.15/lib/cmd/framework/set.js +0 -161
  320. package/framework/v0.1.1-alpha.15/lib/cmd/framework/status.js +0 -72
  321. package/framework/v0.1.1-alpha.15/lib/cmd/port/list.js +0 -176
  322. package/framework/v0.1.1-alpha.15/package.json +0 -14
@@ -39,11 +39,48 @@ var lib = null;
39
39
  * @constructor
40
40
  * */
41
41
  function PrepareVersion() {
42
- var self = {};
42
+ var self = {
43
+ isWin32: isWin32(),
44
+ git : {
45
+ tag: 'latest',
46
+ msg: null
47
+ },
48
+ isGitPushNeeded : false
49
+ };
50
+
51
+ var configure = function() {
52
+ // TODO - handle windows case
53
+ if ( /^true$/i.test(isWin32()) ) {
54
+ throw new Error('Windows in not yet fully supported. Thank you for your patience');
55
+ }
56
+
57
+ // Overriding thru passed arguments
58
+ var args = process.argv, i = 0, len = args.length;
59
+ for (; i < len; ++i) {
60
+ if ( /^\-\-tag/.test(args[i]) ) {
61
+ var tag = args[i].split(/\=/)[1];
62
+ if ( tag != self.git.tag) {
63
+ self.git.tag = tag;
64
+ self.isGitPushNeeded = ( typeof(process.env.npm_config_dry_run) != 'undefined' ) ? false : true
65
+ }
66
+ continue;
67
+ }
68
+
69
+ if ( /^(\-m|\-\-message)$/.test(args[i]) ) {
70
+ var m = args[i];
71
+ if (/^(.*)\=/.test(m)) {
72
+ m = m.split(/\=/)[1]
73
+ }
74
+ self.git.msg = m.replace(/^(\-m|\-\-message)/g, '').replace(/(\"|\')/g, '');
75
+ continue;
76
+ }
77
+ }
78
+
79
+ self.gina = __dirname +'/..';
80
+ }
43
81
 
44
82
  var init = function() {
45
- self.isWin32 = isWin32();
46
- self.prefix = execSync('npm config get prefix');
83
+ configure();
47
84
 
48
85
  begin(0);
49
86
  };
@@ -267,7 +304,7 @@ function PrepareVersion() {
267
304
  var versionsFolders = null, frameworkPath = null;
268
305
  try {
269
306
  frameworkPath = _(self.ginaPath +'/framework', true);
270
- console.info('frameworkPath: ', frameworkPath);
307
+ console.debug('frameworkPath: ', frameworkPath);
271
308
  if ( !new _(frameworkPath).existsSync() ) {
272
309
  return done();
273
310
  }
@@ -296,7 +333,8 @@ function PrepareVersion() {
296
333
  done();
297
334
  }
298
335
 
299
- self.pushChangesToGit = function(done) {
336
+
337
+ self.pushChangesToGitIfNeeded = function(done) {
300
338
 
301
339
  var cmd = null;
302
340
  var version = self.selectedVersion.replace(/^[a-z]+/ig, '');
@@ -317,7 +355,10 @@ function PrepareVersion() {
317
355
 
318
356
  // create new branch if needed
319
357
  // e.g: 0.1.0-alpha.1 -> 010-alpha1
320
- var targetedBranch = version.replace(/\./g, '');
358
+ var targetedBranch = version.replace(/\./g, ''); // by default
359
+ if (!self.isGitPushNeeded) {
360
+ targetedBranch = 'develop'; // for none production versions
361
+ }
321
362
  self.targetedBranch = targetedBranch;
322
363
 
323
364
  console.debug('[GIT] Current branch: '+ currentBranch);
@@ -335,13 +376,16 @@ function PrepareVersion() {
335
376
  // nothing to do
336
377
  }
337
378
 
379
+
338
380
  if (!branchExists) {
339
381
  console.debug('No existing branch found, creating a new one !');
340
382
  try {
341
383
  execSync("git checkout -b "+ targetedBranch);
342
- // pushing to new branch
343
- console.debug('setting up remote branch `'+ targetedBranch +'` to git ...');
344
- execSync("git push --set-upstream origin "+ targetedBranch);
384
+ if (self.isGitPushNeeded) {
385
+ // pushing to new branch
386
+ console.debug('setting up remote branch `'+ targetedBranch +'` to git ...');
387
+ execSync("git push --set-upstream origin "+ targetedBranch);
388
+ }
345
389
  } catch (err) {
346
390
  console.error(err.stack||err.message||err);
347
391
  return done(err);
@@ -364,8 +408,7 @@ function PrepareVersion() {
364
408
  }
365
409
  }
366
410
 
367
-
368
- // git add --all
411
+ // commit changes
369
412
  try {
370
413
  cmd = execSync("git add --all ");
371
414
  } catch (err) {
@@ -375,29 +418,38 @@ function PrepareVersion() {
375
418
  }
376
419
  // git commit -m'Packaging version v'+ version
377
420
  try {
378
- var msg = (!branchExists) ? 'New version' : 'Prerelease update - '+ new Date().format("isoDateTime");
421
+ var msg = (!branchExists) ? 'New version' : 'Prerelease update'; //+ new Date().format("isoDateTime");
422
+ if (self.git.msg) {
423
+ msg += ' - '+ self.git.msg
424
+ }
379
425
  cmd = execSync("git commit -am'"+ msg +"'");
380
426
  } catch (err) {
381
- if (!/Your branch is up to date/i.test( err.output.toString() )) {
427
+ if (!/Your branch is up to date|nothing to commit, working tree clean/i.test( err.output.toString() )) {
382
428
  console.error(err.stack||err.message||err);
383
429
  return done(err);
384
430
  }
385
431
  }
386
432
 
387
- console.debug('Pushing changes made on branch `'+ targetedBranch +'` to git `origin/'+ targetedBranch +'`');
388
- // git push origin 010
389
- try {
390
- cmd = execSync("git push origin "+ targetedBranch );
391
- } catch (err) {
392
- if (!/Everything up-to-date/i.test( err.output.toString() )) {
393
- console.error(err.stack||err.message||err);
394
- return done(err);
433
+ if (self.isGitPushNeeded) {
434
+ console.debug('Pushing changes made on branch `'+ targetedBranch +'` to git `origin/'+ targetedBranch +'`');
435
+ // git push origin 010
436
+ try {
437
+ cmd = execSync("git push origin "+ targetedBranch );
438
+ // set tag version & tag ?
439
+ } catch (err) {
440
+ if (!/Everything up-to-date/i.test( err.output.toString() )) {
441
+ console.error(err.stack||err.message||err);
442
+ return done(err);
443
+ }
395
444
  }
396
445
  }
397
446
 
398
447
  done()
399
448
  }
400
449
 
450
+
451
+
452
+
401
453
  // self.tagVersionIfNeeded = function(done) {
402
454
  // // check if script is on Dry Run !!!
403
455
  // if ( typeof(process.env.npm_config_dry_run) != 'undefined' ) {
@@ -418,6 +470,84 @@ function PrepareVersion() {
418
470
  // }
419
471
 
420
472
 
473
+ var restoreSymlinks = function(done) {
474
+
475
+ if ( typeof(process.env.npm_config_dry_run) == 'undefined' || !process.env.npm_config_dry_run ) {
476
+ // ignoring for now, after publishing completion
477
+ return
478
+ }
479
+ var archivesPath = _(getUserHome() + '/.gina/archives/framework', true);
480
+ var frameworkPath = _(self.gina +'/framework', true);
481
+
482
+ if ( !new _(archivesPath).existsSync() ) {
483
+ return;
484
+ }
485
+ // get current framework version
486
+ var package = require(pack);
487
+ var currentVersion = 'v'+ package.version.replace(/^v/, '');
488
+
489
+ // cleanup first
490
+ var versionsFolders = fs.readdirSync(frameworkPath);
491
+ for (let i = 0, len = versionsFolders.length; i < len; i++) {
492
+ let dir = versionsFolders[i];
493
+ // skip junk
494
+ if ( /^\./i.test(dir) || /(\s+copy|\.old)$/i.test(dir) ) {
495
+ continue;
496
+ }
497
+
498
+ // intercept & remove existing symlinks or old versions dir
499
+ try {
500
+ if ( fs.lstatSync( _(frameworkPath +'/'+ dir, true) ).isSymbolicLink() ) {
501
+ console.debug('Removing Symlink: '+ _(frameworkPath +'/'+ dir, true) );
502
+ // new _(frameworkPath +'/'+ dir, true).rmSync();
503
+ fs.unlinkSync(_(frameworkPath +'/'+ dir, true));
504
+ continue;
505
+ }
506
+
507
+ if (
508
+ dir != currentVersion
509
+ && fs.lstatSync( _(frameworkPath +'/'+ dir, true) ).isDirectory()
510
+ ) {
511
+ console.debug('Removing old version: '+ _(frameworkPath +'/'+ dir, true));
512
+ new _(frameworkPath +'/'+ dir, true).rmSync()
513
+ }
514
+ } catch (e) {
515
+ continue;
516
+ }
517
+ }
518
+
519
+ // restoring symlinks from archives
520
+ versionsFolders = fs.readdirSync(archivesPath);
521
+ for (let i = 0, len = versionsFolders.length; i < len; i++) {
522
+ let dir = versionsFolders[i];
523
+ // skip junk
524
+ if ( /^\./i.test(dir) || /(\s+copy|\.old)$/i.test(dir) ) {
525
+ continue;
526
+ }
527
+
528
+ // skip selected - for dev team only
529
+ if ( new _(frameworkPath +'/'+ dir, true).existsSync() ) {
530
+ continue;
531
+ }
532
+
533
+ // creating symlinks
534
+ try {
535
+ console.debug( 'Creating symlink: '+ _(archivesPath +'/'+ dir, true) +' -> '+ _(frameworkPath +'/'+ dir, true));
536
+ new _(archivesPath +'/'+ dir, true).symlinkSync(_(frameworkPath +'/'+ dir, true) );
537
+ } catch (e) {
538
+ return done(e)
539
+ }
540
+ }
541
+ }
542
+
543
+ self.end = function(done) {
544
+
545
+ // restoreSymlinks(done);
546
+
547
+ done()
548
+ }
549
+
550
+
421
551
 
422
552
  init()
423
553
  }
package/utils/helper.js CHANGED
@@ -1,5 +1,6 @@
1
1
  var fs = require('fs');
2
2
  var os = require('os');
3
+ const { execSync } = require('child_process');
3
4
 
4
5
  var lib = null;
5
6
  var console = null;
@@ -25,18 +26,45 @@ function MainHelper(opt) {
25
26
  var packObj = require(pack);
26
27
  var version = getEnvVar('GINA_VERSION') || packObj.version;
27
28
  var frameworkPath = ginaPath + '/framework/v' + version;
28
-
29
+ var pkg = null, cmd = null, prefix = null;
30
+ self.isGlobalInstall = getEnvVar('GINA_GLOBAL_MODE') || ( typeof(packObj.config) != 'undefined' && typeof(packObj.config.globalMode) != 'undefined' ) ? packObj.config.globalMode : true;
29
31
  try {
30
- lib = require(frameworkPath + '/lib');
31
- console = lib.logger;
32
- merge = lib.merge;
32
+ // TODO - remove this code: it is creating a circular dependency
33
+ // lib = require(frameworkPath + '/lib');
34
+ // console = lib.logger;
35
+ // merge = lib.merge;
36
+
37
+ console = require(frameworkPath + '/lib/logger');
38
+ merge = require(frameworkPath + '/lib/merge');
39
+
40
+ try {
41
+ pkg = packObj;
42
+ self.defaultPrefix = ( typeof(packObj.config) != 'undefined' && typeof(packObj.config.prefix) != 'undefined' ) ? packObj.config.prefix : execSync('npm config get prefix').toString().replace(/\n$/g, '');
43
+ self.defaultPrefix = self.defaultPrefix.replace(/^\~/, getUserHome());
44
+ prefix = getEnvVar('GINA_PREFIX') || self.defaultPrefix;
45
+ self.optionalPrefix = pkg.config.optionalPrefix.replace(/^\~/, getUserHome());
46
+ } catch(err) {
47
+ console.warn('MainHelper::Init() Execption: '+ err.stack);
48
+ console.debug('Trying alternative config');
49
+ try {
50
+ self.defaultPrefix = execSync('npm config get prefix').toString().replace(/\n$/g, '');
51
+ prefix = getEnvVar('GINA_PREFIX') || self.defaultPrefix;
52
+ cmd = 'npm list gina --long --json --prefix='+ prefix;
53
+ if (self.isGlobalInstall) {
54
+ cmd += ' -g';
55
+ }
56
+ pkg = execSync(cmd).toString().replace(/\n$/g, '');
57
+ self.optionalPrefix = JSON.parse(pkg).dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
58
+ } catch (_err) {
59
+ throw new Error(_err.stack +'\n'+ err.stack)
60
+ }
61
+ }
62
+
33
63
  } catch (err) {
34
64
  // this can happen in certain conditions
35
65
  // like scripts running out of the framework context
36
66
  // we'll just ignore it
37
67
  }
38
-
39
-
40
68
  }
41
69
 
42
70
  /**
@@ -199,7 +227,7 @@ function MainHelper(opt) {
199
227
  }
200
228
 
201
229
  var newArgv = {};
202
- for (var a in process.argv) {
230
+ for (var a in process.argv) {
203
231
  if ( /\-\-/.test(process.argv[a]) && process.argv[a].indexOf('=') > -1 ) {
204
232
  evar = ( (process.argv[a].replace(/--/, ''))
205
233
  .replace(/-/, '_') )
@@ -254,6 +282,12 @@ function MainHelper(opt) {
254
282
  setContext('envVars', process['gina']);
255
283
  }
256
284
 
285
+ /**
286
+ * getEnvVar
287
+ * Will read from `process.gina` which is set mostly in `cli.js`
288
+ *
289
+ * @param {string} key
290
+ */
257
291
  getEnvVar = function(key) {
258
292
  if (
259
293
  typeof(process['gina']) != 'undefined' &&
@@ -269,6 +303,10 @@ function MainHelper(opt) {
269
303
  return process.gina
270
304
  }
271
305
 
306
+ getProtected = function() {
307
+ return self.protectedVars
308
+ }
309
+
272
310
  /**
273
311
  * Get log path - %SystemRoot%\system32\winevt\logs or /
274
312
  *
@@ -277,37 +315,74 @@ function MainHelper(opt) {
277
315
  getLogDir = function() {
278
316
  // Trying to retrieve original value if already defined
279
317
  var logDir = getEnvVar('GINA_LOGDIR') || null;
318
+ var logDirObj = null;
280
319
  if ( logDir ) {
281
- if ( !/gina$/.test(logDir) ) {
282
- logDir += ( isWin32() ) ? '\\gina' : '/gina'
320
+ logDirObj = new _(logDir, true);
321
+ if ( !logDirObj.existsSync() ) {
322
+ logDirObj.mkdirSync()
283
323
  }
284
324
  return logDir
285
325
  }
326
+
327
+ var prefix = getEnvVar('GINA_PREFIX') || self.prefix || self.defaultPrefix || execSync('npm config get prefix').toString().replace(/\n$/g, '');
328
+
286
329
  if ( isWin32() ) {
287
330
  logDir = process.env.LOG ||
288
331
  process.env.LOGS ||
289
332
  (process.env.SystemRoot || process.env.windir) + '\\System32\\Winevt\\Logs'
290
333
  ;
334
+
335
+ if ( !logDir || logDir == '' ) {
336
+ throw new Error('Log directory not defined or not found !');
337
+ }
338
+
339
+ logDirObj = new _(logDir);
340
+ if ( !logDirObj.isWritableSync() ) {
341
+ throw new Error('Log directory found but not writable: need permissions for `'+ logDir +'`');
342
+ }
343
+
291
344
  if ( !/gina$/.test(logDir) ) {
292
- logDir += '\\gina'
345
+ logDir += '\\gina';
346
+ logDirObj = new _(logDir);
293
347
  }
294
348
  } else {
295
349
  logDir = process.env.LOGDIR ||
296
350
  process.env.LOG ||
297
351
  process.env.LOGS ||
298
- '/usr/local/var/log'
352
+ prefix+'/var/log'
299
353
  ;
300
- if ( !/gina$/.test(logDir) ) {
301
- logDir += '/gina'
354
+ logDirObj = new _(logDir);
355
+ if ( new RegExp('^'+ prefix).test(logDir) && !new _(prefix).isWritableSync() ) {
356
+ logDir = getUserHome() +'/.gina/log';
357
+ logDirObj = new _(logDir);
358
+ if ( !logDirObj.existsSync() ) {
359
+ logDirObj.mkdirSync()
360
+ }
361
+
362
+ return logDir
363
+ }
364
+
365
+ if ( new RegExp('^'+ prefix +'/var').test(logDir) && !new _(prefix +'/var').existsSync() ) {
366
+ fs.mkdirSync(prefix +'/var');
367
+ }
368
+
369
+ if ( !logDirObj.existsSync() ) {
370
+ logDirObj.mkdirSync();
371
+ }
372
+
373
+ if ( !/gina$/.test(logDir) && self.optionalPrefix != prefix ) {
374
+ logDir += '/gina';
375
+ logDirObj = new _(logDir);
302
376
  }
303
377
  }
304
-
378
+
379
+ if ( !logDirObj.existsSync() ) {
380
+ logDirObj.mkdirSync()
381
+ }
382
+
305
383
  return logDir;
306
384
  }
307
385
 
308
- getProtected = function() {
309
- return self.protectedVars
310
- }
311
386
 
312
387
  /**
313
388
  * Get run\lock path
@@ -316,46 +391,157 @@ function MainHelper(opt) {
316
391
  getRunDir = function() {
317
392
  // Trying to retrieve original value if already defined
318
393
  var runDir = getEnvVar('GINA_RUNDIR') || null;
394
+ var runDirObj = null;
319
395
  if ( runDir ) {
320
- if ( !/gina$/.test(runDir) ) {
321
- runDir += ( isWin32() ) ? '\\gina' : '/gina'
396
+ runDirObj = new _(runDir, true);
397
+ if ( !runDirObj.existsSync() ) {
398
+ runDirObj.mkdirSync()
322
399
  }
323
400
  return runDir
324
401
  }
325
-
326
- if ( isWin32() ) {
327
- console.debug('check /gina/utils/helper.js around on getRunDir()')
328
- } else {
329
- // Means `/usr/local/var/lock` or `/usr/local/var/run` by default.
330
- runDirObj = new _('/usr/local/var/lock', true);
331
- if ( runDirObj.existsSync() ) {
332
- return _( runDirObj.toUnixStyle() +'/gina', true );
402
+
403
+ var prefix = getEnvVar('GINA_PREFIX') || self.prefix || self.defaultPrefix || execSync('npm config get prefix').toString().replace(/\n$/g, '');
404
+
405
+ runDir = (isWin32()) ? getUserHome() + '\\.gina\\run' : prefix + '/var/lock';
406
+
407
+ if ( !isWin32() && new RegExp('^'+ prefix).test(runDir) && !new _(prefix).isWritableSync() ) {
408
+ runDir = getUserHome() +'/.gina/run';
409
+ runDirObj = new _( runDir, true );
410
+ if ( !runDirObj.existsSync() ) {
411
+ runDirObj.mkdirSync()
412
+ }
413
+
414
+ return runDir
415
+ }
416
+
417
+
418
+ runDirObj = new _( runDir, true );
419
+ if ( runDirObj.existsSync() ) {
420
+ if ( !runDirObj.isWritableSync() ) {
421
+ throw new Error('location `'+ runDir +'` found but not writable !' )
422
+ }
423
+
424
+ runDir += ( isWin32() ) ? '' : '/gina';
425
+ runDirObj = new _( runDir, true );
426
+ if ( !runDirObj.existsSync() ) {
427
+ runDirObj.mkdirSync()
428
+ }
429
+
430
+ return runDir;
431
+ }
432
+
433
+ try {
434
+ if ( new RegExp('^'+ prefix +'/var').test(runDir) && !new _(prefix + '/var').existsSync() ) {
435
+ fs.mkdirSync(prefix +'/var');
436
+ }
437
+
438
+ runDir = prefix +'/var/run';//by default.
439
+ if ( !existsSync(runDir) ) {
440
+ fs.mkdirSync(runDir)
441
+ }
442
+ } catch (err) {
443
+ throw new Error('location error: `'+ runDir+'`\n'+ err.stack);
444
+ }
445
+
446
+ if (self.optionalPrefix != prefix) {
447
+ runDir += ( isWin32() ) ? '\\gina' : '/gina';
448
+ runDirObj = new _( runDir, true );
449
+ if ( !runDirObj.existsSync() ) {
450
+ fs.mkdirSync(runDir)
333
451
  }
334
- // by default
335
- return _('/usr/local/var/run/gina', true)//by default.
336
452
  }
453
+
454
+ return runDir;
337
455
  }
338
456
 
339
457
  getTmpDir = function() {
458
+
459
+ var dir = getEnvVar('GINA_TMPDIR') || null;
460
+ if (dir) {
461
+ dirObj = new _(dir, true);
462
+ if ( !dirObj.existsSync() ) {
463
+ dirObj.mkdirSync()
464
+ }
465
+ return dir
466
+ }
467
+
468
+ var prefix = getEnvVar('GINA_PREFIX') || self.prefix || self.defaultPrefix || execSync('npm config get prefix').toString().replace(/\n$/g, '');
469
+
340
470
  // support for node 0.10.x & 0.11.x
341
- var tmp = os.tmpdir || function() {
471
+ var tmp = (os.tmpdir) ? os.tmpdir : function() {
472
+ var tmpDir = null;
342
473
  if ( isWin32() ) {
343
- return process.env.TEMP ||
474
+ tmpDir = process.env.TEMP ||
344
475
  process.env.TMP ||
345
476
  (process.env.SystemRoot || process.env.windir) + '\\Temp'
346
477
  } else {
347
- return process.env.TMPDIR ||
478
+ tmpDir = process.env.TMPDIR ||
348
479
  process.env.TMP ||
349
480
  process.env.TEMP ||
350
- '/usr/local/var/tmp'
481
+ prefix+'/var/tmp'
482
+ ;
483
+
484
+ if ( new RegExp('^'+ prefix).test(tmpDir) && !isWritableSync(prefix) ) {
485
+ tmpDir = getUserHome() +'/.gina/tmp';
486
+ if ( !existsSync(tmpDir) ) {
487
+ fs.mkdirSync(tmpDir)
488
+ }
489
+ }
490
+
491
+ if ( new RegExp('^'+ prefix +'/var').test(tmpDir) && !existsSync(prefix +'/var') ) {
492
+ fs.mkdirSync(prefix +'/var');
493
+ }
494
+ }
495
+
496
+ var tmpDirObj = new _(tmpDir);
497
+ if ( !tmpDirObj.existsSync() ) {
498
+ tmpDirObj.mkdirSync();
351
499
  }
352
500
  };
353
501
 
354
- return ( typeof(tmp) == 'function') ? tmp() : tmp
502
+ return tmp()
355
503
  }
356
504
 
505
+ /**
506
+ * isWritableSync
507
+ * Only used for `getUserHome()`
508
+ *
509
+ * @param {string} path
510
+ */
511
+ var isWritableSync = function(path) {
512
+ var canWrite = false;
513
+ if ( typeof(fs.accessSync) != 'undefined' ) {
514
+ try {
515
+ fs.accessSync(path, fs.constants.W_OK);
516
+ canWrite = true;
517
+ } catch (err) {
518
+ canWrite = false;
519
+ }
520
+ } else { // support for old version of nodejs
521
+
522
+ try {
523
+ canWrite = (fs.statSync(path).mode & (fs.constants.S_IRUSR | fs.constants.S_IRGRP | fs.constants.S_IROTH));
524
+ } catch (err) {
525
+ canWrite = false
526
+ }
527
+ }
528
+
529
+ return canWrite
530
+ };
531
+
357
532
  getUserHome = function() {
358
- return process.env[(isWin32()) ? 'USERPROFILE' : 'HOME']
533
+ var homeDir = process.env[(isWin32()) ? 'USERPROFILE' : 'HOME'];
534
+
535
+ if ( !homeDir || homeDir == '' ) {
536
+ throw new Error('Home directory not defined or not found !');
537
+ }
538
+
539
+
540
+ if ( !isWritableSync(homeDir) ) {
541
+ throw new Error('Home directory found but not writable: need permissions for `'+ homeDir +'`');
542
+ }
543
+
544
+ return homeDir
359
545
  }
360
546
 
361
547
  getVendorsConfig = function(vendor) {
@@ -387,14 +573,14 @@ function MainHelper(opt) {
387
573
  }
388
574
  }
389
575
 
390
- setEnvVar = function(key, val, isProtected) {
576
+ setEnvVar = function(key, val, isProtected) {
391
577
  key = key.toUpperCase();
392
578
  var err = null
393
- // related task `framework:set` & framework/v.xxx/lib/cmd/framework/init.js
579
+ // related task `framework:set` & framework/v.xxx/lib/cmd/framework/init.js
394
580
  , specialCases = ['GINA_PORT', 'GINA_DEBUG_PORT', 'GINA_CULTURE', 'GINA_TIMEZONE']
395
581
  , isOverrrideAllowed = (specialCases.indexOf(key) > -1) ? true : false
396
582
  ;
397
-
583
+
398
584
  if (
399
585
  key.substr(0, 5) !== 'GINA_' &&
400
586
  key.substr(0, 7) !== 'VENDOR_' &&
@@ -418,10 +604,10 @@ function MainHelper(opt) {
418
604
  process['gina'] = {}
419
605
  }
420
606
  process['gina'][key] = val;
421
- if ( typeof(isProtected) != 'undefined' && isProtected == true) {
607
+ if ( typeof(isProtected) != 'undefined' && isProtected == true) {
422
608
  self.protectedVars.push(key)
423
- }
424
- }
609
+ }
610
+ }
425
611
  }
426
612
 
427
613
  defineDefault = function(obj) {
@@ -429,10 +615,10 @@ function MainHelper(opt) {
429
615
  define(c, obj[c])
430
616
  }
431
617
  delete obj
432
- }
618
+ }// jshint ignore:line
433
619
 
434
620
  init(opt)
435
621
 
436
- };
622
+ }
437
623
 
438
- module.exports = MainHelper()
624
+ module.exports = MainHelper();