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
package/AUTHORS CHANGED
@@ -2,5 +2,6 @@
2
2
  # project in one way or another.
3
3
  #
4
4
 
5
- Martin Luther ETOUMAN <m.etouman@rhinostone.com>
5
+ Martin Luther ETOUMAN <martin-luther.etouman@gina.io>
6
+ Fabrice Delaneau <fabrice.delaneau@gina.io>
6
7
  Stephane HEAV <stephane.heav@gmail.com>
package/README.md CHANGED
@@ -23,18 +23,81 @@ Note that Gina does not rely on Connect or ExpressJS, still, you can use all plu
23
23
  ### Installing Gina
24
24
  Gina aims to be at the same time a framework, a deployment and monitoring environment for your projects. So, to fully enjoy Gina, we recommend that you install it with the `-g` option.
25
25
  > For Microsoft Windows, you might have to run the command line with Administrator privileges.
26
+ > For Linux & Mac OS X, __the use of `sudo` is discouraged.__
27
+
28
+ #### 1st method (prefered) - Custom PREFIX
29
+
30
+ This will install Gina in the user's home directory avoiding at the same time the need to use `sudo` or the `root` user.
31
+ By adding at the end the `--reset` argument, you will ensure a factory reset for the `~/.gina` preferences folder: all preferences will be lost, but your existing projects will not be erased.
32
+
33
+ ```tty
34
+ npm install -g gina@latest --prefix=~/.npm-global
35
+ ```
36
+
37
+ You can now check if Gina is properly installed.
38
+
39
+ ``` tty
40
+ gina version
41
+ ```
42
+ __NB.:__ This is a shortcut for `gina framework:version`
43
+
44
+ #### 2nd method - Classical
26
45
 
27
46
  ``` tty
28
47
  npm install -g gina@latest
29
48
  ```
30
49
 
31
- You can check if Gina is properly installed
50
+ __A few words about this method__
51
+ This method is mainly used if you wish to install gina with the `root` user.
52
+ Gina will try to install itself using the default $NPM_PREFIX (`/usr/local`). If the target is not writable you will get permission errors.
53
+
54
+ __Note that for this method__, if the user is not `root`, you can setup permissions for your user in order to be able to write to : `$NPM_PREFIX/lib/node_modules`.
55
+
56
+ If you don't already have done it, you should start with :
57
+
58
+ ```tty
59
+ sudo chown -R $USER $(npm config get prefix)/lib/node_modules
60
+ ```
61
+
62
+
63
+ > __Important :__ If you choose to use `sudo npm install -g gina`, you will also have to use the `sudo` for specific commands like `npm link gina`.
64
+ > Again, the use of `sudo` is discouraged.
65
+
66
+
67
+
68
+ You can now check if Gina is properly installed.
69
+
32
70
  ``` tty
33
71
  gina version
34
72
  ```
73
+ or
74
+ ``` tty
75
+ sudo gina version
76
+ ```
35
77
  __NB.:__ This is a shortcut for `gina framework:version`
36
78
 
37
79
 
80
+
81
+ #### 3rd method - local to your project
82
+
83
+ If you feel like you do not need to install globally Gina for some reasons like only using the framework for a single project, you can install Gina without the `-g` argument.
84
+ Go to your project's root and tap:
85
+ ```tty
86
+ npm instal gina@latest
87
+ ```
88
+
89
+ __Attention:__ to use gina CLI, you will need to run it from your project location since the CLI was not installed with the global argument `-g`.
90
+
91
+ You can now check if Gina is properly installed.
92
+
93
+ ``` tty
94
+ ./gina version
95
+ ```
96
+ __NB.:__ This is a shortcut for `./gina framework:version`
97
+
98
+
99
+
100
+
38
101
  ### Starting the framework
39
102
  Gina is at the same time a framework and a server.
40
103
  By starting the framework, you will also start the server.
@@ -50,6 +113,11 @@ A project is a collection of bundles (applicaitons or services). See it as a rep
50
113
 
51
114
  Let's create our first project and install Gina.
52
115
 
116
+ ```tty
117
+ cd ~/.Sites
118
+ ```
119
+
120
+
53
121
  ``` tty
54
122
  mkdir myproject && cd myproject
55
123
  ```
