gina 0.1.1-alpha.13 → 0.1.1-alpha.132

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