gina 0.1.6-alpha.13 → 0.1.6-alpha.131

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 +13 -4
  4. package/bin/cli +16 -2
  5. package/bin/gina +29 -1
  6. package/framework/{v0.1.6-alpha.13/lib/inherits → v0.1.6-alpha.131}/LICENSE +1 -1
  7. package/framework/v0.1.6-alpha.131/VERSION +1 -0
  8. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/plugin/README.md +1 -0
  9. package/framework/v0.1.6-alpha.131/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
  10. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/plugin/dist/vendor/gina/html/toolbar.html +1 -1
  11. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/plugin/dist/vendor/gina/js/gina.js +655 -235
  12. package/framework/v0.1.6-alpha.131/core/asset/plugin/dist/vendor/gina/js/gina.min.js +778 -0
  13. package/framework/v0.1.6-alpha.131/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
  14. package/framework/v0.1.6-alpha.131/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +8 -0
  15. package/framework/v0.1.6-alpha.131/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
  16. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/config.js +159 -76
  17. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/connectors/couchbase/index.js +108 -26
  18. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/connectors/couchbase/lib/connector.v4.js +124 -22
  19. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/connectors/couchbase/lib/session-store.v4.js +5 -2
  20. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/controller/controller.js +762 -189
  21. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/controller/index.js +2 -2
  22. package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/.github/workflows/ci.yml +24 -0
  23. package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/.github/workflows/lint.yml +23 -0
  24. package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/README.md +191 -0
  25. package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-big.js +149 -0
  26. package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-small.js +143 -0
  27. package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-big.js +154 -0
  28. package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-small.js +148 -0
  29. package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-100pairs-small.js +101 -0
  30. package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-900pairs-small-alt.js +84 -0
  31. package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/lib/index.js +57 -0
  32. package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/lib/types/multipart.js +680 -0
  33. package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/lib/types/urlencoded.js +350 -0
  34. package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/lib/utils.js +596 -0
  35. package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/package.json +22 -0
  36. package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/.travis.yml +4 -0
  37. package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/LICENSE +21 -0
  38. package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/bool.js +10 -0
  39. package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/boolean_double.js +7 -0
  40. package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/boolean_single.js +7 -0
  41. package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/default_hash.js +8 -0
  42. package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/default_singles.js +7 -0
  43. package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/divide.js +8 -0
  44. package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/line_count.js +20 -0
  45. package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/line_count_options.js +29 -0
  46. package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/line_count_wrap.js +29 -0
  47. package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/nonopt.js +4 -0
  48. package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/reflect.js +2 -0
  49. package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/short.js +3 -0
  50. package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/string.js +11 -0
  51. package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/usage-options.js +19 -0
  52. package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/xup.js +10 -0
  53. package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/index.js +343 -0
  54. package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/package.json +31 -0
  55. package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/package.json.dist +39 -0
  56. package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/readme.markdown +513 -0
  57. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/HISTORY.md +498 -0
  58. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/LICENSE +7 -0
  59. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/README.md +88 -0
  60. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/bin/swig.js +161 -0
  61. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/bin/swig.js.dist +161 -0
  62. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/dist/swig.min.js +7 -0
  63. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/dist/swig.min.js.map +8 -0
  64. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/index.js +1 -0
  65. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/dateformatter.js +198 -0
  66. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/filters.js +630 -0
  67. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/lexer.js +306 -0
  68. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/loaders/filesystem.js +59 -0
  69. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/loaders/index.js +53 -0
  70. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/loaders/memory.js +63 -0
  71. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/parser.js +744 -0
  72. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/swig.js +740 -0
  73. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/autoescape.js +37 -0
  74. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/block.js +25 -0
  75. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/else.js +25 -0
  76. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/elseif.js +28 -0
  77. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/extends.js +19 -0
  78. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/filter.js +68 -0
  79. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/for.js +130 -0
  80. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/if.js +86 -0
  81. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/import.js +91 -0
  82. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/include.js +100 -0
  83. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/index.js +16 -0
  84. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/macro.js +79 -0
  85. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/parent.js +51 -0
  86. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/raw.js +23 -0
  87. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/set.js +109 -0
  88. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/spaceless.js +42 -0
  89. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/utils.js +184 -0
  90. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/package.json +57 -0
  91. package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/package.json.dist +61 -0
  92. package/framework/v0.1.6-alpha.131/core/deps/swig-client/swig.js +5031 -0
  93. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/dev/index.js +1 -1
  94. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/dev/lib/factory.js +1 -1
  95. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/gna.js +104 -22
  96. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/locales/index.js +3 -3
  97. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/locales/src/make.js +1 -1
  98. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/mime.types +1 -0
  99. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/model/entity.js +5 -5
  100. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/model/index.js +30 -26
  101. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/model/template/entityFactory.js +1 -1
  102. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/model/template/index.js +1 -1
  103. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/index.js +3 -3
  104. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/file/package.json +2 -2
  105. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/intl/package.json +2 -2
  106. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/storage/package.json +2 -2
  107. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/validator/package.json +2 -2
  108. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/validator/src/form-validator.js +39 -27
  109. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/validator/src/main.js +419 -102
  110. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/router.js +92 -47
  111. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/server.isaac.js +92 -43
  112. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/server.js +322 -133
  113. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/status.codes +1 -11
  114. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle/controllers/setup.js +2 -2
  115. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/command/gina.tpl +1 -1
  116. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/conf/env.json +19 -0
  117. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/conf/templates.json +4 -2
  118. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/console.js +1 -1
  119. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/context.js +29 -12
  120. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/data/package.json +2 -2
  121. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/data/src/main.js +1 -1
  122. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/dateFormat.js +1 -1
  123. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/index.js +1 -1
  124. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/json/package.json +2 -2
  125. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/json/src/main.js +6 -4
  126. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/path.js +31 -15
  127. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/plugins/package.json +2 -2
  128. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/plugins/src/api-error.js +2 -2
  129. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/plugins/src/main.js +1 -1
  130. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/task.js +2 -2
  131. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/text.js +1 -1
  132. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/archiver/package.json +2 -2
  133. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/archiver/src/main.js +11 -11
  134. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/add.js +2 -1
  135. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/start.js +21 -8
  136. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/env/get.js +1 -1
  137. package/framework/v0.1.6-alpha.131/lib/cmd/env/help.js +30 -0
  138. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/build.js +1 -1
  139. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/dot.js +21 -0
  140. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/init.js +18 -0
  141. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/link-node-modules.js +2 -3
  142. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/link.js +1 -0
  143. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/tail.js +28 -11
  144. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/version.js +15 -1
  145. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/helper.js +6 -2
  146. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/index.js +1 -1
  147. package/framework/v0.1.6-alpha.131/lib/cmd/minion/help.txt +18 -0
  148. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/add.js +7 -2
  149. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/arguments.json +1 -0
  150. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/build.js +4 -4
  151. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/help.txt +4 -0
  152. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/list.js +1 -1
  153. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/protocol/list.js +71 -50
  154. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/collection/package.json +2 -2
  155. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/collection/src/main.js +20 -14
  156. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/config.js +1 -1
  157. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cron/package.json +2 -2
  158. package/framework/v0.1.6-alpha.131/lib/domain/dist/2025-03-14_13-41-20_UTC.dat +15754 -0
  159. package/framework/v0.1.6-alpha.131/lib/domain/dist/public_suffix_list.dat +15754 -0
  160. package/framework/v0.1.6-alpha.131/lib/domain/exemples/backend.js +12 -0
  161. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/domain/package.json +2 -2
  162. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/domain/src/main.js +20 -6
  163. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/generator/index.js +1 -1
  164. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/index.js +1 -1
  165. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131/lib/inherits}/LICENSE +1 -1
  166. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/inherits/package.json +2 -2
  167. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/inherits/src/main.js +1 -1
  168. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/logger/package.json +2 -2
  169. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/logger/src/containers/mq/listener.js +10 -2
  170. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/logger/src/helper.js +1 -1
  171. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/logger/src/main.js +1 -1
  172. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/math/index.js +1 -1
  173. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/merge/package.json +2 -2
  174. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/model.js +3 -3
  175. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/proc.js +10 -2
  176. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/routing/package.json +2 -2
  177. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/routing/src/main.js +79 -26
  178. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/session-store.js +3 -3
  179. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/swig-filters/package.json +2 -2
  180. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/swig-filters/src/main.js +76 -15
  181. package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/validator.js +2 -2
  182. package/framework/v0.1.6-alpha.131/package.json +11 -0
  183. package/package.json +3 -3
  184. package/resources/package.json.template +1 -1
  185. package/script/post_install.js +1 -1
  186. package/script/pre_install.js +1 -1
  187. package/utils/helper.js +33 -9
  188. package/framework/v0.1.6-alpha.13/VERSION +0 -1
  189. package/framework/v0.1.6-alpha.13/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +0 -1
  190. package/framework/v0.1.6-alpha.13/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -766
  191. package/framework/v0.1.6-alpha.13/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +0 -8
  192. package/framework/v0.1.6-alpha.13/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -7
  193. package/framework/v0.1.6-alpha.13/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +0 -8
  194. package/framework/v0.1.6-alpha.13/core/deps/busboy/.travis.yml +0 -17
  195. package/framework/v0.1.6-alpha.13/core/deps/busboy/README.md +0 -225
  196. package/framework/v0.1.6-alpha.13/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -73
  197. package/framework/v0.1.6-alpha.13/core/deps/busboy/deps/encoding/encoding.js +0 -2391
  198. package/framework/v0.1.6-alpha.13/core/deps/busboy/lib/main.js +0 -89
  199. package/framework/v0.1.6-alpha.13/core/deps/busboy/lib/types/multipart.js +0 -328
  200. package/framework/v0.1.6-alpha.13/core/deps/busboy/lib/types/urlencoded.js +0 -214
  201. package/framework/v0.1.6-alpha.13/core/deps/busboy/lib/utils.js +0 -191
  202. package/framework/v0.1.6-alpha.13/core/deps/busboy/package.json +0 -69
  203. package/framework/v0.1.6-alpha.13/lib/domain/dist/public_suffix_list.dat +0 -14186
  204. package/framework/v0.1.6-alpha.13/lib/domain/exemples/backend.js +0 -0
  205. package/framework/v0.1.6-alpha.13/package.json +0 -14
  206. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/AUTHORS +0 -0
  207. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/html/nolayout.html +0 -0
  208. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/html/static.html +0 -0
  209. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/img/android-chrome-192x192.png +0 -0
  210. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/img/android-chrome-512x512.png +0 -0
  211. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/img/apple-touch-icon.png +0 -0
  212. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/img/favicon-16x16.png +0 -0
  213. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/img/favicon-32x32.png +0 -0
  214. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/img/favicon.ico +0 -0
  215. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  216. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/plugin/uuid.json +0 -0
  217. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/connectors/couchbase/lib/connector.js +0 -0
  218. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  219. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  220. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/connectors/couchbase/lib/n1ql.js +0 -0
  221. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/connectors/couchbase/lib/session-store.js +0 -0
  222. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  223. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  224. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/controller/controller.framework.js +0 -0
  225. /package/framework/{v0.1.6-alpha.13/core/deps/busboy → v0.1.6-alpha.131/core/deps/busboy-1.6.0}/LICENSE +0 -0
  226. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  227. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/dev/lib/class.js +0 -0
  228. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/dev/lib/tools.js +0 -0
  229. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/locales/README.md +0 -0
  230. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/locales/currency.json +0 -0
  231. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/locales/dist/language/en.json +0 -0
  232. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/locales/dist/language/fr.json +0 -0
  233. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/locales/dist/region/en.json +0 -0
  234. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/locales/dist/region/fr.json +0 -0
  235. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/locales/src/resources/currency.csv +0 -0
  236. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/locales/src/resources/region.csv +0 -0
  237. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/locales/src/resources/region.mapping.json +0 -0
  238. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/README.md +0 -0
  239. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/file/README.md +0 -0
  240. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/file/build.json +0 -0
  241. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/intl/README.md +0 -0
  242. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/intl/build.json +0 -0
  243. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/intl/src/main.js +0 -0
  244. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/storage/README.md +0 -0
  245. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/storage/build.json +0 -0
  246. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/storage/src/main.js +0 -0
  247. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/validator/README.md +0 -0
  248. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/validator/build.json +0 -0
  249. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/server.express.js +0 -0
  250. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/_gitignore +0 -0
  251. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle/config/app.json +0 -0
  252. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle/config/routing.json +0 -0
  253. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle/config/settings.json +0 -0
  254. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  255. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle/config/templates.json +0 -0
  256. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  257. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  258. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle/index.js +0 -0
  259. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  260. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  261. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  262. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  263. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  264. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle_public/readme.md +0 -0
  265. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  266. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  267. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  268. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  269. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  270. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/command/gina.bat.tpl +0 -0
  271. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/conf/manifest.json +0 -0
  272. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/conf/package.json +0 -0
  273. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/conf/settings.json +0 -0
  274. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/conf/statics.json +0 -0
  275. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/error/client/json/401.json +0 -0
  276. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/error/client/json/403.json +0 -0
  277. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/error/client/json/404.json +0 -0
  278. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/error/server/html/50x.html +0 -0
  279. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/error/server/json/500.json +0 -0
  280. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/error/server/json/503.json +0 -0
  281. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/extensions/logger/config.json +0 -0
  282. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/data/LICENSE +0 -0
  283. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/data/README.md +0 -0
  284. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/json/LICENSE +0 -0
  285. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/json/README.md +0 -0
  286. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/plugins/README.md +0 -0
  287. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/prototypes.js +0 -0
  288. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/archiver/README.md +0 -0
  289. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/archiver/build.json +0 -0
  290. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/archiver/src/dep/jszip.min.js +0 -0
  291. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/aliases.json +0 -0
  292. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/arguments.json +0 -0
  293. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/copy.js +0 -0
  294. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/cp.js +0 -0
  295. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/help.js +0 -0
  296. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/help.txt +0 -0
  297. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/list.js +0 -0
  298. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/remove.js +0 -0
  299. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/rename.js +0 -0
  300. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/restart.js +0 -0
  301. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/rm.js +0 -0
  302. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/status.js +0 -0
  303. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/stop.js +0 -0
  304. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/env/add.js +0 -0
  305. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/env/help.txt +0 -0
  306. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/env/link-dev.js +0 -0
  307. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/env/list.js +0 -0
  308. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/env/remove.js +0 -0
  309. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/env/rm.js +0 -0
  310. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/env/set.js +0 -0
  311. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/env/unset.js +0 -0
  312. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/env/use.js +0 -0
  313. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/get.js +0 -0
  314. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/help.js +0 -0
  315. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/help.txt +0 -0
  316. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/msg.json +0 -0
  317. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/open.js +0 -0
  318. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/restart.js +0 -0
  319. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/set.js +0 -0
  320. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/start.js +0 -0
  321. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/status.js +0 -0
  322. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/stop.js +0 -0
  323. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/update.js +0 -0
  324. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/gina-dev.1.md +0 -0
  325. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/gina-framework.1.md +0 -0
  326. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/gina.1.md +0 -0
  327. /package/framework/{v0.1.6-alpha.13/lib/cmd/env → v0.1.6-alpha.131/lib/cmd/minion}/help.js +0 -0
  328. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/msg.json +0 -0
  329. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/port/help.js +0 -0
  330. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/port/help.txt +0 -0
  331. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/port/inc/scan.js +0 -0
  332. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/port/list.js +0 -0
  333. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/port/reset.js +0 -0
  334. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/port/set.js +0 -0
  335. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/help.js +0 -0
  336. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/import.js +0 -0
  337. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/move.js +0 -0
  338. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/remove.js +0 -0
  339. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/rename.js +0 -0
  340. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/restart.js +0 -0
  341. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/rm.js +0 -0
  342. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/start.js +0 -0
  343. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/status.js +0 -0
  344. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/stop.js +0 -0
  345. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/protocol/help.js +0 -0
  346. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/protocol/help.txt +0 -0
  347. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/protocol/set.js +0 -0
  348. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/scope/add.js +0 -0
  349. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/scope/help.js +0 -0
  350. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/scope/help.txt +0 -0
  351. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/scope/link-local.js +0 -0
  352. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/scope/link-production.js +0 -0
  353. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/scope/list.js +0 -0
  354. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/scope/remove.js +0 -0
  355. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/scope/rm.js +0 -0
  356. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/scope/use.js +0 -0
  357. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/view/add.js +0 -0
  358. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/collection/README.md +0 -0
  359. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/collection/build.json +0 -0
  360. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cron/README.md +0 -0
  361. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cron/src/main.js +0 -0
  362. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/domain/LICENSE +0 -0
  363. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/domain/README.md +0 -0
  364. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/domain/exemples/frontend.html +0 -0
  365. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/inherits/README.md +0 -0
  366. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  367. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/inherits/example/protected_inheritance.js +0 -0
  368. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/inherits/example/simple_inheritance.js +0 -0
  369. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  370. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/logger/README.md +0 -0
  371. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/logger/src/containers/default/index.js +0 -0
  372. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/logger/src/containers/file/index.js +0 -0
  373. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  374. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  375. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/logger/src/containers/mq/index.js +0 -0
  376. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/logger/src/containers/mq/speaker.js +0 -0
  377. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/merge/README.md +0 -0
  378. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/merge/example/merge.js +0 -0
  379. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/merge/example/merge_2_literal objects.js +0 -0
  380. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/merge/example/merge_and_preserve_first.js +0 -0
  381. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/merge/src/main.js +0 -0
  382. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/routing/README.md +0 -0
  383. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/routing/build.json +0 -0
  384. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/shell.js +0 -0
  385. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/swig-filters/README.md +0 -0
  386. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/url/README.md +0 -0
  387. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/url/index.js +0 -0
  388. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/url/mocks.json +0 -0
  389. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/url/routing.json +0 -0
  390. /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/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
 
