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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. package/AUTHORS +2 -1
  2. package/README.md +170 -19
  3. package/bin/cli +129 -55
  4. package/bin/cli-debug +4 -4
  5. package/bin/cmd +40 -18
  6. package/bin/gina +40 -34
  7. package/{framework/v0.1.1-alpha.15/core/template/command/gina.bat.tpl → bin/gina.bat} +0 -0
  8. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/AUTHORS +0 -0
  9. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/LICENSE +0 -0
  10. package/framework/v0.1.1-alpha.151/VERSION +1 -0
  11. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/asset/html/nolayout.html +0 -0
  12. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/asset/html/static.html +0 -0
  13. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/asset/img/android-chrome-192x192.png +0 -0
  14. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/asset/img/android-chrome-512x512.png +0 -0
  15. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/asset/img/apple-touch-icon.png +0 -0
  16. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/asset/img/favicon-16x16.png +0 -0
  17. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/asset/img/favicon-32x32.png +0 -0
  18. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/asset/img/favicon.ico +0 -0
  19. package/framework/{v0.1.1-alpha.15/core/asset/js → v0.1.1-alpha.151/core/asset}/plugin/dist/gina.js +109 -106
  20. package/framework/{v0.1.1-alpha.15/core/asset/js → v0.1.1-alpha.151/core/asset}/plugin/dist/gina.js.map +0 -0
  21. package/framework/{v0.1.1-alpha.15/core/asset/js → v0.1.1-alpha.151/core/asset}/plugin/dist/gina.min.css +0 -0
  22. package/framework/{v0.1.1-alpha.15/core/asset/js → v0.1.1-alpha.151/core/asset}/plugin/dist/gina.min.css.map +0 -0
  23. package/framework/v0.1.1-alpha.151/core/asset/plugin/dist/gina.min.js +739 -0
  24. package/framework/v0.1.1-alpha.151/core/asset/plugin/dist/gina.min.js.map +8 -0
  25. package/framework/{v0.1.1-alpha.15/core/asset/js → v0.1.1-alpha.151/core/asset}/plugin/dist/gina.onload.min.js +0 -0
  26. package/framework/{v0.1.1-alpha.15/core/asset/js → v0.1.1-alpha.151/core/asset}/plugin/dist/gina.onload.min.js.map +0 -0
  27. package/framework/v0.1.1-alpha.151/core/asset/plugin/dist/toolbar/css/toolbar-min.css +1 -0
  28. package/framework/v0.1.1-alpha.151/core/asset/plugin/dist/toolbar/css/toolbar.css +3 -0
  29. package/framework/v0.1.1-alpha.151/core/asset/plugin/dist/toolbar/css/toolbar.css.map +1 -0
  30. package/framework/v0.1.1-alpha.151/core/asset/plugin/dist/toolbar/js/jquery-3.1.0.min.js +4 -0
  31. package/framework/v0.1.1-alpha.151/core/asset/plugin/dist/toolbar/main.js +1542 -0
  32. package/framework/v0.1.1-alpha.151/core/asset/plugin/dist/toolbar/toolbar.html +251 -0
  33. package/framework/{v0.1.1-alpha.15/core/asset/js → v0.1.1-alpha.151/core/asset}/plugin/readme.md +6 -6
  34. package/framework/{v0.1.1-alpha.15/core/asset/js → v0.1.1-alpha.151/core/asset}/plugin/uuid.json +0 -0
  35. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/config.js +28 -13
  36. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/connectors/couchbase/index.js +310 -215
  37. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/connectors/couchbase/lib/connector.js +6 -4
  38. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/connectors/couchbase/lib/connector.v2.js +47 -47
  39. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  40. package/framework/v0.1.1-alpha.151/core/connectors/couchbase/lib/connector.v4.js +377 -0
  41. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/connectors/couchbase/lib/n1ql.js +3 -2
  42. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/connectors/couchbase/lib/session-store.js +6 -5
  43. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  44. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  45. package/framework/v0.1.1-alpha.151/core/connectors/couchbase/lib/session-store.v4.js +362 -0
  46. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/controller/controller.framework.js +0 -0
  47. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/controller/controller.js +686 -675
  48. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/controller/index.js +0 -0
  49. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/deps/busboy/.travis.yml +0 -0
  50. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/deps/busboy/LICENSE +0 -0
  51. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/deps/busboy/README.md +0 -0
  52. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
  53. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/deps/busboy/deps/encoding/encoding.js +0 -0
  54. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/deps/busboy/lib/main.js +0 -0
  55. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/deps/busboy/lib/types/multipart.js +0 -0
  56. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/deps/busboy/lib/types/urlencoded.js +0 -0
  57. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/deps/busboy/lib/utils.js +0 -0
  58. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/deps/busboy/package.json +0 -0
  59. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  60. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/dev/index.js +0 -0
  61. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/dev/lib/class.js +0 -0
  62. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/dev/lib/factory.js +0 -0
  63. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/dev/lib/tools.js +0 -0
  64. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/gna.js +2 -3
  65. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/locales/README.md +0 -0
  66. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/locales/currency.json +0 -0
  67. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/locales/dist/language/en.json +0 -0
  68. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/locales/dist/language/fr.json +0 -0
  69. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/locales/dist/region/en.json +0 -0
  70. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/locales/dist/region/fr.json +0 -0
  71. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/locales/index.js +0 -0
  72. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/locales/src/make.js +0 -0
  73. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/locales/src/resources/currency.csv +0 -0
  74. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/locales/src/resources/region.csv +0 -0
  75. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/locales/src/resources/region.mapping.json +0 -0
  76. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/mime.types +0 -0
  77. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/model/entity.js +80 -60
  78. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/model/index.js +4 -4
  79. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/model/template/entityFactory.js +0 -0
  80. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/model/template/index.js +0 -0
  81. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/README.md +0 -0
  82. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/index.js +0 -0
  83. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/file/README.md +0 -0
  84. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/file/build.json +0 -0
  85. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/file/package.json +0 -0
  86. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/intl/README.md +0 -0
  87. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/intl/build.json +0 -0
  88. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/intl/package.json +0 -0
  89. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/intl/src/main.js +0 -0
  90. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/storage/README.md +0 -0
  91. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/storage/build.json +0 -0
  92. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/storage/package.json +0 -0
  93. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/storage/src/main.js +0 -0
  94. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/validator/README.md +0 -0
  95. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/validator/build.json +0 -0
  96. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/validator/package.json +0 -0
  97. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/validator/src/form-validator.js +0 -0
  98. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/plugins/lib/validator/src/main.js +0 -0
  99. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/router.js +91 -78
  100. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/server.express.js +0 -0
  101. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/server.isaac.js +117 -108
  102. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/server.js +2 -1
  103. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/status.codes +0 -0
  104. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle/config/app.json +0 -0
  105. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle/config/routing.json +0 -0
  106. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle/config/settings.json +0 -0
  107. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  108. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle/config/templates.json +4 -4
  109. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  110. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  111. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  112. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle/index.js +0 -0
  113. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  114. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  115. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  116. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  117. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  118. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle_public/readme.md +0 -0
  119. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  120. package/framework/v0.1.1-alpha.151/core/template/boilerplate/bundle_templates/html/content/homepage.html +8 -0
  121. package/framework/v0.1.1-alpha.151/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +11 -0
  122. package/framework/v0.1.1-alpha.151/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +8 -0
  123. package/framework/{v0.1.1-alpha.15/core/template/boilerplate/bundle_templates/html/layout → v0.1.1-alpha.151/core/template/boilerplate/bundle_templates/html/layouts}/main.html +10 -3
  124. package/framework/v0.1.1-alpha.151/core/template/command/gina.bat.tpl +8 -0
  125. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/command/gina.tpl +0 -0
  126. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/conf/env.json +0 -0
  127. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/conf/manifest.json +0 -0
  128. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/conf/package.json +0 -0
  129. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/conf/settings.json +0 -0
  130. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/conf/statics.json +3 -3
  131. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/conf/templates.json +2 -2
  132. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/error/client/json/401.json +0 -0
  133. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/error/client/json/403.json +0 -0
  134. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/error/client/json/404.json +0 -0
  135. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/error/server/html/50x.html +0 -0
  136. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/error/server/json/500.json +0 -0
  137. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/error/server/json/503.json +0 -0
  138. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/core/template/extensions/logger/config.json +0 -0
  139. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/console.js +0 -0
  140. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/context.js +144 -4
  141. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/dateFormat.js +3 -1
  142. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/index.js +9 -4
  143. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/json/README.md +0 -0
  144. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/json/package.json +0 -0
  145. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/json/src/main.js +0 -0
  146. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/path.js +142 -88
  147. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/plugins/README.md +0 -0
  148. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/plugins/package.json +0 -0
  149. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/plugins/src/api-error.js +23 -23
  150. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/plugins/src/main.js +0 -0
  151. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/prototypes.js +35 -36
  152. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/task.js +21 -14
  153. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/helpers/text.js +0 -0
  154. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/archiver/README.md +0 -0
  155. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/archiver/build.json +0 -0
  156. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/archiver/package.json +0 -0
  157. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/archiver/src/dep/jszip.min.js +0 -0
  158. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/archiver/src/main.js +0 -0
  159. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/aliases.json +4 -1
  160. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/bundle/add.js +43 -17
  161. package/framework/v0.1.1-alpha.151/lib/cmd/bundle/arguments.json +6 -0
  162. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/bundle/copy.js +0 -0
  163. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/bundle/cp.js +0 -0
  164. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/bundle/help.js +0 -0
  165. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/bundle/help.txt +2 -2
  166. package/framework/v0.1.1-alpha.151/lib/cmd/bundle/list.js +176 -0
  167. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/bundle/remove.js +22 -22
  168. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/bundle/rename.js +0 -0
  169. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/bundle/restart.js +0 -0
  170. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/bundle/rm.js +0 -0
  171. package/framework/v0.1.1-alpha.151/lib/cmd/bundle/start.js +420 -0
  172. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/bundle/status.js +0 -0
  173. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/bundle/stop.js +93 -74
  174. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/env/add.js +0 -0
  175. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/env/get.js +0 -0
  176. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/env/help.js +0 -0
  177. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/env/help.txt +0 -0
  178. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/env/link-dev.js +0 -0
  179. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/env/list.js +0 -0
  180. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/env/remove.js +0 -0
  181. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/env/rm.js +0 -0
  182. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/env/set.js +0 -0
  183. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/env/unset.js +0 -0
  184. package/framework/{v0.1.1-alpha.15/lib/cmd/scope → v0.1.1-alpha.151/lib/cmd/env}/use.js +21 -1
  185. package/framework/v0.1.1-alpha.151/lib/cmd/framework/build.js +85 -0
  186. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/dot.js +0 -0
  187. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/get.js +0 -0
  188. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/help.js +0 -0
  189. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/help.txt +0 -0
  190. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/init.js +70 -16
  191. package/framework/v0.1.1-alpha.151/lib/cmd/framework/link-node-modules.js +86 -0
  192. package/framework/v0.1.1-alpha.151/lib/cmd/framework/link.js +94 -0
  193. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/msg.json +0 -0
  194. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/open.js +15 -0
  195. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/restart.js +53 -25
  196. package/framework/v0.1.1-alpha.151/lib/cmd/framework/set.js +264 -0
  197. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/start.js +35 -12
  198. package/framework/v0.1.1-alpha.151/lib/cmd/framework/status.js +138 -0
  199. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/stop.js +44 -28
  200. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/tail.js +113 -61
  201. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/update.js +0 -0
  202. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/framework/version.js +12 -3
  203. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/gina-dev.1.md +0 -0
  204. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/gina-framework.1.md +0 -0
  205. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/gina.1.md +0 -0
  206. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/helper.js +74 -5
  207. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/index.js +21 -21
  208. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/msg.json +0 -0
  209. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/port/help.js +0 -0
  210. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/port/help.txt +0 -0
  211. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/port/inc/scan.js +32 -17
  212. package/framework/v0.1.1-alpha.151/lib/cmd/port/list.js +446 -0
  213. package/framework/v0.1.1-alpha.151/lib/cmd/port/reset.js +426 -0
  214. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/port/set.js +0 -0
  215. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/add.js +145 -121
  216. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/arguments.json +0 -0
  217. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/build.js +0 -0
  218. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/help.js +0 -0
  219. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/help.txt +0 -0
  220. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/import.js +0 -0
  221. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/list.js +0 -0
  222. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/move.js +0 -0
  223. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/remove.js +17 -17
  224. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/rename.js +0 -0
  225. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/restart.js +0 -0
  226. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/rm.js +0 -0
  227. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/start.js +0 -0
  228. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/status.js +0 -0
  229. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/project/stop.js +0 -0
  230. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/protocol/help.js +0 -0
  231. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/protocol/help.txt +0 -0
  232. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/protocol/list.js +0 -0
  233. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/protocol/set.js +239 -201
  234. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/scope/help.js +0 -0
  235. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/scope/help.txt +0 -0
  236. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/scope/link-local.js +0 -0
  237. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/scope/list.js +0 -0
  238. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/scope/remove.js +0 -0
  239. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/scope/rm.js +0 -0
  240. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/scope/set.js +0 -0
  241. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/scope/unset.js +0 -0
  242. package/framework/{v0.1.1-alpha.15/lib/cmd/env → v0.1.1-alpha.151/lib/cmd/scope}/use.js +0 -0
  243. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cmd/view/add.js +34 -9
  244. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/collection/README.md +0 -0
  245. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/collection/build.json +0 -0
  246. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/collection/package.json +0 -0
  247. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/collection/src/main.js +0 -0
  248. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/config.js +0 -0
  249. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cron/README.md +0 -0
  250. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cron/package.json +0 -0
  251. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/cron/src/main.js +0 -0
  252. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/generator/index.js +0 -0
  253. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/index.js +0 -0
  254. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/inherits/LICENSE +0 -0
  255. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/inherits/README.md +0 -0
  256. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  257. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/inherits/example/protected_inheritance.js +0 -0
  258. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/inherits/example/simple_inheritance.js +0 -0
  259. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  260. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/inherits/package.json +0 -0
  261. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/inherits/src/main.js +0 -0
  262. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/logger/README.md +0 -0
  263. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/logger/package.json +0 -0
  264. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/logger/src/containers/default/index.js +13 -2
  265. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/logger/src/containers/file/index.js +105 -14
  266. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  267. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  268. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/logger/src/containers/mq/index.js +2 -1
  269. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/logger/src/containers/mq/listener.js +16 -14
  270. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/logger/src/containers/mq/speaker.js +32 -3
  271. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/logger/src/helper.js +19 -0
  272. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/logger/src/main.js +4 -1
  273. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/math/index.js +0 -0
  274. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/merge/README.md +0 -0
  275. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/merge/example/merge.js +0 -0
  276. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/merge/example/merge_2_literal objects.js +0 -0
  277. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/merge/example/merge_and_preserve_first.js +0 -0
  278. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/merge/package.json +0 -0
  279. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/merge/src/main.js +0 -0
  280. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/model.js +0 -0
  281. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/proc.js +69 -45
  282. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/routing/README.md +0 -0
  283. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/routing/build.json +0 -0
  284. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/routing/package.json +0 -0
  285. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/routing/src/main.js +0 -0
  286. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/session-store.js +0 -0
  287. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/shell.js +3 -3
  288. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/swig-filters/README.md +0 -0
  289. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/swig-filters/package.json +0 -0
  290. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/swig-filters/src/main.js +54 -51
  291. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/url/README.md +0 -0
  292. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/url/index.js +0 -0
  293. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/url/mocks.json +0 -0
  294. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/url/routing.json +0 -0
  295. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/url/test.js +0 -0
  296. package/framework/{v0.1.1-alpha.15 → v0.1.1-alpha.151}/lib/validator.js +0 -0
  297. package/framework/v0.1.1-alpha.151/package.json +14 -0
  298. package/package.json +30 -21
  299. package/resources/home/main.json +19 -1
  300. package/resources/home/settings.json +5 -0
  301. package/resources/home/user/extensions/logger/default/config.json +1 -1
  302. package/resources/package.json.template +28 -17
  303. package/script/post_install.js +404 -120
  304. package/script/post_publish.js +185 -0
  305. package/script/pre_install.js +424 -76
  306. package/script/prepare_version.js +151 -21
  307. package/utils/helper.js +230 -44
  308. package/utils/prototypes.js +9 -9
  309. package/utils/prototypes.json_clone.js +31 -31
  310. package/doc/framework/cli/doc.json +0 -9
  311. package/doc/framework/index.md +0 -60
  312. package/framework/v0.1.1-alpha.15/VERSION +0 -1
  313. package/framework/v0.1.1-alpha.15/core/asset/js/plugin/dist/gina.min.js +0 -736
  314. package/framework/v0.1.1-alpha.15/core/asset/js/plugin/dist/gina.min.js.map +0 -56
  315. package/framework/v0.1.1-alpha.15/core/template/boilerplate/bundle_templates/html/homepage.html +0 -4
  316. package/framework/v0.1.1-alpha.15/lib/cmd/bundle/arguments.json +0 -4
  317. package/framework/v0.1.1-alpha.15/lib/cmd/bundle/list.js +0 -129
  318. package/framework/v0.1.1-alpha.15/lib/cmd/bundle/start.js +0 -394
  319. package/framework/v0.1.1-alpha.15/lib/cmd/framework/set.js +0 -161
  320. package/framework/v0.1.1-alpha.15/lib/cmd/framework/status.js +0 -72
  321. package/framework/v0.1.1-alpha.15/lib/cmd/port/list.js +0 -176
  322. package/framework/v0.1.1-alpha.15/package.json +0 -14
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`.
@@ -93,6 +161,13 @@ You can start the bundle with the following command:
93
161
  gina bundle:start frontend @myproject
94
162
  ```
