gina 0.1.6-alpha.6 → 0.1.6-alpha.60

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 (323) 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.60/VERSION +1 -0
  5. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/asset/plugin/README.md +1 -0
  6. package/framework/v0.1.6-alpha.60/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
  7. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/asset/plugin/dist/vendor/gina/js/gina.js +159 -27
  8. package/framework/v0.1.6-alpha.60/core/asset/plugin/dist/vendor/gina/js/gina.min.js +771 -0
  9. package/framework/v0.1.6-alpha.60/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
  10. package/framework/v0.1.6-alpha.60/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +8 -0
  11. package/framework/v0.1.6-alpha.60/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
  12. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/config.js +98 -24
  13. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/connectors/couchbase/lib/connector.v4.js +28 -22
  14. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/controller/controller.js +275 -36
  15. package/framework/v0.1.6-alpha.60/core/deps/busboy-1.6.0/.github/workflows/ci.yml +24 -0
  16. package/framework/v0.1.6-alpha.60/core/deps/busboy-1.6.0/.github/workflows/lint.yml +23 -0
  17. package/framework/v0.1.6-alpha.60/core/deps/busboy-1.6.0/LICENSE +19 -0
  18. package/framework/v0.1.6-alpha.60/core/deps/busboy-1.6.0/README.md +191 -0
  19. package/framework/v0.1.6-alpha.60/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-big.js +149 -0
  20. package/framework/v0.1.6-alpha.60/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-small.js +143 -0
  21. package/framework/v0.1.6-alpha.60/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-big.js +154 -0
  22. package/framework/v0.1.6-alpha.60/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-small.js +148 -0
  23. package/framework/v0.1.6-alpha.60/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-100pairs-small.js +101 -0
  24. package/framework/v0.1.6-alpha.60/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-900pairs-small-alt.js +84 -0
  25. package/framework/v0.1.6-alpha.60/core/deps/busboy-1.6.0/lib/index.js +57 -0
  26. package/framework/v0.1.6-alpha.60/core/deps/busboy-1.6.0/lib/types/multipart.js +680 -0
  27. package/framework/v0.1.6-alpha.60/core/deps/busboy-1.6.0/lib/types/urlencoded.js +350 -0
  28. package/framework/v0.1.6-alpha.60/core/deps/busboy-1.6.0/lib/utils.js +596 -0
  29. package/framework/v0.1.6-alpha.60/core/deps/busboy-1.6.0/package.json +22 -0
  30. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/gna.js +70 -16
  31. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/model/index.js +28 -24
  32. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/plugins/lib/validator/src/main.js +43 -9
  33. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/router.js +74 -40
  34. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/server.js +31 -5
  35. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/boilerplate/bundle/controllers/setup.js +2 -2
  36. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/helpers/context.js +16 -11
  37. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/helpers/path.js +25 -9
  38. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/bundle/add.js +2 -1
  39. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/bundle/start.js +14 -5
  40. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/framework/build.js +1 -1
  41. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/framework/init.js +18 -0
  42. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/framework/link-node-modules.js +2 -3
  43. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/framework/link.js +1 -0
  44. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/framework/tail.js +5 -5
  45. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/framework/version.js +15 -1
  46. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/helper.js +12 -5
  47. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/project/add.js +3 -2
  48. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/project/build.js +4 -4
  49. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/protocol/list.js +71 -50
  50. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/domain/src/main.js +59 -1
  51. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/merge/package.json +1 -1
  52. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/model.js +1 -1
  53. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/routing/src/main.js +49 -10
  54. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/session-store.js +2 -2
  55. package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/swig-filters/src/main.js +63 -8
  56. package/framework/v0.1.6-alpha.60/package.json +12 -0
  57. package/package.json +2 -2
  58. package/framework/v0.1.6-alpha.6/VERSION +0 -1
  59. package/framework/v0.1.6-alpha.6/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +0 -1
  60. package/framework/v0.1.6-alpha.6/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -765
  61. package/framework/v0.1.6-alpha.6/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +0 -8
  62. package/framework/v0.1.6-alpha.6/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -7
  63. package/framework/v0.1.6-alpha.6/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +0 -8
  64. package/framework/v0.1.6-alpha.6/package.json +0 -14
  65. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/AUTHORS +0 -0
  66. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/LICENSE +0 -0
  67. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/asset/html/nolayout.html +0 -0
  68. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/asset/html/static.html +0 -0
  69. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/asset/img/android-chrome-192x192.png +0 -0
  70. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/asset/img/android-chrome-512x512.png +0 -0
  71. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/asset/img/apple-touch-icon.png +0 -0
  72. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/asset/img/favicon-16x16.png +0 -0
  73. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/asset/img/favicon-32x32.png +0 -0
  74. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/asset/img/favicon.ico +0 -0
  75. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  76. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/asset/plugin/dist/vendor/gina/html/toolbar.html +0 -0
  77. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/asset/plugin/uuid.json +0 -0
  78. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/connectors/couchbase/index.js +0 -0
  79. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/connectors/couchbase/lib/connector.js +0 -0
  80. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  81. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  82. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/connectors/couchbase/lib/n1ql.js +0 -0
  83. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/connectors/couchbase/lib/session-store.js +0 -0
  84. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  85. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  86. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  87. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/controller/controller.framework.js +0 -0
  88. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/controller/index.js +0 -0
  89. /package/framework/{v0.1.6-alpha.6/core/deps/busboy → v0.1.6-alpha.60/core/deps/busboy-0.2.14}/.travis.yml +0 -0
  90. /package/framework/{v0.1.6-alpha.6/core/deps/busboy → v0.1.6-alpha.60/core/deps/busboy-0.2.14}/LICENSE +0 -0
  91. /package/framework/{v0.1.6-alpha.6/core/deps/busboy → v0.1.6-alpha.60/core/deps/busboy-0.2.14}/README.md +0 -0
  92. /package/framework/{v0.1.6-alpha.6/core/deps/busboy → v0.1.6-alpha.60/core/deps/busboy-0.2.14}/deps/encoding/encoding-indexes.js +0 -0
  93. /package/framework/{v0.1.6-alpha.6/core/deps/busboy → v0.1.6-alpha.60/core/deps/busboy-0.2.14}/deps/encoding/encoding.js +0 -0
  94. /package/framework/{v0.1.6-alpha.6/core/deps/busboy → v0.1.6-alpha.60/core/deps/busboy-0.2.14}/lib/main.js +0 -0
  95. /package/framework/{v0.1.6-alpha.6/core/deps/busboy → v0.1.6-alpha.60/core/deps/busboy-0.2.14}/lib/types/multipart.js +0 -0
  96. /package/framework/{v0.1.6-alpha.6/core/deps/busboy → v0.1.6-alpha.60/core/deps/busboy-0.2.14}/lib/types/urlencoded.js +0 -0
  97. /package/framework/{v0.1.6-alpha.6/core/deps/busboy → v0.1.6-alpha.60/core/deps/busboy-0.2.14}/lib/utils.js +0 -0
  98. /package/framework/{v0.1.6-alpha.6/core/deps/busboy → v0.1.6-alpha.60/core/deps/busboy-0.2.14}/package.json +0 -0
  99. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  100. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/dev/index.js +0 -0
  101. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/dev/lib/class.js +0 -0
  102. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/dev/lib/factory.js +0 -0
  103. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/dev/lib/tools.js +0 -0
  104. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/locales/README.md +0 -0
  105. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/locales/currency.json +0 -0
  106. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/locales/dist/language/en.json +0 -0
  107. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/locales/dist/language/fr.json +0 -0
  108. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/locales/dist/region/en.json +0 -0
  109. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/locales/dist/region/fr.json +0 -0
  110. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/locales/index.js +0 -0
  111. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/locales/src/make.js +0 -0
  112. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/locales/src/resources/currency.csv +0 -0
  113. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/locales/src/resources/region.csv +0 -0
  114. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/locales/src/resources/region.mapping.json +0 -0
  115. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/mime.types +0 -0
  116. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/model/entity.js +0 -0
  117. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/model/template/entityFactory.js +0 -0
  118. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/model/template/index.js +0 -0
  119. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/plugins/README.md +0 -0
  120. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/plugins/index.js +0 -0
  121. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/plugins/lib/file/README.md +0 -0
  122. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/plugins/lib/file/build.json +0 -0
  123. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/plugins/lib/file/package.json +0 -0
  124. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/plugins/lib/intl/README.md +0 -0
  125. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/plugins/lib/intl/build.json +0 -0
  126. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/plugins/lib/intl/package.json +0 -0
  127. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/plugins/lib/intl/src/main.js +0 -0
  128. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/plugins/lib/storage/README.md +0 -0
  129. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/plugins/lib/storage/build.json +0 -0
  130. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/plugins/lib/storage/package.json +0 -0
  131. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/plugins/lib/storage/src/main.js +0 -0
  132. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/plugins/lib/validator/README.md +0 -0
  133. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/plugins/lib/validator/build.json +0 -0
  134. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/plugins/lib/validator/package.json +0 -0
  135. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/plugins/lib/validator/src/form-validator.js +0 -0
  136. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/server.express.js +0 -0
  137. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/server.isaac.js +0 -0
  138. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/status.codes +0 -0
  139. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/_gitignore +0 -0
  140. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/boilerplate/bundle/config/app.json +0 -0
  141. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/boilerplate/bundle/config/routing.json +0 -0
  142. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/boilerplate/bundle/config/settings.json +0 -0
  143. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  144. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/boilerplate/bundle/config/templates.json +0 -0
  145. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  146. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  147. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/boilerplate/bundle/index.js +0 -0
  148. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  149. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  150. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  151. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  152. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  153. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/boilerplate/bundle_public/readme.md +0 -0
  154. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  155. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  156. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  157. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  158. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  159. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/command/gina.bat.tpl +0 -0
  160. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/command/gina.tpl +0 -0
  161. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/conf/env.json +0 -0
  162. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/conf/manifest.json +0 -0
  163. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/conf/package.json +0 -0
  164. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/conf/settings.json +0 -0
  165. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/conf/statics.json +0 -0
  166. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/conf/templates.json +0 -0
  167. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/error/client/json/401.json +0 -0
  168. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/error/client/json/403.json +0 -0
  169. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/error/client/json/404.json +0 -0
  170. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/error/server/html/50x.html +0 -0
  171. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/error/server/json/500.json +0 -0
  172. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/error/server/json/503.json +0 -0
  173. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/core/template/extensions/logger/config.json +0 -0
  174. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/helpers/console.js +0 -0
  175. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/helpers/data/LICENSE +0 -0
  176. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/helpers/data/README.md +0 -0
  177. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/helpers/data/package.json +0 -0
  178. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/helpers/data/src/main.js +0 -0
  179. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/helpers/dateFormat.js +0 -0
  180. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/helpers/index.js +0 -0
  181. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/helpers/json/LICENSE +0 -0
  182. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/helpers/json/README.md +0 -0
  183. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/helpers/json/package.json +0 -0
  184. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/helpers/json/src/main.js +0 -0
  185. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/helpers/plugins/README.md +0 -0
  186. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/helpers/plugins/package.json +0 -0
  187. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/helpers/plugins/src/api-error.js +0 -0
  188. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/helpers/plugins/src/main.js +0 -0
  189. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/helpers/prototypes.js +0 -0
  190. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/helpers/task.js +0 -0
  191. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/helpers/text.js +0 -0
  192. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/archiver/README.md +0 -0
  193. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/archiver/build.json +0 -0
  194. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/archiver/package.json +0 -0
  195. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/archiver/src/dep/jszip.min.js +0 -0
  196. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/archiver/src/main.js +0 -0
  197. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/aliases.json +0 -0
  198. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/bundle/arguments.json +0 -0
  199. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/bundle/copy.js +0 -0
  200. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/bundle/cp.js +0 -0
  201. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/bundle/help.js +0 -0
  202. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/bundle/help.txt +0 -0
  203. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/bundle/list.js +0 -0
  204. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/bundle/remove.js +0 -0
  205. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/bundle/rename.js +0 -0
  206. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/bundle/restart.js +0 -0
  207. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/bundle/rm.js +0 -0
  208. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/bundle/status.js +0 -0
  209. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/bundle/stop.js +0 -0
  210. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/env/add.js +0 -0
  211. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/env/get.js +0 -0
  212. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/env/help.js +0 -0
  213. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/env/help.txt +0 -0
  214. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/env/link-dev.js +0 -0
  215. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/env/list.js +0 -0
  216. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/env/remove.js +0 -0
  217. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/env/rm.js +0 -0
  218. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/env/set.js +0 -0
  219. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/env/unset.js +0 -0
  220. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/env/use.js +0 -0
  221. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/framework/dot.js +0 -0
  222. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/framework/get.js +0 -0
  223. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/framework/help.js +0 -0
  224. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/framework/help.txt +0 -0
  225. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/framework/msg.json +0 -0
  226. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/framework/open.js +0 -0
  227. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/framework/restart.js +0 -0
  228. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/framework/set.js +0 -0
  229. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/framework/start.js +0 -0
  230. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/framework/status.js +0 -0
  231. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/framework/stop.js +0 -0
  232. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/framework/update.js +0 -0
  233. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/gina-dev.1.md +0 -0
  234. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/gina-framework.1.md +0 -0
  235. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/gina.1.md +0 -0
  236. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/index.js +0 -0
  237. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/msg.json +0 -0
  238. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/port/help.js +0 -0
  239. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/port/help.txt +0 -0
  240. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/port/inc/scan.js +0 -0
  241. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/port/list.js +0 -0
  242. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/port/reset.js +0 -0
  243. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/port/set.js +0 -0
  244. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/project/arguments.json +0 -0
  245. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/project/help.js +0 -0
  246. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/project/help.txt +0 -0
  247. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/project/import.js +0 -0
  248. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/project/list.js +0 -0
  249. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/project/move.js +0 -0
  250. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/project/remove.js +0 -0
  251. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/project/rename.js +0 -0
  252. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/project/restart.js +0 -0
  253. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/project/rm.js +0 -0
  254. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/project/start.js +0 -0
  255. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/project/status.js +0 -0
  256. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/project/stop.js +0 -0
  257. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/protocol/help.js +0 -0
  258. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/protocol/help.txt +0 -0
  259. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/protocol/set.js +0 -0
  260. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/scope/add.js +0 -0
  261. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/scope/help.js +0 -0
  262. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/scope/help.txt +0 -0
  263. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/scope/link-local.js +0 -0
  264. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/scope/link-production.js +0 -0
  265. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/scope/list.js +0 -0
  266. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/scope/remove.js +0 -0
  267. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/scope/rm.js +0 -0
  268. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/scope/use.js +0 -0
  269. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cmd/view/add.js +0 -0
  270. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/collection/README.md +0 -0
  271. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/collection/build.json +0 -0
  272. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/collection/package.json +0 -0
  273. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/collection/src/main.js +0 -0
  274. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/config.js +0 -0
  275. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cron/README.md +0 -0
  276. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cron/package.json +0 -0
  277. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/cron/src/main.js +0 -0
  278. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/domain/LICENSE +0 -0
  279. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/domain/README.md +0 -0
  280. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/domain/dist/public_suffix_list.dat +0 -0
  281. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/domain/exemples/backend.js +0 -0
  282. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/domain/exemples/frontend.html +0 -0
  283. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/domain/package.json +0 -0
  284. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/generator/index.js +0 -0
  285. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/index.js +0 -0
  286. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/inherits/LICENSE +0 -0
  287. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/inherits/README.md +0 -0
  288. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  289. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/inherits/example/protected_inheritance.js +0 -0
  290. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/inherits/example/simple_inheritance.js +0 -0
  291. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  292. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/inherits/package.json +0 -0
  293. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/inherits/src/main.js +0 -0
  294. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/logger/README.md +0 -0
  295. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/logger/package.json +0 -0
  296. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/logger/src/containers/default/index.js +0 -0
  297. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/logger/src/containers/file/index.js +0 -0
  298. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  299. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  300. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/logger/src/containers/mq/index.js +0 -0
  301. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/logger/src/containers/mq/listener.js +0 -0
  302. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/logger/src/containers/mq/speaker.js +0 -0
  303. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/logger/src/helper.js +0 -0
  304. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/logger/src/main.js +0 -0
  305. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/math/index.js +0 -0
  306. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/merge/README.md +0 -0
  307. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/merge/example/merge.js +0 -0
  308. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/merge/example/merge_2_literal objects.js +0 -0
  309. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/merge/example/merge_and_preserve_first.js +0 -0
  310. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/merge/src/main.js +0 -0
  311. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/proc.js +0 -0
  312. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/routing/README.md +0 -0
  313. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/routing/build.json +0 -0
  314. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/routing/package.json +0 -0
  315. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/shell.js +0 -0
  316. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/swig-filters/README.md +0 -0
  317. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/swig-filters/package.json +0 -0
  318. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/url/README.md +0 -0
  319. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/url/index.js +0 -0
  320. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/url/mocks.json +0 -0
  321. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/url/routing.json +0 -0
  322. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/lib/url/test.js +0 -0
  323. /package/framework/{v0.1.6-alpha.6 → v0.1.6-alpha.60}/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);