@@ -82,7 +150,7 @@ Ok ! Let's do it !
82
150
  ``` tty
83
151
  gina bundle:add frontend @myproject
84
152
  ```
85
- __NB.:__ If you are launching the command from the project directory, you don't need `@myproject`. The same goes for all bundles commands.
153
+ __NB.:__ If you are launching the command from the project directory, you don't need to add `@myproject`. The same goes for all bundles commands.
86
154
 
87
155
  We have just created a frontend application that will host our homepage.
88
156
  You will find all bundle sources under `myproject/src`.
@@ -121,7 +189,8 @@ Then restart your bundle
121
189
  gina bundle:restart frontend @myproject
122
190
  ```
123
191
 
124
- Now edit the `home` control in `src/frontend/controllers/controller.js` so that you can have `self.render(...)` instead of `self.renderJSON(...)`
192
+ Now edit the `home` control in `src/frontend/controllers/controller.content.js` so that you can have `self.render(...)` instead of `self.renderJSON(...)`
193
+
125
194
 
126
195
  Once it's done, you just need to refresh your browser.
127
196
 
@@ -137,6 +206,9 @@ Please, note that you have 2 types of environments : one for the framework, and
137
206
  > ```tty
138
207
  > gina framework:set --env=dev
139
208
  > ```
209
+ > ```tty
210
+ > gina framework:set --log-level=debug
211
+ > ```
140
212
 
141
213
  You can check which are the environments set for your projects
142
214
  ```tty
@@ -168,6 +240,7 @@ gina env:use prod @myproject
168
240
  __NB.:__ If you need to change it for a particular bundle, you still can do it at runtime using `--env=<your env>` to override the default settings. This will not set `<your env>`as the default environment for the whole project.
169
241
 
170
242
 
243
+
171
244
  #### Other operations you can apply to your environment:
172
245
  __Adding a new environment for your project__
173
246
  ```tty
@@ -183,8 +256,18 @@ __Defining an existing environment as `development` (you can only have one like
183
256
  gina env:link-dev <your new dev env>
184
257
  ```
185
258
 
186
- ### Getting the logs
187
- You will also get logs related to your running bundles.
259
+ __Benefits from using a `development` environment__
260
+ You will not have to restart your bundle anytime you modify files inside directories like :
261
+ - /controllers
262
+ - /piblic
263
+ - /templates
264
+
265
+ ### Logs
266
+
267
+ #### Getting the logs
268
+ You will get logs for the framework and related to your running bundles.
269
+
270
+ __1st Method - The default one__
188
271
  ``` tty
189
272
  gina tail
190
273
  ```
@@ -196,8 +279,9 @@ This means that if you need Gina to handle logs storage, you need a logger conta
196
279
 
197
280
  Note that this is optional since logs are output like for other frameworks: you can catch those while writing your daemon starting script on you production server.
198
281
 
199
- So to handle log storage for your application, you have 2 options.
200
- __1) Old school way__
282
+ So to handle log storage for your application, you have 2 options: see 2nd & 3rd Methods.
283
+
284
+ __2nd Method - Old school way__
201
285
  ```tty
202
286
  gina bundle:start frontend @myproject > /usr/local/var/log/gina/frontend.myproject.domain.log 2>&1
203
287
  ```
@@ -206,7 +290,7 @@ You can now check
206
290
  tail - f /usr/local/var/log/gina/frontend.myproject.domain.log
