gina 0.1.1-alpha.99 → 0.1.2-alpha.1
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 +30 -0
- package/README.md +125 -39
- package/bin/cli +130 -41
- package/bin/cli-debug +46 -15
- package/bin/cmd +63 -41
- package/bin/gina +57 -49
- package/framework/{v0.1.1-alpha.99/lib/inherits → v0.1.2-alpha.1}/LICENSE +1 -1
- package/framework/v0.1.2-alpha.1/VERSION +1 -0
- package/framework/{v0.1.1-alpha.99/core/asset/js/plugin/readme.md → v0.1.2-alpha.1/core/asset/plugin/README.md} +34 -12
- package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/css/gina.min.css +1 -0
- package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
- package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/html/toolbar.html +251 -0
- package/framework/{v0.1.1-alpha.99/core/asset/js/plugin/dist → v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/js}/gina.js +4588 -3416
- package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/js/gina.min.js +765 -0
- package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
- package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +7 -0
- package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/config.js +315 -131
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/connectors/couchbase/index.js +460 -274
- package/framework/v0.1.2-alpha.1/core/connectors/couchbase/lib/connector.js +22 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/connectors/couchbase/lib/connector.v2.js +51 -51
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/connectors/couchbase/lib/connector.v3.js +51 -51
- package/framework/v0.1.2-alpha.1/core/connectors/couchbase/lib/connector.v4.js +384 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/connectors/couchbase/lib/n1ql.js +3 -2
- package/framework/v0.1.2-alpha.1/core/connectors/couchbase/lib/session-store.js +22 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/connectors/couchbase/lib/session-store.v3.js +12 -12
- package/framework/v0.1.2-alpha.1/core/connectors/couchbase/lib/session-store.v4.js +361 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/controller/controller.js +1351 -902
- package/framework/v0.1.2-alpha.1/core/controller/index.js +23 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/dev/index.js +1 -1
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/dev/lib/class.js +1 -1
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/dev/lib/factory.js +2 -2
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/gna.js +48 -24
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/locales/README.md +5 -0
- package/framework/v0.1.2-alpha.1/core/locales/dist/region/en.json +5727 -0
- package/framework/v0.1.2-alpha.1/core/locales/dist/region/fr.json +11452 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/locales/index.js +2 -2
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/locales/src/make.js +39 -41
- package/framework/v0.1.2-alpha.1/core/locales/src/resources/region.mapping.json +43 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/model/entity.js +87 -67
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/model/index.js +16 -16
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/model/template/entityFactory.js +1 -1
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/model/template/index.js +17 -15
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/index.js +1 -1
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/file/package.json +1 -1
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/intl/package.json +1 -1
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/intl/src/main.js +5 -5
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/storage/package.json +1 -1
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/storage/src/main.js +6 -5
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/validator/package.json +1 -1
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/validator/src/form-validator.js +404 -300
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/validator/src/main.js +1384 -1314
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/router.js +221 -122
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/server.express.js +69 -65
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/server.isaac.js +274 -180
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/server.js +710 -615
- package/framework/v0.1.2-alpha.1/core/template/boilerplate/bundle/config/settings.json +12 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/config/settings.server.json +4 -4
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/config/templates.json +4 -4
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/controllers/controller.content.js +1 -1
- package/framework/v0.1.2-alpha.1/core/template/boilerplate/bundle/controllers/setup.js +111 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/index.js +13 -1
- package/framework/v0.1.2-alpha.1/core/template/boilerplate/bundle_templates/html/content/homepage.html +8 -0
- package/framework/v0.1.2-alpha.1/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +11 -0
- package/framework/v0.1.2-alpha.1/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +8 -0
- package/framework/{v0.1.1-alpha.99/core/template/boilerplate/bundle_templates/html/layout → v0.1.2-alpha.1/core/template/boilerplate/bundle_templates/html/layouts}/main.html +10 -3
- package/framework/v0.1.2-alpha.1/core/template/command/gina.bat.tpl +8 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/command/gina.tpl +4 -4
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/conf/env.json +12 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/conf/manifest.json +2 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/conf/package.json +2 -2
- package/framework/v0.1.2-alpha.1/core/template/conf/statics.json +12 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/conf/templates.json +9 -9
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/console.js +3 -3
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/context.js +233 -75
- package/framework/v0.1.2-alpha.1/helpers/data/LICENSE +9 -0
- package/framework/v0.1.2-alpha.1/helpers/data/README.md +12 -0
- package/framework/v0.1.2-alpha.1/helpers/data/package.json +20 -0
- package/framework/v0.1.2-alpha.1/helpers/data/src/main.js +295 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/dateFormat.js +9 -7
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/index.js +13 -8
- package/framework/v0.1.2-alpha.1/helpers/json/LICENSE +9 -0
- package/framework/v0.1.2-alpha.1/helpers/json/README.md +12 -0
- package/framework/{v0.1.1-alpha.99/helpers/plugins → v0.1.2-alpha.1/helpers/json}/package.json +2 -2
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/json/src/main.js +33 -28
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/path.js +97 -22
- package/framework/{v0.1.1-alpha.99/helpers/json → v0.1.2-alpha.1/helpers/plugins}/package.json +2 -2
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/plugins/src/api-error.js +23 -23
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/plugins/src/main.js +3 -3
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/prototypes.js +46 -38
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/text.js +2 -2
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/archiver/package.json +1 -1
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/archiver/src/dep/jszip.min.js +3 -3
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/archiver/src/main.js +183 -168
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/aliases.json +4 -1
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/add.js +84 -28
- package/framework/v0.1.2-alpha.1/lib/cmd/bundle/arguments.json +8 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/help.txt +4 -2
- package/framework/v0.1.2-alpha.1/lib/cmd/bundle/list.js +175 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/remove.js +39 -27
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/restart.js +14 -8
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/start.js +283 -49
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/stop.js +93 -74
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/env/add.js +87 -49
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/env/list.js +26 -4
- package/framework/{v0.1.1-alpha.99/lib/cmd/scope → v0.1.2-alpha.1/lib/cmd/env}/remove.js +29 -24
- package/framework/v0.1.2-alpha.1/lib/cmd/env/use.js +106 -0
- package/framework/v0.1.2-alpha.1/lib/cmd/framework/build.js +93 -0
- package/framework/v0.1.2-alpha.1/lib/cmd/framework/init.js +932 -0
- package/framework/v0.1.2-alpha.1/lib/cmd/framework/link-node-modules.js +123 -0
- package/framework/v0.1.2-alpha.1/lib/cmd/framework/link.js +132 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/open.js +25 -1
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/restart.js +78 -26
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/set.js +120 -40
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/start.js +49 -20
- package/framework/v0.1.2-alpha.1/lib/cmd/framework/status.js +144 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/stop.js +64 -31
- package/framework/v0.1.2-alpha.1/lib/cmd/framework/tail.js +303 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/version.js +19 -4
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/helper.js +357 -53
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/index.js +23 -23
- package/framework/v0.1.2-alpha.1/lib/cmd/port/inc/scan.js +142 -0
- package/framework/v0.1.2-alpha.1/lib/cmd/port/list.js +464 -0
- package/framework/v0.1.2-alpha.1/lib/cmd/port/reset.js +417 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/add.js +344 -157
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/arguments.json +2 -1
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/build.js +28 -28
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/help.txt +7 -1
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/list.js +22 -2
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/remove.js +19 -17
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/rename.js +11 -11
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/protocol/set.js +260 -211
- package/framework/v0.1.2-alpha.1/lib/cmd/scope/add.js +129 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/scope/help.txt +4 -4
- package/framework/{v0.1.1-alpha.99/lib/cmd/env/use.js → v0.1.2-alpha.1/lib/cmd/scope/link-production.js} +22 -21
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/scope/list.js +34 -11
- package/framework/v0.1.2-alpha.1/lib/cmd/scope/remove.js +122 -0
- package/framework/v0.1.2-alpha.1/lib/cmd/scope/use.js +68 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/view/add.js +35 -10
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/collection/package.json +1 -1
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/collection/src/main.js +247 -244
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/config.js +33 -31
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cron/package.json +1 -1
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cron/src/main.js +16 -11
- package/framework/v0.1.2-alpha.1/lib/domain/LICENSE +9 -0
- package/framework/v0.1.2-alpha.1/lib/domain/README.md +46 -0
- package/framework/v0.1.2-alpha.1/lib/domain/dist/public_suffix_list.dat +14186 -0
- package/framework/v0.1.2-alpha.1/lib/domain/package.json +20 -0
- package/framework/v0.1.2-alpha.1/lib/domain/src/main.js +442 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/generator/index.js +5 -5
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/index.js +3 -2
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1/lib/inherits}/LICENSE +1 -1
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/inherits/README.md +2 -2
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/inherits/package.json +3 -4
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/inherits/src/main.js +3 -3
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/logger/package.json +2 -2
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/logger/src/containers/default/index.js +15 -2
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/logger/src/containers/file/index.js +109 -14
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/logger/src/containers/mq/index.js +12 -3
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/logger/src/containers/mq/listener.js +29 -21
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/logger/src/containers/mq/speaker.js +33 -4
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/logger/src/helper.js +22 -1
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/logger/src/main.js +36 -9
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/math/index.js +9 -9
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/merge/README.md +2 -2
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/merge/package.json +1 -1
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/merge/src/main.js +118 -91
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/model.js +10 -10
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/proc.js +92 -49
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/routing/package.json +1 -1
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/routing/src/main.js +377 -420
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/session-store.js +13 -7
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/shell.js +3 -3
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/swig-filters/package.json +1 -1
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/swig-filters/src/main.js +140 -119
- package/framework/v0.1.2-alpha.1/lib/url/README.md +0 -0
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/validator.js +2 -2
- package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/package.json +1 -1
- package/package.json +10 -10
- package/resources/home/main.json +39 -5
- package/resources/home/settings.json +8 -0
- package/resources/package.json.template +1 -1
- package/script/lib.js +0 -0
- package/script/post_install.js +179 -89
- package/script/pre_install.js +95 -12
- package/services/.gna/67fdf1b224a2ed5597e63d4b64283834468e05e3.txt +0 -0
- package/services/.gna/arch +1 -0
- package/services/.gna/locals.json +14 -0
- package/services/.gna/platform +1 -0
- package/services/configure +6 -0
- package/services/env.json +18 -0
- package/services/manifest.json +30 -0
- package/services/package.json +11 -0
- package/services/src/proxy/config/app.json +6 -0
- package/services/src/proxy/config/routing.json +11 -0
- package/services/src/proxy/config/settings.json +9 -0
- package/services/src/proxy/config/settings.server.json +31 -0
- package/services/src/proxy/config/statics.json +3 -0
- package/services/src/proxy/controllers/controller.content.js +58 -0
- package/services/src/proxy/controllers/controller.js +30 -0
- package/{framework/v0.1.1-alpha.99/core/template/boilerplate/bundle → services/src/proxy}/controllers/setup.js +14 -14
- package/services/src/proxy/index.js +31 -0
- package/services/src/proxy/lib/domain/README.md +48 -0
- package/services/src/proxy/lib/domain/src/config/public_suffix_list.dat +14186 -0
- package/services/src/toolbar/config/app.json +6 -0
- package/services/src/toolbar/config/routing.json +11 -0
- package/{framework/v0.1.1-alpha.99/core/template/boilerplate/bundle → services/src/toolbar}/config/settings.json +0 -0
- package/services/src/toolbar/config/settings.server.json +30 -0
- package/services/src/toolbar/controllers/controller.content.js +39 -0
- package/services/src/toolbar/controllers/controller.js +30 -0
- package/services/src/toolbar/controllers/setup.js +111 -0
- package/services/src/toolbar/index.js +43 -0
- package/utils/helper.js +25 -156
- package/utils/prototypes.js +9 -9
- package/utils/prototypes.json_clone.js +70 -37
- package/framework/v0.1.1-alpha.99/VERSION +0 -1
- package/framework/v0.1.1-alpha.99/core/asset/js/plugin/dist/gina.js.map +0 -56
- package/framework/v0.1.1-alpha.99/core/asset/js/plugin/dist/gina.min.css +0 -1
- package/framework/v0.1.1-alpha.99/core/asset/js/plugin/dist/gina.min.css.map +0 -1
- package/framework/v0.1.1-alpha.99/core/asset/js/plugin/dist/gina.min.js +0 -736
- package/framework/v0.1.1-alpha.99/core/asset/js/plugin/dist/gina.min.js.map +0 -56
- package/framework/v0.1.1-alpha.99/core/asset/js/plugin/dist/gina.onload.min.js +0 -5
- package/framework/v0.1.1-alpha.99/core/asset/js/plugin/dist/gina.onload.min.js.map +0 -8
- package/framework/v0.1.1-alpha.99/core/connectors/couchbase/lib/connector.js +0 -20
- package/framework/v0.1.1-alpha.99/core/connectors/couchbase/lib/session-store.js +0 -21
- package/framework/v0.1.1-alpha.99/core/controller/index.js +0 -27
- package/framework/v0.1.1-alpha.99/core/locales/dist/region/en.json +0 -9492
- package/framework/v0.1.1-alpha.99/core/locales/dist/region/fr.json +0 -9492
- package/framework/v0.1.1-alpha.99/core/locales/src/resources/region.mapping.json +0 -28
- package/framework/v0.1.1-alpha.99/core/template/boilerplate/bundle_templates/html/homepage.html +0 -4
- package/framework/v0.1.1-alpha.99/core/template/conf/statics.json +0 -10
- package/framework/v0.1.1-alpha.99/lib/cmd/bundle/arguments.json +0 -4
- package/framework/v0.1.1-alpha.99/lib/cmd/bundle/list.js +0 -129
- package/framework/v0.1.1-alpha.99/lib/cmd/env/remove.js +0 -150
- package/framework/v0.1.1-alpha.99/lib/cmd/framework/init.js +0 -541
- package/framework/v0.1.1-alpha.99/lib/cmd/framework/status.js +0 -72
- package/framework/v0.1.1-alpha.99/lib/cmd/framework/tail.js +0 -184
- package/framework/v0.1.1-alpha.99/lib/cmd/port/inc/scan.js +0 -108
- package/framework/v0.1.1-alpha.99/lib/cmd/port/list.js +0 -176
- package/framework/v0.1.1-alpha.99/lib/cmd/scope/set.js +0 -57
- package/framework/v0.1.1-alpha.99/lib/cmd/scope/unset.js +0 -44
- package/framework/v0.1.1-alpha.99/lib/cmd/scope/use.js +0 -79
- package/script/post_publish.js +0 -185
- package/script/prepare_version.js +0 -552
- /package/{framework/v0.1.1-alpha.99/core/template/command/gina.bat.tpl → bin/gina.bat} +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/AUTHORS +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/asset/html/nolayout.html +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/asset/html/static.html +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/asset/img/android-chrome-192x192.png +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/asset/img/android-chrome-512x512.png +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/asset/img/apple-touch-icon.png +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/asset/img/favicon-16x16.png +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/asset/img/favicon-32x32.png +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/asset/img/favicon.ico +0 -0
- /package/framework/{v0.1.1-alpha.99/core/asset/js → v0.1.2-alpha.1/core/asset}/plugin/uuid.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/controller/controller.framework.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/deps/busboy/.travis.yml +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/deps/busboy/LICENSE +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/deps/busboy/README.md +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/deps/busboy/deps/encoding/encoding.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/deps/busboy/lib/main.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/deps/busboy/lib/types/multipart.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/deps/busboy/lib/types/urlencoded.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/deps/busboy/lib/utils.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/deps/busboy/package.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/dev/lib/tools.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/locales/currency.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/locales/dist/language/en.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/locales/dist/language/fr.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/locales/src/resources/currency.csv +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/locales/src/resources/region.csv +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/mime.types +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/README.md +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/file/README.md +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/file/build.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/intl/README.md +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/intl/build.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/storage/README.md +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/storage/build.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/validator/README.md +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/validator/build.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/status.codes +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/config/app.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/config/routing.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/readme.md +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/conf/settings.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/error/client/json/401.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/error/client/json/403.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/error/client/json/404.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/error/server/html/50x.html +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/error/server/json/500.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/error/server/json/503.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/extensions/logger/config.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/plugins/README.md +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/task.js +0 -0
- /package/framework/{v0.1.1-alpha.99/helpers/json → v0.1.2-alpha.1/lib/archiver}/README.md +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/archiver/build.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/copy.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/cp.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/help.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/rename.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/rm.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/status.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/env/get.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/env/help.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/env/help.txt +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/env/link-dev.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/env/rm.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/env/set.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/env/unset.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/dot.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/get.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/help.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/help.txt +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/msg.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/update.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/gina-dev.1.md +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/gina-framework.1.md +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/gina.1.md +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/msg.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/port/help.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/port/help.txt +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/port/set.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/help.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/import.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/move.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/restart.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/rm.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/start.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/status.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/stop.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/protocol/help.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/protocol/help.txt +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/protocol/list.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/scope/help.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/scope/link-local.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/scope/rm.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/collection/README.md +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/collection/build.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cron/README.md +0 -0
- /package/framework/{v0.1.1-alpha.99/lib/archiver/README.md → v0.1.2-alpha.1/lib/domain/exemples/backend.js} +0 -0
- /package/framework/{v0.1.1-alpha.99/lib/routing/README.md → v0.1.2-alpha.1/lib/domain/exemples/frontend.html} +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/inherits/example/inheriting_eventemitter.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/inherits/example/protected_inheritance.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/inherits/example/simple_inheritance.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/logger/README.md +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/merge/example/merge.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/merge/example/merge_2_literal objects.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/merge/example/merge_and_preserve_first.js +0 -0
- /package/framework/{v0.1.1-alpha.99/lib/swig-filters → v0.1.2-alpha.1/lib/routing}/README.md +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/routing/build.json +0 -0
- /package/framework/{v0.1.1-alpha.99/lib/url → v0.1.2-alpha.1/lib/swig-filters}/README.md +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/url/index.js +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/url/mocks.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/url/routing.json +0 -0
- /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/url/test.js +0 -0
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
//"use strict";
|
|
2
2
|
/*
|
|
3
3
|
* This file is part of the gina package.
|
|
4
|
-
* Copyright (c) 2009-
|
|
4
|
+
* Copyright (c) 2009-2023 Rhinostone <contact@gina.io>
|
|
5
5
|
*
|
|
6
6
|
* For the full copyright and license information, please view the LICENSE
|
|
7
7
|
* file that was distributed with this source code.
|
|
8
8
|
*/
|
|
9
9
|
//Imports.
|
|
10
10
|
var fs = require('fs');
|
|
11
|
+
var os = require('os');
|
|
11
12
|
var dns = require('dns');
|
|
12
13
|
var util = require('util');
|
|
13
14
|
var Events = require('events');
|
|
14
15
|
var EventEmitter = require('events').EventEmitter;
|
|
15
16
|
var locales = require('./locales');
|
|
16
17
|
var lib = require('./../lib');
|
|
18
|
+
var Domain = lib.Domain;
|
|
19
|
+
var domainLib = new Domain();
|
|
17
20
|
var merge = lib.merge;
|
|
18
21
|
var inherits = lib.inherits;
|
|
19
22
|
var console = lib.logger;
|
|
@@ -33,30 +36,48 @@ var modelUtil = new lib.Model();
|
|
|
33
36
|
* TODO - split Config.Env & Config.Host
|
|
34
37
|
*/
|
|
35
38
|
|
|
36
|
-
function Config(opt) {
|
|
39
|
+
function Config(opt, contextResetNeeded) {
|
|
37
40
|
|
|
38
41
|
var self = this;
|
|
42
|
+
if (
|
|
43
|
+
!Config.initialized
|
|
44
|
+
&& typeof(contextResetNeeded) != 'undefined'
|
|
45
|
+
&& /^true$/i.test(contextResetNeeded)
|
|
46
|
+
) {
|
|
47
|
+
// requirements
|
|
48
|
+
setContext('env', opt.env);
|
|
49
|
+
setContext('scope', opt.scope);
|
|
50
|
+
setContext('projectName', opt.projectName || getContext('projectName'));
|
|
51
|
+
setContext('bundle', opt.startingApp);
|
|
52
|
+
// reset context
|
|
53
|
+
resetContext()
|
|
54
|
+
}
|
|
55
|
+
|
|
39
56
|
// framework settings from homedir
|
|
57
|
+
var homedir = getEnvVar('GINA_HOMEDIR');
|
|
40
58
|
var framework = {
|
|
41
|
-
ports : _(
|
|
42
|
-
portsReverse : _(
|
|
43
|
-
project : _(
|
|
59
|
+
ports : _( homedir +'/ports.json', true),
|
|
60
|
+
portsReverse : _( homedir +'/ports.reverse.json', true),
|
|
61
|
+
project : _( homedir +'/projects.json', true)
|
|
44
62
|
};
|
|
45
63
|
|
|
46
64
|
this.bundles = [];
|
|
47
65
|
this.allBundles = [];
|
|
48
|
-
this.allEnvs
|
|
66
|
+
this.allEnvs = getContext('envs');
|
|
67
|
+
this.allScopes = getContext('scopes');
|
|
49
68
|
|
|
50
69
|
/**
|
|
51
70
|
* Config Constructor
|
|
52
71
|
* @constructor
|
|
53
72
|
* */
|
|
54
|
-
var init = function(opt) {
|
|
73
|
+
var init = function(opt, contextResetNeeded) {
|
|
55
74
|
|
|
56
75
|
if ( !Config.initialized) {
|
|
57
|
-
var env
|
|
76
|
+
var env = opt.env;
|
|
77
|
+
var scope = opt.scope;
|
|
58
78
|
|
|
59
79
|
self.projectName = opt.projectName || getContext('projectName');
|
|
80
|
+
|
|
60
81
|
self.startingApp = opt.startingApp;
|
|
61
82
|
self.executionPath = opt.executionPath; // project path
|
|
62
83
|
|
|
@@ -66,7 +87,6 @@ function Config(opt) {
|
|
|
66
87
|
var path = _(self.executionPath + '/env.json');
|
|
67
88
|
|
|
68
89
|
if ( fs.existsSync(path) ) {
|
|
69
|
-
|
|
70
90
|
self.userConf = requireJSON(path);
|
|
71
91
|
console.debug('Application config file loaded [' + path + ']');
|
|
72
92
|
}
|
|
@@ -74,13 +94,17 @@ function Config(opt) {
|
|
|
74
94
|
self.Env.parent = self;
|
|
75
95
|
if (env != 'undefined') self.Env.set(env);
|
|
76
96
|
|
|
97
|
+
self.Scope.parent = self;
|
|
98
|
+
if (scope != 'undefined') self.Scope.set(scope);
|
|
99
|
+
|
|
77
100
|
self.Host.parent = self;
|
|
78
101
|
|
|
79
102
|
//Do some checking please.. like already has a PID ?.
|
|
80
103
|
//if yes, join in case of standalone.. or create a new thread.
|
|
81
104
|
self.Host.setMaster(opt.startingApp);
|
|
82
105
|
|
|
83
|
-
|
|
106
|
+
|
|
107
|
+
getConf(env, scope);
|
|
84
108
|
} else {
|
|
85
109
|
if (!opt) {
|
|
86
110
|
return Config.instance
|
|
@@ -90,15 +114,17 @@ function Config(opt) {
|
|
|
90
114
|
}
|
|
91
115
|
}
|
|
92
116
|
|
|
93
|
-
var getConf = function(env) {
|
|
94
117
|
|
|
95
|
-
|
|
118
|
+
var getConf = function(env, scope) {
|
|
119
|
+
|
|
120
|
+
self.env = env;
|
|
121
|
+
self.scope = scope;
|
|
96
122
|
console.debug('[ config ] Loading conf...');
|
|
97
123
|
|
|
98
124
|
// framework settings
|
|
99
125
|
var filename = null, content = null;
|
|
100
126
|
|
|
101
|
-
for (
|
|
127
|
+
for (let file in framework) {
|
|
102
128
|
|
|
103
129
|
filename = framework[file];
|
|
104
130
|
|
|
@@ -173,6 +199,7 @@ function Config(opt) {
|
|
|
173
199
|
//logger.debug('gina', 'CONFIG:DEBUG:42', 'CONF LOADED 43', __stack);
|
|
174
200
|
self.bundlesConfiguration = {
|
|
175
201
|
env : self.Env.get(),
|
|
202
|
+
scope : self.Scope.get(),
|
|
176
203
|
version : self.version,
|
|
177
204
|
conf : self.getInstance(),
|
|
178
205
|
bundles : self.getBundles(),
|
|
@@ -183,17 +210,18 @@ function Config(opt) {
|
|
|
183
210
|
//console.error("found bundles ", self.bundlesConfiguration.bundles);
|
|
184
211
|
|
|
185
212
|
//TODO - Don't override if syntax is ok - no mixed paths.
|
|
186
|
-
//Set paths for
|
|
213
|
+
//Set paths for lib. Override for now.
|
|
187
214
|
//To reset it, just delete the hidden folder.
|
|
188
|
-
var ginaPath
|
|
189
|
-
|
|
215
|
+
var ginaPath = opt.ginaPath
|
|
216
|
+
, libConfig = new lib.Config()
|
|
217
|
+
;
|
|
190
218
|
|
|
191
|
-
|
|
192
|
-
project :
|
|
219
|
+
libConfig.set('gina', 'locals.json', {
|
|
220
|
+
project : libConfig.getProjectName(),
|
|
193
221
|
paths : {
|
|
194
222
|
project : self.projectName,
|
|
195
223
|
gina : ginaPath,
|
|
196
|
-
|
|
224
|
+
lib : libConfig.__dirname,
|
|
197
225
|
root : opt.executionPath,
|
|
198
226
|
env : opt.executionPath + '/env.json',
|
|
199
227
|
tmp : opt.executionPath + '/tmp'
|
|
@@ -232,12 +260,16 @@ function Config(opt) {
|
|
|
232
260
|
var configuration = Config.instance.envConf;
|
|
233
261
|
|
|
234
262
|
var env = self.env || Config.instance.env;
|
|
263
|
+
var scope = self.scope || Config.instance.scope;
|
|
235
264
|
|
|
236
265
|
Config.instance.Env.parent = Config.instance;
|
|
237
266
|
|
|
238
267
|
if (env != 'undefined')
|
|
239
268
|
Config.instance.Env.set(Config.instance.env);
|
|
240
269
|
|
|
270
|
+
if (scope != 'undefined')
|
|
271
|
+
Config.instance.Scope.set(Config.instance.scope);
|
|
272
|
+
|
|
241
273
|
Config.instance.Host.parent = Config.instance;
|
|
242
274
|
|
|
243
275
|
//Do some checking please.. like already has a PID ?.
|
|
@@ -267,8 +299,10 @@ function Config(opt) {
|
|
|
267
299
|
*
|
|
268
300
|
* Status Code, Mime Types etc ...
|
|
269
301
|
* */
|
|
270
|
-
this.setServerCoreConf = function(bundle, env, conf) {
|
|
271
|
-
self.
|
|
302
|
+
this.setServerCoreConf = function(bundle, env, scope, conf) {
|
|
303
|
+
self.env = env;
|
|
304
|
+
self.scope = scope;
|
|
305
|
+
self.envConf[bundle][env].server['coreConfiguration'] = conf;
|
|
272
306
|
}
|
|
273
307
|
|
|
274
308
|
this.getServerCoreConf = function(bundle, env) {
|
|
@@ -277,7 +311,7 @@ function Config(opt) {
|
|
|
277
311
|
} catch(err) {
|
|
278
312
|
console.debug('Could not get server core configuration for <'+ bundle +'>:<'+ env +'>');
|
|
279
313
|
console.error(err.stack||err.message);
|
|
280
|
-
process.exit(1)
|
|
314
|
+
process.exit(1);
|
|
281
315
|
}
|
|
282
316
|
}
|
|
283
317
|
|
|
@@ -290,11 +324,12 @@ function Config(opt) {
|
|
|
290
324
|
* @author Rhinostone <contact@gina.io>
|
|
291
325
|
*/
|
|
292
326
|
this.Env = {
|
|
293
|
-
template : requireJSON(GINA_FRAMEWORK_DIR +'/core/template/conf/env.json'),
|
|
327
|
+
template : requireJSON( getEnvVar('GINA_FRAMEWORK_DIR') +'/core/template/conf/env.json'),
|
|
294
328
|
load : function(callback) {
|
|
295
329
|
loadWithTemplate(this.parent.userConf, this.template, function(err, envConf) {
|
|
296
330
|
self.envConf = envConf;
|
|
297
331
|
envConf.env = self.env;
|
|
332
|
+
envConf.scope = self.scope;
|
|
298
333
|
envConf.isStandalone = self.isStandalone;
|
|
299
334
|
|
|
300
335
|
callback(false, envConf);
|
|
@@ -353,8 +388,8 @@ function Config(opt) {
|
|
|
353
388
|
|
|
354
389
|
if ( typeof(self.envConf) != 'undefined' ) {
|
|
355
390
|
|
|
356
|
-
var protocol = self.envConf[self.startingApp][env].content.settings.server.protocol ||
|
|
357
|
-
var scheme = self.envConf[self.startingApp][env].content.settings.server.scheme ||
|
|
391
|
+
var protocol = self.envConf[self.startingApp][env].content.settings.server.protocol || self.envConf[self.startingApp][env].server.protocol;
|
|
392
|
+
var scheme = self.envConf[self.startingApp][env].content.settings.server.scheme || self.envConf[self.startingApp][env].server.scheme;
|
|
358
393
|
|
|
359
394
|
self.envConf[self.startingApp][env].hostname = scheme + '://' + self.envConf[self.startingApp][env].host + ':' + self.envConf[self.startingApp][env].server.port;
|
|
360
395
|
|
|
@@ -376,11 +411,35 @@ function Config(opt) {
|
|
|
376
411
|
getDefault : function() {
|
|
377
412
|
return {
|
|
378
413
|
"env" : this.template.defEnv,
|
|
414
|
+
"scope" : this.template.defScope,
|
|
379
415
|
"ext" : this.template.defExt,
|
|
380
416
|
"registeredEnvs" : this.template.registeredEnvs
|
|
381
417
|
}
|
|
382
418
|
}
|
|
383
419
|
}
|
|
420
|
+
/**
|
|
421
|
+
* @class Env Sub class
|
|
422
|
+
*
|
|
423
|
+
*
|
|
424
|
+
* @package Gina.Config
|
|
425
|
+
* @namespace Gina.Config.Env
|
|
426
|
+
* @author Rhinostone <contact@gina.io>
|
|
427
|
+
*/
|
|
428
|
+
this.Scope = {
|
|
429
|
+
template : requireJSON( getEnvVar('GINA_FRAMEWORK_DIR') +'/core/template/conf/env.json'),
|
|
430
|
+
set : function(scope) {
|
|
431
|
+
this.current = scope || this.template.defScope;
|
|
432
|
+
},
|
|
433
|
+
|
|
434
|
+
/**
|
|
435
|
+
* Get active scope
|
|
436
|
+
* @returns {String} scope
|
|
437
|
+
**/
|
|
438
|
+
get : function() {
|
|
439
|
+
return this.current
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
|
|
384
443
|
/**
|
|
385
444
|
* Host Class
|
|
386
445
|
*
|
|
@@ -447,6 +506,33 @@ function Config(opt) {
|
|
|
447
506
|
|
|
448
507
|
}
|
|
449
508
|
|
|
509
|
+
// TODO - replace `bundle`@`project` in `server.response.header['access-control-allow-origin']`
|
|
510
|
+
// This will allow replacement of variables before the bundle is loaded, saving some time while routing
|
|
511
|
+
// var getAllProjects = function(env) {
|
|
512
|
+
// var projectConfigPath = _(GINA_HOMEDIR + '/projects.json', true)
|
|
513
|
+
// , projectsList = []
|
|
514
|
+
// , projects = requireJSON(projectConfigPath)
|
|
515
|
+
// , p = 0
|
|
516
|
+
// , bundlesInfosPath = _(GINA_HOMEDIR + '/ports.reverse.json', true)
|
|
517
|
+
// , bundlesInfos = requireJSON(bundlesInfosPath)
|
|
518
|
+
// ;
|
|
519
|
+
// for (let project in projects) {
|
|
520
|
+
// projectsList[p] = {
|
|
521
|
+
// name : project,
|
|
522
|
+
// bundles : {}
|
|
523
|
+
// }
|
|
524
|
+
// let b = 0;
|
|
525
|
+
// for (let location in bundlesInfos) {
|
|
526
|
+
// if ( new RegExp('/@'+ project +'$/').test(location) ) {
|
|
527
|
+
// let bundle = location.split('@')[0];
|
|
528
|
+
// projectsList[p].bundles[bundle] = {}
|
|
529
|
+
// b++;
|
|
530
|
+
// }
|
|
531
|
+
// }
|
|
532
|
+
|
|
533
|
+
// p++;
|
|
534
|
+
// }
|
|
535
|
+
// }
|
|
450
536
|
|
|
451
537
|
/**
|
|
452
538
|
* Load config according to specific template
|
|
@@ -464,6 +550,7 @@ function Config(opt) {
|
|
|
464
550
|
masterPort = null,
|
|
465
551
|
appPort = null,
|
|
466
552
|
env = self.Env.get(),
|
|
553
|
+
scope = self.Scope.get(),
|
|
467
554
|
appsPath = '',
|
|
468
555
|
modelsPath = '',
|
|
469
556
|
projectPath = '',
|
|
@@ -479,9 +566,10 @@ function Config(opt) {
|
|
|
479
566
|
//Pushing default app first.
|
|
480
567
|
self.bundles.push(self.startingApp);//This is a JSON.push.
|
|
481
568
|
var root = new _(self.executionPath).toUnixStyle();
|
|
482
|
-
var pkg = null;
|
|
569
|
+
var manifest = null, pkg = null;
|
|
483
570
|
try {
|
|
484
|
-
|
|
571
|
+
manifest = require(_(root + '/manifest.json', true));
|
|
572
|
+
pkg = manifest.bundles;
|
|
485
573
|
// by default but may be overriden
|
|
486
574
|
masterPort = portsReverse[self.startingApp+'@'+self.projectName][env][projectConf.def_protocol][projectConf.def_scheme]
|
|
487
575
|
} catch (err) {
|
|
@@ -516,7 +604,7 @@ function Config(opt) {
|
|
|
516
604
|
var version = null, middleware = null;
|
|
517
605
|
try {
|
|
518
606
|
self.version = version = require(_(getPath('gina').root +'/package.json' )).version;
|
|
519
|
-
self.middleware = middleware = fs.readFileSync(_(GINA_FRAMEWORK_DIR + '/MIDDLEWARE')).toString() ||
|
|
607
|
+
self.middleware = middleware = fs.readFileSync(_( getEnvVar('GINA_FRAMEWORK_DIR') + '/MIDDLEWARE')).toString() || 'none';
|
|
520
608
|
|
|
521
609
|
setContext('gina.version', version);
|
|
522
610
|
setContext('gina.middleware', middleware);
|
|
@@ -671,7 +759,7 @@ function Config(opt) {
|
|
|
671
759
|
bundleSettings.tmpSettingFileContent = JSON.clone(bundleSettings);
|
|
672
760
|
newContent[app][env] = merge(bundleSettings, newContent[app][env]);
|
|
673
761
|
// completing with missing props
|
|
674
|
-
var defaultSettings = requireJSON(GINA_FRAMEWORK_DIR +'/core/template/conf/settings.json');
|
|
762
|
+
var defaultSettings = requireJSON( getEnvVar('GINA_FRAMEWORK_DIR') +'/core/template/conf/settings.json');
|
|
675
763
|
newContent[app][env] = merge(newContent[app][env], defaultSettings);
|
|
676
764
|
|
|
677
765
|
|
|
@@ -704,21 +792,6 @@ function Config(opt) {
|
|
|
704
792
|
: template["{bundle}"]["{env}"].projectPath;
|
|
705
793
|
|
|
706
794
|
|
|
707
|
-
// TODO - remove this after the tests
|
|
708
|
-
// if ( typeof(content[app][env].server ) != 'undefined' ) {
|
|
709
|
-
// newContent[app][env].server = content[app][env].server;
|
|
710
|
-
|
|
711
|
-
// }
|
|
712
|
-
// else if ( bundHasSettings && typeof(bundleSettings.server) != 'undefined') {
|
|
713
|
-
// newContent[app][env].server = bundleSettings.server;
|
|
714
|
-
// }
|
|
715
|
-
// else {
|
|
716
|
-
// if ( typeof(content[app][env].server ) != 'undefined' ) {
|
|
717
|
-
// newContent[app][env].server = template["{bundle}"]["{env}"].server
|
|
718
|
-
// }
|
|
719
|
-
// if ( typeof(newContent[app][env].server ) != 'undefined' ) {
|
|
720
|
-
// newContent[app][env].server = template["{bundle}"]["{env}"].server
|
|
721
|
-
// }
|
|
722
795
|
|
|
723
796
|
// just in case someone removes the settings.server.json
|
|
724
797
|
if ( typeof(newContent[app][env].server ) == 'undefined' ) {
|
|
@@ -732,8 +805,10 @@ function Config(opt) {
|
|
|
732
805
|
// by default
|
|
733
806
|
if ( typeof(newContent[app][env].server.scope) == 'undefined' ) {
|
|
734
807
|
newContent[app][env].server.scope = projectConf.def_scope; // from ~/.gina/projects.json
|
|
735
|
-
newContent[app][env].server.scopeIsLocal = (projectConf.def_scope == projectConf.local_scope) ? true : false; // from ~/.gina/projects.json
|
|
736
808
|
}
|
|
809
|
+
newContent[app][env].server.scopeIsLocal = (projectConf.def_scope == projectConf.local_scope) ? true : false; // from ~/.gina/projects.json
|
|
810
|
+
newContent[app][env].server.scopeIsProduction = (projectConf.def_scope == projectConf.production_scope) ? true : false; // from ~/.gina/projects.json
|
|
811
|
+
|
|
737
812
|
if ( typeof(newContent[app][env].server.protocol) == 'undefined' ) {
|
|
738
813
|
//newContent[app][env].server.protocol = ( bundHasSettings && typeof(bundleSettings.server) != 'undefined' && typeof(bundleSettings.server.protocol) != 'undefined' ) ? bundleSettings.server.protocol : projectConf.def_protocol; // from ~/.gina/projects.json
|
|
739
814
|
newContent[app][env].server.protocol = projectConf.def_protocol; // from ~/.gina/projects.json
|
|
@@ -799,22 +874,46 @@ function Config(opt) {
|
|
|
799
874
|
newContent[app][env].executionPath = root
|
|
800
875
|
}
|
|
801
876
|
|
|
802
|
-
//Constants to be exposed in configuration files.
|
|
803
|
-
//Variables replace. Compare with gina/core/template/conf/env.json.
|
|
877
|
+
// Constants to be exposed in configuration files.
|
|
878
|
+
// Variables replace. Compare with gina/core/template/conf/env.json.
|
|
879
|
+
// Defining root domain (TLD or SLD)
|
|
880
|
+
// by default
|
|
881
|
+
var rootDomain = domainLib.getRootDomain(os.hostname()).value;
|
|
882
|
+
// if overrided by the project `manifest.json`: meaning all bundles belong to the same TLD or SLD
|
|
883
|
+
if ( typeof(manifest.rootDomain) != 'undefined' ) {
|
|
884
|
+
rootDomain = manifest.rootDomain;
|
|
885
|
+
}
|
|
886
|
+
// if overrided by the project/env/bundle `env.json` or `bundle/config/settings.server.json`: meaning the bundles belong to a specific TLD or SLD
|
|
887
|
+
if ( typeof(newContent[app][env].rootDomain) != 'undefined' && newContent[app][env].rootDomain != '' ) {
|
|
888
|
+
rootDomain = newContent[app][env].rootDomain;
|
|
889
|
+
}
|
|
890
|
+
// custom override: user entry in the project/env/bundle `env.json` or `bundle/config/settings.server.json`
|
|
891
|
+
if (!/\{rootDomain\}/.test(newContent[app][env].host) ) {
|
|
892
|
+
rootDomain = domainLib.getRootDomain(newContent[app][env].host).value;
|
|
893
|
+
}
|
|
894
|
+
newContent[app][env].rootDomain = rootDomain;
|
|
895
|
+
|
|
804
896
|
let reps = {
|
|
805
|
-
"frameworkDir"
|
|
806
|
-
"executionPath"
|
|
807
|
-
"projectPath"
|
|
808
|
-
"bundlesPath"
|
|
809
|
-
"modelsPath"
|
|
810
|
-
"tmpPath"
|
|
811
|
-
"scope"
|
|
812
|
-
"
|
|
813
|
-
"
|
|
814
|
-
"
|
|
815
|
-
"
|
|
897
|
+
"frameworkDir" : getEnvVar('GINA_FRAMEWORK_DIR'),
|
|
898
|
+
"executionPath" : root,
|
|
899
|
+
"projectPath" : projectPath,
|
|
900
|
+
"bundlesPath" : appsPath,
|
|
901
|
+
"modelsPath" : modelsPath,
|
|
902
|
+
"tmpPath" : newContent[app][env].tmpPath,
|
|
903
|
+
"scope" : newContent[app][env].server.scope,
|
|
904
|
+
"rootDomain" : rootDomain,
|
|
905
|
+
"projectVersion" : manifest,
|
|
906
|
+
"projectVersionMajor" : manifest.version.split(/\./g)[0],
|
|
907
|
+
"host" : newContent[app][env].host,
|
|
908
|
+
"scheme" : newContent[app][env].server.scheme,
|
|
909
|
+
"env" : env,
|
|
910
|
+
"scope" : scope,
|
|
911
|
+
"bundle" : app,
|
|
912
|
+
"version" : version
|
|
816
913
|
};
|
|
817
914
|
|
|
915
|
+
// replacement for {bundle}@{project}
|
|
916
|
+
|
|
818
917
|
for (let _contant in process.gina) {
|
|
819
918
|
reps[_contant] = process.gina[_contant];
|
|
820
919
|
}
|
|
@@ -844,7 +943,6 @@ function Config(opt) {
|
|
|
844
943
|
}
|
|
845
944
|
|
|
846
945
|
var isFileInProject = function(file) {
|
|
847
|
-
|
|
848
946
|
try {
|
|
849
947
|
var usrConf = require(self.executionPath +'/'+ file +'.json');
|
|
850
948
|
return true
|
|
@@ -874,6 +972,11 @@ function Config(opt) {
|
|
|
874
972
|
return self.allEnvs
|
|
875
973
|
}
|
|
876
974
|
|
|
975
|
+
this.getAllScopes = function() {
|
|
976
|
+
//Registered apps only.
|
|
977
|
+
return self.allScopes
|
|
978
|
+
}
|
|
979
|
+
|
|
877
980
|
/**
|
|
878
981
|
* Get original rule
|
|
879
982
|
*
|
|
@@ -886,7 +989,7 @@ function Config(opt) {
|
|
|
886
989
|
|
|
887
990
|
var currentRouting = routing[rule];
|
|
888
991
|
|
|
889
|
-
for (
|
|
992
|
+
for (let f in routing) {
|
|
890
993
|
if (
|
|
891
994
|
routing[f].param.action == currentRouting.param.action
|
|
892
995
|
&& routing[f].bundle == currentRouting.bundle
|
|
@@ -984,8 +1087,7 @@ function Config(opt) {
|
|
|
984
1087
|
}
|
|
985
1088
|
|
|
986
1089
|
|
|
987
|
-
for (
|
|
988
|
-
|
|
1090
|
+
for (let k in obj) {
|
|
989
1091
|
if (k == key) {
|
|
990
1092
|
++i;
|
|
991
1093
|
return parseFileConf(root, arr, obj[key], len, i, content, pathname);
|
|
@@ -993,6 +1095,40 @@ function Config(opt) {
|
|
|
993
1095
|
}
|
|
994
1096
|
}
|
|
995
1097
|
|
|
1098
|
+
var originHostReplacement = function(name) {
|
|
1099
|
+
var matched = name.match(/\{\s*(.*)\s*\}/g);
|
|
1100
|
+
if (!matched || !Array.isArray(matched) || Array.isArray(matched) && matched.length == 0 ) {
|
|
1101
|
+
return name
|
|
1102
|
+
}
|
|
1103
|
+
var env = self.envConf.env;
|
|
1104
|
+
var scope = self.envConf.scope;
|
|
1105
|
+
|
|
1106
|
+
for (let i=0, len=matched.length; i<len; ++i) {
|
|
1107
|
+
let oldHost = matched[i];
|
|
1108
|
+
let newHost = matched[i].replace(/\{|\}|\s+/g, '');
|
|
1109
|
+
newHost = newHost.split(/\@/);
|
|
1110
|
+
let bundle = newHost[0]
|
|
1111
|
+
, project = newHost[1]
|
|
1112
|
+
, arr = null
|
|
1113
|
+
, hostname = null
|
|
1114
|
+
, scheme = null
|
|
1115
|
+
;
|
|
1116
|
+
if ( /\//.test(newHost[1]) ) {
|
|
1117
|
+
arr = newHost[1].split(/\//);
|
|
1118
|
+
project = arr[0];
|
|
1119
|
+
env = (arr[1]) ? arr[1] : env;
|
|
1120
|
+
}
|
|
1121
|
+
scheme = self.envConf[bundle][env].server.scheme;
|
|
1122
|
+
hostname = ( !self.envConf[bundle][env].hostname ) ? self.envConf[bundle][env].server.scheme + '://' + self.envConf[bundle][env].host + ':' + self.envConf[bundle][env].server.port : self.envConf[bundle][env].hostname;
|
|
1123
|
+
name = name.replace(oldHost, hostname);
|
|
1124
|
+
}
|
|
1125
|
+
matched = null;
|
|
1126
|
+
env = null;
|
|
1127
|
+
scope = null;
|
|
1128
|
+
|
|
1129
|
+
return name;
|
|
1130
|
+
}
|
|
1131
|
+
|
|
996
1132
|
var loadBundleConfig = function(bundles, b, callback, reload, collectedRules) {
|
|
997
1133
|
|
|
998
1134
|
// current bundle
|
|
@@ -1006,13 +1142,14 @@ function Config(opt) {
|
|
|
1006
1142
|
// environment
|
|
1007
1143
|
var cacheless = self.isCacheless()
|
|
1008
1144
|
, isStandalone = self.Host.isStandalone()
|
|
1009
|
-
, env = self.env ||
|
|
1145
|
+
, env = self.env || self.Env.get() // env
|
|
1146
|
+
, scope = self.scope || self.Scope.get() // scope
|
|
1010
1147
|
, conf = self.envConf // env conf
|
|
1011
1148
|
;
|
|
1012
1149
|
console.debug('[ CONFIG ] loading `'+ bundle +'/'+ env +'` configuration, please wait ...');
|
|
1013
1150
|
|
|
1014
1151
|
|
|
1015
|
-
self.setServerCoreConf(bundle, env, conf.core);
|
|
1152
|
+
self.setServerCoreConf(bundle, env, scope, conf.core);
|
|
1016
1153
|
|
|
1017
1154
|
// bundle paths, ports, protocols
|
|
1018
1155
|
var appPath = ''
|
|
@@ -1113,7 +1250,8 @@ function Config(opt) {
|
|
|
1113
1250
|
// e.g: if env == `dev` and we have app.prod.json, we should skip it
|
|
1114
1251
|
let skipIt = false;
|
|
1115
1252
|
for (let e = 0, eLen = allEnvs.length; e < eLen; e++) {
|
|
1116
|
-
|
|
1253
|
+
// *.dev.json or *.global.json
|
|
1254
|
+
let re = new RegExp('\.('+ allEnvs[e] +'|global)\.json$');
|
|
1117
1255
|
if ( re.test(fName) && allEnvs[e] != env ) {
|
|
1118
1256
|
// we should skip it
|
|
1119
1257
|
skipIt = true;
|
|
@@ -1181,7 +1319,7 @@ function Config(opt) {
|
|
|
1181
1319
|
}
|
|
1182
1320
|
}
|
|
1183
1321
|
// loading main
|
|
1184
|
-
filename = _(appPath + '/config/' + main);
|
|
1322
|
+
filename = _(appPath + '/config/' + main, true);
|
|
1185
1323
|
//Can't do anything without.
|
|
1186
1324
|
try {
|
|
1187
1325
|
exists = fs.existsSync(_(filename, true));
|
|
@@ -1211,25 +1349,6 @@ function Config(opt) {
|
|
|
1211
1349
|
}
|
|
1212
1350
|
}
|
|
1213
1351
|
|
|
1214
|
-
// if (/\./.test(fNameWithNoExt)) {
|
|
1215
|
-
// let nameArr = fNameWithNoExt.split(/\./g);
|
|
1216
|
-
// if ( typeof(files[nameArr[0]]) == 'undefined')
|
|
1217
|
-
// files[nameArr[0]] = {};
|
|
1218
|
-
|
|
1219
|
-
// try {
|
|
1220
|
-
// files = parseFileConf(files, nameArr, files, nameArr.length, 0, fileContent);
|
|
1221
|
-
// continue;
|
|
1222
|
-
// } catch (_err) {
|
|
1223
|
-
// e = '[ ' + nameArr + ' ] could not parse file conf !!\n\r' + (_err.stack || _err.message);
|
|
1224
|
-
// console.error(e);
|
|
1225
|
-
// callback(new Error(e))
|
|
1226
|
-
// }
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
// } else {
|
|
1230
|
-
// files[name] = fileContent;
|
|
1231
|
-
// }
|
|
1232
|
-
|
|
1233
1352
|
if (section != '' ) {
|
|
1234
1353
|
if (/\-/.test(section)) {
|
|
1235
1354
|
section = section.replace(/-([a-z])/g, function(g) { return g[1].toUpperCase(); })
|
|
@@ -1255,6 +1374,14 @@ function Config(opt) {
|
|
|
1255
1374
|
conf[bundle][env].template = true;
|
|
1256
1375
|
}
|
|
1257
1376
|
|
|
1377
|
+
// routing.global.json
|
|
1378
|
+
let globalMiddlewares = null;
|
|
1379
|
+
let globalMiddlewaresPathObj = new _(appPath + '/config/routing.global.json', true);
|
|
1380
|
+
if ( globalMiddlewaresPathObj.existsSync() ) {
|
|
1381
|
+
globalMiddlewares = requireJSON(globalMiddlewaresPathObj.toUnixStyle()).middleware;
|
|
1382
|
+
}
|
|
1383
|
+
globalMiddlewaresPathObj = null;
|
|
1384
|
+
|
|
1258
1385
|
|
|
1259
1386
|
name = 'routing';
|
|
1260
1387
|
routing = files[name];
|
|
@@ -1262,8 +1389,8 @@ function Config(opt) {
|
|
|
1262
1389
|
//setting app param
|
|
1263
1390
|
var urls = null;
|
|
1264
1391
|
// bundle status
|
|
1265
|
-
routing['status'] = {
|
|
1266
|
-
url: '/
|
|
1392
|
+
routing['bundle-status'] = {
|
|
1393
|
+
url: '/_status',
|
|
1267
1394
|
method: 'GET',
|
|
1268
1395
|
param: {
|
|
1269
1396
|
control: 'getBundleStatus'
|
|
@@ -1276,6 +1403,7 @@ function Config(opt) {
|
|
|
1276
1403
|
url: '/custom-error',
|
|
1277
1404
|
method: 'GET',
|
|
1278
1405
|
middleware: [],
|
|
1406
|
+
middlewareIgnored: ['shared.middlewares.global.checkScope'],
|
|
1279
1407
|
param: {
|
|
1280
1408
|
control: 'renderCustomError',
|
|
1281
1409
|
// default data : will be fed on error
|
|
@@ -1406,6 +1534,17 @@ function Config(opt) {
|
|
|
1406
1534
|
if ( typeof(routing[rule].middleware) == 'undefined' || !routing[rule].middleware )
|
|
1407
1535
|
routing[rule].middleware = [];
|
|
1408
1536
|
|
|
1537
|
+
if (
|
|
1538
|
+
globalMiddlewares
|
|
1539
|
+
&& Array.isArray(globalMiddlewares)
|
|
1540
|
+
&& globalMiddlewares.length > 0
|
|
1541
|
+
) {
|
|
1542
|
+
if ( typeof(routing[rule].middleware) == 'undefined' ) {
|
|
1543
|
+
routing[rule].middleware = [];
|
|
1544
|
+
}
|
|
1545
|
+
routing[rule].middleware = merge(globalMiddlewares.slice(), routing[rule].middleware);
|
|
1546
|
+
}
|
|
1547
|
+
|
|
1409
1548
|
// default url
|
|
1410
1549
|
if ( typeof(routing[rule].url) == 'undefined' || !routing[rule].url )
|
|
1411
1550
|
routing[rule].url = '/'+ rule;
|
|
@@ -1467,7 +1606,7 @@ function Config(opt) {
|
|
|
1467
1606
|
}
|
|
1468
1607
|
}
|
|
1469
1608
|
|
|
1470
|
-
self.setRouting(bundle, env, routing);
|
|
1609
|
+
self.setRouting(bundle, env, scope, routing);
|
|
1471
1610
|
// reverse routing
|
|
1472
1611
|
for (let rule in routing) {
|
|
1473
1612
|
|
|
@@ -1481,7 +1620,7 @@ function Config(opt) {
|
|
|
1481
1620
|
reverseRouting[ routing[rule].url ] = rule
|
|
1482
1621
|
}
|
|
1483
1622
|
}
|
|
1484
|
-
self.setReverseRouting(bundle, env, reverseRouting);
|
|
1623
|
+
self.setReverseRouting(bundle, env, scope, reverseRouting);
|
|
1485
1624
|
|
|
1486
1625
|
if (!conf[bundle][env].executionPath) {
|
|
1487
1626
|
conf[bundle][env].executionPath = self.executionPath
|
|
@@ -1490,10 +1629,11 @@ function Config(opt) {
|
|
|
1490
1629
|
//Constants to be exposed in configuration files.
|
|
1491
1630
|
var reps = {
|
|
1492
1631
|
"gina" : getPath('gina').root,
|
|
1493
|
-
"frameworkDir" : GINA_FRAMEWORK_DIR,
|
|
1632
|
+
"frameworkDir" : getEnvVar('GINA_FRAMEWORK_DIR'),
|
|
1494
1633
|
"scope" : conf[bundle][env].server.scope,
|
|
1495
|
-
"host"
|
|
1634
|
+
"host" : conf[bundle][env].host,
|
|
1496
1635
|
"env" : env,
|
|
1636
|
+
"scope" : scope,
|
|
1497
1637
|
"bundle" : bundle,
|
|
1498
1638
|
// "server.engine" : conf[bundle][env].engine,
|
|
1499
1639
|
// "server.protocol" : conf[bundle][env].protocol,
|
|
@@ -1514,7 +1654,7 @@ function Config(opt) {
|
|
|
1514
1654
|
"sharedPath" : conf[bundle][env].sharedPath,
|
|
1515
1655
|
"logsPath" : conf[bundle][env].logsPath,
|
|
1516
1656
|
"tmpPath" : conf[bundle][env].tmpPath,
|
|
1517
|
-
"version" : getContext('gina').version
|
|
1657
|
+
"version" : getContext('gina').version,
|
|
1518
1658
|
};
|
|
1519
1659
|
|
|
1520
1660
|
for (let _contant in process.gina) {
|
|
@@ -1534,7 +1674,7 @@ function Config(opt) {
|
|
|
1534
1674
|
}
|
|
1535
1675
|
|
|
1536
1676
|
var ports = conf[bundle][env].port;
|
|
1537
|
-
for (
|
|
1677
|
+
for (let p in ports) {
|
|
1538
1678
|
reps[p+'Port'] = ports[p]
|
|
1539
1679
|
}
|
|
1540
1680
|
|
|
@@ -1543,7 +1683,7 @@ function Config(opt) {
|
|
|
1543
1683
|
conf[bundle][env] = merge(conf[bundle][env], requireJSON(localEnv), true);
|
|
1544
1684
|
}
|
|
1545
1685
|
var envKeys = conf[bundle][env];
|
|
1546
|
-
for (
|
|
1686
|
+
for (let k in envKeys) {
|
|
1547
1687
|
if ( typeof(envKeys[k]) != 'object' && typeof(envKeys[k]) != 'array' ) {
|
|
1548
1688
|
reps[k] = envKeys[k]
|
|
1549
1689
|
}
|
|
@@ -1560,7 +1700,8 @@ function Config(opt) {
|
|
|
1560
1700
|
files['settings'] = requireJSON(settingsPath)
|
|
1561
1701
|
} else {
|
|
1562
1702
|
var defaultSettings = requireJSON(settingsPath);
|
|
1563
|
-
files['settings'] = merge(
|
|
1703
|
+
files['settings'] = merge(JSON.clone(files['settings']), defaultSettings)
|
|
1704
|
+
// files['settings'] = merge(files['settings'], defaultSettings)
|
|
1564
1705
|
}
|
|
1565
1706
|
|
|
1566
1707
|
if (fs.existsSync(staticsPath))
|
|
@@ -1571,7 +1712,8 @@ function Config(opt) {
|
|
|
1571
1712
|
files['statics'] = requireJSON(staticsPath)
|
|
1572
1713
|
} else if ( typeof(files['statics']) != 'undefined' ) {
|
|
1573
1714
|
var defaultAliases = requireJSON(staticsPath);
|
|
1574
|
-
files['statics'] = merge(defaultAliases, files['statics'], true)
|
|
1715
|
+
// files['statics'] = merge(defaultAliases, files['statics'], true)
|
|
1716
|
+
files['statics'] = merge(files['statics'], defaultAliases);
|
|
1575
1717
|
}
|
|
1576
1718
|
|
|
1577
1719
|
|
|
@@ -1585,10 +1727,10 @@ function Config(opt) {
|
|
|
1585
1727
|
}
|
|
1586
1728
|
|
|
1587
1729
|
// templates root directories
|
|
1588
|
-
var d
|
|
1589
|
-
,
|
|
1590
|
-
, pCount
|
|
1591
|
-
, sCount
|
|
1730
|
+
var d = 0
|
|
1731
|
+
, dirsOrFiles = null
|
|
1732
|
+
, pCount = 0
|
|
1733
|
+
, sCount = 0
|
|
1592
1734
|
;
|
|
1593
1735
|
if (conf[bundle][env].publicPath && fs.existsSync(conf[bundle][env].publicPath) ) {
|
|
1594
1736
|
var publicResources = []
|
|
@@ -1596,30 +1738,44 @@ function Config(opt) {
|
|
|
1596
1738
|
;
|
|
1597
1739
|
|
|
1598
1740
|
d = 0;
|
|
1599
|
-
|
|
1741
|
+
dirsOrFiles = fs.readdirSync(conf[bundle][env].publicPath);
|
|
1600
1742
|
// ignoring html (template files) directory
|
|
1601
|
-
//
|
|
1743
|
+
//dirsOrFiles.splice(dirsOrFiles.indexOf(new _(reps.html, true).toArray().last()), 1);
|
|
1602
1744
|
|
|
1603
1745
|
// making statics allowed directories
|
|
1604
|
-
while ( d <
|
|
1605
|
-
|
|
1606
|
-
|
|
1746
|
+
while ( d < dirsOrFiles.length) {
|
|
1747
|
+
if ( /^\./.test(dirsOrFiles[d]) ) {
|
|
1748
|
+
++d;
|
|
1749
|
+
continue;
|
|
1750
|
+
}
|
|
1751
|
+
lStat = fs.lstatSync(_(conf[bundle][env].publicPath +'/'+ dirsOrFiles[d], true));
|
|
1752
|
+
if ( lStat.isDirectory() ) {
|
|
1607
1753
|
// regular path
|
|
1608
|
-
publicResources[pCount] = '/'+
|
|
1754
|
+
publicResources[pCount] = '/'+ dirsOrFiles[d] +'/';
|
|
1609
1755
|
++pCount;
|
|
1756
|
+
if ( conf[bundle][env].server.webroot == "/" ) {
|
|
1757
|
+
++d;
|
|
1758
|
+
continue;
|
|
1759
|
+
}
|
|
1610
1760
|
// handle resources from public with webroot in url
|
|
1611
|
-
publicResources[pCount] = conf[bundle][env].server.webroot +
|
|
1761
|
+
publicResources[pCount] = conf[bundle][env].server.webroot + dirsOrFiles[d] +'/';
|
|
1612
1762
|
++pCount
|
|
1613
|
-
} else if (
|
|
1763
|
+
} else if ( lStat.isFile() ) {
|
|
1614
1764
|
// regular path
|
|
1615
|
-
publicResources[pCount] = '/'+
|
|
1765
|
+
publicResources[pCount] = '/'+ dirsOrFiles[d];
|
|
1616
1766
|
++pCount;
|
|
1767
|
+
if ( conf[bundle][env].server.webroot == "/" ) {
|
|
1768
|
+
++d;
|
|
1769
|
+
continue;
|
|
1770
|
+
}
|
|
1617
1771
|
// handle resources from public with webroot in url
|
|
1618
|
-
publicResources[pCount] = conf[bundle][env].server.webroot +
|
|
1772
|
+
publicResources[pCount] = conf[bundle][env].server.webroot + dirsOrFiles[d];
|
|
1619
1773
|
++pCount
|
|
1620
1774
|
}
|
|
1621
1775
|
++d
|
|
1622
1776
|
}
|
|
1777
|
+
d = null;
|
|
1778
|
+
dirsOrFiles = null;
|
|
1623
1779
|
|
|
1624
1780
|
if (hasWebRoot) {
|
|
1625
1781
|
var staticToPublicPath = null;
|
|
@@ -1632,6 +1788,7 @@ function Config(opt) {
|
|
|
1632
1788
|
if ( publicResources.indexOf(staticToPublicPath) < 0 )
|
|
1633
1789
|
publicResources.push( staticToPublicPath )
|
|
1634
1790
|
}
|
|
1791
|
+
staticToPublicPath = null;
|
|
1635
1792
|
}
|
|
1636
1793
|
|
|
1637
1794
|
conf[bundle][env].publicResources = publicResources
|
|
@@ -1762,13 +1919,23 @@ function Config(opt) {
|
|
|
1762
1919
|
for (; t < tLen; ++t) {
|
|
1763
1920
|
noneDefaultCss[t] = JSON.clone(css);
|
|
1764
1921
|
url = tTmp[t];
|
|
1922
|
+
let re = new RegExp('\{\s*(.*)\s*\}', 'g');
|
|
1765
1923
|
if ( typeof(url) == 'string') {
|
|
1766
|
-
noneDefaultCss[t].url = url;
|
|
1924
|
+
noneDefaultCss[t].url = url.replace(re, originHostReplacement);
|
|
1767
1925
|
noneDefaultCss[t].name = url.substring(url.lastIndexOf('/')+1, url.lastIndexOf('.')).replace(/\W+/g, '-');
|
|
1768
1926
|
noneDefaultCss[t].isCommon = ( /^_common$/.test(section) ) ? true : false;
|
|
1769
1927
|
} else {
|
|
1928
|
+
// url replacements
|
|
1929
|
+
for (let prop in url) {
|
|
1930
|
+
if ( prop != 'url' || prop == 'url' && !url[prop] ) {
|
|
1931
|
+
continue;
|
|
1932
|
+
}
|
|
1933
|
+
// replacing url.url bundle@project -> <scheme>://<domain>:<port>/<webroot>
|
|
1934
|
+
url[prop] = url[prop].replace(re, originHostReplacement);
|
|
1935
|
+
}
|
|
1770
1936
|
noneDefaultCss[t] = merge(url, noneDefaultCss[t]);
|
|
1771
1937
|
}
|
|
1938
|
+
// .replace(/\s+/g, '').replace(/([a-z0-9_-]+\@[a-z0-9_-]+|[a-z0-9_-]+\@[a-z0-9_-]+\/[a-z0-9_-]+\@[a-z0-9_-]+)/ig, originHostReplacement)
|
|
1772
1939
|
}
|
|
1773
1940
|
}
|
|
1774
1941
|
|
|
@@ -1872,7 +2039,7 @@ function Config(opt) {
|
|
|
1872
2039
|
|
|
1873
2040
|
if (/^(\*|\*\*|all)$/i.test(files['templates'][section][excludedStr])) {
|
|
1874
2041
|
//currentCollection = allFilesCollection.notIn({ name: 'gina'}, 'name').toRaw();
|
|
1875
|
-
currentCollection = allFilesCollection.toRaw();
|
|
2042
|
+
currentCollection = new Collection(allFilesCollection.toRaw());
|
|
1876
2043
|
|
|
1877
2044
|
excluded = [];
|
|
1878
2045
|
for (let e = 0, eLen = currentCollectionRaw.length; e < eLen; e++) {
|
|
@@ -2024,6 +2191,8 @@ function Config(opt) {
|
|
|
2024
2191
|
|
|
2025
2192
|
files['templates']._common.ginaLoader = scriptTag;
|
|
2026
2193
|
|
|
2194
|
+
// files['templates']._common.ginaLoader = whisper(reps, files['templates']._common.ginaLoader);
|
|
2195
|
+
|
|
2027
2196
|
} catch (err) {
|
|
2028
2197
|
callback(err)
|
|
2029
2198
|
}
|
|
@@ -2040,6 +2209,7 @@ function Config(opt) {
|
|
|
2040
2209
|
conf[bundle][env].bundles = self.getBundles();
|
|
2041
2210
|
|
|
2042
2211
|
conf[bundle][env].env = env;
|
|
2212
|
+
conf[bundle][env].scope = scope;
|
|
2043
2213
|
|
|
2044
2214
|
// this setting is replace on http requests by the value extracted form the request header
|
|
2045
2215
|
if (
|
|
@@ -2058,8 +2228,8 @@ function Config(opt) {
|
|
|
2058
2228
|
|
|
2059
2229
|
|
|
2060
2230
|
} else {
|
|
2061
|
-
protocol =
|
|
2062
|
-
scheme =
|
|
2231
|
+
protocol = conf[bundle][env].server.protocol;
|
|
2232
|
+
scheme = conf[bundle][env].server.scheme;
|
|
2063
2233
|
}
|
|
2064
2234
|
|
|
2065
2235
|
conf[bundle][env].server.supportedRequestMethods = conf[bundle][env].content.settings.server.supportedRequestMethods;
|
|
@@ -2176,6 +2346,18 @@ function Config(opt) {
|
|
|
2176
2346
|
//Also defined in core/gna.
|
|
2177
2347
|
return (/^true$/i.test(process.env.NODE_ENV_IS_DEV)) ? true : false;
|
|
2178
2348
|
}
|
|
2349
|
+
/**
|
|
2350
|
+
* Check if the project scope is set for local
|
|
2351
|
+
* */
|
|
2352
|
+
this.isLocalScope = function() {
|
|
2353
|
+
return (/^true$/i.test(process.env.NODE_SCOPE_IS_LOCAL)) ? true : false;
|
|
2354
|
+
}
|
|
2355
|
+
/**
|
|
2356
|
+
* Check if the project scope is set for production
|
|
2357
|
+
* */
|
|
2358
|
+
this.isProductionScope = function() {
|
|
2359
|
+
return (/^true$/i.test(process.env.NODE_SCOPE_IS_PRODUCTION)) ? true : false;
|
|
2360
|
+
}
|
|
2179
2361
|
/**
|
|
2180
2362
|
* Refresh for cachless mode
|
|
2181
2363
|
*
|
|
@@ -2208,20 +2390,22 @@ function Config(opt) {
|
|
|
2208
2390
|
this.refreshModels = function(bundle, env, callback) {
|
|
2209
2391
|
var conf = self.envConf[bundle][env]
|
|
2210
2392
|
//Reload models.
|
|
2211
|
-
, modelsPath = _(conf.modelsPath)
|
|
2212
|
-
|
|
2393
|
+
, modelsPath = _(conf.modelsPath, true)
|
|
2394
|
+
, modelsPathObj = new _(modelsPath, true)
|
|
2395
|
+
;
|
|
2213
2396
|
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2397
|
+
if (
|
|
2398
|
+
modelsPathObj.existsSync()
|
|
2399
|
+
&& self.startingApp == conf.bundle
|
|
2400
|
+
) {
|
|
2401
|
+
modelUtil.reloadModels(
|
|
2402
|
+
conf,
|
|
2403
|
+
function doneReloadingModel(err) {
|
|
2404
|
+
callback(err)
|
|
2405
|
+
})
|
|
2406
|
+
} else {
|
|
2407
|
+
callback(false)
|
|
2408
|
+
}
|
|
2225
2409
|
}
|
|
2226
2410
|
|
|
2227
2411
|
/**
|
|
@@ -2229,7 +2413,7 @@ function Config(opt) {
|
|
|
2229
2413
|
*
|
|
2230
2414
|
* @param {object} routing
|
|
2231
2415
|
* */
|
|
2232
|
-
this.setRouting = function(bundle, env, routing) {
|
|
2416
|
+
this.setRouting = function(bundle, env, scope, routing) {
|
|
2233
2417
|
|
|
2234
2418
|
if (!self.envConf.routing)
|
|
2235
2419
|
self.envConf.routing = {};
|
|
@@ -2251,7 +2435,7 @@ function Config(opt) {
|
|
|
2251
2435
|
this.getRouting = function(bundle, env) {
|
|
2252
2436
|
|
|
2253
2437
|
if (typeof(env) == 'undefined') {
|
|
2254
|
-
env = self.env ||
|
|
2438
|
+
env = self.env || self.Env.get()
|
|
2255
2439
|
}
|
|
2256
2440
|
|
|
2257
2441
|
if ( typeof(bundle) != 'undefined' ) {
|
|
@@ -2261,7 +2445,7 @@ function Config(opt) {
|
|
|
2261
2445
|
return self.envConf.routing;
|
|
2262
2446
|
}
|
|
2263
2447
|
|
|
2264
|
-
this.setReverseRouting = function(bundle, env, reverseRouting) {
|
|
2448
|
+
this.setReverseRouting = function(bundle, env, scope, reverseRouting) {
|
|
2265
2449
|
|
|
2266
2450
|
if (!self.envConf.reverseRouting)
|
|
2267
2451
|
self.envConf.reverseRouting = {};
|
|
@@ -2298,7 +2482,7 @@ function Config(opt) {
|
|
|
2298
2482
|
return self
|
|
2299
2483
|
};
|
|
2300
2484
|
|
|
2301
|
-
init(opt)
|
|
2485
|
+
init(opt, contextResetNeeded)
|
|
2302
2486
|
}
|
|
2303
2487
|
|
|
2304
2488
|
return this
|