95
163
 
164
+ > __Attention__
165
+ > Default memory is 4 GB (4096 MB)
166
+ > If you feel like you are going to need more [memory](https://blog.appsignal.com/2021/12/08/nodejs-memory-limits-what-you-should-know.html) for this particular bundle, let's say 8 GB:
167
+ > ```tty
168
+ > gina bundle:start frontend @myproject --max-old-space-size=8192
169
+ > ```
170
+
96
171
 
97
172
  Now, visit http://127.0.0.1:3100/ to check your homepage.
98
173
  Isn't it sexy !?
@@ -121,7 +196,8 @@ Then restart your bundle
121
196
  gina bundle:restart frontend @myproject
122
197
  ```
123
198
 
124
- Now edit the `home` control in `src/frontend/controllers/controller.js` so that you can have `self.render(...)` instead of `self.renderJSON(...)`
199
+ Now edit the `home` control in `src/frontend/controllers/controller.content.js` so that you can have `self.render(...)` instead of `self.renderJSON(...)`
200
+
125
201
 
126
202
  Once it's done, you just need to refresh your browser.
127
203
 
@@ -137,6 +213,9 @@ Please, note that you have 2 types of environments : one for the framework, and
137
213
  > ```tty
138
214
  > gina framework:set --env=dev
139
215
  > ```
216
+ > ```tty
217
+ > gina framework:set --log-level=debug
218
+ > ```
140
219
 
141
220
  You can check which are the environments set for your projects
142
221
  ```tty
@@ -168,6 +247,7 @@ gina env:use prod @myproject
168
247
  __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
248
 
170
249
 
250
+
171
251
  #### Other operations you can apply to your environment:
172
252
  __Adding a new environment for your project__
173
253
  ```tty
@@ -183,12 +263,35 @@ __Defining an existing environment as `development` (you can only have one like
183
263
  gina env:link-dev <your new dev env>
184
264
  ```
185
265
 
186
- ### Getting the logs
187
- You will also get logs related to your running bundles.
266
+ __Benefits from using a `development` environment__
267
+ You will not have to restart your bundle anytime you modify files inside directories like :
268
+ - /controllers
269
+ - /piblic
270
+ - /templates
271
+
272
+ ### Timezone
273
+ > __Attention :__ Thiw will impact the logs output
274
+
275
+ The default timezone is set to `Africa/Douala`.
276
+ You can change it to your local timezone. For example, if you live in London:
277
+ ```tty
278
+ gina set --timezone=Europe/London
279
+ ```
280
+
281
+ ### Logs
282
+
283
+ #### Getting the logs
284
+ You will get logs for the framework and related to your running bundles.
285
+
286
+ __1st Method - The default one__
188
287
  ``` tty
189
288
  gina tail
190
289
  ```
290
+
191
291
  __NB.:__ This is an alias for `gina framework:tail`
292
+ > __Attention__
293
+ > Everytime a bundle exits, the tail process will be closed. To prevent tail from exiting, you can use the `--keep-alive` argument.
294
+ > E.g.: `gina tail --keep-alive`
192
295
 
193
296
  By default, Gina does not store logs. Logs are treated like any other events then printed out to the `process.stdout`.
194
297
 
@@ -196,17 +299,21 @@ This means that if you need Gina to handle logs storage, you need a logger conta
196
299
 
197
300
  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
301
 
199
- So to handle log storage for your application, you have 2 options.
200
- __1) Old school way__
302
+ So to handle log storage for your application, you have 2 options: see 2nd & 3rd Methods.
303
+
304
+ __2nd Method - Old school way__
305
+
306
+ > __Attention: __ You will have to handle yourself [log rotation](https://linux.die.net/man/8/logrotate)
307
+
201
308
  ```tty
202
- gina bundle:start frontend @myproject > /usr/local/var/log/gina/frontend.myproject.domain.log 2>&1
309
+ gina bundle:start frontend @myproject --log > /usr/local/var/log/gina/frontend.myproject.domain.log 2>&1
203
310
  ```
204
311
  You can now check
205
312
  ```tty
206
313
  tail - f /usr/local/var/log/gina/frontend.myproject.domain.log
207
314
  ```
208
315
 
209
- __2) Create your own container/transport by extending gina default container__
316
+ __3rd Method - Create your own container/transport by extending gina default container__
210
317
 