207
291
  ```
208
292
 
209
- __2) Create your own container/transport by extending gina default container__
293
+ __3rd Method - Create your own container/transport by extending gina default container__
210
294
 
211
295
 
212
296
  If you still want gina to handle logs storage, you are lucky, we have developped a file container/transport that you just need to enable.
@@ -223,6 +307,24 @@ gina restart
223
307
 
224
308
  __NB.: __For development purposes, using the CLI `gina tail` is still a better option because you will have a better overview of what is really going on for all your application at once & for the framework.
225
309
 
310
+ #### Setting default log level
311
+
312
+ By default Gina is set to `info`. Here is the list of available log level hierarchies.
313
+
314
+ | levels | Included messages |
315
+ |--------|--------|
316
+ | trace | Emergency, Alert, Critical, Error, Warning, Notice, Informational, Debug |
317
+ | debug | Emergency, Alert, Critical, Error, Warning, Notice, Informational, Debug |
318
+ | info | Emergency, Alert, Critical, Error, Warning, Notice, Informational |
319
+ | warn | Emergency, Alert, Critical, Error, Warning, Notice |
320
+ | error | Emergency, Alert, Critical, Error, Notice |
321
+ | fatal | Emergency, Alert, Critical, Notice |
322
+
323
+ If you are at the developpemnt stage of your project, you might want to get all debug messages.
324
+ ```tty
325
+ gina framework:set --log-level=debug
326
+ ```
327
+
226
328
  ## HTTPS, HTTP/2 and certificates
227
329
 
228
330
  ### Installing a certificate
@@ -240,7 +342,7 @@ __E.g:__ The `myproject.domain` folder should be placed into:
240
342
  ### Enable HTTPS scheme
241
343
  > __NB.:__ `certificate` is `required`.
242
344
  > By enabling HTTPS, you will do so for your entire poroject by default, but you can later set one per application.
243
- > And if you want to run your experimental HTTP2 implementation, you will need HTTS scheme.
345
+ > And if you want to run our experimental HTTP2 implementation, you will need HTTPS scheme.
244
346
 
245
347
  Check what is your actual scheme & protocol status
246
348
  ```tty
@@ -282,12 +384,12 @@ Error: unable to get issuer certificate
282
384
  Do not panic, and follow the steps provided in the following section.
283
385
 
284
386
  ### Local scope & certificate consideration
285
- Ignore the following instructions if you can start your application without any certificate errors.
387
+ > __Ignore__ the following instructions __if you can start your application__ without any certificate errors.
286
388
 
287
- This is `important` and you will have to take additional steps to make your certificate fully valid __while developping on your `local/dev host`__.
389
+ This is __important__ and you will have to take additional steps to make your certificate fully valid __while developping on your `local/dev host`__.
288
390
  Since in most cases you will not have the `Root Certificate` included in your certificate, you need to generate a correct certificate including the Root Certificate. __For production, it will not be a problem__ since the Root certificate is provided by the client browser.
289
391
 
