gina 0.1.6-alpha.9 → 0.1.6-alpha.90
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.
- package/LICENSE +1 -1
- package/README-4Contributors.md +14 -8
- package/README.md +4 -4
- package/bin/cli +14 -0
- package/bin/gina +29 -1
- package/framework/{v0.1.6-alpha.9/lib/inherits → v0.1.6-alpha.90}/LICENSE +1 -1
- package/framework/v0.1.6-alpha.90/VERSION +1 -0
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/asset/plugin/README.md +1 -0
- package/framework/v0.1.6-alpha.90/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/asset/plugin/dist/vendor/gina/html/toolbar.html +1 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/asset/plugin/dist/vendor/gina/js/gina.js +582 -217
- package/framework/v0.1.6-alpha.90/core/asset/plugin/dist/vendor/gina/js/gina.min.js +777 -0
- package/framework/v0.1.6-alpha.90/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
- package/framework/v0.1.6-alpha.90/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +8 -0
- package/framework/v0.1.6-alpha.90/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/config.js +157 -76
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/connectors/couchbase/index.js +92 -22
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/connectors/couchbase/lib/connector.v4.js +28 -22
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/controller/controller.js +419 -109
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/controller/index.js +2 -2
- package/framework/v0.1.6-alpha.90/core/deps/busboy-1.6.0/.github/workflows/ci.yml +24 -0
- package/framework/v0.1.6-alpha.90/core/deps/busboy-1.6.0/.github/workflows/lint.yml +23 -0
- package/framework/v0.1.6-alpha.90/core/deps/busboy-1.6.0/README.md +191 -0
- package/framework/v0.1.6-alpha.90/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-big.js +149 -0
- package/framework/v0.1.6-alpha.90/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-small.js +143 -0
- package/framework/v0.1.6-alpha.90/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-big.js +154 -0
- package/framework/v0.1.6-alpha.90/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-small.js +148 -0
- package/framework/v0.1.6-alpha.90/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-100pairs-small.js +101 -0
- package/framework/v0.1.6-alpha.90/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-900pairs-small-alt.js +84 -0
- package/framework/v0.1.6-alpha.90/core/deps/busboy-1.6.0/lib/index.js +57 -0
- package/framework/v0.1.6-alpha.90/core/deps/busboy-1.6.0/lib/types/multipart.js +680 -0
- package/framework/v0.1.6-alpha.90/core/deps/busboy-1.6.0/lib/types/urlencoded.js +350 -0
- package/framework/v0.1.6-alpha.90/core/deps/busboy-1.6.0/lib/utils.js +596 -0
- package/framework/v0.1.6-alpha.90/core/deps/busboy-1.6.0/package.json +22 -0
- package/framework/v0.1.6-alpha.90/core/deps/optimist-0.6.1/.travis.yml +4 -0
- package/framework/v0.1.6-alpha.90/core/deps/optimist-0.6.1/LICENSE +21 -0
- package/framework/v0.1.6-alpha.90/core/deps/optimist-0.6.1/example/bool.js +10 -0
- package/framework/v0.1.6-alpha.90/core/deps/optimist-0.6.1/example/boolean_double.js +7 -0
- package/framework/v0.1.6-alpha.90/core/deps/optimist-0.6.1/example/boolean_single.js +7 -0
- package/framework/v0.1.6-alpha.90/core/deps/optimist-0.6.1/example/default_hash.js +8 -0
- package/framework/v0.1.6-alpha.90/core/deps/optimist-0.6.1/example/default_singles.js +7 -0
- package/framework/v0.1.6-alpha.90/core/deps/optimist-0.6.1/example/divide.js +8 -0
- package/framework/v0.1.6-alpha.90/core/deps/optimist-0.6.1/example/line_count.js +20 -0
- package/framework/v0.1.6-alpha.90/core/deps/optimist-0.6.1/example/line_count_options.js +29 -0
- package/framework/v0.1.6-alpha.90/core/deps/optimist-0.6.1/example/line_count_wrap.js +29 -0
- package/framework/v0.1.6-alpha.90/core/deps/optimist-0.6.1/example/nonopt.js +4 -0
- package/framework/v0.1.6-alpha.90/core/deps/optimist-0.6.1/example/reflect.js +2 -0
- package/framework/v0.1.6-alpha.90/core/deps/optimist-0.6.1/example/short.js +3 -0
- package/framework/v0.1.6-alpha.90/core/deps/optimist-0.6.1/example/string.js +11 -0
- package/framework/v0.1.6-alpha.90/core/deps/optimist-0.6.1/example/usage-options.js +19 -0
- package/framework/v0.1.6-alpha.90/core/deps/optimist-0.6.1/example/xup.js +10 -0
- package/framework/v0.1.6-alpha.90/core/deps/optimist-0.6.1/index.js +343 -0
- package/framework/v0.1.6-alpha.90/core/deps/optimist-0.6.1/package.json +31 -0
- package/framework/v0.1.6-alpha.90/core/deps/optimist-0.6.1/package.json.dist +39 -0
- package/framework/v0.1.6-alpha.90/core/deps/optimist-0.6.1/readme.markdown +513 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/HISTORY.md +498 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/LICENSE +7 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/README.md +88 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/bin/swig.js +161 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/bin/swig.js.dist +161 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/dist/swig.min.js +7 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/dist/swig.min.js.map +8 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/index.js +1 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/dateformatter.js +198 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/filters.js +630 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/lexer.js +306 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/loaders/filesystem.js +59 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/loaders/index.js +53 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/loaders/memory.js +63 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/parser.js +744 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/swig.js +740 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/tags/autoescape.js +37 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/tags/block.js +25 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/tags/else.js +25 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/tags/elseif.js +28 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/tags/extends.js +19 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/tags/filter.js +68 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/tags/for.js +130 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/tags/if.js +86 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/tags/import.js +91 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/tags/include.js +100 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/tags/index.js +16 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/tags/macro.js +79 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/tags/parent.js +51 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/tags/raw.js +23 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/tags/set.js +109 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/tags/spaceless.js +42 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/lib/utils.js +184 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/package.json +57 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-1.4.2/package.json.dist +61 -0
- package/framework/v0.1.6-alpha.90/core/deps/swig-client/swig.js +5031 -0
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/dev/index.js +1 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/dev/lib/factory.js +1 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/gna.js +101 -22
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/locales/index.js +3 -3
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/locales/src/make.js +1 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/mime.types +1 -0
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/model/entity.js +5 -5
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/model/index.js +30 -26
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/model/template/entityFactory.js +1 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/model/template/index.js +1 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/plugins/index.js +3 -3
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/plugins/lib/file/package.json +2 -2
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/plugins/lib/intl/package.json +2 -2
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/plugins/lib/storage/package.json +2 -2
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/plugins/lib/validator/package.json +2 -2
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/plugins/lib/validator/src/form-validator.js +39 -27
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/plugins/lib/validator/src/main.js +360 -85
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/router.js +92 -47
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/server.isaac.js +86 -10
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/server.js +172 -86
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/status.codes +1 -11
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/boilerplate/bundle/controllers/setup.js +2 -2
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/command/gina.tpl +1 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/conf/env.json +2 -0
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/conf/templates.json +4 -2
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/helpers/console.js +1 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/helpers/context.js +29 -12
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/helpers/data/package.json +2 -2
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/helpers/data/src/main.js +1 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/helpers/dateFormat.js +1 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/helpers/index.js +1 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/helpers/json/package.json +2 -2
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/helpers/json/src/main.js +6 -4
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/helpers/path.js +31 -15
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/helpers/plugins/package.json +2 -2
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/helpers/plugins/src/api-error.js +2 -2
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/helpers/plugins/src/main.js +1 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/helpers/text.js +1 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/archiver/package.json +2 -2
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/archiver/src/main.js +11 -11
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/bundle/add.js +2 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/bundle/start.js +21 -8
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/env/get.js +1 -1
- package/framework/v0.1.6-alpha.90/lib/cmd/env/help.js +30 -0
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/framework/build.js +1 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/framework/init.js +18 -0
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/framework/link-node-modules.js +2 -3
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/framework/link.js +1 -0
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/framework/tail.js +28 -11
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/framework/version.js +15 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/helper.js +6 -2
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/index.js +1 -1
- package/framework/v0.1.6-alpha.90/lib/cmd/minion/help.txt +18 -0
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/project/add.js +3 -2
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/project/build.js +4 -4
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/project/list.js +1 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/protocol/list.js +71 -50
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/collection/package.json +2 -2
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/collection/src/main.js +20 -14
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/config.js +1 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cron/package.json +2 -2
- package/framework/v0.1.6-alpha.90/lib/domain/dist/2025-03-14_13-41-20_UTC.dat +15754 -0
- package/framework/v0.1.6-alpha.90/lib/domain/dist/public_suffix_list.dat +15754 -0
- package/framework/v0.1.6-alpha.90/lib/domain/exemples/backend.js +12 -0
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/domain/package.json +2 -2
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/domain/src/main.js +20 -6
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/generator/index.js +1 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/index.js +1 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90/lib/inherits}/LICENSE +1 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/inherits/package.json +2 -2
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/inherits/src/main.js +1 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/logger/package.json +2 -2
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/logger/src/containers/mq/listener.js +10 -2
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/logger/src/helper.js +1 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/logger/src/main.js +1 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/math/index.js +1 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/merge/package.json +2 -2
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/model.js +3 -3
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/proc.js +9 -1
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/routing/package.json +2 -2
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/routing/src/main.js +72 -25
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/session-store.js +3 -3
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/swig-filters/package.json +2 -2
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/swig-filters/src/main.js +70 -15
- package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/validator.js +2 -2
- package/framework/v0.1.6-alpha.90/package.json +11 -0
- package/package.json +3 -3
- package/resources/package.json.template +1 -1
- package/script/post_install.js +1 -1
- package/script/pre_install.js +1 -1
- package/utils/helper.js +24 -0
- package/framework/v0.1.6-alpha.9/VERSION +0 -1
- package/framework/v0.1.6-alpha.9/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +0 -1
- package/framework/v0.1.6-alpha.9/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -766
- package/framework/v0.1.6-alpha.9/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +0 -8
- package/framework/v0.1.6-alpha.9/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -7
- package/framework/v0.1.6-alpha.9/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +0 -8
- package/framework/v0.1.6-alpha.9/core/deps/busboy/.travis.yml +0 -17
- package/framework/v0.1.6-alpha.9/core/deps/busboy/README.md +0 -225
- package/framework/v0.1.6-alpha.9/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -73
- package/framework/v0.1.6-alpha.9/core/deps/busboy/deps/encoding/encoding.js +0 -2391
- package/framework/v0.1.6-alpha.9/core/deps/busboy/lib/main.js +0 -89
- package/framework/v0.1.6-alpha.9/core/deps/busboy/lib/types/multipart.js +0 -328
- package/framework/v0.1.6-alpha.9/core/deps/busboy/lib/types/urlencoded.js +0 -214
- package/framework/v0.1.6-alpha.9/core/deps/busboy/lib/utils.js +0 -191
- package/framework/v0.1.6-alpha.9/core/deps/busboy/package.json +0 -69
- package/framework/v0.1.6-alpha.9/lib/domain/dist/public_suffix_list.dat +0 -14186
- package/framework/v0.1.6-alpha.9/lib/domain/exemples/backend.js +0 -0
- package/framework/v0.1.6-alpha.9/package.json +0 -14
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/AUTHORS +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/asset/html/nolayout.html +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/asset/html/static.html +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/asset/img/android-chrome-192x192.png +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/asset/img/android-chrome-512x512.png +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/asset/img/apple-touch-icon.png +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/asset/img/favicon-16x16.png +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/asset/img/favicon-32x32.png +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/asset/img/favicon.ico +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/asset/plugin/uuid.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/connectors/couchbase/lib/connector.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/connectors/couchbase/lib/connector.v2.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/connectors/couchbase/lib/connector.v3.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/connectors/couchbase/lib/n1ql.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/connectors/couchbase/lib/session-store.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/controller/controller.framework.js +0 -0
- /package/framework/{v0.1.6-alpha.9/core/deps/busboy → v0.1.6-alpha.90/core/deps/busboy-1.6.0}/LICENSE +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/dev/lib/class.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/dev/lib/tools.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/locales/README.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/locales/currency.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/locales/dist/language/en.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/locales/dist/language/fr.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/locales/dist/region/en.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/locales/dist/region/fr.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/locales/src/resources/currency.csv +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/locales/src/resources/region.csv +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/locales/src/resources/region.mapping.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/plugins/README.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/plugins/lib/file/README.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/plugins/lib/file/build.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/plugins/lib/intl/README.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/plugins/lib/intl/build.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/plugins/lib/intl/src/main.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/plugins/lib/storage/README.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/plugins/lib/storage/build.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/plugins/lib/storage/src/main.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/plugins/lib/validator/README.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/plugins/lib/validator/build.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/server.express.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/_gitignore +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/boilerplate/bundle/config/app.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/boilerplate/bundle/config/routing.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/boilerplate/bundle/config/settings.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/boilerplate/bundle/config/templates.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/boilerplate/bundle/index.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/boilerplate/bundle_public/readme.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/command/gina.bat.tpl +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/conf/manifest.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/conf/package.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/conf/settings.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/conf/statics.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/error/client/json/401.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/error/client/json/403.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/error/client/json/404.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/error/server/html/50x.html +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/error/server/json/500.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/error/server/json/503.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/core/template/extensions/logger/config.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/helpers/data/LICENSE +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/helpers/data/README.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/helpers/json/LICENSE +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/helpers/json/README.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/helpers/plugins/README.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/helpers/prototypes.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/helpers/task.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/archiver/README.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/archiver/build.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/archiver/src/dep/jszip.min.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/aliases.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/bundle/arguments.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/bundle/copy.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/bundle/cp.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/bundle/help.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/bundle/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/bundle/list.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/bundle/remove.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/bundle/rename.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/bundle/restart.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/bundle/rm.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/bundle/status.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/bundle/stop.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/env/add.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/env/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/env/link-dev.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/env/list.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/env/remove.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/env/rm.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/env/set.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/env/unset.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/env/use.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/framework/dot.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/framework/get.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/framework/help.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/framework/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/framework/msg.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/framework/open.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/framework/restart.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/framework/set.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/framework/start.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/framework/status.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/framework/stop.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/framework/update.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/gina-dev.1.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/gina-framework.1.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/gina.1.md +0 -0
- /package/framework/{v0.1.6-alpha.9/lib/cmd/env → v0.1.6-alpha.90/lib/cmd/minion}/help.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/msg.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/port/help.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/port/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/port/inc/scan.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/port/list.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/port/reset.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/port/set.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/project/arguments.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/project/help.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/project/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/project/import.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/project/move.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/project/remove.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/project/rename.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/project/restart.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/project/rm.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/project/start.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/project/status.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/project/stop.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/protocol/help.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/protocol/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/protocol/set.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/scope/add.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/scope/help.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/scope/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/scope/link-local.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/scope/link-production.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/scope/list.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/scope/remove.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/scope/rm.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/scope/use.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cmd/view/add.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/collection/README.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/collection/build.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cron/README.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/cron/src/main.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/domain/LICENSE +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/domain/README.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/domain/exemples/frontend.html +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/inherits/README.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/inherits/example/inheriting_eventemitter.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/inherits/example/protected_inheritance.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/inherits/example/simple_inheritance.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/logger/README.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/logger/src/containers/default/index.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/logger/src/containers/file/index.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/logger/src/containers/mq/index.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/logger/src/containers/mq/speaker.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/merge/README.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/merge/example/merge.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/merge/example/merge_2_literal objects.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/merge/example/merge_and_preserve_first.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/merge/src/main.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/routing/README.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/routing/build.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/shell.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/swig-filters/README.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/url/README.md +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/url/index.js +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/url/mocks.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/lib/url/routing.json +0 -0
- /package/framework/{v0.1.6-alpha.9 → v0.1.6-alpha.90}/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
|
|
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
|
-
|
|
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.
|
|
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
|
-
,
|
|
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 (
|
|
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.
|
|
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.
|
|
431
|
-
tmp[rule].url = tmp[rule].url.
|
|
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.
|
|
435
|
-
wroot = wroot.
|
|
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.
|
|
452
|
-
localWroot = localWroot.
|
|
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].
|
|
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.
|
|
470
|
-
wroot = wroot.
|
|
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.
|
|
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.
|
|
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 = []
|
|
@@ -662,39 +683,85 @@ function Server(options) {
|
|
|
662
683
|
for (; i < len; ++i) {
|
|
663
684
|
|
|
664
685
|
if (
|
|
665
|
-
!/(\<img|\<link|\<script)/g.test(layoutAssets[i])
|
|
666
|
-
||
|
|
686
|
+
!/(\<img|\<link|\<source|\<script)/g.test(layoutAssets[i])
|
|
687
|
+
||
|
|
688
|
+
// not able to handle srcset case for now
|
|
689
|
+
/**
|
|
690
|
+
/\<img/.test(layoutAssets[i])
|
|
691
|
+
&& */ /srcset/.test(layoutAssets[i])
|
|
667
692
|
) {
|
|
668
693
|
continue;
|
|
669
694
|
}
|
|
670
695
|
|
|
696
|
+
// https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel/preload
|
|
697
|
+
let asType = null;
|
|
698
|
+
|
|
671
699
|
if ( /\<img/.test(layoutAssets[i]) ) {
|
|
672
700
|
type = 'image';
|
|
673
701
|
tag = 'img';
|
|
702
|
+
asType = type;
|
|
674
703
|
}
|
|
675
704
|
|
|
676
|
-
|
|
677
|
-
type = 'javascript';
|
|
678
|
-
tag = 'script';
|
|
679
|
-
}
|
|
705
|
+
|
|
680
706
|
|
|
681
707
|
if ( /\<link/.test(layoutAssets[i]) ) {
|
|
682
|
-
if ( /rel\=\"stylesheet/.test(layoutAssets[i]) ) {
|
|
683
|
-
|
|
684
|
-
} else if ( /rel\=\"(icon|(.*)\-icon)/.test(layoutAssets[i]) ) {
|
|
685
|
-
|
|
686
|
-
} else {
|
|
687
|
-
|
|
708
|
+
// if ( /rel\=\"stylesheet/.test(layoutAssets[i]) ) {
|
|
709
|
+
// type = 'stylesheet';
|
|
710
|
+
// } else if ( /rel\=\"(icon|(.*)\-icon)/.test(layoutAssets[i]) ) {
|
|
711
|
+
// type = 'image';
|
|
712
|
+
// } else {
|
|
713
|
+
// type = 'file';
|
|
714
|
+
// }
|
|
715
|
+
type = layoutAssets[i].match(/rel=\"[-a-z 0-9]+\"/)[0] || null;
|
|
716
|
+
if (type) {
|
|
717
|
+
type = type.replace(/^rel\=\"|"$/g, '');
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
|
|
721
|
+
switch (type) {
|
|
722
|
+
case /stylesheet/.test(type):
|
|
723
|
+
asType = 'style';
|
|
724
|
+
break;
|
|
725
|
+
|
|
726
|
+
case /javascript/.test(type):
|
|
727
|
+
asType = 'script';
|
|
728
|
+
break;
|
|
729
|
+
|
|
730
|
+
default:
|
|
731
|
+
asType = null;
|
|
732
|
+
if ( /icon/.test(type) ) {
|
|
733
|
+
asType = 'image';
|
|
734
|
+
}
|
|
735
|
+
if ( /font/.test(type) ) {
|
|
736
|
+
asType = 'font';
|
|
737
|
+
}
|
|
738
|
+
// if ( /manifest/.test(type) ) {
|
|
739
|
+
// asType = 'webmanifest';
|
|
740
|
+
// }
|
|
741
|
+
break;
|
|
688
742
|
}
|
|
689
743
|
|
|
690
744
|
tag = 'link';
|
|
691
745
|
}
|
|
692
746
|
|
|
747
|
+
if ( /\<source/.test(layoutAssets[i]) ) {
|
|
748
|
+
if ( /type\=\"image/.test(layoutAssets[i]) ) {
|
|
749
|
+
type = 'image';
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
tag = 'source';
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
if ( /\<script/.test(layoutAssets[i]) ) {
|
|
756
|
+
type = 'javascript';
|
|
757
|
+
tag = 'script';
|
|
758
|
+
}
|
|
759
|
+
|
|
693
760
|
domain = null;
|
|
694
761
|
try {
|
|
695
|
-
url = layoutAssets[i].match(/(src|href)\=(\".*?\"|\'.*?\')/)[0];
|
|
762
|
+
url = layoutAssets[i].match(/(src|href|srcset)\=(\".*?\"|\'.*?\')/)[0];
|
|
696
763
|
} catch (err) {
|
|
697
|
-
console.warn('Problem with this asset ('+ i +'/'+ len +'): '+ layoutAssets[i].
|
|
764
|
+
console.warn('Problem with this asset ('+ i +'/'+ len +'): '+ layoutAssets[i].substring(0, 80) +'...');
|
|
698
765
|
continue;
|
|
699
766
|
}
|
|
700
767
|
|
|
@@ -703,12 +770,13 @@ function Server(options) {
|
|
|
703
770
|
continue
|
|
704
771
|
}
|
|
705
772
|
//url = url.replace(/((src|href)\=\"|(src|href)\=\'|\"|\')/g, '');
|
|
706
|
-
url = url.replace(/((src|href)\=\"|(src|href)\=\')/g, '');
|
|
773
|
+
url = url.replace(/((src|href|srcset)\=\"|(src|href|srcset)\=\')/g, '');
|
|
707
774
|
if ( !/^\{\{/.test(url) ) {
|
|
708
775
|
url = url.replace(/(\"|\')/g, '');
|
|
709
776
|
}
|
|
710
|
-
if (swig && /^\{\{/.test(url) )
|
|
777
|
+
if (swig && /^\{\{/.test(url) ) {
|
|
711
778
|
url = swig.compile(url, swig.getOptions())(data);
|
|
779
|
+
}
|
|
712
780
|
|
|
713
781
|
if (!/(\:\/\/|^\/\/)/.test(url) ) {
|
|
714
782
|
filename = getAssetFilenameFromUrl(bundleConf, url);
|
|
@@ -728,7 +796,7 @@ function Server(options) {
|
|
|
728
796
|
isAvailable = ( /404/.test(filename) ) ? false : true;
|
|
729
797
|
if ( isAvailable ) {
|
|
730
798
|
try {
|
|
731
|
-
ext = url.
|
|
799
|
+
ext = url.substring(url.lastIndexOf('.')).match(/(\.[A-Za-z0-9]+)/)[0];
|
|
732
800
|
} catch(err) {
|
|
733
801
|
|
|
734
802
|
console.warn('No extension found for `'+ filename +'`\n'+ err.stack );
|
|
@@ -737,11 +805,13 @@ function Server(options) {
|
|
|
737
805
|
}
|
|
738
806
|
|
|
739
807
|
|
|
808
|
+
|
|
740
809
|
assets[key] = {
|
|
741
810
|
type : type,
|
|
811
|
+
as : asType,
|
|
742
812
|
url : url,
|
|
743
813
|
ext : ext,
|
|
744
|
-
mime : (!ext) ? 'NA' : (bundleConf.server.coreConfiguration.mime[ext.
|
|
814
|
+
mime : (!ext) ? 'NA' : (bundleConf.server.coreConfiguration.mime[ext.substring(1)] || 'NA'),
|
|
745
815
|
filename : ( /404/.test(filename) ) ? 'not found' : filename,
|
|
746
816
|
isAvailable : isAvailable
|
|
747
817
|
};
|
|
@@ -873,14 +943,14 @@ function Server(options) {
|
|
|
873
943
|
//key = (( /404/.test(filename) ) ? '[404]' : '[200]') +' '+ url;
|
|
874
944
|
key = url;
|
|
875
945
|
isAvailable = ( /404/.test(filename) ) ? false : true;
|
|
876
|
-
ext = url.
|
|
946
|
+
ext = url.substring(url.lastIndexOf('.')).match(/(\.[A-Za-z0-9]+)/)[0];
|
|
877
947
|
assets[key] = {
|
|
878
948
|
referrer : cssFiles[i],
|
|
879
949
|
definition : definition,
|
|
880
950
|
type : type,
|
|
881
951
|
url : url,
|
|
882
952
|
ext : ext,
|
|
883
|
-
mime : bundleConf.server.coreConfiguration.mime[ext.
|
|
953
|
+
mime : bundleConf.server.coreConfiguration.mime[ext.substring(1)] || 'NA',
|
|
884
954
|
filename : ( /404/.test(filename) ) ? 'not found' : filename
|
|
885
955
|
};
|
|
886
956
|
|
|
@@ -1035,8 +1105,8 @@ function Server(options) {
|
|
|
1035
1105
|
return name
|
|
1036
1106
|
}
|
|
1037
1107
|
|
|
1038
|
-
var env = self.conf.env
|
|
1039
|
-
, scope = self.conf.scope
|
|
1108
|
+
var env = self.conf.env || self.env
|
|
1109
|
+
, scope = self.conf.scope || self.scope
|
|
1040
1110
|
;
|
|
1041
1111
|
|
|
1042
1112
|
for (let i=0, len=matched.length; i<len; ++i) {
|
|
@@ -1054,6 +1124,9 @@ function Server(options) {
|
|
|
1054
1124
|
project = arr[0];
|
|
1055
1125
|
env = (arr[1]) ? arr[1] : env;
|
|
1056
1126
|
}
|
|
1127
|
+
if ( typeof(self.conf[bundle]) == 'undefined' ) {
|
|
1128
|
+
continue;
|
|
1129
|
+
}
|
|
1057
1130
|
scheme = self.conf[bundle][env].server.scheme;
|
|
1058
1131
|
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
1132
|
name = name.replace(oldHost, hostname);
|
|
@@ -1122,13 +1195,13 @@ function Server(options) {
|
|
|
1122
1195
|
}
|
|
1123
1196
|
|
|
1124
1197
|
this.onHttp2Stream = function(stream, headers, response) {
|
|
1125
|
-
var header
|
|
1126
|
-
, isWebroot
|
|
1127
|
-
, pathname
|
|
1128
|
-
, asset
|
|
1129
|
-
, assets
|
|
1130
|
-
, conf
|
|
1131
|
-
,
|
|
1198
|
+
var header = null
|
|
1199
|
+
, isWebroot = false
|
|
1200
|
+
, pathname = null
|
|
1201
|
+
, asset = null
|
|
1202
|
+
, assets = this._options.template.assets
|
|
1203
|
+
, conf = this._options.conf
|
|
1204
|
+
, isCacheless = conf.isCacheless
|
|
1132
1205
|
;
|
|
1133
1206
|
|
|
1134
1207
|
|
|
@@ -1227,7 +1300,7 @@ function Server(options) {
|
|
|
1227
1300
|
':status': 301
|
|
1228
1301
|
};
|
|
1229
1302
|
|
|
1230
|
-
if (
|
|
1303
|
+
if (isCacheless) {
|
|
1231
1304
|
header['cache-control'] = 'no-cache, no-store, must-revalidate';
|
|
1232
1305
|
header['pragma'] = 'no-cache';
|
|
1233
1306
|
header['expires'] = '0';
|
|
@@ -1300,7 +1373,7 @@ function Server(options) {
|
|
|
1300
1373
|
header['content-length'] = fs.statSync(assets[ url ].filename).size;
|
|
1301
1374
|
}
|
|
1302
1375
|
|
|
1303
|
-
if (
|
|
1376
|
+
if (isCacheless) {
|
|
1304
1377
|
// source maps integration for javascript & css
|
|
1305
1378
|
if ( /(.js|.css)$/.test(asset.filename) && fs.existsSync(asset.filename +'.map') ) {
|
|
1306
1379
|
//pathname = asset.filename +'.map';
|
|
@@ -1389,7 +1462,7 @@ function Server(options) {
|
|
|
1389
1462
|
self._options.conf = bundleConf
|
|
1390
1463
|
}
|
|
1391
1464
|
|
|
1392
|
-
var
|
|
1465
|
+
var isCacheless = bundleConf.isCacheless;
|
|
1393
1466
|
// by default
|
|
1394
1467
|
var filename = bundleConf.publicPath + pathname;
|
|
1395
1468
|
var isFilenameDir = null
|
|
@@ -1417,7 +1490,6 @@ function Server(options) {
|
|
|
1417
1490
|
var key = pathname.replace(pathname.split('/').splice(-1), '');
|
|
1418
1491
|
for ( ; s < sLen; ++s ) {
|
|
1419
1492
|
if ( bundleConf.staticResources[s] == key ) {
|
|
1420
|
-
// if ( eval('/^' + bundleConf.staticResources[s].replace(/\//g,'\\/') +'/').test(pathname) ) {
|
|
1421
1493
|
filename = bundleConf.content.statics[ bundleConf.staticResources[s] ] +'/'+ pathname.replace(bundleConf.staticResources[s], '');
|
|
1422
1494
|
break;
|
|
1423
1495
|
}
|
|
@@ -1455,7 +1527,7 @@ function Server(options) {
|
|
|
1455
1527
|
'content-type': bundleConf.server.coreConfiguration.mime[ext]+'; charset='+ bundleConf.encoding
|
|
1456
1528
|
};
|
|
1457
1529
|
|
|
1458
|
-
if (
|
|
1530
|
+
if (isCacheless) {
|
|
1459
1531
|
header['cache-control'] = 'no-cache, no-store, must-revalidate';
|
|
1460
1532
|
header['pragma'] = 'no-cache';
|
|
1461
1533
|
header['expires'] = '0';
|
|
@@ -1472,7 +1544,7 @@ function Server(options) {
|
|
|
1472
1544
|
response.setHeader('location', request.url);
|
|
1473
1545
|
request = checkPreflightRequest(request, response);
|
|
1474
1546
|
completeHeaders(null, request, response);
|
|
1475
|
-
if (
|
|
1547
|
+
if (isCacheless) {
|
|
1476
1548
|
response.writeHead(301, {
|
|
1477
1549
|
'cache-control': 'no-cache, no-store, must-revalidate', // preventing browsers from using cache
|
|
1478
1550
|
'pragma': 'no-cache',
|
|
@@ -1487,7 +1559,7 @@ function Server(options) {
|
|
|
1487
1559
|
}
|
|
1488
1560
|
|
|
1489
1561
|
|
|
1490
|
-
if (
|
|
1562
|
+
if (isCacheless) {
|
|
1491
1563
|
delete require.cache[require.resolve(filename)];
|
|
1492
1564
|
}
|
|
1493
1565
|
|
|
@@ -1537,8 +1609,12 @@ function Server(options) {
|
|
|
1537
1609
|
request.url = ( ext != null && typeof(ext[0]) != 'undefined' ) ? request.url : request.url + 'index.html';
|
|
1538
1610
|
|
|
1539
1611
|
self._responseHeaders = response.getHeaders();
|
|
1540
|
-
if (
|
|
1612
|
+
if (
|
|
1613
|
+
!isBinary
|
|
1614
|
+
&& typeof(self._options.template.assets[request.url]) == 'undefined'
|
|
1615
|
+
) {
|
|
1541
1616
|
self._options.template.assets = getAssets(bundleConf, file);
|
|
1617
|
+
}
|
|
1542
1618
|
|
|
1543
1619
|
if (
|
|
1544
1620
|
typeof(self._options.template.assets[request.url]) == 'undefined'
|
|
@@ -1603,7 +1679,7 @@ function Server(options) {
|
|
|
1603
1679
|
'location': request.url
|
|
1604
1680
|
};
|
|
1605
1681
|
|
|
1606
|
-
if (
|
|
1682
|
+
if (isCacheless) {
|
|
1607
1683
|
header['cache-control'] = 'no-cache, no-store, must-revalidate';
|
|
1608
1684
|
header['pragma'] = 'no-cache';
|
|
1609
1685
|
header['expires'] = '0';
|
|
@@ -1674,11 +1750,11 @@ function Server(options) {
|
|
|
1674
1750
|
'content-type': contentType + '; charset='+ bundleConf.encoding
|
|
1675
1751
|
};
|
|
1676
1752
|
|
|
1677
|
-
if (
|
|
1753
|
+
if (isCacheless) {
|
|
1678
1754
|
// source maps integration for javascript & css
|
|
1679
1755
|
if ( /(.js|.css)$/.test(filename) && fs.existsSync(filename +'.map') && !/sourceMappingURL/.test(file) ) {
|
|
1680
1756
|
//pathname = pathname +'.map';
|
|
1681
|
-
pathname = webroot + pathname.
|
|
1757
|
+
pathname = webroot + pathname.substring(1) +'.map';
|
|
1682
1758
|
// serve without cache
|
|
1683
1759
|
header['X-SourceMap'] = pathname;
|
|
1684
1760
|
header['cache-control'] = 'no-cache, no-store, must-revalidate';
|
|
@@ -1708,11 +1784,11 @@ function Server(options) {
|
|
|
1708
1784
|
response.setHeader('content-length', fs.statSync(filename).size);
|
|
1709
1785
|
}
|
|
1710
1786
|
|
|
1711
|
-
if (
|
|
1787
|
+
if (isCacheless) {
|
|
1712
1788
|
// source maps integration for javascript & css
|
|
1713
1789
|
if ( /(.js|.css)$/.test(filename) && fs.existsSync(filename +'.map') && !/sourceMappingURL/.test(file) ) {
|
|
1714
1790
|
//pathname = pathname +'.map'
|
|
1715
|
-
pathname = webroot + pathname.
|
|
1791
|
+
pathname = webroot + pathname.substring(1) +'.map';
|
|
1716
1792
|
response.setHeader("X-SourceMap", pathname)
|
|
1717
1793
|
}
|
|
1718
1794
|
|
|
@@ -1864,7 +1940,7 @@ function Server(options) {
|
|
|
1864
1940
|
if ( typeof(ext) != 'undefined' && ext != null) {
|
|
1865
1941
|
ext = ext[0];
|
|
1866
1942
|
// if image with `@` found
|
|
1867
|
-
if ( /^image/i.test(self.conf[self.appName][self.env].server.coreConfiguration.mime[ext.
|
|
1943
|
+
if ( /^image/i.test(self.conf[self.appName][self.env].server.coreConfiguration.mime[ext.substring(1)]) ) {
|
|
1868
1944
|
isImage = true
|
|
1869
1945
|
}
|
|
1870
1946
|
}
|
|
@@ -1873,7 +1949,7 @@ function Server(options) {
|
|
|
1873
1949
|
// and must not be an email
|
|
1874
1950
|
&& !/^(([^<>()[\]\\.,;:\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
1951
|
// and must be handled by mime.types
|
|
1876
|
-
&& typeof(self.conf[self.appName][self.env].server.coreConfiguration.mime[ext.
|
|
1952
|
+
&& typeof(self.conf[self.appName][self.env].server.coreConfiguration.mime[ext.substring(1)]) != 'undefined'
|
|
1877
1953
|
||
|
|
1878
1954
|
ext != null
|
|
1879
1955
|
&& isImage
|
|
@@ -1899,7 +1975,7 @@ function Server(options) {
|
|
|
1899
1975
|
|
|
1900
1976
|
if (
|
|
1901
1977
|
staticProps.isStaticFilename && staticsArr.indexOf(request.url) > -1
|
|
1902
|
-
|| staticProps.isStaticFilename && staticsArr.indexOf( request.url.replace(request.url.
|
|
1978
|
+
|| staticProps.isStaticFilename && staticsArr.indexOf( request.url.replace(request.url.substring(request.url.lastIndexOf('/')+1), '') ) > -1
|
|
1903
1979
|
|| staticProps.isStaticFilename && new RegExp('^'+ staticProps.firstLevel).test(request.url)
|
|
1904
1980
|
|| /\/$/.test(request.url) && !isWebrootHandledByRouting && !/\/engine\.io\//.test(request.url)
|
|
1905
1981
|
) {
|
|
@@ -2067,11 +2143,14 @@ function Server(options) {
|
|
|
2067
2143
|
'method': 'POST',
|
|
2068
2144
|
'bundle' : self.appName
|
|
2069
2145
|
};
|
|
2070
|
-
var busboy =
|
|
2146
|
+
var busboy = Busboy({ headers: request.headers });
|
|
2071
2147
|
|
|
2072
2148
|
// busboy.on('field', function(fieldname, val, fieldnameTruncated, valTruncated) {
|
|
2073
2149
|
// console.log('Field [' + fieldname + ']: value: ' + inspect(val));
|
|
2074
2150
|
// });
|
|
2151
|
+
|
|
2152
|
+
// Attention: on busboy upgrade, we needs to adapt `busboy/lib/types/multipart.js`
|
|
2153
|
+
// For this, check the emit method
|
|
2075
2154
|
busboy.on('file', function(fieldname, file, filename, encoding, mimetype, group) {
|
|
2076
2155
|
|
|
2077
2156
|
file._dataLen = 0;
|
|
@@ -2087,7 +2166,7 @@ function Server(options) {
|
|
|
2087
2166
|
&& opt.groups[group].allowedExtensions != '*'
|
|
2088
2167
|
) {
|
|
2089
2168
|
var ext = opt.groups[group].allowedExtensions;
|
|
2090
|
-
var fileExt = filename.
|
|
2169
|
+
var fileExt = filename.substring(filename.lastIndexOf('.')+1)
|
|
2091
2170
|
if ( !Array.isArray(ext) ) {
|
|
2092
2171
|
ext = [ext]
|
|
2093
2172
|
}
|
|
@@ -2247,8 +2326,8 @@ function Server(options) {
|
|
|
2247
2326
|
request.body = request.body.replace(/\+/g, ' ');
|
|
2248
2327
|
}
|
|
2249
2328
|
|
|
2250
|
-
if ( request.body.
|
|
2251
|
-
request.body = request.body.
|
|
2329
|
+
if ( request.body.substring(0,1) == '?')
|
|
2330
|
+
request.body = request.body.substring(1);
|
|
2252
2331
|
|
|
2253
2332
|
try {
|
|
2254
2333
|
bodyStr = decodeURIComponent(request.body); // it is already a string for sure
|
|
@@ -2399,8 +2478,8 @@ function Server(options) {
|
|
|
2399
2478
|
request.body = request.body.replace(/\+/g, ' ');
|
|
2400
2479
|
}
|
|
2401
2480
|
|
|
2402
|
-
if ( request.body.
|
|
2403
|
-
request.body = request.body.
|
|
2481
|
+
if ( request.body.substring(0,1) == '?')
|
|
2482
|
+
request.body = request.body.substring(1);
|
|
2404
2483
|
|
|
2405
2484
|
// false & true case
|
|
2406
2485
|
try {
|
|
@@ -2521,8 +2600,10 @@ function Server(options) {
|
|
|
2521
2600
|
|
|
2522
2601
|
var config = new Config();
|
|
2523
2602
|
config.setBundles(self.bundles);
|
|
2524
|
-
|
|
2525
|
-
|
|
2603
|
+
// for all loaded bundles
|
|
2604
|
+
var conf = config.getInstance();
|
|
2605
|
+
//for cacheless mode
|
|
2606
|
+
if ( typeof(conf) != 'undefined') {
|
|
2526
2607
|
self.conf = conf;
|
|
2527
2608
|
}
|
|
2528
2609
|
|
|
@@ -2537,7 +2618,7 @@ function Server(options) {
|
|
|
2537
2618
|
if (self.bundles.indexOf(b) < 0) continue;
|
|
2538
2619
|
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
2620
|
for (let s in conf[b][self.env].content.statics) {
|
|
2540
|
-
s = (s.
|
|
2621
|
+
s = (s.substring(0,1) == '/') ? s.substring(1) : s;
|
|
2541
2622
|
if ( (new RegExp('^/'+s)).test(pathname) ) {
|
|
2542
2623
|
bundle = b;
|
|
2543
2624
|
break end
|
|
@@ -2572,18 +2653,18 @@ function Server(options) {
|
|
|
2572
2653
|
}
|
|
2573
2654
|
|
|
2574
2655
|
var onBundleConfigLoaded = function(bundle, options) {
|
|
2575
|
-
var err
|
|
2576
|
-
,
|
|
2577
|
-
, pathname
|
|
2578
|
-
, req
|
|
2579
|
-
, res
|
|
2580
|
-
, config
|
|
2581
|
-
, next
|
|
2582
|
-
, callback
|
|
2656
|
+
var err = options.err
|
|
2657
|
+
, isCacheless = options.config.isCacheless()
|
|
2658
|
+
, pathname = options.pathname
|
|
2659
|
+
, req = options.req
|
|
2660
|
+
, res = options.res
|
|
2661
|
+
, config = options.conf
|
|
2662
|
+
, next = options.next
|
|
2663
|
+
, callback = options.callback
|
|
2583
2664
|
;
|
|
2584
2665
|
|
|
2585
2666
|
//Reloading assets & files.
|
|
2586
|
-
// if (!
|
|
2667
|
+
// if (!isCacheless) { // all but dev & debug
|
|
2587
2668
|
callback(err, bundle, pathname, options.config, req, res, next)
|
|
2588
2669
|
// } else {
|
|
2589
2670
|
// config.refresh(bundle, function(err, routing) {
|
|
@@ -2706,7 +2787,7 @@ function Server(options) {
|
|
|
2706
2787
|
, isRoute = {}
|
|
2707
2788
|
, withViews = hasViews(bundle)
|
|
2708
2789
|
, router = local.router
|
|
2709
|
-
,
|
|
2790
|
+
, isCacheless = config.isCacheless()
|
|
2710
2791
|
, wroot = null
|
|
2711
2792
|
;
|
|
2712
2793
|
|
|
@@ -2736,6 +2817,11 @@ function Server(options) {
|
|
|
2736
2817
|
var isMethodAllowed = null, hostname = null;
|
|
2737
2818
|
out:
|
|
2738
2819
|
for (let name in routing) {
|
|
2820
|
+
// ignoring routes out of scope
|
|
2821
|
+
if ( routing[name].scopes.indexOf(process.env.NODE_SCOPE) < 0 ) {
|
|
2822
|
+
continue;
|
|
2823
|
+
}
|
|
2824
|
+
|
|
2739
2825
|
if ( typeof(routing[name]['param']) == 'undefined' ) {
|
|
2740
2826
|
break;
|
|
2741
2827
|
}
|
|
@@ -2961,11 +3047,11 @@ function Server(options) {
|
|
|
2961
3047
|
, ext = null
|
|
2962
3048
|
, isHtmlContent = false
|
|
2963
3049
|
, hasCustomErrorFile = false
|
|
2964
|
-
, eCode = code.toString().
|
|
3050
|
+
, eCode = code.toString().substring(0,1) + 'xx'
|
|
2965
3051
|
;
|
|
2966
|
-
var extArr = url.
|
|
3052
|
+
var extArr = url.substring(url.lastIndexOf('.')).match(/(\.[A-Za-z0-9]+)/);
|
|
2967
3053
|
if (extArr) {
|
|
2968
|
-
ext = extArr[0].
|
|
3054
|
+
ext = extArr[0].substring(1);
|
|
2969
3055
|
}
|
|
2970
3056
|
if ( !ext || /^(html|htm)$/i.test(ext) ) {
|
|
2971
3057
|
isHtmlContent = true;
|
|
@@ -50,14 +50,9 @@
|
|
|
50
50
|
"429": "Too Many Requests",
|
|
51
51
|
"431": "Request Header Fields Too Large",
|
|
52
52
|
"451": "Unavailable For Legal Reasons",
|
|
53
|
-
|
|
53
|
+
|
|
54
54
|
// Extended Ngnix 4xx codes
|
|
55
55
|
"444": "No Response",
|
|
56
|
-
"495": "SSL Certificate Error",
|
|
57
|
-
"496": "SSL Certificate Required",
|
|
58
|
-
"497": "HTTP Request Sent to HTTPS Port",
|
|
59
|
-
"498": "Token expired/invalid",
|
|
60
|
-
"499": "Client Closed Request",
|
|
61
56
|
|
|
62
57
|
"500": "Internal Server Error",
|
|
63
58
|
"501": "Not Implemented",
|
|
@@ -72,20 +67,15 @@
|
|
|
72
67
|
"511": "Network Authentication Required",
|
|
73
68
|
|
|
74
69
|
"103": "Checkpoint",
|
|
75
|
-
"420": "Method Failure",
|
|
76
70
|
"420": "Enhance Your Calm",
|
|
77
71
|
"450": "Blocked by Windows Parental Controls",
|
|
78
72
|
"498": "Invalid Token",
|
|
79
|
-
"499": "Token Required",
|
|
80
|
-
"499": "Request has been forbidden by antivirus",
|
|
81
73
|
"509": "Bandwidth Limit Exceeded",
|
|
82
74
|
"530": "Site is frozen",
|
|
83
75
|
|
|
84
76
|
"440": "Login Timeout",
|
|
85
77
|
"449": "Retry With",
|
|
86
|
-
"451": "Redirect",
|
|
87
78
|
|
|
88
|
-
"444": "No Response",
|
|
89
79
|
"495": "SSL Certificate Error",
|
|
90
80
|
"496": "SSL Certificate Required",
|
|
91
81
|
"497": "HTTP Request Sent to HTTPS Port",
|