211
318
 
212
319
  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 +330,24 @@ gina restart
223
330
 
224
331
  __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
332
 
333
+ #### Setting default log level
334
+
335
+ By default Gina is set to `info`. Here is the list of available log level hierarchies.
336
+
337
+ | levels | Included messages |
338
+ |--------|--------|
339
+ | trace | Emergency, Alert, Critical, Error, Warning, Notice, Informational, Debug |
340
+ | debug | Emergency, Alert, Critical, Error, Warning, Notice, Informational, Debug |
341
+ | info | Emergency, Alert, Critical, Error, Warning, Notice, Informational |
342
+ | warn | Emergency, Alert, Critical, Error, Warning, Notice |
343
+ | error | Emergency, Alert, Critical, Error, Notice |
344
+ | fatal | Emergency, Alert, Critical, Notice |
345
+
346
+ If you are at the developpemnt stage of your project, you might want to get all debug messages.
347
+ ```tty
348
+ gina framework:set --log-level=debug
349
+ ```
350
+
226
351
  ## HTTPS, HTTP/2 and certificates
227
352
 
228
353
  ### Installing a certificate
@@ -240,7 +365,7 @@ __E.g:__ The `myproject.domain` folder should be placed into:
240
365
  ### Enable HTTPS scheme
241
366
  > __NB.:__ `certificate` is `required`.