290
- Let say that you have downloded your certificates from __[Ssl For Free](https://sslforfree.com)__ which you have then placed under: `~/.gina/certificates/scopes/local/myproject.domain`.
392
+ Let say that you have downloaded your certificates from __[Ssl For Free](https://sslforfree.com)__ which you have then placed under: `~/.gina/certificates/scopes/local/myproject.domain`.
291
393
 
292
394
  __Step 1__
293
395
  Go to the folder
@@ -305,11 +407,11 @@ Output should look like
305
407
  ca_bundle.crt certificate.crt private.key
306
408
  ```
307
409
 
308
-
410
+ Now, copy the content of `certificate.crt`
309
411
  ```tty
310
412
  cat certificate.crt
311
413
  ```
312
- Copy the content of `certificate.crt`
414
+
313
415
 
314
416
  Visit [https://whatsmychaincert.com](https://whatsmychaincert.com)
315
417
  Go to the `Generate the Correct Chain` tool.
@@ -335,7 +437,7 @@ We just need to override Gina default certificate paths
335
437
  ```tty
336
438
  {
337
439
  // "privateKey": "{GINA_HOMEDIR}/certificates/scopes/{scope}/{host}/private.key",
338
- "certificate": "{GINA_HOMEDIR}/certificates/scopes/{scope}/{host}/certificate.chained+root.crt",
440
+ // "certificate": "{GINA_HOMEDIR}/certificates/scopes/{scope}/{host}/certificate.crt",
339
441
  "ca": "{GINA_HOMEDIR}/certificates/scopes/{scope}/{host}/certificate.combined.pem"
340
442
  }
341
443
  ```
@@ -346,9 +448,33 @@ gina bundle:restart @myproject
346
448
  ```
347
449
 
348
450
 
451
+ ### Uninstalling Gina
452
+
453
+ > For Microsoft Windows, you might have to run the command line with Administrator privileges.
454
+
455
+ __Wihtout prefix__
456
+ ``` tty
457
+ npm uninstall -g gina
458
+ ```
459
+
460
+ Or if you have an Error like `EACCESS: permission denied, mkdir '/usr/local/lib/node_modules/gina'`
461
+
462
+ __With prefix - If Gina was installed with a prefix__
463
+ ```tty
464
+ npm uninstall -g gina --prefix=~/.npm-global
465
+ ```
466
+
467
+
468
+
349
469
 
350
470
  ## Troubleshooting
351
471
 
472
+ ### My settings are broken, I need a fresh install with the default settings
473
+ ```tty
474
+ npm install -g gina@latest --reset
475
+ ```
476
+
477
+
352
478
  ### I can't start my bundle
353
479
 
354
480
  __Are you starting for the first time ?__
@@ -356,14 +482,14 @@ __Are you starting for the first time ?__
356
482
  - If you are a __Windows user__, make sure you are running your command line with sufficient permission; like __"launching your terminal as administrator"__.
357
483
 
358
484
 
359
- - If you have just cloned Gina from GitHub, don't forget to run from the project root :
485
+ - If you have just cloned Gina from GitHub, don't forget to run from the framework root :
360
486
 
361
487
  ```tty
362
- node node_modules/gina/script/pre_install.js
488
+ node node_modules/gina/script/pre_install.js -g
363
489
  ```
364
490
 
365
491
  ```tty
366
- node node_modules/gina/script/post_install.js
492
+ node node_modules/gina/script/post_install.js -g
367
493
  ```
368
494
 
369
495
 
package/bin/cli CHANGED
@@ -4,10 +4,11 @@
4
4
  var fs = require('fs');
5
5
  var net = require('net');
6
6
  var util = require('util');
7
+ var os = require("os");
7
8
  var promisify = util.promisify;
8
9
 
9
10
  async function onExec() {
10
-
11
+
11
12
  // process.stdout.write('GINA CLI LOADED !! ' + JSON.stringify(process.argv, null, 2) + '\n');
12
13
 
13
14
  var isWin32 = (process.platform === 'win32') ? true : false;
@@ -18,13 +19,17 @@ async function onExec() {
18
19
  // loading pack
19
20
  var pack = ginaPath + '/package.json';
20
21
  pack = (isWin32) ? pack.replace(/\//g, '\\') : pack;
21
- var home = getUserHome();// jshint ignore:line
22
+ var home = null;
22
23
  var frameworkPath = null;
23
-
24
+
24
25
  var debugPort = null
25
26
  , debugBrkEnabled = false
26
27
  , isUpdateRequired = false
27
28
  , params = process.argv
29
+ , settings = null
30
+ , hostname = os.hostname() // by default
31
+ , hostV4 = null
32
+ , mqPort = null
28
33
  ;
29
34
  try {
30
35
  var packObj = require(pack);
@@ -33,53 +38,99 @@ async function onExec() {
33
38
  var generator = require(frameworkPath + '/lib/generator');
34
39
 
35
40
  require(frameworkPath + '/lib');
36
- var aliases = require(frameworkPath + '/lib/cmd/aliases.json');
37
-
41
+ // var aliases = require(frameworkPath + '/lib/cmd/aliases.json');
42
+
38
43
  // catching debug|inspect arg
39
- //process.stdout.write('params '+ params.join(', ') + '\n');
44
+ //process.stdout.write('params '+ params.join(', ') + '\n');
40
45
  if ( params.length > 0 ) {
41
46
  for (var p = 0, len = params.length; p < len; ++p) {
42
-
47
+
43
48
  if ( /^\-\-port/.test(params[p]) ) {
44
49
  let port = params[p].split(/\=/)[1];
45
50
  setEnvVar('GINA_PORT', ~~port);// jshint ignore:line
46
- isUpdateRequired = true;
51
+ isUpdateRequired = true;
52
+ continue;
53
+ }
54
+
55
+ if ( /^\-\-mq\-port/.test(params[p]) ) {
56
+ let mqPort = params[p].split(/\=/)[1];
57
+ setEnvVar('GINA_MQ_PORT', ~~mqPort);// jshint ignore:line
58
+ isUpdateRequired = true;
59
+ continue;
60
+ }
61
+
62
+ if ( /^\-\-host\-v4/.test(params[p]) ) {
63
+ let host = params[p].split(/\=/)[1];
64
+ setEnvVar('GINA_HOST_V4', host);// jshint ignore:line
65
+ isUpdateRequired = true;
66
+ continue;
67
+ }
68
+
69
+ if ( /^\-\-hostname/.test(params[p]) ) {
70
+ hostname = params[p].split(/\=/)[1];
71
+ setEnvVar('GINA_HOSTNAME', hostname);// jshint ignore:line
72
+ isUpdateRequired = true;
47
73
  continue;
48
74
  }
49
-
75
+
50
76
  if ( /^\-\-debug(\_|\-)port/.test(params[p]) ) {
51
77
  let port = params[p].split(/\=/)[1];
52
78
  setEnvVar('GINA_DEBUG_PORT', ~~port);// jshint ignore:line
53
- isUpdateRequired = true;
79
+ isUpdateRequired = true;
54
80
  continue;
55
81
  }
56
-
82
+
57
83
  if ( /^\-\-(inspect|debug)/.test(params[p]) ) {
58
84
  debugBrkEnabled = ( /\-brk/.test(params[p]) ) ? true : false;
59
85
  debugPort = params[p].split(/\=/)[1];
60
- params.splice(p,1);
86
+ params.splice(p,1);
61
87
  break;
62
88
  }
63
89
  }
64
90
  }
65
-
91
+
92
+
66
93
 
67
94
  var shortVersion = version.split('.');
68
95
  shortVersion.splice(2);
69
96
  shortVersion = shortVersion.join('.');
70
97
  setEnvVar('GINA_SHORT_VERSION', shortVersion);// jshint ignore:line
71
-
72
-
98
+
99
+ home = getUserHome();// jshint ignore:line
73
100
  if ( typeof(getEnvVar('GINA_HOMEDIR')) == 'undefined') {// jshint ignore:line
74
101
  setEnvVar('GINA_HOMEDIR', home + '/.gina')// jshint ignore:line
75
102
  }
76
103
  home = getEnvVar('GINA_HOMEDIR');// jshint ignore:line
77
-
78
- var settingsPath = _( home +'/'+ shortVersion +'/settings.json', true );// jshint ignore:line
79
- var settings = requireJSON(settingsPath);// jshint ignore:line
80
-
104
+
105
+ settings = { 'log_level': 'info'}; // First time launch or reset
106
+ if ( new _( home +'/'+ shortVersion +'/settings.json', true ).existsSync() ) {// jshint ignore:line
107
+ var settingsPath = _( home +'/'+ shortVersion +'/settings.json', true );// jshint ignore:line
108
+ settings = requireJSON(settingsPath);// jshint ignore:line
109
+ }
110
+
111
+
81
112
  setEnvVar('GINA_LOG_LEVEL', settings['log_level']);// jshint ignore:line
82
113
  setEnvVar('GINA_VERSION', version);// jshint ignore:line
114
+ setEnvVar('GINA_RUNDIR', settings['rundir']);// jshint ignore:line
115
+ setEnvVar('GINA_LOGDIR', settings['logdir']);// jshint ignore:line
116
+ setEnvVar('GINA_TMPDIR', settings['tmpdir']);// jshint ignore:line
117
+
118
+ // prior to what settings says
119
+ if (hostname != settings['hostname'] && !isUpdateRequired) {
120
+ setEnvVar('GINA_TMPDIR', settings['hostname']);// jshint ignore:line
121
+ hostname = settings['hostname'];
122
+ }
123
+ hostV4 = getEnvVar('GINA_HOST_V4') || settings['host_v4'] || '127.0.0.1';// jshint ignore:line
124
+ mqPort = getEnvVar('GINA_MQ_PORT')|| settings['mq_port'] || 8125;// jshint ignore:line
125
+
126
+ if ( typeof(packObj.config) != 'undefined' ) {
127
+ if (typeof(packObj.config.prefix) != 'undefined' ) {
128
+ setEnvVar('GINA_PREFIX', packObj.config.prefix);// jshint ignore:line
129
+ }
130
+ if ( typeof(packObj.config.globalMode) != 'undefined' ) {
131
+ setEnvVar('GINA_GLOBAL_MODE', packObj.config.globalMode);// jshint ignore:line
132
+ }
133
+ }
83
134
 
84
135
  // Loading logger.
85
136
  console = lib.logger;// jshint ignore:line
@@ -88,16 +139,15 @@ async function onExec() {
88
139
  console.pauseReporting();
89
140
  }
90
141
  console.setLevel(settings['log_level'], 'gina');
91
-
142
+
92
143
  // Loading logger listner vs ~/.gina/user/extensions/logger/mq/config.json & ~/.gina/{shortVersion}/settings.json
93
144
  if ( /(gina\/bin\/cli|gina\/\/bin\/gina)$/.test(process.argv[1]) ) {
94
-
145
+
95
146
  var MQListener = require(frameworkPath + '/lib/logger/src/containers/mq/listener.js');
96
-
97
- var mqPort = 8125;
98
- var mqListener = await new MQListener({ port: 8125 });
147
+
148
+ var mqListener = await new MQListener({ port: mqPort, host: hostV4 });
99
149
  // required for tail command
100
- var mqPortFile = './tmp/mq-listener-v'+ version +'.port';
150
+ var mqPortFile = getTmpDir() + '/mq-listener-v'+ version +'.port';// jshint ignore:line
101
151
  console.debug('Writting: '+ mqPortFile);
102
152
  fs.writeFileSync( mqPortFile, ''+mqPort );
103
153
  process.on('exit', function() {
@@ -106,7 +156,7 @@ async function onExec() {
106
156
  mqListener.unref();
107
157
  })
108
158
  }
109
-
159
+
110
160
  if ( !fs.existsSync(frameworkPath) ) {
111
161
  console.alert('Could not find version ' + version + '.\nFirst try:\n$ gina framework:install ' + version);
112
162
  process.exit(1)
@@ -127,7 +177,8 @@ async function onExec() {
127
177
  filterArgs();// jshint ignore:line
128
178
  //check for $HOME path, alert if empty.
129
179
  if (!home) {
130
- console.error('No ' + ((isWin32) ? 'USERPROFILE' : 'HOME') + ' path found.')
180
+ console.error('No ' + ((isWin32) ? 'USERPROFILE' : 'HOME') + ' path found.');
181
+ process.exit(1);
131
182
  } else {
132
183
  setEnvVar('GINA_HOMEDIR', home);// jshint ignore:line
133
184
  setEnvVar('GINA_DIR', ginaPath);// jshint ignore:line
@@ -136,19 +187,27 @@ async function onExec() {
136
187
  }
137
188
  setEnvVar('GINA_IS_WIN32', isWin32, true);// jshint ignore:line
138
189
 
139
- if (isUpdateRequired) {
140
- settings['port'] = getEnvVar('GINA_PORT') || null;// jshint ignore:line
141
- settings['debug_port'] = getEnvVar('GINA_DEBUG_PORT') || null;// jshint ignore:line
142
- console.debug('Updating debug settings: #'+ getEnvVar('GINA_DEBUG_PORT'));// jshint ignore:line
190
+ if (!settings) {
191
+ settings = requireJSON(settingsPath);// jshint ignore:line
192
+ }
193
+ if (isUpdateRequired) {
194
+ console.debug('Updating debug settings ...');// jshint ignore:line
195
+ settings['port'] = getEnvVar('GINA_PORT') || settings['port'] || null;// jshint ignore:line
196
+ settings['debug_port'] = getEnvVar('GINA_DEBUG_PORT') || settings['debug_port'] || null;// jshint ignore:line
197
+
198
+ settings['mq_port'] = getEnvVar('GINA_MQ_PORT') || settings['mq_port'] || null;// jshint ignore:line
199
+ settings['host_v4'] = getEnvVar('GINA_HOST_V4') || settings['host_v4'] || null;// jshint ignore:line
200
+ settings['hostname'] = getEnvVar('GINA_HOSTNAME') || settings['hostname'] || null;// jshint ignore:line
143
201
  generator.createFileFromDataSync(settings, settingsPath);// jshint ignore:line
144
202
  }
145
203
 
146
204
 
147
205
  /**
148
206
  * Framework port
207
+ * To change it: gina framework:set --port=<port_number>
149
208
  * TODO - Add a port scanner & compare with ~/.gina/{shortVersion}/settings.json on `post_install`
150
209
  * */
151
- var port = 8124;
210
+ var port = settings['port'] || 8124;
152
211
 
153
212
  // |-> framework/{version}/lib/cmd
154
213
  var allowedOffline = [
@@ -194,11 +253,14 @@ async function onExec() {
194
253
  frameworkPath : frameworkPath,
195
254
  homedir : home,
196
255
  port : port,
256
+ hostV4 : hostV4,
257
+ mqPort : mqPort,
258
+ hostname : hostname,
197
259
  debugPort : debugPort,
198
260
  debugBrkEnabled : debugBrkEnabled,
199
261
  pack : pack
200
262
  });
201
-
263
+
202
264
 
203
265
  } else if (
204
266
  typeof(process.argv[2]) != 'undefined'
@@ -207,13 +269,16 @@ async function onExec() {
207
269
  || process.argv[2].substr(0, 2) === '--'
208
270
  || process.argv[2].substr(0, 1) === '-'
209
271
  ) {
210
-
272
+
211
273
  require(binPath + '/cmd')({
212
274
  binPath : binPath,
213
275
  ginaPath : ginaPath,
214
276
  frameworkPath : frameworkPath,
215
277
  homedir : home,
216
278
  port : port,
279
+ hostV4 : hostV4,
280
+ mqPort : mqPort,
281
+ hostname : hostname,
217
282
  debugPort : debugPort,
218
283
  debugBrkEnabled : debugBrkEnabled,
219
284
  pack : pack
@@ -228,27 +293,27 @@ async function onExec() {
228
293
  } else {
229
294
 
230
295
  //Connect to framework.
231
- var client = net.connect({port: port},
296
+ var client = net.connect({port: port, host: hostV4},
232
297
  function() {
233
298
  //Forwarding cmd.
234
299
  // retieving debug infos
235
300
  var debugOption = null;
236
301
  if ( debugPort ) {
237
- debugOption = '--inspect=' + debugPort;
238
-
302
+ debugOption = '--inspect=' + debugPort;
303
+
239
304
  if (debugBrkEnabled) {
240
305
  debugOption = debugOption.replace(/\-\-inspect/, '--inspect-brk')
241
306
  }
242
-
307
+
243
308
  process.argv.push(debugOption)
244
309
  }
245
-
310
+
246
311
  client.write( JSON.stringify(process.argv) );
247
312
  }
248
313
  );
249
314
 
250
- client.on('data', function(data) {
251
-
315
+ client.on('data', function(data) {
316
+
252
317
  //Acknowledging ready state.
253
318
  if ( /\[ quit \]/.test(data) ) {
254
319
  client.end();
@@ -262,7 +327,7 @@ async function onExec() {
262
327
  client.end();
263
328
  return
264
329
  }
265
-
330
+
266
331
  });
267
332
 
268
333
  //client end event.
@@ -276,11 +341,11 @@ async function onExec() {
276
341
  } else {
277
342
  console.log('[ gina ] not started, try to start framework with :\n$ sudo gina start')
278
343
  }
279
-
344
+
280
345
  console.debug(err.stack||err);
281
-
346
+
282
347
  process.exit(1)
283
- });
348
+ });
284
349
  }
285
350
  }
286
351
 
package/bin/cli-debug CHANGED
@@ -3,7 +3,7 @@
3
3
  /**
4
4
  * Mainly used to debug framework CMD lib - default port should be #5858 by default
5
5
  * To modify the debug port :
6
- *
6
+ *
7
7
  * $ gina framework:set --debug-port=<your new debug port>
8
8
  */
9
9
  const fs = require('fs');
@@ -34,16 +34,16 @@ var params = argv.split(/\s+/g);
34
34
  if ( params.length > 0 ) {
35
35
  for (var p = 0, len = params.length; p < len; ++p) {
36
36
  if ( /^\-\-port/.test(params[p]) ) {
37
- setEnvVar('GINA_PORT', ~~params[p].split(/\=/)[1]);
37
+ setEnvVar('GINA_PORT', ~~params[p].split(/\=/)[1]);// jshint ignore:line
38
38
  continue;
39
39
  }
40
40
  if ( /^\-\-debug(\_|\-)port/.test(params[p]) ) {
41
- setEnvVar('GINA_DEBUG_PORT', ~~params[p].split(/\=/)[1]);
41
+ setEnvVar('GINA_DEBUG_PORT', ~~params[p].split(/\=/)[1]);// jshint ignore:line
42
42
  continue;
43
43
  }
44
44
  if ( /^\-\-(inspect|debug)/.test(params[p]) ) {
45
45
  debugPort = ~~params[p].split(/\=/)[1];
46
- process.argv.splice(p,1);
46
+ process.argv.splice(p,1);
47
47
  }
48
48
  }
49
49
  }