gina 0.1.6-alpha.9 → 0.1.6-alpha.91

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 (390) hide show
  1. package/LICENSE +1 -1
  2. package/README-4Contributors.md +14 -8
  3. package/README.md +4 -4
  4. package/bin/cli +14 -0
  5. package/bin/gina +29 -1
  6. package/framework/{v0.1.6-alpha.9/lib/inherits → v0.1.6-alpha.91}/LICENSE +1 -1
  7. package/framework/v0.1.6-alpha.91/VERSION +1 -0
  8. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/asset/plugin/README.md +1 -0
  9. package/framework/v0.1.6-alpha.91/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
  10. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/asset/plugin/dist/vendor/gina/html/toolbar.html +1 -1
  11. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/asset/plugin/dist/vendor/gina/js/gina.js +582 -217
  12. package/framework/v0.1.6-alpha.91/core/asset/plugin/dist/vendor/gina/js/gina.min.js +777 -0
  13. package/framework/v0.1.6-alpha.91/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
  14. package/framework/v0.1.6-alpha.91/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +8 -0
  15. package/framework/v0.1.6-alpha.91/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
  16. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/config.js +157 -76
  17. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/connectors/couchbase/index.js +92 -22
  18. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/connectors/couchbase/lib/connector.v4.js +28 -22
  19. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/controller/controller.js +431 -111
  20. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/controller/index.js +2 -2
  21. package/framework/v0.1.6-alpha.91/core/deps/busboy-1.6.0/.github/workflows/ci.yml +24 -0
  22. package/framework/v0.1.6-alpha.91/core/deps/busboy-1.6.0/.github/workflows/lint.yml +23 -0
  23. package/framework/v0.1.6-alpha.91/core/deps/busboy-1.6.0/README.md +191 -0
  24. package/framework/v0.1.6-alpha.91/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-big.js +149 -0
  25. package/framework/v0.1.6-alpha.91/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-small.js +143 -0
  26. package/framework/v0.1.6-alpha.91/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-big.js +154 -0
  27. package/framework/v0.1.6-alpha.91/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-small.js +148 -0
  28. package/framework/v0.1.6-alpha.91/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-100pairs-small.js +101 -0
  29. package/framework/v0.1.6-alpha.91/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-900pairs-small-alt.js +84 -0
  30. package/framework/v0.1.6-alpha.91/core/deps/busboy-1.6.0/lib/index.js +57 -0
  31. package/framework/v0.1.6-alpha.91/core/deps/busboy-1.6.0/lib/types/multipart.js +680 -0
  32. package/framework/v0.1.6-alpha.91/core/deps/busboy-1.6.0/lib/types/urlencoded.js +350 -0
  33. package/framework/v0.1.6-alpha.91/core/deps/busboy-1.6.0/lib/utils.js +596 -0
  34. package/framework/v0.1.6-alpha.91/core/deps/busboy-1.6.0/package.json +22 -0
  35. package/framework/v0.1.6-alpha.91/core/deps/optimist-0.6.1/.travis.yml +4 -0
  36. package/framework/v0.1.6-alpha.91/core/deps/optimist-0.6.1/LICENSE +21 -0
  37. package/framework/v0.1.6-alpha.91/core/deps/optimist-0.6.1/example/bool.js +10 -0
  38. package/framework/v0.1.6-alpha.91/core/deps/optimist-0.6.1/example/boolean_double.js +7 -0
  39. package/framework/v0.1.6-alpha.91/core/deps/optimist-0.6.1/example/boolean_single.js +7 -0
  40. package/framework/v0.1.6-alpha.91/core/deps/optimist-0.6.1/example/default_hash.js +8 -0
  41. package/framework/v0.1.6-alpha.91/core/deps/optimist-0.6.1/example/default_singles.js +7 -0
  42. package/framework/v0.1.6-alpha.91/core/deps/optimist-0.6.1/example/divide.js +8 -0
  43. package/framework/v0.1.6-alpha.91/core/deps/optimist-0.6.1/example/line_count.js +20 -0
  44. package/framework/v0.1.6-alpha.91/core/deps/optimist-0.6.1/example/line_count_options.js +29 -0
  45. package/framework/v0.1.6-alpha.91/core/deps/optimist-0.6.1/example/line_count_wrap.js +29 -0
  46. package/framework/v0.1.6-alpha.91/core/deps/optimist-0.6.1/example/nonopt.js +4 -0
  47. package/framework/v0.1.6-alpha.91/core/deps/optimist-0.6.1/example/reflect.js +2 -0
  48. package/framework/v0.1.6-alpha.91/core/deps/optimist-0.6.1/example/short.js +3 -0
  49. package/framework/v0.1.6-alpha.91/core/deps/optimist-0.6.1/example/string.js +11 -0
  50. package/framework/v0.1.6-alpha.91/core/deps/optimist-0.6.1/example/usage-options.js +19 -0
  51. package/framework/v0.1.6-alpha.91/core/deps/optimist-0.6.1/example/xup.js +10 -0
  52. package/framework/v0.1.6-alpha.91/core/deps/optimist-0.6.1/index.js +343 -0
  53. package/framework/v0.1.6-alpha.91/core/deps/optimist-0.6.1/package.json +31 -0
  54. package/framework/v0.1.6-alpha.91/core/deps/optimist-0.6.1/package.json.dist +39 -0
  55. package/framework/v0.1.6-alpha.91/core/deps/optimist-0.6.1/readme.markdown +513 -0
  56. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/HISTORY.md +498 -0
  57. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/LICENSE +7 -0
  58. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/README.md +88 -0
  59. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/bin/swig.js +161 -0
  60. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/bin/swig.js.dist +161 -0
  61. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/dist/swig.min.js +7 -0
  62. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/dist/swig.min.js.map +8 -0
  63. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/index.js +1 -0
  64. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/dateformatter.js +198 -0
  65. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/filters.js +630 -0
  66. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/lexer.js +306 -0
  67. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/loaders/filesystem.js +59 -0
  68. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/loaders/index.js +53 -0
  69. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/loaders/memory.js +63 -0
  70. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/parser.js +744 -0
  71. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/swig.js +740 -0
  72. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/tags/autoescape.js +37 -0
  73. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/tags/block.js +25 -0
  74. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/tags/else.js +25 -0
  75. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/tags/elseif.js +28 -0
  76. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/tags/extends.js +19 -0
  77. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/tags/filter.js +68 -0
  78. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/tags/for.js +130 -0
  79. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/tags/if.js +86 -0
  80. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/tags/import.js +91 -0
  81. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/tags/include.js +100 -0
  82. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/tags/index.js +16 -0
  83. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/tags/macro.js +79 -0
  84. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/tags/parent.js +51 -0
  85. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/tags/raw.js +23 -0
  86. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/tags/set.js +109 -0
  87. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/tags/spaceless.js +42 -0
  88. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/lib/utils.js +184 -0
  89. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/package.json +57 -0
  90. package/framework/v0.1.6-alpha.91/core/deps/swig-1.4.2/package.json.dist +61 -0
  91. package/framework/v0.1.6-alpha.91/core/deps/swig-client/swig.js +5031 -0
  92. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/dev/index.js +1 -1
  93. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/dev/lib/factory.js +1 -1
  94. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/gna.js +101 -22
  95. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/locales/index.js +3 -3
  96. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/locales/src/make.js +1 -1
  97. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/mime.types +1 -0
  98. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/model/entity.js +5 -5
  99. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/model/index.js +30 -26
  100. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/model/template/entityFactory.js +1 -1
  101. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/model/template/index.js +1 -1
  102. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/plugins/index.js +3 -3
  103. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/plugins/lib/file/package.json +2 -2
  104. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/plugins/lib/intl/package.json +2 -2
  105. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/plugins/lib/storage/package.json +2 -2
  106. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/plugins/lib/validator/package.json +2 -2
  107. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/plugins/lib/validator/src/form-validator.js +39 -27
  108. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/plugins/lib/validator/src/main.js +360 -85
  109. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/router.js +92 -47
  110. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/server.isaac.js +96 -10
  111. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/server.js +283 -129
  112. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/status.codes +1 -11
  113. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/boilerplate/bundle/controllers/setup.js +2 -2
  114. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/command/gina.tpl +1 -1
  115. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/conf/env.json +2 -0
  116. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/conf/templates.json +4 -2
  117. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/helpers/console.js +1 -1
  118. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/helpers/context.js +29 -12
  119. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/helpers/data/package.json +2 -2
  120. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/helpers/data/src/main.js +1 -1
  121. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/helpers/dateFormat.js +1 -1
  122. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/helpers/index.js +1 -1
  123. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/helpers/json/package.json +2 -2
  124. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/helpers/json/src/main.js +6 -4
  125. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/helpers/path.js +31 -15
  126. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/helpers/plugins/package.json +2 -2
  127. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/helpers/plugins/src/api-error.js +2 -2
  128. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/helpers/plugins/src/main.js +1 -1
  129. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/helpers/text.js +1 -1
  130. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/archiver/package.json +2 -2
  131. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/archiver/src/main.js +11 -11
  132. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/bundle/add.js +2 -1
  133. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/bundle/start.js +21 -8
  134. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/env/get.js +1 -1
  135. package/framework/v0.1.6-alpha.91/lib/cmd/env/help.js +30 -0
  136. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/framework/build.js +1 -1
  137. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/framework/init.js +18 -0
  138. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/framework/link-node-modules.js +2 -3
  139. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/framework/link.js +1 -0
  140. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/framework/tail.js +28 -11
  141. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/framework/version.js +15 -1
  142. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/helper.js +6 -2
  143. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/index.js +1 -1
  144. package/framework/v0.1.6-alpha.91/lib/cmd/minion/help.txt +18 -0
  145. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/project/add.js +3 -2
  146. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/project/build.js +4 -4
  147. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/project/list.js +1 -1
  148. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/protocol/list.js +71 -50
  149. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/collection/package.json +2 -2
  150. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/collection/src/main.js +20 -14
  151. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/config.js +1 -1
  152. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cron/package.json +2 -2
  153. package/framework/v0.1.6-alpha.91/lib/domain/dist/2025-03-14_13-41-20_UTC.dat +15754 -0
  154. package/framework/v0.1.6-alpha.91/lib/domain/dist/public_suffix_list.dat +15754 -0
  155. package/framework/v0.1.6-alpha.91/lib/domain/exemples/backend.js +12 -0
  156. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/domain/package.json +2 -2
  157. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/domain/src/main.js +20 -6
  158. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/generator/index.js +1 -1
  159. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/index.js +1 -1
  160. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91/lib/inherits}/LICENSE +1 -1
  161. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/inherits/package.json +2 -2
  162. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/inherits/src/main.js +1 -1
  163. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/logger/package.json +2 -2
  164. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/logger/src/containers/mq/listener.js +10 -2
  165. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/logger/src/helper.js +1 -1
  166. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/logger/src/main.js +1 -1
  167. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/math/index.js +1 -1
  168. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/merge/package.json +2 -2
  169. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/model.js +3 -3
  170. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/proc.js +9 -1
  171. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/routing/package.json +2 -2
  172. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/routing/src/main.js +72 -25
  173. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/session-store.js +3 -3
  174. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/swig-filters/package.json +2 -2
  175. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/swig-filters/src/main.js +70 -15
  176. package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/validator.js +2 -2
  177. package/framework/v0.1.6-alpha.91/package.json +11 -0
  178. package/package.json +3 -3
  179. package/resources/package.json.template +1 -1
  180. package/script/post_install.js +1 -1
  181. package/script/pre_install.js +1 -1
  182. package/utils/helper.js +24 -0
  183. package/framework/v0.1.6-alpha.9/VERSION +0 -1
  184. package/framework/v0.1.6-alpha.9/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +0 -1
  185. package/framework/v0.1.6-alpha.9/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -766
  186. package/framework/v0.1.6-alpha.9/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +0 -8
  187. package/framework/v0.1.6-alpha.9/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -7
  188. package/framework/v0.1.6-alpha.9/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +0 -8
  189. package/framework/v0.1.6-alpha.9/core/deps/busboy/.travis.yml +0 -17
  190. package/framework/v0.1.6-alpha.9/core/deps/busboy/README.md +0 -225
  191. package/framework/v0.1.6-alpha.9/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -73
  192. package/framework/v0.1.6-alpha.9/core/deps/busboy/deps/encoding/encoding.js +0 -2391
  193. package/framework/v0.1.6-alpha.9/core/deps/busboy/lib/main.js +0 -89
  194. package/framework/v0.1.6-alpha.9/core/deps/busboy/lib/types/multipart.js +0 -328
  195. package/framework/v0.1.6-alpha.9/core/deps/busboy/lib/types/urlencoded.js +0 -214
  196. package/framework/v0.1.6-alpha.9/core/deps/busboy/lib/utils.js +0 -191
  197. package/framework/v0.1.6-alpha.9/core/deps/busboy/package.json +0 -69
  198. package/framework/v0.1.6-alpha.9/lib/domain/dist/public_suffix_list.dat +0 -14186
  199. package/framework/v0.1.6-alpha.9/lib/domain/exemples/backend.js +0 -0
  200. package/framework/v0.1.6-alpha.9/package.json +0 -14
  201. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/AUTHORS +0 -0
  202. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/asset/html/nolayout.html +0 -0
  203. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/asset/html/static.html +0 -0
  204. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/asset/img/android-chrome-192x192.png +0 -0
  205. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/asset/img/android-chrome-512x512.png +0 -0
  206. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/asset/img/apple-touch-icon.png +0 -0
  207. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/asset/img/favicon-16x16.png +0 -0
  208. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/asset/img/favicon-32x32.png +0 -0
  209. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/asset/img/favicon.ico +0 -0
  210. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  211. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/asset/plugin/uuid.json +0 -0
  212. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/connectors/couchbase/lib/connector.js +0 -0
  213. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  214. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  215. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/connectors/couchbase/lib/n1ql.js +0 -0
  216. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/connectors/couchbase/lib/session-store.js +0 -0
  217. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  218. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  219. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  220. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/controller/controller.framework.js +0 -0
  221. /package/framework/{v0.1.6-alpha.9/core/deps/busboy → v0.1.6-alpha.91/core/deps/busboy-1.6.0}/LICENSE +0 -0
  222. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  223. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/dev/lib/class.js +0 -0
  224. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/dev/lib/tools.js +0 -0
  225. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/locales/README.md +0 -0
  226. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/locales/currency.json +0 -0
  227. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/locales/dist/language/en.json +0 -0
  228. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/locales/dist/language/fr.json +0 -0
  229. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/locales/dist/region/en.json +0 -0
  230. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/locales/dist/region/fr.json +0 -0
  231. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/locales/src/resources/currency.csv +0 -0
  232. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/locales/src/resources/region.csv +0 -0
  233. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/locales/src/resources/region.mapping.json +0 -0
  234. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/plugins/README.md +0 -0
  235. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/plugins/lib/file/README.md +0 -0
  236. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/plugins/lib/file/build.json +0 -0
  237. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/plugins/lib/intl/README.md +0 -0
  238. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/plugins/lib/intl/build.json +0 -0
  239. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/plugins/lib/intl/src/main.js +0 -0
  240. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/plugins/lib/storage/README.md +0 -0
  241. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/plugins/lib/storage/build.json +0 -0
  242. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/plugins/lib/storage/src/main.js +0 -0
  243. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/plugins/lib/validator/README.md +0 -0
  244. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/plugins/lib/validator/build.json +0 -0
  245. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/server.express.js +0 -0
  246. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/_gitignore +0 -0
  247. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/boilerplate/bundle/config/app.json +0 -0
  248. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/boilerplate/bundle/config/routing.json +0 -0
  249. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/boilerplate/bundle/config/settings.json +0 -0
  250. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  251. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/boilerplate/bundle/config/templates.json +0 -0
  252. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  253. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  254. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/boilerplate/bundle/index.js +0 -0
  255. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  256. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  257. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  258. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  259. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  260. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/boilerplate/bundle_public/readme.md +0 -0
  261. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  262. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  263. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  264. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  265. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  266. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/command/gina.bat.tpl +0 -0
  267. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/conf/manifest.json +0 -0
  268. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/conf/package.json +0 -0
  269. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/conf/settings.json +0 -0
  270. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/conf/statics.json +0 -0
  271. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/error/client/json/401.json +0 -0
  272. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/error/client/json/403.json +0 -0
  273. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/error/client/json/404.json +0 -0
  274. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/error/server/html/50x.html +0 -0
  275. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/error/server/json/500.json +0 -0
  276. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/error/server/json/503.json +0 -0
  277. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/core/template/extensions/logger/config.json +0 -0
  278. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/helpers/data/LICENSE +0 -0
  279. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/helpers/data/README.md +0 -0
  280. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/helpers/json/LICENSE +0 -0
  281. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/helpers/json/README.md +0 -0
  282. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/helpers/plugins/README.md +0 -0
  283. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/helpers/prototypes.js +0 -0
  284. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/helpers/task.js +0 -0
  285. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/archiver/README.md +0 -0
  286. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/archiver/build.json +0 -0
  287. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/archiver/src/dep/jszip.min.js +0 -0
  288. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/aliases.json +0 -0
  289. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/bundle/arguments.json +0 -0
  290. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/bundle/copy.js +0 -0
  291. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/bundle/cp.js +0 -0
  292. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/bundle/help.js +0 -0
  293. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/bundle/help.txt +0 -0
  294. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/bundle/list.js +0 -0
  295. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/bundle/remove.js +0 -0
  296. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/bundle/rename.js +0 -0
  297. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/bundle/restart.js +0 -0
  298. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/bundle/rm.js +0 -0
  299. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/bundle/status.js +0 -0
  300. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/bundle/stop.js +0 -0
  301. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/env/add.js +0 -0
  302. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/env/help.txt +0 -0
  303. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/env/link-dev.js +0 -0
  304. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/env/list.js +0 -0
  305. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/env/remove.js +0 -0
  306. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/env/rm.js +0 -0
  307. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/env/set.js +0 -0
  308. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/env/unset.js +0 -0
  309. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/env/use.js +0 -0
  310. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/framework/dot.js +0 -0
  311. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/framework/get.js +0 -0
  312. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/framework/help.js +0 -0
  313. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/framework/help.txt +0 -0
  314. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/framework/msg.json +0 -0
  315. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/framework/open.js +0 -0
  316. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/framework/restart.js +0 -0
  317. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/framework/set.js +0 -0
  318. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/framework/start.js +0 -0
  319. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/framework/status.js +0 -0
  320. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/framework/stop.js +0 -0
  321. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/framework/update.js +0 -0
  322. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/gina-dev.1.md +0 -0
  323. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/gina-framework.1.md +0 -0
  324. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/gina.1.md +0 -0
  325. /package/framework/{v0.1.6-alpha.9/lib/cmd/env → v0.1.6-alpha.91/lib/cmd/minion}/help.js +0 -0
  326. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/msg.json +0 -0
  327. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/port/help.js +0 -0
  328. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/port/help.txt +0 -0
  329. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/port/inc/scan.js +0 -0
  330. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/port/list.js +0 -0
  331. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/port/reset.js +0 -0
  332. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/port/set.js +0 -0
  333. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/project/arguments.json +0 -0
  334. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/project/help.js +0 -0
  335. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/project/help.txt +0 -0
  336. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/project/import.js +0 -0
  337. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/project/move.js +0 -0
  338. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/project/remove.js +0 -0
  339. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/project/rename.js +0 -0
  340. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/project/restart.js +0 -0
  341. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/project/rm.js +0 -0
  342. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/project/start.js +0 -0
  343. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/project/status.js +0 -0
  344. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/project/stop.js +0 -0
  345. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/protocol/help.js +0 -0
  346. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/protocol/help.txt +0 -0
  347. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/protocol/set.js +0 -0
  348. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/scope/add.js +0 -0
  349. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/scope/help.js +0 -0
  350. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/scope/help.txt +0 -0
  351. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/scope/link-local.js +0 -0
  352. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/scope/link-production.js +0 -0
  353. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/scope/list.js +0 -0
  354. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/scope/remove.js +0 -0
  355. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/scope/rm.js +0 -0
  356. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/scope/use.js +0 -0
  357. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cmd/view/add.js +0 -0
  358. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/collection/README.md +0 -0
  359. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/collection/build.json +0 -0
  360. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cron/README.md +0 -0
  361. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/cron/src/main.js +0 -0
  362. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/domain/LICENSE +0 -0
  363. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/domain/README.md +0 -0
  364. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/domain/exemples/frontend.html +0 -0
  365. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/inherits/README.md +0 -0
  366. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  367. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/inherits/example/protected_inheritance.js +0 -0
  368. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/inherits/example/simple_inheritance.js +0 -0
  369. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  370. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/logger/README.md +0 -0
  371. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/logger/src/containers/default/index.js +0 -0
  372. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/logger/src/containers/file/index.js +0 -0
  373. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  374. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  375. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/logger/src/containers/mq/index.js +0 -0
  376. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/logger/src/containers/mq/speaker.js +0 -0
  377. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/merge/README.md +0 -0
  378. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/merge/example/merge.js +0 -0
  379. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/merge/example/merge_2_literal objects.js +0 -0
  380. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/merge/example/merge_and_preserve_first.js +0 -0
  381. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/merge/src/main.js +0 -0
  382. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/routing/README.md +0 -0
  383. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/routing/build.json +0 -0
  384. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/shell.js +0 -0
  385. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/swig-filters/README.md +0 -0
  386. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/url/README.md +0 -0
  387. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/url/index.js +0 -0
  388. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/url/mocks.json +0 -0
  389. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/url/routing.json +0 -0
  390. /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.91}/lib/url/test.js +0 -0