242
367
  > 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.
368
+ > And if you want to run our experimental HTTP2 implementation, you will need HTTPS scheme.
244
369
 
245
370
  Check what is your actual scheme & protocol status
246
371
  ```tty
@@ -282,12 +407,14 @@ Error: unable to get issuer certificate
282
407
  Do not panic, and follow the steps provided in the following section.
283
408
 
284
409
  ### Local scope & certificate consideration
285
- Ignore the following instructions if you can start your application without any certificate errors.
410
+ > __Ignore__ the following instructions __if you can start your application__ without any certificate errors.
286
411
 
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`__.
412
+ 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
413
  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
414
 
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`.
415
+ __Attention:__ We are assuming that for the following example, you have a wildcard certificate. If this is not possible, you will have to generate a certificate for each bundle and treat each bundle like a subdomain.
416
+
417
+ 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
418
 
292
419
  __Step 1__
293
420
  Go to the folder
@@ -305,11 +432,11 @@ Output should look like
305
432
  ca_bundle.crt certificate.crt private.key
306
433
  ```
307
434
 
308
-
435
+ Now, copy the content of `certificate.crt`
309
436
  ```tty
310
437
  cat certificate.crt
311
438
  ```
312
- Copy the content of `certificate.crt`
439
+
313
440
 
