gina 0.1.6-alpha.5 → 0.1.6-alpha.50

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 (307) hide show
  1. package/README-4Contributors.md +5 -5
  2. package/README.md +3 -3
  3. package/bin/cli +13 -0
  4. package/framework/v0.1.6-alpha.50/VERSION +1 -0
  5. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/asset/plugin/README.md +1 -0
  6. package/framework/v0.1.6-alpha.50/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
  7. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/asset/plugin/dist/vendor/gina/js/gina.js +123 -18
  8. package/framework/v0.1.6-alpha.50/core/asset/plugin/dist/vendor/gina/js/gina.min.js +771 -0
  9. package/framework/v0.1.6-alpha.50/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
  10. package/framework/v0.1.6-alpha.50/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +7 -0
  11. package/framework/v0.1.6-alpha.50/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
  12. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/config.js +73 -7
  13. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/controller/controller.js +274 -35
  14. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/gna.js +67 -16
  15. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/plugins/lib/validator/src/main.js +7 -0
  16. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/router.js +74 -40
  17. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/server.js +27 -4
  18. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/boilerplate/bundle/controllers/setup.js +2 -2
  19. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/helpers/path.js +25 -9
  20. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/bundle/add.js +2 -1
  21. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/bundle/start.js +6 -3
  22. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/framework/build.js +1 -1
  23. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/framework/init.js +18 -0
  24. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/framework/tail.js +5 -5
  25. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/framework/version.js +15 -1
  26. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/helper.js +8 -4
  27. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/project/add.js +3 -2
  28. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/protocol/list.js +71 -50
  29. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/domain/src/main.js +59 -1
  30. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/merge/package.json +1 -1
  31. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/routing/src/main.js +49 -10
  32. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/swig-filters/src/main.js +63 -8
  33. package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/package.json +3 -5
  34. package/package.json +2 -2
  35. package/framework/v0.1.6-alpha.5/VERSION +0 -1
  36. package/framework/v0.1.6-alpha.5/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +0 -1
  37. package/framework/v0.1.6-alpha.5/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -765
  38. package/framework/v0.1.6-alpha.5/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +0 -8
  39. package/framework/v0.1.6-alpha.5/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -7
  40. package/framework/v0.1.6-alpha.5/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +0 -8
  41. package/framework/v0.1.6-alpha.5/core/deps/busboy/.travis.yml +0 -17
  42. package/framework/v0.1.6-alpha.5/core/deps/busboy/LICENSE +0 -19
  43. package/framework/v0.1.6-alpha.5/core/deps/busboy/README.md +0 -225
  44. package/framework/v0.1.6-alpha.5/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -73
  45. package/framework/v0.1.6-alpha.5/core/deps/busboy/deps/encoding/encoding.js +0 -2391
  46. package/framework/v0.1.6-alpha.5/core/deps/busboy/lib/main.js +0 -89
  47. package/framework/v0.1.6-alpha.5/core/deps/busboy/lib/types/multipart.js +0 -328
  48. package/framework/v0.1.6-alpha.5/core/deps/busboy/lib/types/urlencoded.js +0 -214
  49. package/framework/v0.1.6-alpha.5/core/deps/busboy/lib/utils.js +0 -191
  50. package/framework/v0.1.6-alpha.5/core/deps/busboy/package.json +0 -69
  51. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/AUTHORS +0 -0
  52. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/LICENSE +0 -0
  53. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/asset/html/nolayout.html +0 -0
  54. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/asset/html/static.html +0 -0
  55. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/asset/img/android-chrome-192x192.png +0 -0
  56. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/asset/img/android-chrome-512x512.png +0 -0
  57. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/asset/img/apple-touch-icon.png +0 -0
  58. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/asset/img/favicon-16x16.png +0 -0
  59. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/asset/img/favicon-32x32.png +0 -0
  60. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/asset/img/favicon.ico +0 -0
  61. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  62. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/asset/plugin/dist/vendor/gina/html/toolbar.html +0 -0
  63. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/asset/plugin/uuid.json +0 -0
  64. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/connectors/couchbase/index.js +0 -0
  65. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/connectors/couchbase/lib/connector.js +0 -0
  66. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  67. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  68. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/connectors/couchbase/lib/connector.v4.js +0 -0
  69. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/connectors/couchbase/lib/n1ql.js +0 -0
  70. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/connectors/couchbase/lib/session-store.js +0 -0
  71. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  72. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  73. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  74. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/controller/controller.framework.js +0 -0
  75. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/controller/index.js +0 -0
  76. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  77. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/dev/index.js +0 -0
  78. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/dev/lib/class.js +0 -0
  79. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/dev/lib/factory.js +0 -0
  80. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/dev/lib/tools.js +0 -0
  81. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/locales/README.md +0 -0
  82. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/locales/currency.json +0 -0
  83. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/locales/dist/language/en.json +0 -0
  84. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/locales/dist/language/fr.json +0 -0
  85. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/locales/dist/region/en.json +0 -0
  86. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/locales/dist/region/fr.json +0 -0
  87. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/locales/index.js +0 -0
  88. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/locales/src/make.js +0 -0
  89. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/locales/src/resources/currency.csv +0 -0
  90. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/locales/src/resources/region.csv +0 -0
  91. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/locales/src/resources/region.mapping.json +0 -0
  92. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/mime.types +0 -0
  93. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/model/entity.js +0 -0
  94. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/model/index.js +0 -0
  95. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/model/template/entityFactory.js +0 -0
  96. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/model/template/index.js +0 -0
  97. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/plugins/README.md +0 -0
  98. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/plugins/index.js +0 -0
  99. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/plugins/lib/file/README.md +0 -0
  100. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/plugins/lib/file/build.json +0 -0
  101. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/plugins/lib/file/package.json +0 -0
  102. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/plugins/lib/intl/README.md +0 -0
  103. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/plugins/lib/intl/build.json +0 -0
  104. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/plugins/lib/intl/package.json +0 -0
  105. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/plugins/lib/intl/src/main.js +0 -0
  106. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/plugins/lib/storage/README.md +0 -0
  107. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/plugins/lib/storage/build.json +0 -0
  108. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/plugins/lib/storage/package.json +0 -0
  109. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/plugins/lib/storage/src/main.js +0 -0
  110. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/plugins/lib/validator/README.md +0 -0
  111. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/plugins/lib/validator/build.json +0 -0
  112. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/plugins/lib/validator/package.json +0 -0
  113. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/plugins/lib/validator/src/form-validator.js +0 -0
  114. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/server.express.js +0 -0
  115. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/server.isaac.js +0 -0
  116. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/status.codes +0 -0
  117. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/_gitignore +0 -0
  118. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/boilerplate/bundle/config/app.json +0 -0
  119. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/boilerplate/bundle/config/routing.json +0 -0
  120. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/boilerplate/bundle/config/settings.json +0 -0
  121. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  122. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/boilerplate/bundle/config/templates.json +0 -0
  123. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  124. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  125. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/boilerplate/bundle/index.js +0 -0
  126. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  127. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  128. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  129. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  130. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  131. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/boilerplate/bundle_public/readme.md +0 -0
  132. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  133. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  134. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  135. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  136. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  137. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/command/gina.bat.tpl +0 -0
  138. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/command/gina.tpl +0 -0
  139. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/conf/env.json +0 -0
  140. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/conf/manifest.json +0 -0
  141. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/conf/package.json +0 -0
  142. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/conf/settings.json +0 -0
  143. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/conf/statics.json +0 -0
  144. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/conf/templates.json +0 -0
  145. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/error/client/json/401.json +0 -0
  146. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/error/client/json/403.json +0 -0
  147. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/error/client/json/404.json +0 -0
  148. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/error/server/html/50x.html +0 -0
  149. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/error/server/json/500.json +0 -0
  150. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/error/server/json/503.json +0 -0
  151. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/core/template/extensions/logger/config.json +0 -0
  152. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/helpers/console.js +0 -0
  153. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/helpers/context.js +0 -0
  154. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/helpers/data/LICENSE +0 -0
  155. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/helpers/data/README.md +0 -0
  156. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/helpers/data/package.json +0 -0
  157. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/helpers/data/src/main.js +0 -0
  158. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/helpers/dateFormat.js +0 -0
  159. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/helpers/index.js +0 -0
  160. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/helpers/json/LICENSE +0 -0
  161. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/helpers/json/README.md +0 -0
  162. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/helpers/json/package.json +0 -0
  163. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/helpers/json/src/main.js +0 -0
  164. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/helpers/plugins/README.md +0 -0
  165. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/helpers/plugins/package.json +0 -0
  166. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/helpers/plugins/src/api-error.js +0 -0
  167. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/helpers/plugins/src/main.js +0 -0
  168. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/helpers/prototypes.js +0 -0
  169. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/helpers/task.js +0 -0
  170. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/helpers/text.js +0 -0
  171. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/archiver/README.md +0 -0
  172. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/archiver/build.json +0 -0
  173. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/archiver/package.json +0 -0
  174. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/archiver/src/dep/jszip.min.js +0 -0
  175. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/archiver/src/main.js +0 -0
  176. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/aliases.json +0 -0
  177. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/bundle/arguments.json +0 -0
  178. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/bundle/copy.js +0 -0
  179. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/bundle/cp.js +0 -0
  180. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/bundle/help.js +0 -0
  181. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/bundle/help.txt +0 -0
  182. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/bundle/list.js +0 -0
  183. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/bundle/remove.js +0 -0
  184. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/bundle/rename.js +0 -0
  185. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/bundle/restart.js +0 -0
  186. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/bundle/rm.js +0 -0
  187. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/bundle/status.js +0 -0
  188. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/bundle/stop.js +0 -0
  189. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/env/add.js +0 -0
  190. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/env/get.js +0 -0
  191. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/env/help.js +0 -0
  192. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/env/help.txt +0 -0
  193. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/env/link-dev.js +0 -0
  194. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/env/list.js +0 -0
  195. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/env/remove.js +0 -0
  196. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/env/rm.js +0 -0
  197. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/env/set.js +0 -0
  198. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/env/unset.js +0 -0
  199. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/env/use.js +0 -0
  200. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/framework/dot.js +0 -0
  201. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/framework/get.js +0 -0
  202. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/framework/help.js +0 -0
  203. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/framework/help.txt +0 -0
  204. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/framework/link-node-modules.js +0 -0
  205. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/framework/link.js +0 -0
  206. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/framework/msg.json +0 -0
  207. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/framework/open.js +0 -0
  208. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/framework/restart.js +0 -0
  209. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/framework/set.js +0 -0
  210. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/framework/start.js +0 -0
  211. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/framework/status.js +0 -0
  212. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/framework/stop.js +0 -0
  213. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/framework/update.js +0 -0
  214. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/gina-dev.1.md +0 -0
  215. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/gina-framework.1.md +0 -0
  216. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/gina.1.md +0 -0
  217. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/index.js +0 -0
  218. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/msg.json +0 -0
  219. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/port/help.js +0 -0
  220. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/port/help.txt +0 -0
  221. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/port/inc/scan.js +0 -0
  222. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/port/list.js +0 -0
  223. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/port/reset.js +0 -0
  224. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/port/set.js +0 -0
  225. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/project/arguments.json +0 -0
  226. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/project/build.js +0 -0
  227. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/project/help.js +0 -0
  228. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/project/help.txt +0 -0
  229. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/project/import.js +0 -0
  230. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/project/list.js +0 -0
  231. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/project/move.js +0 -0
  232. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/project/remove.js +0 -0
  233. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/project/rename.js +0 -0
  234. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/project/restart.js +0 -0
  235. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/project/rm.js +0 -0
  236. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/project/start.js +0 -0
  237. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/project/status.js +0 -0
  238. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/project/stop.js +0 -0
  239. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/protocol/help.js +0 -0
  240. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/protocol/help.txt +0 -0
  241. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/protocol/set.js +0 -0
  242. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/scope/add.js +0 -0
  243. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/scope/help.js +0 -0
  244. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/scope/help.txt +0 -0
  245. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/scope/link-local.js +0 -0
  246. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/scope/link-production.js +0 -0
  247. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/scope/list.js +0 -0
  248. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/scope/remove.js +0 -0
  249. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/scope/rm.js +0 -0
  250. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/scope/use.js +0 -0
  251. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cmd/view/add.js +0 -0
  252. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/collection/README.md +0 -0
  253. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/collection/build.json +0 -0
  254. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/collection/package.json +0 -0
  255. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/collection/src/main.js +0 -0
  256. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/config.js +0 -0
  257. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cron/README.md +0 -0
  258. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cron/package.json +0 -0
  259. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/cron/src/main.js +0 -0
  260. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/domain/LICENSE +0 -0
  261. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/domain/README.md +0 -0
  262. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/domain/dist/public_suffix_list.dat +0 -0
  263. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/domain/exemples/backend.js +0 -0
  264. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/domain/exemples/frontend.html +0 -0
  265. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/domain/package.json +0 -0
  266. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/generator/index.js +0 -0
  267. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/index.js +0 -0
  268. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/inherits/LICENSE +0 -0
  269. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/inherits/README.md +0 -0
  270. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  271. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/inherits/example/protected_inheritance.js +0 -0
  272. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/inherits/example/simple_inheritance.js +0 -0
  273. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  274. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/inherits/package.json +0 -0
  275. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/inherits/src/main.js +0 -0
  276. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/logger/README.md +0 -0
  277. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/logger/package.json +0 -0
  278. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/logger/src/containers/default/index.js +0 -0
  279. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/logger/src/containers/file/index.js +0 -0
  280. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  281. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  282. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/logger/src/containers/mq/index.js +0 -0
  283. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/logger/src/containers/mq/listener.js +0 -0
  284. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/logger/src/containers/mq/speaker.js +0 -0
  285. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/logger/src/helper.js +0 -0
  286. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/logger/src/main.js +0 -0
  287. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/math/index.js +0 -0
  288. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/merge/README.md +0 -0
  289. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/merge/example/merge.js +0 -0
  290. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/merge/example/merge_2_literal objects.js +0 -0
  291. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/merge/example/merge_and_preserve_first.js +0 -0
  292. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/merge/src/main.js +0 -0
  293. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/model.js +0 -0
  294. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/proc.js +0 -0
  295. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/routing/README.md +0 -0
  296. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/routing/build.json +0 -0
  297. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/routing/package.json +0 -0
  298. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/session-store.js +0 -0
  299. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/shell.js +0 -0
  300. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/swig-filters/README.md +0 -0
  301. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/swig-filters/package.json +0 -0
  302. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/url/README.md +0 -0
  303. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/url/index.js +0 -0
  304. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/url/mocks.json +0 -0
  305. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/url/routing.json +0 -0
  306. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/url/test.js +0 -0
  307. /package/framework/{v0.1.6-alpha.5 → v0.1.6-alpha.50}/lib/validator.js +0 -0