@@ -475,6 +527,7 @@ gna.mount = process.mount = function(bundlesPath, source, target, type, callback
475
527
  if (!destinationObj.existsSync()) {
476
528
  destinationObj.mkdirSync();
477
529
  }
530
+ console.debug('[ FRAMEWORK ][ MOUNT ] Linking ['+ srcPathObj.toString() +'] to [ '+ _(source) +' ] ');
478
531
  srcPathObj.symlinkSync(_(source));
479
532
  isSourceFound = true;
480
533
  }
@@ -485,15 +538,16 @@ gna.mount = process.mount = function(bundlesPath, source, target, type, callback
485
538
  gna.lib.generator.createPathSync(bundlesPath, function onPathCreated(err){
486
539
  if (!err) {
487
540
  try {
488
- var targetObj = new _(target);
541
+ // var targetObj = new _(target);
489
542
  if ( targetObj.existsSync() ) {
490
543
  targetObj.rmSync();
491
544
  }
492
- if ( type != undefined)
545
+ console.debug('[ FRAMEWORK ][ MOUNT ] Linking ['+ source +'] to [ '+ target +' ] ');
546
+ if ( type != undefined) {
493
547
  fs.symlinkSync(source, target, type)
494
- else
548
+ } else {
495
549
  fs.symlinkSync(source, target);
496
-
550
+ }
497
551
  // symlink created
498
552
  callback(false);
499
553
 
@@ -544,6 +598,7 @@ isBundleMounted(projects, bundlesPath, getContext('bundle'), function onBundleMo
544
598
  * */
545
599
  gna.onInitialize = process.onInitialize = function(callback) {
546
600
 
601
+ console.debug('[ FRAMEWORK ] Bootstrap Initialization... ');
547
602
  gna.initialized = true;
548
603
  e.once('init', function(instance, middleware, conf) {
549
604
 
@@ -557,22 +612,20 @@ isBundleMounted(projects, bundlesPath, getContext('bundle'), function onBundleMo
557
612
 
558
613
  joinContext(conf.contexts);
559
614
  gna.getConfig = function(name){
560
- // var tmp = '';
615
+ var tmp = null;
561
616
  if ( typeof(name) != 'undefined' ) {
562
617
  try {
563
618
  //Protect it.
564
- // tmp = JSON.stringify(conf.content[name]);
565
- // return JSON.parse(tmp)
566
- return JSON.clone(conf.content[name])
619
+ tmp = JSON.clone(conf.content[name])
567
620
  } catch (err) {
568
621
  console.error('[ FRAMEWORK ] ', err.stack);
569
622
  return undefined
570
623
  }
571
624
  } else {
572
- // tmp = JSON.stringify(conf);
573
- // return JSON.parse(tmp)
574
- return JSON.clone(conf)
625
+ //Protect it.
626
+ tmp = JSON.clone(conf)
575
627
  }
628
+ return tmp
576
629
  };
577
630
  try {
578
631
  //configureMiddleware(instance, express); // no, no and no...
@@ -876,6 +929,7 @@ isBundleMounted(projects, bundlesPath, getContext('bundle'), function onBundleMo
876
929
  if (
877
930
  conf.server.scheme == 'https'
878
931
  && !/^true$/i.test(process.env.NODE_SCOPE_IS_PRODUCTION)
932
+ && !/^true$/i.test(isProxyHost)
879
933
  ) {
880
934
  try {
881
935
  await server.verifyCertificate(conf.host, conf.server.port);
@@ -54,8 +54,8 @@ function Model(namespace, _config) {
54
54
 
55
55
 
56
56
  var setup = function(namespace) {
57
- if ( typeof(namespace) == 'undefined' || namespace == '') {
58
- console.error('[ MODEL ][ '+ namespace +' ] MODEL:ERR:1 EEMPTY: Model namespace', __stack);
57
+ if ( typeof(namespace) == 'undefined' || namespace == '') {
58
+ console.error('[MODEL]['+ namespace +'] MODEL:ERR:1 EEMPTY: Model namespace', __stack);
59
59
  }
60
60
 
61
61
  var model, namespace = namespace.split(/\//g);
@@ -75,8 +75,8 @@ function Model(namespace, _config) {
75
75
  }
76
76
 
77
77
 
78
- console.debug('[ MODEL ][ ' + model +' ] Bundle: '+ bundle);
79
- //console.debug('[ MODEL ][ ' + model +' ] Model: '+ model);
78
+ console.debug('[MODEL][' + model +'] Bundle: '+ bundle);
79
+ //console.debug('[MODEL][' + model +'] Model: '+ model);
80
80
  self.name = _connector;
81
81
  self.bundle = bundle;
82
82
  self.model = model;
@@ -115,29 +115,31 @@ function Model(namespace, _config) {
115
115
  _configuration = conf.connectors;
116
116
  self.connector = _configuration[self.name].connector;
117
117
 
118
- console.debug('[ MODEL ][ ' + model +' ] About to scan: '+ conf.path);
118
+ console.debug('[MODEL][' + model +'] About to scan: '+ conf.path);
119
119
  //TODO - More controls...
120
120
 
121
121
  //For now, I just need the F..ing entity name.
122
122
  connectorPath = local.connectorPath = _(GINA_FRAMEWORK_DIR +'/core/connectors/'+ self.connector);
123
123
  var modelPath = local.modelPath = _(conf.path + '/' + modelDirName);
124
124
  var entitiesPath = local.entitiesPath = _(modelPath + '/entities');
125
- console.debug('[ MODEL ][ ' + model +' ] Scanning model entities: ', entitiesPath +' - Existing path ? '+ fs.existsSync(entitiesPath) );
125
+ console.debug('[MODEL][' + model +'] Scanning model entities: ', entitiesPath +' - Existing path ? '+ fs.existsSync(entitiesPath) );
126
126
  if (!fs.existsSync(entitiesPath)) {
127
127
  //fs.mkdirSync(entitiesPath) // creating empty path
128
128
  new _(entitiesPath).mkdirSync();
129
129
  }
130
130
 
131
131
  connectorPath = _(connectorPath + '/lib/connector.js');
132
- console.debug('[ MODEL ][ ' + model +' ] Loading connector: ' + connectorPath);
132
+ console.debug('[MODEL][' + model +'] Loading Connector: ' + connectorPath);
133
133
  //Getting Entities Manager.
134
134
  var exists = fs.existsSync(connectorPath);
135
135
  if (exists) {
136
- if (cacheless)
136
+ if (cacheless) {
137
137
  delete require.cache[require.resolve(_(connectorPath, true))];
138
+ }
138
139
 
140
+ console.debug('[MODEL][' + model +'] Using connector path: ' + _(connectorPath, true));
139
141
  var Connector = require(_(connectorPath, true));
140
-
142
+ console.debug('[MODEL][' + model +'] Connecting ... ');
141
143
  self.connect(
142
144
  Connector,
143
145
  function onConnect(err, conn) {
@@ -154,12 +156,12 @@ function Model(namespace, _config) {
154
156
  } else {//Means that no connector was found in models.
155
157
 
156
158
  //finished.
157
- self.emit('model#ready', new Error('[ MODEL ][ '+ model +' ] No connector found'), self.bundle, self.name, conn)
159
+ self.emit('model#ready', new Error('[MODEL]['+ model +'] No connector found'), self.bundle, self.name, conn)
158
160
  }
159
161
 
160
162
  } else {
161
- console.warn('[ MODEL ][ ' + model +' ] no configuration found...');
162
- self.emit('model#ready', new Error('[ MODEL ][ ' + model +' ] no configuration found for your model: ' + model), self.bundle, self.name, null)
163
+ console.warn('[MODEL][' + model +'] No configuration found...');
164
+ self.emit('model#ready', new Error('[MODEL][' + model +'] No configuration found for your model: ' + model), self.bundle, self.name, null)
163
165
  }
164
166
 
165
167
  return self
@@ -168,7 +170,7 @@ function Model(namespace, _config) {
168
170
 
169
171
  this.connect = function(Connector, callback) {
170
172
  if ( typeof(self.connectors[_connector]) == 'undefined' ) {
171
- //console.debug('[ MODEL ] Need to create connector instance ...');
173
+ //console.debug('[MODEL] Need to create connector instance ...');
172
174
  self.connectors[_connector] = {};
173
175
  var connector = new Connector( self.getConfig(_connector) );
174
176
 
@@ -204,7 +206,10 @@ function Model(namespace, _config) {
204
206
  var i = i || 0;
205
207
 
206
208
  var configuration = null;
207
- var env = null, conf = null, connectors = null;
209
+ var env = null
210
+ , conf = null
211
+ , connectors = null
212
+ ;
208
213
  if ( typeof (_config) != 'undefined' ) {
209
214
  configuration = _config;
210
215
  env = _config.env;
@@ -215,21 +220,21 @@ function Model(namespace, _config) {
215
220
  env = configuration.Env.current;
216
221
  conf = configuration.Env.getConf(bundle, env);
217
222
  }
218
- console.debug('[ MODEL ][ ' + _connector + ' ] env ', conf.env);
219
- console.debug('[ MODEL ][ ' + _connector + ' ] configuration modelsPath ', conf.modelsPath);
220
- console.debug('[ MODEL ][ ' + _connector + ' ] connectors ', connectors);
223
+ console.debug('[MODEL][' + _connector + '][getConfigSync] env ', conf.env);
224
+ console.debug('[MODEL][' + _connector + '][getConfigSync] configuration modelsPath ', conf.modelsPath);
225
+ console.debug('[MODEL][' + _connector + '][getConfigSync] connectors ', connectors);
221
226
 
222
227
  // try {
223
228
 
224
229
  // var locals = _locals = configLib.getSync('gina', 'locals.json')
225
230
  // } catch (err) {
226
- // console.emerg('[ MODEL ][ ' + _connector +' ] Error while calling `Model::getConfigSync()` '+ err.stack||err.message);
231
+ // console.emerg('[MODEL][' + _connector +'] Error while calling `Model::getConfigSync()` '+ err.stack||err.message);
227
232
  // if ( i < 10) {
228
- // console.debug('[ MODEL ][ ' + _connector +' ] about to retry to load locals.json');
233
+ // console.debug('[MODEL][' + _connector +'] About to retry to load locals.json');
229
234
  // setTimeout(function(){
230
235
 
231
236
  // i = i+1;
232
- // console.debug('[ MODEL ][ ' + _connector +' ] retry ('+i+') ...');
237
+ // console.debug('[MODEL][' + _connector +'] Retry ('+i+') ...');
233
238
  // return getConfigSync(bundle, i)
234
239
  // }, 300)
235
240
 
@@ -245,13 +250,12 @@ function Model(namespace, _config) {
245
250
  // configuration object.
246
251
  var confObj = {
247
252
  connectors : connectors,
248
- path : conf.modelsPath/**,
249
- locals : locals*/
253
+ path : conf.modelsPath
250
254
  };
251
255
 
252
256
  return confObj
253
257
  } else {
254
- throw new Error('[ MODEL ][ ' + _connector +' ] Config not instantiated');
258
+ throw new Error('[MODEL][' + _connector +'][getConfigSync] Config not instantiated');
255
259
  return undefined
256
260
  }
257
261
  }
@@ -277,7 +281,7 @@ function Model(namespace, _config) {
277
281
  // entities == null when the database server has not started.
278
282
  if ( err ) {
279
283
  console.error(err.stack||err.message)
280
- //console.log('No entities found for [ '+ self.name +':'+ entityName +'].\n 1) Check if the database is started.\n2) Check if exists: /models/entities/'+ entityName);
284
+ //console.debug('No entities found for ['+ self.name +':'+ entityName +'].\n 1) Check if the database is started.\n2) Check if exists: /models/entities/'+ entityName);
281
285
  }
282
286
  callback(err, bundle, model, conn)
283
287
  });
@@ -476,7 +476,7 @@
476
476
  if ( typeof(liveCheckErrors[formId]) == 'undefined') {
477
477
  liveCheckErrors[formId] = {};
478
478
  }
479
- if (errors.count() > 0) {
479
+ if (errors && errors.count() > 0) {
480
480
  // reset field name
481
481
  liveCheckErrors[formId][fieldName] = {};
482
482
  // override
@@ -551,7 +551,10 @@
551
551
 
552
552
  if (!name) continue;
553
553
 
554
- if ( typeof(errors[name]) != 'undefined' && !/(form\-item\-error|form\-item\-warning)/.test($parent.className) ) {
554
+ if (
555
+ errors
556
+ && typeof(errors[name]) != 'undefined' && !/(form\-item\-error|form\-item\-warning)/.test($parent.className)
557
+ ) {
555
558
 
556
559
  if (isWarning) {
557
560
  // adding warning class
@@ -592,7 +595,15 @@
592
595
 
593
596
 
594
597
 
595
- } else if ( typeof(errors[name]) == 'undefined' && /(form\-item\-error|form\-item\-warning)/.test($parent.className) || typeof(errors[name]) != 'undefined' && errors[name].count() == 0 && /(form\-item\-error|form\-item\-warning)/.test($parent.className) ) {
598
+ } else if (
599
+ errors
600
+ && typeof(errors[name]) == 'undefined'
601
+ && /(form\-item\-error|form\-item\-warning)/.test($parent.className)
602
+ ||
603
+ errors
604
+ && typeof(errors[name]) != 'undefined' && errors[name].count() == 0
605
+ && /(form\-item\-error|form\-item\-warning)/.test($parent.className)
606
+ ) {
596
607
  // reset when not in error
597
608
  // remove child elements
598
609
  var $children = $parent.getElementsByTagName('div');
@@ -606,7 +617,11 @@
606
617
 
607
618
  $parent.className = $parent.className.replace(/(\s+form\-item\-error|form\-item\-error|\s+form\-item\-warning|form\-item\-warning)/, '');
608
619
 
609
- } else if ( typeof(errors[name]) != 'undefined' && errAttr) {
620
+ } else if (
621
+ errors
622
+ && typeof(errors[name]) != 'undefined'
623
+ && errAttr
624
+ ) {
610
625
  // refreshing already displayed error on msg update
611
626
  var $divs = $parent.getElementsByTagName('div');
612
627
  for (var d = 0, dLen = $divs.length; d<dLen; ++d) {
@@ -640,9 +655,9 @@
640
655
  }
641
656
  }
642
657
 
643
- if ($err && $target.type != 'hidden')
658
+ if ($err && $target.type != 'hidden') {
644
659
  insertAfter($target, $err);
645
-
660
+ }
646
661
  }
647
662
 
648
663
  if (typeof(fieldName) != 'undefined' && fieldName === $el.name) break;
@@ -1276,6 +1291,13 @@
1276
1291
  // } else { // external - need to remove `X-Requested-With` from `options.headers`
1277
1292
  result.location = (!/^http/.test(result.location) && !/^\//.test(result.location) ) ? location.protocol +'//' + result.location : result.location;
1278
1293
  //}
1294
+ // isProxyHost ?
1295
+ if (
1296
+ result.location.replace(/^http(.*)\:\d+/, '$1').replace(/^\:\/\//, '').split(/\//g)[0] == gina.config.hostname
1297
+ && gina.config.hostname == window.location.host
1298
+ ) {
1299
+ result.location = location.protocol + result.location.replace(/^http(.*)\:\d+/, '$1').replace(/^\:/, '')
1300
+ }
1279
1301
 
1280
1302
  return setTimeout(() => {
1281
1303
  window.location.href = result.location;
@@ -3180,6 +3202,10 @@
3180
3202
 
3181
3203
  updateSubmitTriggerState( $gForm, isFormValid);
3182
3204
 
3205
+ if ( !isFormValid && gResult.error ) {
3206
+ instance.$forms[ $el.form.getAttribute('id') ].errors = gResult.error;
3207
+ }
3208
+
3183
3209
  once = false;
3184
3210
  })
3185
3211
 
@@ -6408,7 +6434,7 @@
6408
6434
 
6409
6435
  for (var c in rules) {
6410
6436
  if (!/^\_case\_/.test(c) ) continue;
6411
- if ( typeof(rules[c].conditions) == 'undefined' || Array.isArray(rules[c].conditions) && !rules[c].conditions.length ) continue;
6437
+ if ( typeof(rules[c].conditions) == 'undefined' || Array.isArray(rules[c].conditions) && !rules[c].conditions.length ) continue;
6412
6438
  if ( typeof(rules[c].conditions[0].rules) == 'undefined' ) continue;
6413
6439
 
6414
6440
 
@@ -6590,7 +6616,14 @@
6590
6616
  // filtering conditions
6591
6617
  for (var _c = 0, _cLen = rules[c].conditions.length; _c < _cLen; ++_c) {
6592
6618
 
6593
- if (rules[c].conditions[_c].case != caseValue) {
6619
+ if (
6620
+ Array.isArray(rules[c].conditions[_c].case)
6621
+ && rules[c].conditions[_c].case.indexOf(caseValue) == -1
6622
+ ||
6623
+ !Array.isArray(rules[c].conditions[_c].case)
6624
+ && rules[c].conditions[_c].case != caseValue
6625
+
6626
+ ) {
6594
6627
  continue;
6595
6628
  }
6596
6629
 
@@ -6735,7 +6768,8 @@
6735
6768
  if (
6736
6769
  conditions[c]['case'] === caseValue
6737
6770
  ||
6738
- Array.isArray(conditions[c]['case']) && conditions[c]['case'].indexOf(caseValue) > -1
6771
+ Array.isArray(conditions[c]['case'])
6772
+ && conditions[c]['case'].indexOf(caseValue) > -1
6739
6773
  ||
6740
6774
  /^\//.test(conditions[c]['case'])
6741
6775
  ) {
@@ -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('./deps/busboy-1.6.0');
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
  }
@@ -2067,11 +2090,14 @@ function Server(options) {
2067
2090
  'method': 'POST',
2068
2091
  'bundle' : self.appName
2069
2092
  };
2070
- var busboy = new Busboy({ headers: request.headers });
2093
+ var busboy = Busboy({ headers: request.headers });
2071
2094
 
2072
2095
  // busboy.on('field', function(fieldname, val, fieldnameTruncated, valTruncated) {
2073
2096
  // console.log('Field [' + fieldname + ']: value: ' + inspect(val));
2074
2097
  // });
2098
+
2099
+ // Attention: on busboy upgrade, we needs to adapt `busboy/lib/types/multipart.js`
2100
+ // For this, check the emit method
2075
2101
  busboy.on('file', function(fieldname, file, filename, encoding, mimetype, group) {
2076
2102
 
2077
2103
  file._dataLen = 0;