314
441
  Visit [https://whatsmychaincert.com](https://whatsmychaincert.com)
315
442
  Go to the `Generate the Correct Chain` tool.
@@ -335,7 +462,7 @@ We just need to override Gina default certificate paths
335
462
  ```tty
336
463
  {
337
464
  // "privateKey": "{GINA_HOMEDIR}/certificates/scopes/{scope}/{host}/private.key",
338
- "certificate": "{GINA_HOMEDIR}/certificates/scopes/{scope}/{host}/certificate.chained+root.crt",
465
+ // "certificate": "{GINA_HOMEDIR}/certificates/scopes/{scope}/{host}/certificate.crt",
339
466
  "ca": "{GINA_HOMEDIR}/certificates/scopes/{scope}/{host}/certificate.combined.pem"
340
467
  }
341
468
  ```
@@ -346,9 +473,33 @@ gina bundle:restart @myproject
346
473
  ```
347
474
 
348
475
 
476
+ ### Uninstalling Gina
477
+
478
+ > For Microsoft Windows, you might have to run the command line with Administrator privileges.
479
+
480
+ __Wihtout prefix__
481
+ ``` tty
482
+ npm uninstall -g gina
483
+ ```
484
+
485
+ Or if you have an Error like `EACCESS: permission denied, mkdir '/usr/local/lib/node_modules/gina'`
486
+
487
+ __With prefix - If Gina was installed with a prefix__
488
+ ```tty
489
+ npm uninstall -g gina --prefix=~/.npm-global
490
+ ```
491
+
492
+
493
+
349
494
 
350
495
  ## Troubleshooting
351
496
 
497
+ ### My settings are broken, I need a fresh install with the default settings
498
+ ```tty
499
+ npm install -g gina@latest --reset
500
+ ```
501
+
502
+
352
503
  ### I can't start my bundle
353
504
 
354
505
  __Are you starting for the first time ?__
@@ -356,14 +507,14 @@ __Are you starting for the first time ?__
356
507
  - If you are a __Windows user__, make sure you are running your command line with sufficient permission; like __"launching your terminal as administrator"__.
357
508
 
358
509
 
359
- - If you have just cloned Gina from GitHub, don't forget to run from the project root :
510
+ - If you have just cloned Gina from GitHub, don't forget to run from the framework root :
360
511
 
361
512
  ```tty
362
- node node_modules/gina/script/pre_install.js
513
+ node node_modules/gina/script/pre_install.js -g
363
514
  ```
364
515
 
365
516
  ```tty
366
- node node_modules/gina/script/post_install.js
517
+ node node_modules/gina/script/post_install.js -g
367
518
  ```
368
519
 
369
520
 
package/bin/cli CHANGED
@@ -1,13 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  'use strict';
3
3
 
4
- var fs = require('fs');
5
- var net = require('net');
6
- var util = require('util');
7
- var promisify = util.promisify;
4
+ var fs = require('fs');
5
+ var net = require('net');
6
+ var util = require('util');
7
+ var os = require('os');
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,106 @@ 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
+ setEnvVar('GINA_ENV', settings['env']);// jshint ignore:line
118
+
119
+ // prior to what settings says
120
+ if (hostname != settings['hostname'] && !isUpdateRequired) {
121
+ setEnvVar('GINA_TMPDIR', settings['hostname']);// jshint ignore:line
122
+ hostname = settings['hostname'];
123
+ }
124
+ hostV4 = getEnvVar('GINA_HOST_V4') || settings['host_v4'] || '127.0.0.1';// jshint ignore:line
125
+ mqPort = getEnvVar('GINA_MQ_PORT')|| settings['mq_port'] || 8125;// jshint ignore:line
126
+
127
+ if (!isUpdateRequired) {
128
+ setEnvVar('GINA_HOST_V4', settings['host_v4']);// jshint ignore:line
129
+ setEnvVar('GINA_MQ_PORT', settings['mq_port']);// jshint ignore:line
130
+ setEnvVar('GINA_HOSTNAME', settings['hostname']);// jshint ignore:line
131
+ }
132
+
133
+ if ( typeof(packObj.config) != 'undefined' ) {
134
+ if (typeof(packObj.config.prefix) != 'undefined' ) {
135
+ setEnvVar('GINA_PREFIX', packObj.config.prefix);// jshint ignore:line
136
+ }
137
+ if ( typeof(packObj.config.globalMode) != 'undefined' ) {
138
+ setEnvVar('GINA_GLOBAL_MODE', packObj.config.globalMode);// jshint ignore:line
139
+ }
140
+ }
83
141
 
84
142
  // Loading logger.
85
143
  console = lib.logger;// jshint ignore:line
@@ -88,25 +146,26 @@ async function onExec() {
88
146
  console.pauseReporting();
89
147
  }
90
148
  console.setLevel(settings['log_level'], 'gina');
91
-
149
+
92
150
  // Loading logger listner vs ~/.gina/user/extensions/logger/mq/config.json & ~/.gina/{shortVersion}/settings.json
93
151
  if ( /(gina\/bin\/cli|gina\/\/bin\/gina)$/.test(process.argv[1]) ) {
94
-
152
+
95
153
  var MQListener = require(frameworkPath + '/lib/logger/src/containers/mq/listener.js');
96
-
97
- var mqPort = 8125;
98
- var mqListener = await new MQListener({ port: 8125 });
154
+ var mqListener = await new MQListener({ port: mqPort, host: hostV4 });
99
155
  // required for tail command
100
- var mqPortFile = './tmp/mq-listener-v'+ version +'.port';
156
+ var mqPortFile = getTmpDir() + '/mq-listener-v'+ version +'.port';// jshint ignore:line
101
157
  console.debug('Writting: '+ mqPortFile);
102
158
  fs.writeFileSync( mqPortFile, ''+mqPort );
103
159
  process.on('exit', function() {
104
- fs.unlinkSync(mqPortFile);
160
+ if ( new _(mqPortFile).existsSync() ) {
161
+ fs.unlinkSync(mqPortFile);
162
+ }
163
+
105
164
  mqListener.close();
106
165
  mqListener.unref();
107
166
  })
108
167
  }
109
-
168
+
110
169
  if ( !fs.existsSync(frameworkPath) ) {
111
170
  console.alert('Could not find version ' + version + '.\nFirst try:\n$ gina framework:install ' + version);
112
171
  process.exit(1)
@@ -127,28 +186,37 @@ async function onExec() {
127
186
  filterArgs();// jshint ignore:line
128
187
  //check for $HOME path, alert if empty.
129
188
  if (!home) {
130
- console.error('No ' + ((isWin32) ? 'USERPROFILE' : 'HOME') + ' path found.')
131
- } else {
132
- setEnvVar('GINA_HOMEDIR', home);// jshint ignore:line
133
- setEnvVar('GINA_DIR', ginaPath);// jshint ignore:line
134
- setEnvVar('GINA_FRAMEWORK_DIR', frameworkPath);// jshint ignore:line
135
- setEnvVar('GINA_CORE', frameworkPath + '/core');// jshint ignore:line
189
+ console.error('No ' + ((isWin32) ? 'USERPROFILE' : 'HOME') + ' path found.');
190
+ process.exit(1);
136
191
  }
192
+
193
+ // setEnvVar('GINA_HOMEDIR', home);// jshint ignore:line
194
+ setEnvVar('GINA_DIR', ginaPath);// jshint ignore:line
195
+ setEnvVar('GINA_FRAMEWORK_DIR', frameworkPath);// jshint ignore:line
196
+ setEnvVar('GINA_CORE', frameworkPath + '/core');// jshint ignore:line
137
197
  setEnvVar('GINA_IS_WIN32', isWin32, true);// jshint ignore:line
138
198
 
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
199
+ if (!settings) {
200
+ settings = requireJSON(settingsPath);// jshint ignore:line
201
+ }
202
+ if (isUpdateRequired) {
203
+ console.debug('Updating debug settings ...');// jshint ignore:line
204
+ settings['port'] = getEnvVar('GINA_PORT') || settings['port'] || null;// jshint ignore:line
205
+ settings['debug_port'] = getEnvVar('GINA_DEBUG_PORT') || settings['debug_port'] || null;// jshint ignore:line
206
+
207
+ settings['mq_port'] = getEnvVar('GINA_MQ_PORT') || settings['mq_port'] || null;// jshint ignore:line
208
+ settings['host_v4'] = getEnvVar('GINA_HOST_V4') || settings['host_v4'] || null;// jshint ignore:line
209
+ settings['hostname'] = getEnvVar('GINA_HOSTNAME') || settings['hostname'] || null;// jshint ignore:line
143
210
  generator.createFileFromDataSync(settings, settingsPath);// jshint ignore:line
144
211
  }
145
212
 
146
213
 
147
214
  /**
148
215
  * Framework port
216
+ * To change it: gina framework:set --port=<port_number>
149
217
  * TODO - Add a port scanner & compare with ~/.gina/{shortVersion}/settings.json on `post_install`
150
218
  * */
151
- var port = 8124;
219
+ var port = settings['port'] || 8124;
152
220
 
153
221
  // |-> framework/{version}/lib/cmd
154
222
  var allowedOffline = [
@@ -194,11 +262,14 @@ async function onExec() {
194
262
  frameworkPath : frameworkPath,
195
263
  homedir : home,
196
264
  port : port,
265
+ hostV4 : hostV4,
266
+ mqPort : mqPort,
267
+ hostname : hostname,
197
268
  debugPort : debugPort,
198
269
  debugBrkEnabled : debugBrkEnabled,
199
270
  pack : pack
200
271
  });
201
-
272
+
202
273
 
203
274
  } else if (
204
275
  typeof(process.argv[2]) != 'undefined'
@@ -207,13 +278,16 @@ async function onExec() {
207
278
  || process.argv[2].substr(0, 2) === '--'
208
279
  || process.argv[2].substr(0, 1) === '-'
209
280
  ) {
210
-
281
+
211
282
  require(binPath + '/cmd')({
212
283
  binPath : binPath,
213
284
  ginaPath : ginaPath,
214
285
  frameworkPath : frameworkPath,
215
286
  homedir : home,
216
287
  port : port,
288
+ hostV4 : hostV4,
289
+ mqPort : mqPort,
290
+ hostname : hostname,
217
291
  debugPort : debugPort,
218
292
  debugBrkEnabled : debugBrkEnabled,
219
293
  pack : pack
@@ -228,27 +302,27 @@ async function onExec() {
228
302
  } else {
229
303
 
230
304
  //Connect to framework.
231
- var client = net.connect({port: port},
305
+ var client = net.connect({port: port, host: hostV4},
232
306
  function() {
233
307
  //Forwarding cmd.
234
308
  // retieving debug infos
235
309
  var debugOption = null;
236
310
  if ( debugPort ) {
237
- debugOption = '--inspect=' + debugPort;
238
-
311
+ debugOption = '--inspect=' + debugPort;
312
+
239
313
  if (debugBrkEnabled) {
240
314
  debugOption = debugOption.replace(/\-\-inspect/, '--inspect-brk')
241
315
  }
242
-
316
+
243
317
  process.argv.push(debugOption)
244
318
  }
245
-
319
+
246
320
  client.write( JSON.stringify(process.argv) );
247
321
  }
248
322
  );
249
323
 
250
- client.on('data', function(data) {
251
-
324
+ client.on('data', function(data) {
325
+
252
326
  //Acknowledging ready state.
253
327
  if ( /\[ quit \]/.test(data) ) {
254
328
  client.end();
@@ -262,7 +336,7 @@ async function onExec() {
262
336
  client.end();
263
337
  return
264
338
  }
265
-
339
+
266
340
  });
267
341
 
268
342
  //client end event.
@@ -276,11 +350,11 @@ async function onExec() {
276
350
  } else {
277
351
  console.log('[ gina ] not started, try to start framework with :\n$ sudo gina start')
278
352
  }
279
-
353
+
280
354
  console.debug(err.stack||err);
281
-
355
+
282
356
  process.exit(1)
283
- });
357
+ });
284
358
  }
285
359
  }
286
360