@@ -212,10 +212,58 @@ gna.env = process.env.NODE_ENV = env;
212
212
  gna.scope = process.env.NODE_SCOPE = scope;
213
213
  gna.os.isWin32 = process.env.isWin32 = isWin32;
214
214
  gna.isAborting = false;
215
- //Cahceless is also defined in the main config : Config::isCacheless().
215
+ //Cacheless is also defined in the main config : Config::isCacheless().
216
216
  process.env.NODE_ENV_IS_DEV = (/^true$/i.test(isDev)) ? true : false;
217
217
  process.env.NODE_SCOPE_IS_LOCAL = (/^true$/i.test(isLocalScope)) ? true : false;
218
218
  process.env.NODE_SCOPE_IS_PRODUCTION = (/^true$/i.test(isProductionScope)) ? true : false;
219
+ // Proxy check
220
+ var proxyPathObj = new _(projects[projectName].path + '/proxy.json', true);
221
+ var proxy = null;
222
+ if ( proxyPathObj.existsSync() ) {
223
+ try {
224
+ var proxyColl = requireJSON(proxyPathObj.toString());
225
+ proxy = new lib.Collection(proxyColl).findOne({ scope: process.env.NODE_SCOPE, env: process.env.NODE_ENV });
226
+ proxyColl = null;
227
+ } catch (proxyErr) {
228
+ console.error('[ FRAMEWORK ][ configurationError ] ', proxyErr.stack || proxyErr.message || proxyErr);
229
+ }
230
+
231
+ if (proxy) {
232
+ gna.proxyHostname = process.gina.PROXY_HOSTNAME = proxy.hostname;
233
+ gna.proxyHost = process.gina.PROXY_HOST = proxy.hostname
234
+ .replace(/^(https|http)\:\/\//g, '')
235
+ .replace(/\:\d+\/$|\:\d+$/, '')
236
+ ;
237
+ var proxyPort = gna.proxyHostname.match(/\:\d+\/$|\:\d+$/) || null;
238
+ if (proxyPort) {
239
+ proxyPort = parseInt(proxyPort[0].match(/\d+/));
240
+ } else {
241
+ var foundScheme = gna.proxyHostname.match(/^(https|http)\:\/\//g)[0].replace(/\:\/\//g, '');
242
+ switch (foundScheme) {
243
+ case 'https':
244
+ proxyPort = 443;
245
+ break;
246
+ case 'ftp':
247
+ proxyPort = 21;
248
+ break;
249
+ case 'sftp':
250
+ proxyPort = 22;
251
+ break;
252
+ default:
253
+ proxyPort = 80;
254
+ break;
255
+ }
256
+ foundScheme = null;
257
+ }
258
+ gna.proxyPort = process.gina.PROXY_PORT = parseInt(proxyPort);
259
+
260
+ var isProxyHost = (
261
+ typeof(process.gina.PROXY_HOSTNAME) != 'undefined'
262
+ ) ? true : false;
263
+ // Forcing context - also available for workers
264
+ setContext('isProxyHost', isProxyHost);
265
+ }
266
+ }
219
267
 
220
268
 
221
269
  var bundlesPath = (isDev) ? projects[projectName]['path'] + '/src' : projects[projectName]['path'] + '/bundles';
@@ -443,12 +491,16 @@ gna.mount = process.mount = function(bundlesPath, source, target, type, callback
443
491
  }
444
492
  var tmpPath = getPath('project') + '/tmp';
445
493
  console.debug('tmp path: ', tmpPath);
446
- if ( !fs.existsSync(tmpPath) ) {
447
- new _(tmpPath).mkdirSync();
494
+ var tmpPathObj = new _(tmpPath);
495
+ if ( !tmpPathObj.existsSync() ) {
496
+ tmpPathObj.mkdirSync();
448
497
  }
498
+ tmpPathObj = null;
499
+ var sourceObj = new _(source);
500
+ var targetObj = new _(target);
449
501
 
450
- var isSourceFound = fs.existsSync(source)
451
- , isTargetFound = fs.existsSync(target)
502
+ var isSourceFound = sourceObj.existsSync()
503
+ , isTargetFound = targetObj.existsSync()
452
504
  ;
453
505
  console.debug('[ FRAMEWORK ][ MOUNT ] Source: ', source);
454
506
  console.debug('[ FRAMEWORK ][ MOUNT ] Checking before mounting ', target, isTargetFound, bundlesPath);
@@ -485,15 +537,15 @@ gna.mount = process.mount = function(bundlesPath, source, target, type, callback
485
537
  gna.lib.generator.createPathSync(bundlesPath, function onPathCreated(err){
486
538
  if (!err) {
487
539
  try {
488
- var targetObj = new _(target);
540
+ // var targetObj = new _(target);
489
541
  if ( targetObj.existsSync() ) {
490
542
  targetObj.rmSync();
491
543
  }
492
- if ( type != undefined)
544
+ if ( type != undefined) {
493
545
  fs.symlinkSync(source, target, type)
494
- else
546
+ } else {
495
547
  fs.symlinkSync(source, target);
496
-
548
+ }
497
549
  // symlink created
498
550
  callback(false);
499
551
 
@@ -557,22 +609,20 @@ isBundleMounted(projects, bundlesPath, getContext('bundle'), function onBundleMo
557
609
 
558
610
  joinContext(conf.contexts);
559
611
  gna.getConfig = function(name){
560
- // var tmp = '';
612
+ var tmp = null;
561
613
  if ( typeof(name) != 'undefined' ) {
562
614
  try {
563
615
  //Protect it.
564
- // tmp = JSON.stringify(conf.content[name]);
565
- // return JSON.parse(tmp)
566
- return JSON.clone(conf.content[name])
616
+ tmp = JSON.clone(conf.content[name])
567
617
  } catch (err) {
568
618
  console.error('[ FRAMEWORK ] ', err.stack);
569
619
  return undefined
570
620
  }
571
621
  } else {
572
- // tmp = JSON.stringify(conf);
573
- // return JSON.parse(tmp)
574
- return JSON.clone(conf)
622
+ //Protect it.
623
+ tmp = JSON.clone(conf)
575
624
  }
625
+ return tmp
576
626
  };
577
627
  try {
578
628
  //configureMiddleware(instance, express); // no, no and no...
@@ -876,6 +926,7 @@ isBundleMounted(projects, bundlesPath, getContext('bundle'), function onBundleMo
876
926
  if (
877
927
  conf.server.scheme == 'https'
878
928
  && !/^true$/i.test(process.env.NODE_SCOPE_IS_PRODUCTION)
929
+ && !/^true$/i.test(isProxyHost)
879
930
  ) {
880
931
  try {
881
932
  await server.verifyCertificate(conf.host, conf.server.port);
@@ -1276,6 +1276,13 @@
1276
1276
  // } else { // external - need to remove `X-Requested-With` from `options.headers`
1277
1277
  result.location = (!/^http/.test(result.location) && !/^\//.test(result.location) ) ? location.protocol +'//' + result.location : result.location;
1278
1278
  //}
1279
+ // isProxyHost ?
1280
+ if (
1281
+ result.location.replace(/^http(.*)\:\d+/, '$1').replace(/^\:\/\//, '').split(/\//g)[0] == gina.config.hostname
1282
+ && gina.config.hostname == window.location.host
1283
+ ) {
1284
+ result.location = location.protocol + result.location.replace(/^http(.*)\:\d+/, '$1').replace(/^\:/, '')
1285
+ }
1279
1286
 
1280
1287
  return setTimeout(() => {
1281
1288
  window.location.href = result.location;
@@ -118,6 +118,73 @@ function Router(env, scope) {
118
118
  // }
119
119
  // return ;
120
120
 
121
+
122
+ var serverInstance = self.getServerInstance();
123
+ var config = null
124
+ , conf = null
125
+ , bundle = null
126
+ , env = null
127
+ , scope = null
128
+ , cacheless = (/^true$/i.test(process.env.NODE_ENV_IS_DEV)) ? true : false
129
+ ;
130
+ try {
131
+ config = new Config().getInstance();
132
+ if (!params.bundle) {
133
+ try {
134
+ //params.bundle = config.bundle;
135
+ //params.param = config.routing[config.reverseRouting[params.param.url]];
136
+ var _rule = config.reverseRouting[params.param.url];
137
+ params = merge(params, config.routing[_rule]);
138
+ params.rule = _rule;
139
+ } catch(reverseRoutingError) {
140
+ serverInstance.throwError(response, 500, reverseRoutingError);
141
+ return;
142
+ }
143
+ }
144
+ bundle = local.bundle = params.bundle;
145
+ env = config.env;
146
+ scope = config.scope;
147
+ conf = config[bundle][env];
148
+ } catch (configErr) {
149
+ serverInstance.throwError(response, 500, new Error('syntax error(s) found in `'+ controllerFile +'` \nTrace: ') + (configErr.stack || configErr.message) );
150
+ return;
151
+ }
152
+
153
+ local.cacheless = cacheless;
154
+ local.request = request;
155
+ local.next = next;
156
+ local.conf = conf;
157
+ local.isStandalone = conf.isStandalone;
158
+
159
+
160
+ /**
161
+ * Reverse proxy check
162
+ */
163
+ var requestPort = request.headers.port || request.headers[':port'];
164
+ var isProxyHost = (
165
+ typeof(request.headers.host) != 'undefined'
166
+ && typeof(requestPort) != 'undefined'
167
+ && /^(80|443)$/.test(requestPort)
168
+ && conf.server.scheme +'://'+ request.headers.host +':'+ requestPort != conf.hostname.replace(/\:\d+$/, '') +':'+ conf.server.port
169
+ ||
170
+ typeof(request.headers[':authority']) != 'undefined'
171
+ && conf.server.scheme +'://'+ request.headers[':authority'] != conf.hostname
172
+ ||
173
+ typeof(request.headers.host) != 'undefined'
174
+ && typeof(requestPort) != 'undefined'
175
+ && /^(80|443)$/.test(requestPort)
176
+ && request.headers.host == conf.host
177
+ ||
178
+ typeof(request.headers['x-nginx-proxy']) != 'undefined'
179
+ && /^true$/i.test(request.headers['x-nginx-proxy'])
180
+ ||
181
+ typeof(process.gina.PROXY_HOSTNAME) != 'undefined'
182
+ ) ? true : false;
183
+
184
+ setContext('isProxyHost', isProxyHost);
185
+
186
+
187
+
121
188
  /**
122
189
  * ExpressJS modules + HTTP2 fix
123
190
  * Hack required until `express-<plugin>` get support for http2 `express-session`
@@ -140,6 +207,9 @@ function Router(env, scope) {
140
207
  ||
141
208
  typeof(request.session) != 'undefined'
142
209
  && typeof(request.isAuthenticated) == 'undefined'
210
+ ||
211
+ typeof(request.session) != 'undefined'
212
+ && typeof(request.session.passport) != 'undefined'
143
213
  ) {
144
214
  request.isAuthenticated = function() {
145
215
  var property = 'user';
@@ -284,42 +354,6 @@ function Router(env, scope) {
284
354
  * EO Passport JS HTTP2 fix
285
355
  */
286
356
 
287
- var serverInstance = self.getServerInstance();
288
- var config = null
289
- , conf = null
290
- , bundle = null
291
- , env = null
292
- , scope = null
293
- , cacheless = (/^true$/i.test(process.env.NODE_ENV_IS_DEV)) ? true : false
294
- ;
295
- try {
296
- config = new Config().getInstance();
297
- if (!params.bundle) {
298
- try {
299
- //params.bundle = config.bundle;
300
- //params.param = config.routing[config.reverseRouting[params.param.url]];
301
- var _rule = config.reverseRouting[params.param.url];
302
- params = merge(params, config.routing[_rule]);
303
- params.rule = _rule;
304
- } catch(reverseRoutingError) {
305
- serverInstance.throwError(response, 500, reverseRoutingError);
306
- return;
307
- }
308
- }
309
- bundle = local.bundle = params.bundle;
310
- env = config.env;
311
- scope = config.scope;
312
- conf = config[bundle][env];
313
- } catch (configErr) {
314
- serverInstance.throwError(response, 500, new Error('syntax error(s) found in `'+ controllerFile +'` \nTrace: ') + (configErr.stack || configErr.message) );
315
- return;
316
- }
317
-
318
- local.cacheless = cacheless;
319
- local.request = request;
320
- local.next = next;
321
- local.conf = conf;
322
- local.isStandalone = conf.isStandalone;
323
357
 
324
358
  if (cacheless) {
325
359
  refreshCoreDependencies();
@@ -416,10 +450,10 @@ function Router(env, scope) {
416
450
  rootPath : conf.executionPath || null,
417
451
  executionPath : conf.executionPath || null,
418
452
  //instance: self.serverInstance,
419
- isUsingTemplate: local.isUsingTemplate,
420
- cacheless: cacheless,
421
- path: params.param.path || null, // user custom path : namespace should be ignored or left blank
422
- assets: {}
453
+ isUsingTemplate : local.isUsingTemplate,
454
+ cacheless : cacheless,
455
+ path : params.param.path || null, // user custom path : namespace should be ignored or left blank
456
+ assets : {}
423
457
  };
424
458
 
425
459
  if (routeHasViews) {
@@ -4,7 +4,8 @@ const fs = require('fs');
4
4
  const os = require('os');
5
5
  const path = require('path');
6
6
  const EventEmitter = require('events').EventEmitter;
7
- const Busboy = require('./deps/busboy');
7
+ // const Busboy = require('./deps/busboy-0.2.14');
8
+ const Busboy = require('busboy');
8
9
  const Stream = require('stream');
9
10
  const zlib = require('zlib'); // gzip / deflate
10
11
  const util = require('util');
@@ -21,6 +22,8 @@ var merge = lib.merge;
21
22
  var Proc = lib.Proc;
22
23
  var console = lib.logger;
23
24
  var SwigFilters = lib.SwigFilters;
25
+ var Domain = lib.Domain;
26
+ var domainLib = new Domain();
24
27
 
25
28
  function Server(options) {
26
29
 
@@ -293,6 +296,24 @@ function Server(options) {
293
296
 
294
297
  if (failed) {
295
298
  if (sslDetails.daysRemaining > -1) {
299
+ var isProxyHost = getContext('isProxyHost');
300
+ if ( /^true$/i.test(isProxyHost) ) {
301
+ console.warn("Host is behind a reverse proxy, skipping server.verifyCertificate(...) ");
302
+ return;
303
+ }
304
+ var rootDomain = domainLib.getRootDomain(endpoint).value;
305
+ hasMatchedEntry = false;
306
+ for (let i in sslDetails.validFor) {
307
+ if ( new RegExp(sslDetails.validFor[i].replace(/^\*\./, '') + '$').test(rootDomain) ) {
308
+ hasMatchedEntry = true;
309
+ break;
310
+ }
311
+ }
312
+ if (!hasMatchedEntry) {
313
+ console.warn(`[Certificate] "${endpoint}" : Root domain not matching your certificate. If you plan to run your service behind a revese proxy, please do not forget to add "proxy.json" at the root of your project while going to production.${'\n'} ${humanView}`);
314
+ return;
315
+ }
316
+ // sslDetails.validFor
296
317
  console.emerg(`[Certificate] ${endpoint} : It is like there is a problem with your CA certificate${'\n'} ${humanView}`);
297
318
  return;
298
319
  }
@@ -1035,8 +1056,8 @@ function Server(options) {
1035
1056
  return name
1036
1057
  }
1037
1058
 
1038
- var env = self.conf.env
1039
- , scope = self.conf.scope
1059
+ var env = self.conf.env || self.env
1060
+ , scope = self.conf.scope || self.scope
1040
1061
  ;
1041
1062
 
1042
1063
  for (let i=0, len=matched.length; i<len; ++i) {
@@ -1054,6 +1075,9 @@ function Server(options) {
1054
1075
  project = arr[0];
1055
1076
  env = (arr[1]) ? arr[1] : env;
1056
1077
  }
1078
+ if ( typeof(self.conf[bundle]) == 'undefined' ) {
1079
+ continue;
1080
+ }
1057
1081
  scheme = self.conf[bundle][env].server.scheme;
1058
1082
  hostname = ( !self.conf[bundle][env].hostname ) ? self.conf[bundle][env].server.scheme + '://' + self.conf[bundle][env].host + ':' + self.conf[bundle][env].server.port : self.conf[bundle][env].hostname;
1059
1083
  name = name.replace(oldHost, hostname);
@@ -1417,7 +1441,6 @@ function Server(options) {
1417
1441
  var key = pathname.replace(pathname.split('/').splice(-1), '');
1418
1442
  for ( ; s < sLen; ++s ) {
1419
1443
  if ( bundleConf.staticResources[s] == key ) {
1420
- // if ( eval('/^' + bundleConf.staticResources[s].replace(/\//g,'\\/') +'/').test(pathname) ) {
1421
1444
  filename = bundleConf.content.statics[ bundleConf.staticResources[s] ] +'/'+ pathname.replace(bundleConf.staticResources[s], '');
1422
1445
  break;
1423
1446
  }
@@ -53,7 +53,7 @@ function SetupClass(req, res, next){
53
53
  /**
54
54
  * Sample of a swig filter to render markdown content
55
55
  * To activate this code, you will need :
56
- * 1) to install `marked` dependency : npm install marked --save
56
+ * 1) to install `marked` dependency : npm install marked@4.0.10 --save
57
57
  * 2) uncomment imports on the top of this script
58
58
  * 3) uncomment the following filter definition
59
59
  */
@@ -64,7 +64,7 @@ function SetupClass(req, res, next){
64
64
  // tables : false,
65
65
  // breaks : true, // Enable GFM line breaks. This option requires the gfm option to be true.
66
66
  // pedantic : false, // Conform to obscure parts of markdown.pl as much as possible. Don't fix any of the original markdown bugs or poor behavior.
67
- // // deprecated since version 0.7.0
67
+ // // deprecated since version 0.7.0 - "sanitize-html": "^2.7.0" or DOMPurify
68
68
  // // sanitize : false, // Sanitize the output. Ignore any HTML that has been input.
69
69
  // smartLists : true, // Use smarter list behavior than the original markdown. May eventually be default with the old behavior moved into pedantic.
70
70
  // smartypants : false // Use "smart" typograhic punctuation for things like quotes and dashes.
@@ -423,7 +423,9 @@ function PathHelper() {
423
423
  fs.mkdirSync(path, permission);
424
424
  mkdirSync(self, permission, pathArr, i, path)
425
425
  } catch (err) {
426
- console.debug(err.stack); // always keep trace of the original stack
426
+ if ( typeof(console.debug) != 'undefined' ) {
427
+ console.debug(err.stack); // always keep trace of the original stack
428
+ }
427
429
  throw new Error(err.message)
428
430
  }
429
431
  };
@@ -479,7 +481,7 @@ function PathHelper() {
479
481
  if (p == path && typeof(callback) != 'undefined' && typeof(self.created) == 'undefined' ) {
480
482
  if (typeof(callback) != 'undefined') {
481
483
  callback(err, path)
482
- } else {
484
+ } else if ( typeof(console.debug) != 'undefined' ) {
483
485
  console.debug("no callback defined for mkdir ", path)
484
486
  }
485
487
  }
@@ -881,7 +883,9 @@ function PathHelper() {
881
883
  if (err) {
882
884
  console.error(err.stack)
883
885
  }
884
- console.debug('cp() completed copy to: ', method);
886
+ if ( typeof(console.debug) != 'undefined' ) {
887
+ console.debug('cp() completed copy to: ', method);
888
+ }
885
889
  callback(err, destination, method)
886
890
  })
887
891
  }
@@ -1163,10 +1167,14 @@ function PathHelper() {
1163
1167
  }
1164
1168
 
1165
1169
  var mv = function(self, target) {
1166
- console.debug("starting mv/copy from ", self.value, " to ", target);
1170
+ if ( typeof(console.debug) != 'undefined' ) {
1171
+ console.debug("starting mv/copy from ", self.value, " to ", target);
1172
+ }
1167
1173
  cp(self.value, target)
1168
1174
  .onComplete(function onCpMv(err) {
1169
- console.debug("cp done... now unlinking source ", self.value);
1175
+ if ( typeof(console.debug) != 'undefined' ) {
1176
+ console.debug("cp done... now unlinking source ", self.value);
1177
+ }
1170
1178
  if (err) {
1171
1179
  e.emit('mv#complete', err);
1172
1180
  return;
@@ -1174,7 +1182,9 @@ function PathHelper() {
1174
1182
 
1175
1183
 
1176
1184
  rm(self.value).onComplete( function(err, path){
1177
- console.debug('rm() complete');
1185
+ if ( typeof(console.debug) != 'undefined' ) {
1186
+ console.debug('rm() complete');
1187
+ }
1178
1188
  e.emit('mv#complete', err, path)
1179
1189
  })
1180
1190
  })
@@ -1237,7 +1247,9 @@ function PathHelper() {
1237
1247
  ++l;
1238
1248
  removeFoldersSync(list, l, i)
1239
1249
  } catch(err) {
1240
- console.debug(err.stack); // always keep trace of the original stack
1250
+ if ( typeof(console.debug) != 'undefined' ) {
1251
+ console.debug(err.stack); // always keep trace of the original stack
1252
+ }
1241
1253
  throw new Error(err.message)
1242
1254
  }
1243
1255
  } else {
@@ -1246,7 +1258,9 @@ function PathHelper() {
1246
1258
  fs.rmdirSync(list[l][i]);
1247
1259
  removeFoldersSync(list, l, i)
1248
1260
  } catch(err) {
1249
- console.debug(err.stack); // always keep trace of the original stack
1261
+ if ( typeof(console.debug) != 'undefined' ) {
1262
+ console.debug(err.stack); // always keep trace of the original stack
1263
+ }
1250
1264
  throw new Error(err.message)
1251
1265
  }
1252
1266
  }
@@ -1257,7 +1271,9 @@ function PathHelper() {
1257
1271
  try {
1258
1272
  fs.unlinkSync(filename)
1259
1273
  } catch (err) {
1260
- console.debug(err.stack); // always keep trace of the original stack
1274
+ if ( typeof(console.debug) != 'undefined' ) {
1275
+ console.debug(err.stack); // always keep trace of the original stack
1276
+ }
1261
1277
  throw new Error(err.message)
1262
1278
  }
1263
1279
  }
@@ -368,7 +368,8 @@ function Add(opt, cmd) {
368
368
  content[local.bundle] = {}
369
369
  }
370
370
  content[local.bundle][ self.envs[e] ] = {
371
- "host" : local.bundle + "-{env}-{scope}-v{projectVersionMajor}.{rootDomain}"
371
+ "host_if_dns_resolution" : "{rootDomain}",
372
+ "host" : "localhost"
372
373
  };
373
374
 
374
375
  }
@@ -84,7 +84,7 @@ function Start(opt, cmd) {
84
84
  var projectArchFile = projectArchFileObj.toString();
85
85
  var projectPlatformFileObj = new _(gnaPath +'/platform', true);
86
86
  var projectPlatformFile = projectPlatformFileObj.toString();
87
- var nodeModulesContentArr = ( nodeModulesPathObj.existsSync() ) ? fs.readdirSync(nodeModulesPathObj.toString()) : [];
87
+ var nodeModulesContentArr = ( nodeModulesPathObj.existsSync() && !nodeModulesPathObj.isSymlinkSync() ) ? fs.readdirSync(nodeModulesPathObj.toString()) : [];
88
88
  var newNodeModulesContentArr = [], n = 0;
89
89
  for (let f in nodeModulesContentArr) {
90
90
  if (/^\./.test(nodeModulesContentArr[f]) ) {
@@ -102,13 +102,16 @@ function Start(opt, cmd) {
102
102
  ||
103
103
  !projectPlatformFileObj.existsSync()
104
104
  ||
105
- projectArchFileObj.existsSync() && fs.readFileSync(projectArchFile).toString() != currentArch
105
+ projectArchFileObj.existsSync()
106
+ && fs.readFileSync(projectArchFile).toString() != currentArch
106
107
  ||
107
- projectPlatformFileObj.existsSync() && fs.readFileSync(projectPlatformFile).toString() != currentPlatform
108
+ projectPlatformFileObj.existsSync()
109
+ && fs.readFileSync(projectPlatformFile).toString() != currentPlatform
108
110
  ||
109
111
  !nodeModulesPathObj.existsSync()
110
112
  ||
111
113
  nodeModulesPathObj.existsSync()
114
+ && !nodeModulesPathObj.isSymlinkSync()
112
115
  && !nodeModulesContentArr.length
113
116
  ||
114
117
  nodeModulesPathObj.existsSync()
@@ -21,7 +21,7 @@ function Build(opt, cmd){
21
21
  var self = {};
22
22
 
23
23
  var init = function(opt, cmd) {
24
- console.debug('Building framework...');
24
+ console.log('Building framework, please wait ...');
25
25
 
26
26
  // import CMD helpers
27
27
  new CmdHelper(self, opt.client, { port: opt.debugPort, brkEnabled: opt.debugBrkEnabled });
@@ -291,6 +291,20 @@ function Initialize(opt) {
291
291
  self.checkArch = function(done) {
292
292
 
293
293
  var currentArch = process.arch;
294
+ switch (process.arch) {
295
+ case 'x64':
296
+ currentArch = 'amd64'
297
+ break;
298
+ case 'armv7l':
299
+ currentArch = 'armhf'
300
+ break;
301
+ case 'x86':
302
+ currentArch = 'i386'
303
+ break;
304
+ default:
305
+ break;
306
+ }
307
+
294
308
  var currentPlatform = process.platform;
295
309
  // ignored for framework:set
296
310
  var mainConfig = require( self.opt.homedir + '/main.json' );
@@ -493,6 +507,10 @@ function Initialize(opt) {
493
507
  * make sure to complete : self.checkIfMain()
494
508
  */
495
509
 
510
+ // Check GINA_HOST_V4 for changes in case of k8s environement
511
+ // Get current host IP, compare with getEnvVar('GINA_HOST_V4')
512
+ // IF changed: setEnvVar('GINA_HOST_V4', new_host_v4)
513
+
496
514
  var dic = {
497
515
  'prefix' : prefix,
498
516
  'global_mode': globalMode,
@@ -13,7 +13,7 @@ var LoggerHelper = require( _(GINA_FRAMEWORK_DIR + '/lib/logger/src/helper.js
13
13
  /**
14
14
  * Framework tail
15
15
  * By default, tail will exit when a bundle is exiting. If you want to prevent
16
- * tail from exiting, you should use `--keep-alive`
16
+ * tail from exiting, you should use `--follow`
17
17
  * This will also will restart bundle in case of crach
18
18
  *
19
19
  * e.g.
@@ -21,7 +21,7 @@ var LoggerHelper = require( _(GINA_FRAMEWORK_DIR + '/lib/logger/src/helper.js
21
21
  * or
22
22
  * gina tail
23
23
  * or
24
- * gina tail --keep-alive
24
+ * gina tail --follow
25
25
  *
26
26
  * */
27
27
  function Tail(opt, cmd) {
@@ -117,7 +117,7 @@ function Tail(opt, cmd) {
117
117
 
118
118
  client.on('error', (data) => {
119
119
  var err = data.toString();
120
- console.error('[MQTail] ' + err + ' - Gina might not be running');
120
+ console.error('[MQTail] ' + err + ' - Gina might not be running, or host IP has changed.');
121
121
  console.info('[MQTail] Waitting for `MQListener` to be started ...');
122
122
 
123
123
  // var mqPort = null;
@@ -218,7 +218,7 @@ function Tail(opt, cmd) {
218
218
  project= bundleDesc[2];
219
219
  } // else, must be `gina` (the framework)
220
220
 
221
- if (opt.argv.indexOf('--keep-alive') < 0) {
221
+ if (opt.argv.indexOf('--follow') < 0) {
222
222
  // TODO - exits only if no other bundle is runing in the project
223
223
  // let projectStatus = execSync("gina project:status @"+project);
224
224
  // if ( /is\ running/.test(projectStatus) ) {
@@ -233,7 +233,7 @@ function Tail(opt, cmd) {
233
233
  }
234
234
  // TODO - restart bundle if not starting or restarting
235
235
  else if (
236
- opt.argv.indexOf('--keep-alive') > -1
236
+ opt.argv.indexOf('--follow') > -1
237
237
  && ! /(SIGKILL|SIGTERM|SIGINT)/.test(pl.content)
238
238
  ) {
239
239
  // only for debug
@@ -5,13 +5,27 @@ var console = lib.logger;
5
5
  function Version(opt){
6
6
 
7
7
  var init = function(opt){
8
+ var arch = process.arch;
9
+ switch (process.arch) {
10
+ case 'x64':
11
+ arch = 'amd64'
12
+ break;
13
+ case 'armv7l':
14
+ arch = 'armhf'
15
+ break;
16
+ case 'x86':
17
+ arch = 'i386'
18
+ break;
19
+ default:
20
+ break;
21
+ }
8
22
  var vers = "",
9
23
  short = ( typeof(process.argv[3]) != 'undefined') ? process.argv[3]: false,
10
24
  msg = require('./msg.json'),
11
25
  version = {
12
26
  "number" : GINA_VERSION,
13
27
  "platform" : process.platform,
14
- "arch" : process.arch,
28
+ "arch" : arch,
15
29
  "middleware" : fs.readFileSync(_( opt.frameworkPath + '/MIDDLEWARE')).toString() || 'none',
16
30
  "copyright" : require(opt.pack).copyright
17
31
  };