@@ -4,14 +4,15 @@ 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 swig = require('./deps/swig-1.4.2');
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');
11
12
  var https = require('https');
12
13
  const sslChecker = require('ssl-checker');
13
14
 
14
- const swig = require( _(GINA_FRAMEWORK_DIR +'/node_modules/swig', true) );
15
+
15
16
  var Config = require('./config');
16
17
  var Router = require('./router');
17
18
  var lib = require('./../lib');
@@ -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
 
@@ -48,7 +51,7 @@ function Server(options) {
48
51
  var swigOptions = {
49
52
  autoescape: ( typeof(conf.autoescape) != 'undefined') ? conf.autoescape: false,
50
53
  loader: swig.loaders.fs(dir),
51
- cache: (conf.cacheless) ? false : 'memory'
54
+ cache: (conf.isCacheless) ? false : 'memory'
52
55
  };
53
56
 
54
57
  swig.setDefaults(swigOptions);
@@ -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
  }
@@ -331,7 +352,7 @@ function Server(options) {
331
352
  , serverCoreConf = self.conf.core
332
353
  , routing = {}
333
354
  , reverseRouting = {}
334
- , cacheless = config.isCacheless()
355
+ , isCacheless = config.isCacheless()
335
356
  , env = self.env
336
357
  , scope = self.scope
337
358
  , apps = conf.allBundles // conf.bundles
@@ -371,7 +392,7 @@ function Server(options) {
371
392
  filename = main
372
393
  }
373
394
 
374
- if (cacheless) {
395
+ if (isCacheless) {
375
396
  delete require.cache[require.resolve(_(filename, true))]
376
397
  }
377
398
 
@@ -424,15 +445,15 @@ function Server(options) {
424
445
  }
425
446
 
426
447
  if (typeof(tmp[rule].url) != 'object') {
427
- if (tmp[rule].url.length > 1 && tmp[rule].url.substr(0,1) != '/') {
448
+ if (tmp[rule].url.length > 1 && tmp[rule].url.substring(0,1) != '/') {
428
449
  tmp[rule].url = '/'+tmp[rule].url
429
450
  }
430
- /** else if (tmp[rule].url.length > 1 && conf.envConf[apps[i]][env].server.webroot.substr(conf.envConf[apps[i]][env].server.webroot.length-1,1) == '/') {
431
- tmp[rule].url = tmp[rule].url.substr(1)
451
+ /** else if (tmp[rule].url.length > 1 && conf.envConf[apps[i]][env].server.webroot.substring(conf.envConf[apps[i]][env].server.webroot.length-1,1) == '/') {
452
+ tmp[rule].url = tmp[rule].url.substring(1)
432
453
  }*/
433
454
  else {
434
- if (wroot.substr(wroot.length-1,1) == '/') {
435
- wroot = wroot.substr(wroot.length-1,1).replace('/', '')
455
+ if (wroot.substring(wroot.length-1,1) == '/') {
456
+ wroot = wroot.substring(wroot.length-1,1).replace('/', '')
436
457
  }
437
458
  }
438
459
 
@@ -448,8 +469,8 @@ function Server(options) {
448
469
  localWroot = '/'+ routing[rule].bundle;
449
470
  conf.envConf[tmp[rule].bundle][env].server.webroot = localWroot
450
471
  }
451
- if (localWroot.substr(localWroot.length-1,1) == '/') {
452
- localWroot = localWroot.substr(localWroot.length-1,1).replace('/', '')
472
+ if (localWroot.substring(localWroot.length-1,1) == '/') {
473
+ localWroot = localWroot.substring(localWroot.length-1,1).replace('/', '')
453
474
  }
454
475
  if ( typeof(tmp[rule].param.ignoreWebRoot) == 'undefined' || !tmp[rule].param.ignoreWebRoot )
455
476
  tmp[rule].url = localWroot + tmp[rule].url
@@ -463,11 +484,11 @@ function Server(options) {
463
484
  } else {
464
485
 
465
486
  for (var u=0; u<tmp[rule].url.length; ++u) {
466
- if (tmp[rule].url[u].length > 1 && tmp[rule].url[u].substr(0,1) != '/') {
487
+ if (tmp[rule].url[u].length > 1 && tmp[rule].url[u].substring(0,1) != '/') {
467
488
  tmp[rule].url[u] = '/'+tmp[rule].url[u]
468
489
  } else {
469
- if (wroot.substr(wroot.length-1,1) == '/') {
470
- wroot = wroot.substr(wroot.length-1,1).replace('/', '')
490
+ if (wroot.substring(wroot.length-1,1) == '/') {
491
+ wroot = wroot.substring(wroot.length-1,1).replace('/', '')
471
492
  }
472
493
  }
473
494
  if ( typeof(tmp[rule].param.ignoreWebRoot) == 'undefined' || !tmp[rule].param.ignoreWebRoot )
@@ -584,7 +605,7 @@ function Server(options) {
584
605
  ) {
585
606
 
586
607
  // by default
587
- path = url.replace(url.substr(url.lastIndexOf('/')+1), '');
608
+ path = url.replace(url.substring(url.lastIndexOf('/')+1), '');
588
609
  if ( typeof(altConf) != 'undefined' && altConf ) {
589
610
  bundleConf = self.conf[altConf.split(/\@/)[1]][bundleConf.env];
590
611
  backedupPath = path;
@@ -592,7 +613,7 @@ function Server(options) {
592
613
  }
593
614
 
594
615
 
595
- // catch `statics.json` defined paths || bundleConf.staticResources.indexOf(url.replace(url.substr(url.lastIndexOf('/')+1), '')) > -1
616
+ // catch `statics.json` defined paths || bundleConf.staticResources.indexOf(url.replace(url.substring(url.lastIndexOf('/')+1), '')) > -1
596
617
  if ( bundleConf.staticResources.indexOf(path) > -1 || bundleConf.staticResources.indexOf(staticProps.firstLevel) > -1 ) {
597
618
  if ( typeof(altConf) != 'undefined' && altConf && backedupPath ) {
598
619
  filename = (bundleConf.staticResources.indexOf(path) > -1) ? bundleConf.content.statics[path] + url.replace(backedupPath, '/') : bundleConf.content.statics[staticProps.firstLevel] + url.replace(staticProps.firstLevel, '/');
@@ -631,8 +652,8 @@ function Server(options) {
631
652
  */
632
653
  var getAssets = function (bundleConf, layoutStr, swig, data) {
633
654
 
634
- // layout search for <link|script|img>
635
- var layoutAssets = layoutStr.match(/<link .*?<\/link>|<link .*?(rel\=\"(stylesheet|icon|manifest|(.*)\-icon))(.*)|<script.*?<\/script>|<img .*?(.*)/g) || [];
655
+ // layout search for <link|source|script|img>
656
+ var layoutAssets = layoutStr.match(/<link .*?<\/link>|<link .*?(rel\=\"(stylesheet|icon|manifest|(.*)\-icon))(.*)|<source .*?(type\=\"(image))(.*)|<script.*?<\/script>|<img .*?(.*)/g) || [];
636
657
 
637
658
  var assets = {}
638
659
  , cssFiles = []
@@ -652,63 +673,150 @@ function Server(options) {
652
673
  // layout assets
653
674
  i = 0;
654
675
  len = layoutAssets.length;
655
- var type = null
656
- , isAvailable = null
657
- , tag = null
658
- , properties = null
659
- , p = 0
660
- , pArr = []
676
+ var type = null
677
+ , isAvailable = null
678
+ , tag = null
679
+ , properties = null
680
+ , p = 0
681
+ , pArr = []
682
+ , sourceTagSrcSetStr = ''
661
683
  ;
662
684
  for (; i < len; ++i) {
663
685
 
664
686
  if (
665
- !/(\<img|\<link|\<script)/g.test(layoutAssets[i])
666
- || /\<img/.test(layoutAssets[i]) && /srcset/.test(layoutAssets[i]) // not able to handle this case for now
687
+ !/(\<img|\<link|\<source|\<script)/g.test(layoutAssets[i])
688
+ // ||
689
+ // not able to handle srcset case for now
690
+ /**
691
+ /\<img/.test(layoutAssets[i])
692
+ && /srcset/.test(layoutAssets[i])*/
667
693
  ) {
668
694
  continue;
669
695
  }
670
696
 
697
+ // https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel/preload
698
+ let asType = null;
699
+
671
700
  if ( /\<img/.test(layoutAssets[i]) ) {
672
701
  type = 'image';
673
702
  tag = 'img';
703
+ asType = type;
674
704
  }
675
705
 
676
- if ( /\<script/.test(layoutAssets[i]) ) {
677
- type = 'javascript';
678
- tag = 'script';
679
- }
706
+
680
707
 
681
708
  if ( /\<link/.test(layoutAssets[i]) ) {
682
- if ( /rel\=\"stylesheet/.test(layoutAssets[i]) ) {
683
- type = 'stylesheet';
684
- } else if ( /rel\=\"(icon|(.*)\-icon)/.test(layoutAssets[i]) ) {
685
- type = 'image';
686
- } else {
687
- type = 'file';
709
+ // if ( /rel\=\"stylesheet/.test(layoutAssets[i]) ) {
710
+ // type = 'stylesheet';
711
+ // } else if ( /rel\=\"(icon|(.*)\-icon)/.test(layoutAssets[i]) ) {
712
+ // type = 'image';
713
+ // } else {
714
+ // type = 'file';
715
+ // }
716
+ type = layoutAssets[i].match(/rel=\"[-a-z 0-9]+\"/)[0] || null;
717
+ if (type) {
718
+ type = type.replace(/^rel\=\"|"$/g, '');
719
+ }
720
+
721
+
722
+ switch (type) {
723
+ case /stylesheet/.test(type):
724
+ asType = 'style';
725
+ break;
726
+
727
+ case /javascript/.test(type):
728
+ asType = 'script';
729
+ break;
730
+
731
+ default:
732
+ asType = null;
733
+ if ( /icon/.test(type) ) {
734
+ asType = 'image';
735
+ // ignoring all (fav)icons type: rel="*icon*" case
736
+ continue;
737
+ }
738
+ if ( /font/.test(type) ) {
739
+ asType = 'font';
740
+ }
741
+ // if ( /manifest/.test(type) ) {
742
+ // asType = 'webmanifest';
743
+ // }
744
+ break;
688
745
  }
689
746
 
690
747
  tag = 'link';
691
748
  }
692
749
 
750
+ if ( /\<source/.test(layoutAssets[i]) ) {
751
+ if ( /type\=\"image/.test(layoutAssets[i]) ) {
752
+ type = 'image';
753
+ }
754
+
755
+ tag = 'source';
756
+ }
757
+
758
+ if ( /\<script/.test(layoutAssets[i]) ) {
759
+ type = 'javascript';
760
+ tag = 'script';
761
+ }
762
+
693
763
  domain = null;
764
+ let isEncodedContent = false;
765
+ // repsonsive images
766
+ // https://html.spec.whatwg.org/multipage/semantics.html#attr-link-imagesrcset
767
+ let srcset = null;
768
+ // https://html.spec.whatwg.org/multipage/semantics.html#attr-link-imagesizes
769
+ let sizes = null;
770
+ let urlArr = null;
694
771
  try {
695
- url = layoutAssets[i].match(/(src|href)\=(\".*?\"|\'.*?\')/)[0];
772
+ urlArr = layoutAssets[i].match(/(src|href|srcset)\=(\".*?\"|\'.*?\')/g);
773
+ for (let u=0, uLen=urlArr.length; u<uLen; u++) {
774
+ if ( /data\:/.test(urlArr[u]) ) {
775
+ isEncodedContent = true;
776
+ break;
777
+ }
778
+ if ( /^srcset\=/.test(urlArr[u]) ) {
779
+ srcset = urlArr[u]
780
+ .replace(/((src|href|srcset)\=\"|(src|href|srcset)\=\')/g, '')
781
+ .replace(/\"/g, '');
782
+ if ( /source/i.test(tag) ) {
783
+ sourceTagSrcSetStr += srcset + ','
784
+ }
785
+ }
786
+ if ( /^(src|href)\=/.test(urlArr[u]) ) {
787
+ url = urlArr[u]
788
+ .replace(/((src|href|srcset)\=\"|(src|href|srcset)\=\')/g, '')
789
+ .replace(/\"/g, '');
790
+ }
791
+ }
792
+ if ( isEncodedContent ) { // ignoring "data:..."
793
+ continue
794
+ }
795
+ // url = urlArr[0];
696
796
  } catch (err) {
697
- console.warn('Problem with this asset ('+ i +'/'+ len +'): '+ layoutAssets[i].substr(0, 80) +'...');
797
+ console.warn('Problem with this asset ('+ i +'/'+ len +'): '+ layoutAssets[i].substring(0, 80) +'...');
698
798
  continue;
699
799
  }
700
800
 
701
-
702
- if ( /data\:/.test(url) ) { // ignoring "data:..."
703
- continue
801
+ if ( /source/i.test(tag) ) {
802
+ continue;
704
803
  }
804
+
805
+
806
+ // if ( /data\:/.test(url) ) { // ignoring "data:..."
807
+ // continue
808
+ // }
705
809
  //url = url.replace(/((src|href)\=\"|(src|href)\=\'|\"|\')/g, '');
706
- url = url.replace(/((src|href)\=\"|(src|href)\=\')/g, '');
810
+ // url = url
811
+ // .replace(/((src|href|srcset)\=\"|(src|href|srcset)\=\')/g, '')
812
+ // .replace(/\"/g, '')
813
+ // ;
707
814
  if ( !/^\{\{/.test(url) ) {
708
815
  url = url.replace(/(\"|\')/g, '');
709
816
  }
710
- if (swig && /^\{\{/.test(url) )
817
+ if (swig && /^\{\{/.test(url) ) {
711
818
  url = swig.compile(url, swig.getOptions())(data);
819
+ }
712
820
 
713
821
  if (!/(\:\/\/|^\/\/)/.test(url) ) {
714
822
  filename = getAssetFilenameFromUrl(bundleConf, url);
@@ -728,7 +836,7 @@ function Server(options) {
728
836
  isAvailable = ( /404/.test(filename) ) ? false : true;
729
837
  if ( isAvailable ) {
730
838
  try {
731
- ext = url.substr(url.lastIndexOf('.')).match(/(\.[A-Za-z0-9]+)/)[0];
839
+ ext = url.substring(url.lastIndexOf('.')).match(/(\.[A-Za-z0-9]+)/)[0];
732
840
  } catch(err) {
733
841
 
734
842
  console.warn('No extension found for `'+ filename +'`\n'+ err.stack );
@@ -739,15 +847,41 @@ function Server(options) {
739
847
 
740
848
  assets[key] = {
741
849
  type : type,
850
+ as : asType,
742
851
  url : url,
743
852
  ext : ext,
744
- mime : (!ext) ? 'NA' : (bundleConf.server.coreConfiguration.mime[ext.substr(1)] || 'NA'),
853
+ mime : (!ext) ? 'NA' : (bundleConf.server.coreConfiguration.mime[ext.substring(1)] || 'NA'),
745
854
  filename : ( /404/.test(filename) ) ? 'not found' : filename,
746
855
  isAvailable : isAvailable
747
856
  };
748
857
 
749
- if (domain)
858
+ //sourceTagSrcSetStr
859
+ if (sourceTagSrcSetStr.length > 0) {
860
+ assets[key]['imagesrcset'] = sourceTagSrcSetStr.substring(0, sourceTagSrcSetStr.length-1);
861
+ // reset
862
+ sourceTagSrcSetStr = '';
863
+ }
864
+
865
+ if (srcset) {
866
+ if ( typeof(assets[key]['imagesrcset']) != 'undefined' ) {
867
+ assets[key]['imagesrcset'] += ', '+ srcset;
868
+ } else {
869
+ assets[key]['imagesrcset'] = srcset;
870
+ }
871
+
872
+ }
873
+
874
+ if (sizes) {
875
+ if ( typeof(assets[key]['imagesizes']) != 'undefined' ) {
876
+ assets[key]['imagesizes'] += ', '+ sizes;
877
+ } else {
878
+ assets[key]['imagesizes'] = sizes;
879
+ }
880
+ }
881
+
882
+ if (domain) {
750
883
  assets[key].domain = domain;
884
+ }
751
885
 
752
886
  if ( type == 'stylesheet' && !/not found/.test(assets[key].filename) ) {
753
887
  cssFiles.push(assets[key].filename)
@@ -873,14 +1007,14 @@ function Server(options) {
873
1007
  //key = (( /404/.test(filename) ) ? '[404]' : '[200]') +' '+ url;
874
1008
  key = url;
875
1009
  isAvailable = ( /404/.test(filename) ) ? false : true;
876
- ext = url.substr(url.lastIndexOf('.')).match(/(\.[A-Za-z0-9]+)/)[0];
1010
+ ext = url.substring(url.lastIndexOf('.')).match(/(\.[A-Za-z0-9]+)/)[0];
877
1011
  assets[key] = {
878
1012
  referrer : cssFiles[i],
879
1013
  definition : definition,
880
1014
  type : type,
881
1015
  url : url,
882
1016
  ext : ext,
883
- mime : bundleConf.server.coreConfiguration.mime[ext.substr(1)] || 'NA',
1017
+ mime : bundleConf.server.coreConfiguration.mime[ext.substring(1)] || 'NA',
884
1018
  filename : ( /404/.test(filename) ) ? 'not found' : filename
885
1019
  };
886
1020
 
@@ -1035,8 +1169,8 @@ function Server(options) {
1035
1169
  return name
1036
1170
  }
1037
1171
 
1038
- var env = self.conf.env
1039
- , scope = self.conf.scope
1172
+ var env = self.conf.env || self.env
1173
+ , scope = self.conf.scope || self.scope
1040
1174
  ;
1041
1175
 
1042
1176
  for (let i=0, len=matched.length; i<len; ++i) {
@@ -1054,6 +1188,9 @@ function Server(options) {
1054
1188
  project = arr[0];
1055
1189
  env = (arr[1]) ? arr[1] : env;
1056
1190
  }
1191
+ if ( typeof(self.conf[bundle]) == 'undefined' ) {
1192
+ continue;
1193
+ }
1057
1194
  scheme = self.conf[bundle][env].server.scheme;
1058
1195
  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
1196
  name = name.replace(oldHost, hostname);
@@ -1122,13 +1259,13 @@ function Server(options) {
1122
1259
  }
1123
1260
 
1124
1261
  this.onHttp2Stream = function(stream, headers, response) {
1125
- var header = null
1126
- , isWebroot = false
1127
- , pathname = null
1128
- , asset = null
1129
- , assets = this._options.template.assets
1130
- , conf = this._options.conf
1131
- , cacheless = conf.cacheless
1262
+ var header = null
1263
+ , isWebroot = false
1264
+ , pathname = null
1265
+ , asset = null
1266
+ , assets = this._options.template.assets
1267
+ , conf = this._options.conf
1268
+ , isCacheless = conf.isCacheless
1132
1269
  ;
1133
1270
 
1134
1271
 
@@ -1227,7 +1364,7 @@ function Server(options) {
1227
1364
  ':status': 301
1228
1365
  };
1229
1366
 
1230
- if (cacheless) {
1367
+ if (isCacheless) {
1231
1368
  header['cache-control'] = 'no-cache, no-store, must-revalidate';
1232
1369
  header['pragma'] = 'no-cache';
1233
1370
  header['expires'] = '0';
@@ -1300,7 +1437,7 @@ function Server(options) {
1300
1437
  header['content-length'] = fs.statSync(assets[ url ].filename).size;
1301
1438
  }
1302
1439
 
1303
- if (cacheless) {
1440
+ if (isCacheless) {
1304
1441
  // source maps integration for javascript & css
1305
1442
  if ( /(.js|.css)$/.test(asset.filename) && fs.existsSync(asset.filename +'.map') ) {
1306
1443
  //pathname = asset.filename +'.map';
@@ -1389,7 +1526,7 @@ function Server(options) {
1389
1526
  self._options.conf = bundleConf
1390
1527
  }
1391
1528
 
1392
- var cacheless = bundleConf.cacheless;
1529
+ var isCacheless = bundleConf.isCacheless;
1393
1530
  // by default
1394
1531
  var filename = bundleConf.publicPath + pathname;
1395
1532
  var isFilenameDir = null
@@ -1417,7 +1554,6 @@ function Server(options) {
1417
1554
  var key = pathname.replace(pathname.split('/').splice(-1), '');
1418
1555
  for ( ; s < sLen; ++s ) {
1419
1556
  if ( bundleConf.staticResources[s] == key ) {
1420
- // if ( eval('/^' + bundleConf.staticResources[s].replace(/\//g,'\\/') +'/').test(pathname) ) {
1421
1557
  filename = bundleConf.content.statics[ bundleConf.staticResources[s] ] +'/'+ pathname.replace(bundleConf.staticResources[s], '');
1422
1558
  break;
1423
1559
  }
@@ -1431,9 +1567,11 @@ function Server(options) {
1431
1567
 
1432
1568
 
1433
1569
  filename = decodeURIComponent(filename);
1434
- fs.exists(filename, function onStaticExists(exist) {
1570
+ let filenameObj = new _(filename, true);
1571
+ filenameObj.exists(function onStaticExists(exists) {
1572
+ // fs.exists(filename, function onStaticExists(exists) {
1435
1573
 
1436
- if (!exist) {
1574
+ if (!exists) {
1437
1575
  return throwError(response, 404, 'Page not found: \n' + pathname, next);
1438
1576
  }
1439
1577
 
@@ -1446,48 +1584,49 @@ function Server(options) {
1446
1584
  if ( !fs.existsSync(filename) ) {
1447
1585
  throwError(response, 403, 'Forbidden: \n' + pathname, next);
1448
1586
  return;
1449
- } else {
1450
- var ext = 'html';
1451
- if ( /http\/2/.test(protocol) ) {
1452
- header = {
1453
- ':status': 301,
1454
- 'location': request.url,
1455
- 'content-type': bundleConf.server.coreConfiguration.mime[ext]+'; charset='+ bundleConf.encoding
1456
- };
1587
+ }
1457
1588
 
1458
- if (cacheless) {
1459
- header['cache-control'] = 'no-cache, no-store, must-revalidate';
1460
- header['pragma'] = 'no-cache';
1461
- header['expires'] = '0';
1462
- }
1463
- request = checkPreflightRequest(request, response);
1464
- header = completeHeaders(header, request, response);
1589
+ var ext = 'html';
1590
+ if ( /http\/2/.test(protocol) ) {
1591
+ header = {
1592
+ ':status': 301,
1593
+ 'location': request.url,
1594
+ 'content-type': bundleConf.server.coreConfiguration.mime[ext]+'; charset='+ bundleConf.encoding
1595
+ };
1465
1596
 
1466
- if (!stream.destroyed) {
1467
- stream.respond(header);
1468
- stream.end();
1469
- }
1597
+ if (isCacheless) {
1598
+ header['cache-control'] = 'no-cache, no-store, must-revalidate';
1599
+ header['pragma'] = 'no-cache';
1600
+ header['expires'] = '0';
1601
+ }
1602
+ request = checkPreflightRequest(request, response);
1603
+ header = completeHeaders(header, request, response);
1470
1604
 
1471
- } else {
1472
- response.setHeader('location', request.url);
1473
- request = checkPreflightRequest(request, response);
1474
- completeHeaders(null, request, response);
1475
- if (cacheless) {
1476
- response.writeHead(301, {
1477
- 'cache-control': 'no-cache, no-store, must-revalidate', // preventing browsers from using cache
1478
- 'pragma': 'no-cache',
1479
- 'expires': '0',
1480
- 'content-type': bundleConf.server.coreConfiguration.mime[ext]
1481
- });
1482
- }
1483
- response.end()
1605
+ if (!stream.destroyed) {
1606
+ stream.respond(header);
1607
+ stream.end();
1484
1608
  }
1609
+
1610
+ } else {
1611
+ response.setHeader('location', request.url);
1612
+ request = checkPreflightRequest(request, response);
1613
+ completeHeaders(null, request, response);
1614
+ if (isCacheless) {
1615
+ response.writeHead(301, {
1616
+ 'cache-control': 'no-cache, no-store, must-revalidate', // preventing browsers from using cache
1617
+ 'pragma': 'no-cache',
1618
+ 'expires': '0',
1619
+ 'content-type': bundleConf.server.coreConfiguration.mime[ext]
1620
+ });
1621
+ }
1622
+ response.end()
1485
1623
  }
1624
+
1486
1625
  return;
1487
1626
  }
1488
1627
 
1489
1628
 
1490
- if (cacheless) {
1629
+ if (isCacheless) {
1491
1630
  delete require.cache[require.resolve(filename)];
1492
1631
  }
1493
1632
 
@@ -1537,8 +1676,12 @@ function Server(options) {
1537
1676
  request.url = ( ext != null && typeof(ext[0]) != 'undefined' ) ? request.url : request.url + 'index.html';
1538
1677
 
1539
1678
  self._responseHeaders = response.getHeaders();
1540
- if (!isBinary && typeof(self._options.template.assets[request.url]) == 'undefined')
1679
+ if (
1680
+ !isBinary
1681
+ && typeof(self._options.template.assets[request.url]) == 'undefined'
1682
+ ) {
1541
1683
  self._options.template.assets = getAssets(bundleConf, file);
1684
+ }
1542
1685
 
1543
1686
  if (
1544
1687
  typeof(self._options.template.assets[request.url]) == 'undefined'
@@ -1603,7 +1746,7 @@ function Server(options) {
1603
1746
  'location': request.url
1604
1747
  };
1605
1748
 
1606
- if (cacheless) {
1749
+ if (isCacheless) {
1607
1750
  header['cache-control'] = 'no-cache, no-store, must-revalidate';
1608
1751
  header['pragma'] = 'no-cache';
1609
1752
  header['expires'] = '0';
@@ -1674,11 +1817,11 @@ function Server(options) {
1674
1817
  'content-type': contentType + '; charset='+ bundleConf.encoding
1675
1818
  };
1676
1819
 
1677
- if (cacheless) {
1820
+ if (isCacheless) {
1678
1821
  // source maps integration for javascript & css
1679
1822
  if ( /(.js|.css)$/.test(filename) && fs.existsSync(filename +'.map') && !/sourceMappingURL/.test(file) ) {
1680
1823
  //pathname = pathname +'.map';
1681
- pathname = webroot + pathname.substr(1) +'.map';
1824
+ pathname = webroot + pathname.substring(1) +'.map';
1682
1825
  // serve without cache
1683
1826
  header['X-SourceMap'] = pathname;
1684
1827
  header['cache-control'] = 'no-cache, no-store, must-revalidate';
@@ -1708,11 +1851,11 @@ function Server(options) {
1708
1851
  response.setHeader('content-length', fs.statSync(filename).size);
1709
1852
  }
1710
1853
 
1711
- if (cacheless) {
1854
+ if (isCacheless) {
1712
1855
  // source maps integration for javascript & css
1713
1856
  if ( /(.js|.css)$/.test(filename) && fs.existsSync(filename +'.map') && !/sourceMappingURL/.test(file) ) {
1714
1857
  //pathname = pathname +'.map'
1715
- pathname = webroot + pathname.substr(1) +'.map';
1858
+ pathname = webroot + pathname.substring(1) +'.map';
1716
1859
  response.setHeader("X-SourceMap", pathname)
1717
1860
  }
1718
1861
 
@@ -1753,7 +1896,8 @@ function Server(options) {
1753
1896
  });
1754
1897
 
1755
1898
 
1756
- })
1899
+ });
1900
+ filenameObj = null;
1757
1901
  }
1758
1902
 
1759
1903
 
@@ -1864,7 +2008,7 @@ function Server(options) {
1864
2008
  if ( typeof(ext) != 'undefined' && ext != null) {
1865
2009
  ext = ext[0];
1866
2010
  // if image with `@` found
1867
- if ( /^image/i.test(self.conf[self.appName][self.env].server.coreConfiguration.mime[ext.substr(1)]) ) {
2011
+ if ( /^image/i.test(self.conf[self.appName][self.env].server.coreConfiguration.mime[ext.substring(1)]) ) {
1868
2012
  isImage = true
1869
2013
  }
1870
2014
  }
@@ -1873,7 +2017,7 @@ function Server(options) {
1873
2017
  // and must not be an email
1874
2018
  && !/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(request.url)
1875
2019
  // and must be handled by mime.types
1876
- && typeof(self.conf[self.appName][self.env].server.coreConfiguration.mime[ext.substr(1)]) != 'undefined'
2020
+ && typeof(self.conf[self.appName][self.env].server.coreConfiguration.mime[ext.substring(1)]) != 'undefined'
1877
2021
  ||
1878
2022
  ext != null
1879
2023
  && isImage
@@ -1899,7 +2043,7 @@ function Server(options) {
1899
2043
 
1900
2044
  if (
1901
2045
  staticProps.isStaticFilename && staticsArr.indexOf(request.url) > -1
1902
- || staticProps.isStaticFilename && staticsArr.indexOf( request.url.replace(request.url.substr(request.url.lastIndexOf('/')+1), '') ) > -1
2046
+ || staticProps.isStaticFilename && staticsArr.indexOf( request.url.replace(request.url.substring(request.url.lastIndexOf('/')+1), '') ) > -1
1903
2047
  || staticProps.isStaticFilename && new RegExp('^'+ staticProps.firstLevel).test(request.url)
1904
2048
  || /\/$/.test(request.url) && !isWebrootHandledByRouting && !/\/engine\.io\//.test(request.url)
1905
2049
  ) {
@@ -2067,11 +2211,14 @@ function Server(options) {
2067
2211
  'method': 'POST',
2068
2212
  'bundle' : self.appName
2069
2213
  };
2070
- var busboy = new Busboy({ headers: request.headers });
2214
+ var busboy = Busboy({ headers: request.headers });
2071
2215
 
2072
2216
  // busboy.on('field', function(fieldname, val, fieldnameTruncated, valTruncated) {
2073
2217
  // console.log('Field [' + fieldname + ']: value: ' + inspect(val));
2074
2218
  // });
2219
+
2220
+ // Attention: on busboy upgrade, we needs to adapt `busboy/lib/types/multipart.js`
2221
+ // For this, check the emit method
2075
2222
  busboy.on('file', function(fieldname, file, filename, encoding, mimetype, group) {
2076
2223
 
2077
2224
  file._dataLen = 0;
@@ -2087,7 +2234,7 @@ function Server(options) {
2087
2234
  && opt.groups[group].allowedExtensions != '*'
2088
2235
  ) {
2089
2236
  var ext = opt.groups[group].allowedExtensions;
2090
- var fileExt = filename.substr(filename.lastIndexOf('.')+1)
2237
+ var fileExt = filename.substring(filename.lastIndexOf('.')+1)
2091
2238
  if ( !Array.isArray(ext) ) {
2092
2239
  ext = [ext]
2093
2240
  }
@@ -2247,8 +2394,8 @@ function Server(options) {
2247
2394
  request.body = request.body.replace(/\+/g, ' ');
2248
2395
  }
2249
2396
 
2250
- if ( request.body.substr(0,1) == '?')
2251
- request.body = request.body.substr(1);
2397
+ if ( request.body.substring(0,1) == '?')
2398
+ request.body = request.body.substring(1);
2252
2399
 
2253
2400
  try {
2254
2401
  bodyStr = decodeURIComponent(request.body); // it is already a string for sure
@@ -2399,8 +2546,8 @@ function Server(options) {
2399
2546
  request.body = request.body.replace(/\+/g, ' ');
2400
2547
  }
2401
2548
 
2402
- if ( request.body.substr(0,1) == '?')
2403
- request.body = request.body.substr(1);
2549
+ if ( request.body.substring(0,1) == '?')
2550
+ request.body = request.body.substring(1);
2404
2551
 
2405
2552
  // false & true case
2406
2553
  try {
@@ -2521,8 +2668,10 @@ function Server(options) {
2521
2668
 
2522
2669
  var config = new Config();
2523
2670
  config.setBundles(self.bundles);
2524
- var conf = config.getInstance(); // for all loaded bundles
2525
- if ( typeof(conf) != 'undefined') {//for cacheless mode
2671
+ // for all loaded bundles
2672
+ var conf = config.getInstance();
2673
+ //for cacheless mode
2674
+ if ( typeof(conf) != 'undefined') {
2526
2675
  self.conf = conf;
2527
2676
  }
2528
2677
 
@@ -2537,7 +2686,7 @@ function Server(options) {
2537
2686
  if (self.bundles.indexOf(b) < 0) continue;
2538
2687
  if ( typeof(conf[b][self.env].content) != 'undefined' && typeof(conf[b][self.env].content.statics) != 'undefined' && conf[b][self.env].content.statics.count() > 0 ) {
2539
2688
  for (let s in conf[b][self.env].content.statics) {
2540
- s = (s.substr(0,1) == '/') ? s.substr(1) : s;
2689
+ s = (s.substring(0,1) == '/') ? s.substring(1) : s;
2541
2690
  if ( (new RegExp('^/'+s)).test(pathname) ) {
2542
2691
  bundle = b;
2543
2692
  break end
@@ -2572,18 +2721,18 @@ function Server(options) {
2572
2721
  }
2573
2722
 
2574
2723
  var onBundleConfigLoaded = function(bundle, options) {
2575
- var err = options.err
2576
- , cacheless = options.config.isCacheless()
2577
- , pathname = options.pathname
2578
- , req = options.req
2579
- , res = options.res
2580
- , config = options.conf
2581
- , next = options.next
2582
- , callback = options.callback
2724
+ var err = options.err
2725
+ , isCacheless = options.config.isCacheless()
2726
+ , pathname = options.pathname
2727
+ , req = options.req
2728
+ , res = options.res
2729
+ , config = options.conf
2730
+ , next = options.next
2731
+ , callback = options.callback
2583
2732
  ;
2584
2733
 
2585
2734
  //Reloading assets & files.
2586
- // if (!cacheless) { // all but dev & debug
2735
+ // if (!isCacheless) { // all but dev & debug
2587
2736
  callback(err, bundle, pathname, options.config, req, res, next)
2588
2737
  // } else {
2589
2738
  // config.refresh(bundle, function(err, routing) {
@@ -2706,7 +2855,7 @@ function Server(options) {
2706
2855
  , isRoute = {}
2707
2856
  , withViews = hasViews(bundle)
2708
2857
  , router = local.router
2709
- , cacheless = config.isCacheless()
2858
+ , isCacheless = config.isCacheless()
2710
2859
  , wroot = null
2711
2860
  ;
2712
2861
 
@@ -2736,6 +2885,11 @@ function Server(options) {
2736
2885
  var isMethodAllowed = null, hostname = null;
2737
2886
  out:
2738
2887
  for (let name in routing) {
2888
+ // ignoring routes out of scope
2889
+ if ( routing[name].scopes.indexOf(process.env.NODE_SCOPE) < 0 ) {
2890
+ continue;
2891
+ }
2892
+
2739
2893
  if ( typeof(routing[name]['param']) == 'undefined' ) {
2740
2894
  break;
2741
2895
  }
@@ -2961,11 +3115,11 @@ function Server(options) {
2961
3115
  , ext = null
2962
3116
  , isHtmlContent = false
2963
3117
  , hasCustomErrorFile = false
2964
- , eCode = code.toString().substr(0,1) + 'xx'
3118
+ , eCode = code.toString().substring(0,1) + 'xx'
2965
3119
  ;
2966
- var extArr = url.substr(url.lastIndexOf('.')).match(/(\.[A-Za-z0-9]+)/);
3120
+ var extArr = url.substring(url.lastIndexOf('.')).match(/(\.[A-Za-z0-9]+)/);
2967
3121
  if (extArr) {
2968
- ext = extArr[0].substr(1);
3122
+ ext = extArr[0].substring(1);
2969
3123
  }
2970
3124
  if ( !ext || /^(html|htm)$/i.test(ext) ) {
2971
3125
  isHtmlContent = true;