@@ -997,8 +1131,10 @@ function Server(options) {
997
1131
  if ( typeof(request.headers.origin) != 'undefined' ) {
998
1132
  authority = request.headers.origin;
999
1133
  } else if (request.headers.referer) {
1000
- referer = request.headers.referer.match(/^[https://|http://][a-z0-9-_.:/]+\//)[0];
1001
- referer = referer.substring(0, referer.length-1);
1134
+ referer = request.headers.referer.match(/^[https://|http://][a-z0-9-_.:/]+\//);
1135
+ if (Array.isArray(referer) && referer.length > 0) {
1136
+ referer = referer[0].substring(0, referer.length-1);
1137
+ }
1002
1138
  }
1003
1139
 
1004
1140
  // access-control-allow-origin settings
@@ -1035,8 +1171,8 @@ function Server(options) {
1035
1171
  return name
1036
1172
  }
1037
1173
 
1038
- var env = self.conf.env
1039
- , scope = self.conf.scope
1174
+ var env = self.conf.env || self.env
1175
+ , scope = self.conf.scope || self.scope
1040
1176
  ;
1041
1177
 
1042
1178
  for (let i=0, len=matched.length; i<len; ++i) {
@@ -1054,6 +1190,9 @@ function Server(options) {
1054
1190
  project = arr[0];
1055
1191
  env = (arr[1]) ? arr[1] : env;
1056
1192
  }
1193
+ if ( typeof(self.conf[bundle]) == 'undefined' ) {
1194
+ continue;
1195
+ }
1057
1196
  scheme = self.conf[bundle][env].server.scheme;
1058
1197
  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
1198
  name = name.replace(oldHost, hostname);
@@ -1122,13 +1261,13 @@ function Server(options) {
1122
1261
  }
1123
1262
 
1124
1263
  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
1264
+ var header = null
1265
+ , isWebroot = false
1266
+ , pathname = null
1267
+ , asset = null
1268
+ , assets = this._options.template.assets
1269
+ , conf = this._options.conf
1270
+ , isCacheless = conf.isCacheless
1132
1271
  ;
1133
1272
 
1134
1273
 
@@ -1157,7 +1296,17 @@ function Server(options) {
1157
1296
  ) ? true: false
1158
1297
  ;
1159
1298
 
1160
- if (!stream.pushAllowed) {
1299
+ if (!stream.pushAllowed ) {
1300
+
1301
+ // Fix added for static sites
1302
+ if (
1303
+ !assets[ url ]
1304
+ ||
1305
+ !assets[ url ].isBinary && !assets[ url ].isHandler
1306
+ ) {
1307
+ return;
1308
+ }
1309
+
1161
1310
  asset = {
1162
1311
  url : url,
1163
1312
  filename : assets[ url ].filename,
@@ -1203,6 +1352,7 @@ function Server(options) {
1203
1352
  , header
1204
1353
  //, { onError }
1205
1354
  );
1355
+
1206
1356
  } else {
1207
1357
  stream.respond(header);
1208
1358
  stream.end();
@@ -1227,7 +1377,7 @@ function Server(options) {
1227
1377
  ':status': 301
1228
1378
  };
1229
1379
 
1230
- if (cacheless) {
1380
+ if (isCacheless) {
1231
1381
  header['cache-control'] = 'no-cache, no-store, must-revalidate';
1232
1382
  header['pragma'] = 'no-cache';
1233
1383
  header['expires'] = '0';
@@ -1300,7 +1450,7 @@ function Server(options) {
1300
1450
  header['content-length'] = fs.statSync(assets[ url ].filename).size;
1301
1451
  }
1302
1452
 
1303
- if (cacheless) {
1453
+ if (isCacheless) {
1304
1454
  // source maps integration for javascript & css
1305
1455
  if ( /(.js|.css)$/.test(asset.filename) && fs.existsSync(asset.filename +'.map') ) {
1306
1456
  //pathname = asset.filename +'.map';
@@ -1389,7 +1539,7 @@ function Server(options) {
1389
1539
  self._options.conf = bundleConf
1390
1540
  }
1391
1541
 
1392
- var cacheless = bundleConf.cacheless;
1542
+ var isCacheless = bundleConf.isCacheless;
1393
1543
  // by default
1394
1544
  var filename = bundleConf.publicPath + pathname;
1395
1545
  var isFilenameDir = null
@@ -1417,7 +1567,6 @@ function Server(options) {
1417
1567
  var key = pathname.replace(pathname.split('/').splice(-1), '');
1418
1568
  for ( ; s < sLen; ++s ) {
1419
1569
  if ( bundleConf.staticResources[s] == key ) {
1420
- // if ( eval('/^' + bundleConf.staticResources[s].replace(/\//g,'\\/') +'/').test(pathname) ) {
1421
1570
  filename = bundleConf.content.statics[ bundleConf.staticResources[s] ] +'/'+ pathname.replace(bundleConf.staticResources[s], '');
1422
1571
  break;
1423
1572
  }
@@ -1431,9 +1580,11 @@ function Server(options) {
1431
1580
 
1432
1581
 
1433
1582
  filename = decodeURIComponent(filename);
1434
- fs.exists(filename, function onStaticExists(exist) {
1583
+ let filenameObj = new _(filename, true);
1584
+ filenameObj.exists(function onStaticExists(exists) {
1585
+ // fs.exists(filename, function onStaticExists(exists) {
1435
1586
 
1436
- if (!exist) {
1587
+ if (!exists) {
1437
1588
  return throwError(response, 404, 'Page not found: \n' + pathname, next);
1438
1589
  }
1439
1590
 
@@ -1446,48 +1597,49 @@ function Server(options) {
1446
1597
  if ( !fs.existsSync(filename) ) {
1447
1598
  throwError(response, 403, 'Forbidden: \n' + pathname, next);
1448
1599
  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
- };
1600
+ }
1457
1601
 
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);
1602
+ var ext = 'html';
1603
+ if ( /http\/2/.test(protocol) ) {
1604
+ header = {
1605
+ ':status': 301,
1606
+ 'location': request.url,
1607
+ 'content-type': bundleConf.server.coreConfiguration.mime[ext]+'; charset='+ bundleConf.encoding
1608
+ };
1465
1609
 
1466
- if (!stream.destroyed) {
1467
- stream.respond(header);
1468
- stream.end();
1469
- }
1610
+ if (isCacheless) {
1611
+ header['cache-control'] = 'no-cache, no-store, must-revalidate';
1612
+ header['pragma'] = 'no-cache';
1613
+ header['expires'] = '0';
1614
+ }
1615
+ request = checkPreflightRequest(request, response);
1616
+ header = completeHeaders(header, request, response);
1470
1617
 
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()
1618
+ if (!stream.destroyed) {
1619
+ stream.respond(header);
1620
+ stream.end();
1621
+ }
1622
+
1623
+ } else {
1624
+ response.setHeader('location', request.url);
1625
+ request = checkPreflightRequest(request, response);
1626
+ completeHeaders(null, request, response);
1627
+ if (isCacheless) {
1628
+ response.writeHead(301, {
1629
+ 'cache-control': 'no-cache, no-store, must-revalidate', // preventing browsers from using cache
1630
+ 'pragma': 'no-cache',
1631
+ 'expires': '0',
1632
+ 'content-type': bundleConf.server.coreConfiguration.mime[ext]
1633
+ });
1484
1634
  }
1635
+ response.end()
1485
1636
  }
1637
+
1486
1638
  return;
1487
1639
  }
1488
1640
 
1489
1641
 
1490
- if (cacheless) {
1642
+ if (isCacheless) {
1491
1643
  delete require.cache[require.resolve(filename)];
1492
1644
  }
1493
1645
 
@@ -1537,8 +1689,12 @@ function Server(options) {
1537
1689
  request.url = ( ext != null && typeof(ext[0]) != 'undefined' ) ? request.url : request.url + 'index.html';
1538
1690
 
1539
1691
  self._responseHeaders = response.getHeaders();
1540
- if (!isBinary && typeof(self._options.template.assets[request.url]) == 'undefined')
1692
+ if (
1693
+ !isBinary
1694
+ && typeof(self._options.template.assets[request.url]) == 'undefined'
1695
+ ) {
1541
1696
  self._options.template.assets = getAssets(bundleConf, file);
1697
+ }
1542
1698
 
1543
1699
  if (
1544
1700
  typeof(self._options.template.assets[request.url]) == 'undefined'
@@ -1603,7 +1759,7 @@ function Server(options) {
1603
1759
  'location': request.url
1604
1760
  };
1605
1761
 
1606
- if (cacheless) {
1762
+ if (isCacheless) {
1607
1763
  header['cache-control'] = 'no-cache, no-store, must-revalidate';
1608
1764
  header['pragma'] = 'no-cache';
1609
1765
  header['expires'] = '0';
@@ -1674,11 +1830,11 @@ function Server(options) {
1674
1830
  'content-type': contentType + '; charset='+ bundleConf.encoding
1675
1831
  };
1676
1832
 
1677
- if (cacheless) {
1833
+ if (isCacheless) {
1678
1834
  // source maps integration for javascript & css
1679
1835
  if ( /(.js|.css)$/.test(filename) && fs.existsSync(filename +'.map') && !/sourceMappingURL/.test(file) ) {
1680
1836
  //pathname = pathname +'.map';
1681
- pathname = webroot + pathname.substr(1) +'.map';
1837
+ pathname = webroot + pathname.substring(1) +'.map';
1682
1838
  // serve without cache
1683
1839
  header['X-SourceMap'] = pathname;
1684
1840
  header['cache-control'] = 'no-cache, no-store, must-revalidate';
@@ -1708,11 +1864,11 @@ function Server(options) {
1708
1864
  response.setHeader('content-length', fs.statSync(filename).size);
1709
1865
  }
1710
1866
 
1711
- if (cacheless) {
1867
+ if (isCacheless) {
1712
1868
  // source maps integration for javascript & css
1713
1869
  if ( /(.js|.css)$/.test(filename) && fs.existsSync(filename +'.map') && !/sourceMappingURL/.test(file) ) {
1714
1870
  //pathname = pathname +'.map'
1715
- pathname = webroot + pathname.substr(1) +'.map';
1871
+ pathname = webroot + pathname.substring(1) +'.map';
1716
1872
  response.setHeader("X-SourceMap", pathname)
1717
1873
  }
1718
1874
 
@@ -1753,7 +1909,8 @@ function Server(options) {
1753
1909
  });
1754
1910
 
1755
1911
 
1756
- })
1912
+ });
1913
+ filenameObj = null;
1757
1914
  }
1758
1915
 
1759
1916
 
@@ -1765,6 +1922,28 @@ function Server(options) {
1765
1922
  // catch all (request urls)
1766
1923
  self.instance.all('*', function onInstance(request, response, next) {
1767
1924
 
1925
+ // Caching = [...]
1926
+ // TODO - handle this through a middleware
1927
+ /**
1928
+ * var cacheIndex = ['/api/document/get/b47c4dd3-f7c4-44b2-b1fb-401948be1ca4'].indexOf(request.url)
1929
+ * if ( cacheIndex > -1) {
1930
+ * // return caching[cacheIndex].content
1931
+ * }
1932
+ */
1933
+
1934
+ // Retrieving cached route
1935
+ // var cachedUrls = ['/'];
1936
+ // if (cachedUrls.indexOf(request.url) > -1) {
1937
+ // request.routing = JSON.parse('{"method":"GET","namespace":"home","url":"/","rule":"home@public","param":{"control":"home","file":"../home"},"middleware":["middlewares.maintenance.check"],"bundle":"public","isXMLRequest":false,"isWithCredentials":false}');
1938
+ // var headers = JSON.parse('{"x-powered-by":"Gina I/O - v0.1.6-alpha.94","access-control-allow-headers":"X-Requested-With, Content-Type","access-control-allow-methods":"GET","access-control-allow-credentials":true,"vary":"Origin","accept-language":"en-US,en;q=0.8,fr;q=0.6"}');
1939
+ // for (let h in headers) {
1940
+ // response.setHeader(h, headers[h]);
1941
+ // }
1942
+
1943
+ // return local.router.route(request, response, next, request.routing);
1944
+ // }
1945
+
1946
+
1768
1947
 
1769
1948
  request.setEncoding(self.conf[self.appName][self.env].encoding);
1770
1949
  // be carfull, if you are using jQuery + cross domain, you have to set the header manually in your $.ajax query -> headers: {'X-Requested-With': 'XMLHttpRequest'}
@@ -1864,7 +2043,7 @@ function Server(options) {
1864
2043
  if ( typeof(ext) != 'undefined' && ext != null) {
1865
2044
  ext = ext[0];
1866
2045
  // if image with `@` found
1867
- if ( /^image/i.test(self.conf[self.appName][self.env].server.coreConfiguration.mime[ext.substr(1)]) ) {
2046
+ if ( /^image/i.test(self.conf[self.appName][self.env].server.coreConfiguration.mime[ext.substring(1)]) ) {
1868
2047
  isImage = true
1869
2048
  }
1870
2049
  }
@@ -1873,7 +2052,7 @@ function Server(options) {
1873
2052
  // and must not be an email
1874
2053
  && !/^(([^<>()[\]\\.,;:\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
2054
  // and must be handled by mime.types
1876
- && typeof(self.conf[self.appName][self.env].server.coreConfiguration.mime[ext.substr(1)]) != 'undefined'
2055
+ && typeof(self.conf[self.appName][self.env].server.coreConfiguration.mime[ext.substring(1)]) != 'undefined'
1877
2056
  ||
1878
2057
  ext != null
1879
2058
  && isImage
@@ -1899,7 +2078,7 @@ function Server(options) {
1899
2078
 
1900
2079
  if (
1901
2080
  staticProps.isStaticFilename && staticsArr.indexOf(request.url) > -1
1902
- || staticProps.isStaticFilename && staticsArr.indexOf( request.url.replace(request.url.substr(request.url.lastIndexOf('/')+1), '') ) > -1
2081
+ || staticProps.isStaticFilename && staticsArr.indexOf( request.url.replace(request.url.substring(request.url.lastIndexOf('/')+1), '') ) > -1
1903
2082
  || staticProps.isStaticFilename && new RegExp('^'+ staticProps.firstLevel).test(request.url)
1904
2083
  || /\/$/.test(request.url) && !isWebrootHandledByRouting && !/\/engine\.io\//.test(request.url)
1905
2084
  ) {
@@ -2067,11 +2246,14 @@ function Server(options) {
2067
2246
  'method': 'POST',
2068
2247
  'bundle' : self.appName
2069
2248
  };
2070
- var busboy = new Busboy({ headers: request.headers });
2249
+ var busboy = Busboy({ headers: request.headers });
2071
2250
 
2072
2251
  // busboy.on('field', function(fieldname, val, fieldnameTruncated, valTruncated) {
2073
2252
  // console.log('Field [' + fieldname + ']: value: ' + inspect(val));
2074
2253
  // });
2254
+
2255
+ // Attention: on busboy upgrade, we needs to adapt `busboy/lib/types/multipart.js`
2256
+ // For this, check the emit method
2075
2257
  busboy.on('file', function(fieldname, file, filename, encoding, mimetype, group) {
2076
2258
 
2077
2259
  file._dataLen = 0;
@@ -2087,7 +2269,7 @@ function Server(options) {
2087
2269
  && opt.groups[group].allowedExtensions != '*'
2088
2270
  ) {
2089
2271
  var ext = opt.groups[group].allowedExtensions;
2090
- var fileExt = filename.substr(filename.lastIndexOf('.')+1)
2272
+ var fileExt = filename.substring(filename.lastIndexOf('.')+1)
2091
2273
  if ( !Array.isArray(ext) ) {
2092
2274
  ext = [ext]
2093
2275
  }
@@ -2243,12 +2425,12 @@ function Server(options) {
2243
2425
  // get rid of encoding issues
2244
2426
  try {
2245
2427
  if ( !/multipart\/form-data;/.test(request.headers['content-type']) ) {
2246
- if ( /application\/x\-www\-form\-urlencoded/.test(request.headers['content-type']) && /\+/.test(request.body) ) {
2428
+ if ( !/application\/x\-www\-form\-urlencoded/.test(request.headers['content-type']) && /\+/.test(request.body) ) {
2247
2429
  request.body = request.body.replace(/\+/g, ' ');
2248
2430
  }
2249
2431
 
2250
- if ( request.body.substr(0,1) == '?')
2251
- request.body = request.body.substr(1);
2432
+ if ( request.body.substring(0,1) == '?')
2433
+ request.body = request.body.substring(1);
2252
2434
 
2253
2435
  try {
2254
2436
  bodyStr = decodeURIComponent(request.body); // it is already a string for sure
@@ -2399,8 +2581,8 @@ function Server(options) {
2399
2581
  request.body = request.body.replace(/\+/g, ' ');
2400
2582
  }
2401
2583
 
2402
- if ( request.body.substr(0,1) == '?')
2403
- request.body = request.body.substr(1);
2584
+ if ( request.body.substring(0,1) == '?')
2585
+ request.body = request.body.substring(1);
2404
2586
 
2405
2587
  // false & true case
2406
2588
  try {
@@ -2521,8 +2703,10 @@ function Server(options) {
2521
2703
 
2522
2704
  var config = new Config();
2523
2705
  config.setBundles(self.bundles);
2524
- var conf = config.getInstance(); // for all loaded bundles
2525
- if ( typeof(conf) != 'undefined') {//for cacheless mode
2706
+ // for all loaded bundles
2707
+ var conf = config.getInstance();
2708
+ //for cacheless mode
2709
+ if ( typeof(conf) != 'undefined') {
2526
2710
  self.conf = conf;
2527
2711
  }
2528
2712
 
@@ -2537,7 +2721,7 @@ function Server(options) {
2537
2721
  if (self.bundles.indexOf(b) < 0) continue;
2538
2722
  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
2723
  for (let s in conf[b][self.env].content.statics) {
2540
- s = (s.substr(0,1) == '/') ? s.substr(1) : s;
2724
+ s = (s.substring(0,1) == '/') ? s.substring(1) : s;
2541
2725
  if ( (new RegExp('^/'+s)).test(pathname) ) {
2542
2726
  bundle = b;
2543
2727
  break end
@@ -2572,18 +2756,18 @@ function Server(options) {
2572
2756
  }
2573
2757
 
2574
2758
  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
2759
+ var err = options.err
2760
+ , isCacheless = options.config.isCacheless()
2761
+ , pathname = options.pathname
2762
+ , req = options.req
2763
+ , res = options.res
2764
+ , config = options.conf
2765
+ , next = options.next
2766
+ , callback = options.callback
2583
2767
  ;
2584
2768
 
2585
2769
  //Reloading assets & files.
2586
- // if (!cacheless) { // all but dev & debug
2770
+ // if (!isCacheless) { // all but dev & debug
2587
2771
  callback(err, bundle, pathname, options.config, req, res, next)
2588
2772
  // } else {
2589
2773
  // config.refresh(bundle, function(err, routing) {
@@ -2706,7 +2890,7 @@ function Server(options) {
2706
2890
  , isRoute = {}
2707
2891
  , withViews = hasViews(bundle)
2708
2892
  , router = local.router
2709
- , cacheless = config.isCacheless()
2893
+ , isCacheless = config.isCacheless()
2710
2894
  , wroot = null
2711
2895
  ;
2712
2896
 
@@ -2736,6 +2920,11 @@ function Server(options) {
2736
2920
  var isMethodAllowed = null, hostname = null;
2737
2921
  out:
2738
2922
  for (let name in routing) {
2923
+ // ignoring routes out of scope
2924
+ if ( routing[name].scopes.indexOf(process.env.NODE_SCOPE) < 0 ) {
2925
+ continue;
2926
+ }
2927
+
2739
2928
  if ( typeof(routing[name]['param']) == 'undefined' ) {
2740
2929
  break;
2741
2930
  }
@@ -2961,11 +3150,11 @@ function Server(options) {
2961
3150
  , ext = null
2962
3151
  , isHtmlContent = false
2963
3152
  , hasCustomErrorFile = false
2964
- , eCode = code.toString().substr(0,1) + 'xx'
3153
+ , eCode = code.toString().substring(0,1) + 'xx'
2965
3154
  ;
2966
- var extArr = url.substr(url.lastIndexOf('.')).match(/(\.[A-Za-z0-9]+)/);
3155
+ var extArr = url.substring(url.lastIndexOf('.')).match(/(\.[A-Za-z0-9]+)/);
2967
3156
  if (extArr) {
2968
- ext = extArr[0].substr(1);
3157
+ ext = extArr[0].substring(1);
2969
3158
  }
2970
3159
  if ( !ext || /^(html|htm)$/i.test(ext) ) {
2971
3160
  isHtmlContent = true;