gina 0.1.1-alpha.21 → 0.1.1-alpha.210
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/AUTHORS +2 -1
- package/LICENSE +1 -1
- package/README-4Contributors.md +30 -0
- package/README.md +210 -32
- package/bin/cli +166 -68
- package/bin/cli-debug +49 -18
- package/bin/cmd +40 -18
- package/bin/gina +48 -37
- package/framework/{v0.1.1-alpha.21/lib/inherits → v0.1.1-alpha.210}/LICENSE +1 -1
- package/framework/v0.1.1-alpha.210/VERSION +1 -0
- package/framework/{v0.1.1-alpha.21/core/asset/js/plugin/readme.md → v0.1.1-alpha.210/core/asset/plugin/README.md} +31 -9
- package/framework/v0.1.1-alpha.210/core/asset/plugin/dist/vendor/gina/css/gina.min.css +1 -0
- package/framework/v0.1.1-alpha.210/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
- package/framework/v0.1.1-alpha.210/core/asset/plugin/dist/vendor/gina/html/toolbar.html +251 -0
- package/framework/{v0.1.1-alpha.21/core/asset/js/plugin/dist → v0.1.1-alpha.210/core/asset/plugin/dist/vendor/gina/js}/gina.js +4364 -3175
- package/framework/v0.1.1-alpha.210/core/asset/plugin/dist/vendor/gina/js/gina.min.js +764 -0
- package/framework/v0.1.1-alpha.210/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
- package/framework/v0.1.1-alpha.210/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +5 -0
- package/framework/v0.1.1-alpha.210/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/config.js +172 -79
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/connectors/couchbase/index.js +373 -259
- package/framework/v0.1.1-alpha.210/core/connectors/couchbase/lib/connector.js +22 -0
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/connectors/couchbase/lib/connector.v2.js +51 -51
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/connectors/couchbase/lib/connector.v3.js +51 -51
- package/framework/v0.1.1-alpha.210/core/connectors/couchbase/lib/connector.v4.js +384 -0
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/connectors/couchbase/lib/n1ql.js +3 -2
- package/framework/v0.1.1-alpha.210/core/connectors/couchbase/lib/session-store.js +22 -0
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/connectors/couchbase/lib/session-store.v3.js +12 -12
- package/framework/v0.1.1-alpha.210/core/connectors/couchbase/lib/session-store.v4.js +361 -0
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/controller/controller.js +921 -773
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/dev/index.js +1 -1
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/dev/lib/class.js +1 -1
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/dev/lib/factory.js +2 -2
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/gna.js +13 -9
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/locales/README.md +5 -0
- package/framework/v0.1.1-alpha.210/core/locales/dist/region/en.json +5727 -0
- package/framework/v0.1.1-alpha.210/core/locales/dist/region/fr.json +11452 -0
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/locales/index.js +2 -2
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/locales/src/make.js +39 -41
- package/framework/v0.1.1-alpha.210/core/locales/src/resources/region.mapping.json +43 -0
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/model/entity.js +87 -67
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/model/index.js +16 -16
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/model/template/entityFactory.js +1 -1
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/model/template/index.js +17 -15
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/plugins/index.js +1 -1
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/plugins/lib/file/package.json +1 -1
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/plugins/lib/intl/package.json +1 -1
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/plugins/lib/intl/src/main.js +5 -5
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/plugins/lib/storage/package.json +1 -1
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/plugins/lib/storage/src/main.js +6 -5
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/plugins/lib/validator/package.json +1 -1
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/plugins/lib/validator/src/form-validator.js +403 -300
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/plugins/lib/validator/src/main.js +1368 -1314
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/router.js +99 -90
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/server.isaac.js +203 -180
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/server.js +439 -238
- package/framework/v0.1.1-alpha.210/core/template/boilerplate/bundle/config/settings.json +12 -0
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/boilerplate/bundle/config/settings.server.json +4 -4
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/boilerplate/bundle/config/templates.json +4 -4
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/boilerplate/bundle/controllers/controller.content.js +1 -1
- package/framework/v0.1.1-alpha.210/core/template/boilerplate/bundle/controllers/setup.js +111 -0
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/boilerplate/bundle/index.js +13 -1
- package/framework/v0.1.1-alpha.210/core/template/boilerplate/bundle_templates/html/content/homepage.html +8 -0
- package/framework/v0.1.1-alpha.210/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +11 -0
- package/framework/v0.1.1-alpha.210/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +8 -0
- package/framework/{v0.1.1-alpha.21/core/template/boilerplate/bundle_templates/html/layout → v0.1.1-alpha.210/core/template/boilerplate/bundle_templates/html/layouts}/main.html +10 -3
- package/framework/v0.1.1-alpha.210/core/template/command/gina.bat.tpl +8 -0
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/command/gina.tpl +4 -4
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/conf/env.json +11 -0
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/conf/package.json +1 -1
- package/framework/v0.1.1-alpha.210/core/template/conf/statics.json +12 -0
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/conf/templates.json +2 -2
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/helpers/console.js +3 -3
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/helpers/context.js +148 -7
- package/framework/v0.1.1-alpha.210/helpers/data/LICENSE +9 -0
- package/framework/v0.1.1-alpha.210/helpers/data/README.md +12 -0
- package/framework/v0.1.1-alpha.210/helpers/data/package.json +20 -0
- package/framework/v0.1.1-alpha.210/helpers/data/src/main.js +295 -0
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/helpers/dateFormat.js +9 -7
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/helpers/index.js +13 -8
- package/framework/v0.1.1-alpha.210/helpers/json/LICENSE +9 -0
- package/framework/v0.1.1-alpha.210/helpers/json/README.md +12 -0
- package/framework/{v0.1.1-alpha.21/helpers/plugins → v0.1.1-alpha.210/helpers/json}/package.json +2 -2
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/helpers/json/src/main.js +28 -26
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/helpers/path.js +176 -96
- package/framework/{v0.1.1-alpha.21/helpers/json → v0.1.1-alpha.210/helpers/plugins}/package.json +2 -2
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/helpers/plugins/src/api-error.js +23 -23
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/helpers/plugins/src/main.js +3 -3
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/helpers/prototypes.js +46 -38
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/helpers/task.js +21 -14
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/helpers/text.js +2 -2
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/archiver/package.json +1 -1
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/archiver/src/dep/jszip.min.js +3 -3
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/archiver/src/main.js +168 -168
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/aliases.json +4 -1
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/bundle/add.js +84 -27
- package/framework/v0.1.1-alpha.210/lib/cmd/bundle/arguments.json +7 -0
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/bundle/help.txt +4 -2
- package/framework/v0.1.1-alpha.210/lib/cmd/bundle/list.js +176 -0
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/bundle/remove.js +36 -27
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/bundle/start.js +264 -46
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/bundle/stop.js +93 -74
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/env/add.js +44 -43
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/env/list.js +23 -4
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/env/remove.js +19 -19
- package/framework/{v0.1.1-alpha.21/lib/cmd/scope → v0.1.1-alpha.210/lib/cmd/env}/use.js +21 -1
- package/framework/v0.1.1-alpha.210/lib/cmd/framework/build.js +88 -0
- package/framework/v0.1.1-alpha.210/lib/cmd/framework/init.js +798 -0
- package/framework/v0.1.1-alpha.210/lib/cmd/framework/link-node-modules.js +116 -0
- package/framework/v0.1.1-alpha.210/lib/cmd/framework/link.js +114 -0
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/framework/open.js +22 -1
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/framework/restart.js +61 -26
- package/framework/v0.1.1-alpha.210/lib/cmd/framework/set.js +285 -0
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/framework/start.js +46 -20
- package/framework/v0.1.1-alpha.210/lib/cmd/framework/status.js +141 -0
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/framework/stop.js +47 -28
- package/framework/v0.1.1-alpha.210/lib/cmd/framework/tail.js +302 -0
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/framework/version.js +15 -3
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/helper.js +131 -18
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/index.js +23 -23
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/port/inc/scan.js +32 -16
- package/framework/v0.1.1-alpha.210/lib/cmd/port/list.js +462 -0
- package/framework/v0.1.1-alpha.210/lib/cmd/port/reset.js +429 -0
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/project/add.js +147 -122
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/project/arguments.json +2 -1
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/project/build.js +28 -28
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/project/list.js +19 -2
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/project/remove.js +19 -17
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/project/rename.js +11 -11
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/protocol/set.js +256 -209
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/scope/list.js +27 -8
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/scope/remove.js +19 -19
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/view/add.js +35 -10
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/collection/package.json +1 -1
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/collection/src/main.js +243 -242
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/config.js +31 -30
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cron/package.json +1 -1
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cron/src/main.js +10 -9
- package/framework/v0.1.1-alpha.210/lib/domain/LICENSE +9 -0
- package/framework/v0.1.1-alpha.210/lib/domain/README.md +46 -0
- package/framework/v0.1.1-alpha.210/lib/domain/dist/public_suffix_list.dat +14186 -0
- package/framework/v0.1.1-alpha.210/lib/domain/package.json +20 -0
- package/framework/v0.1.1-alpha.210/lib/domain/src/main.js +442 -0
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/generator/index.js +5 -5
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/index.js +3 -2
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210/lib/inherits}/LICENSE +1 -1
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/inherits/README.md +2 -2
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/inherits/package.json +3 -4
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/inherits/src/main.js +3 -3
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/logger/package.json +2 -2
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/logger/src/containers/default/index.js +13 -2
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/logger/src/containers/file/index.js +109 -14
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/logger/src/containers/mq/index.js +12 -3
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/logger/src/containers/mq/listener.js +16 -14
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/logger/src/containers/mq/speaker.js +32 -3
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/logger/src/helper.js +21 -1
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/logger/src/main.js +36 -9
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/math/index.js +9 -9
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/merge/README.md +2 -2
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/merge/package.json +1 -1
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/merge/src/main.js +118 -91
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/model.js +10 -10
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/proc.js +87 -49
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/routing/package.json +1 -1
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/routing/src/main.js +313 -285
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/session-store.js +6 -6
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/shell.js +3 -3
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/swig-filters/package.json +1 -1
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/swig-filters/src/main.js +140 -119
- package/framework/v0.1.1-alpha.210/lib/url/README.md +0 -0
- package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/validator.js +2 -2
- package/framework/v0.1.1-alpha.210/package.json +14 -0
- package/package.json +37 -25
- package/resources/home/main.json +53 -4
- package/resources/home/settings.json +9 -0
- package/resources/home/user/extensions/logger/default/config.json +1 -1
- package/resources/package.json.template +29 -18
- package/script/lib.js +0 -0
- package/script/post_install.js +496 -139
- package/script/pre_install.js +489 -77
- 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.21/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.21/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 +236 -185
- package/utils/prototypes.js +9 -9
- package/utils/prototypes.json_clone.js +70 -37
- package/doc/framework/cli/doc.json +0 -9
- package/doc/framework/index.md +0 -60
- package/framework/v0.1.1-alpha.21/VERSION +0 -1
- package/framework/v0.1.1-alpha.21/core/asset/js/plugin/dist/gina.js.map +0 -56
- package/framework/v0.1.1-alpha.21/core/asset/js/plugin/dist/gina.min.css +0 -1
- package/framework/v0.1.1-alpha.21/core/asset/js/plugin/dist/gina.min.css.map +0 -1
- package/framework/v0.1.1-alpha.21/core/asset/js/plugin/dist/gina.min.js +0 -736
- package/framework/v0.1.1-alpha.21/core/asset/js/plugin/dist/gina.min.js.map +0 -56
- package/framework/v0.1.1-alpha.21/core/asset/js/plugin/dist/gina.onload.min.js +0 -5
- package/framework/v0.1.1-alpha.21/core/asset/js/plugin/dist/gina.onload.min.js.map +0 -8
- package/framework/v0.1.1-alpha.21/core/connectors/couchbase/lib/connector.js +0 -20
- package/framework/v0.1.1-alpha.21/core/connectors/couchbase/lib/session-store.js +0 -21
- package/framework/v0.1.1-alpha.21/core/locales/dist/region/en.json +0 -9492
- package/framework/v0.1.1-alpha.21/core/locales/dist/region/fr.json +0 -9492
- package/framework/v0.1.1-alpha.21/core/locales/src/resources/region.mapping.json +0 -28
- package/framework/v0.1.1-alpha.21/core/template/boilerplate/bundle_templates/html/homepage.html +0 -4
- package/framework/v0.1.1-alpha.21/core/template/conf/statics.json +0 -10
- package/framework/v0.1.1-alpha.21/lib/cmd/bundle/arguments.json +0 -4
- package/framework/v0.1.1-alpha.21/lib/cmd/bundle/list.js +0 -129
- package/framework/v0.1.1-alpha.21/lib/cmd/framework/init.js +0 -514
- package/framework/v0.1.1-alpha.21/lib/cmd/framework/set.js +0 -161
- package/framework/v0.1.1-alpha.21/lib/cmd/framework/status.js +0 -72
- package/framework/v0.1.1-alpha.21/lib/cmd/framework/tail.js +0 -183
- package/framework/v0.1.1-alpha.21/lib/cmd/port/list.js +0 -176
- package/framework/v0.1.1-alpha.21/package.json +0 -14
- package/script/prepare_version.js +0 -429
- /package/{framework/v0.1.1-alpha.21/core/template/command/gina.bat.tpl → bin/gina.bat} +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/AUTHORS +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/asset/html/nolayout.html +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/asset/html/static.html +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/asset/img/android-chrome-192x192.png +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/asset/img/android-chrome-512x512.png +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/asset/img/apple-touch-icon.png +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/asset/img/favicon-16x16.png +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/asset/img/favicon-32x32.png +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/asset/img/favicon.ico +0 -0
- /package/framework/{v0.1.1-alpha.21/core/asset/js → v0.1.1-alpha.210/core/asset}/plugin/uuid.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/controller/controller.framework.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/controller/index.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/deps/busboy/.travis.yml +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/deps/busboy/LICENSE +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/deps/busboy/README.md +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/deps/busboy/deps/encoding/encoding.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/deps/busboy/lib/main.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/deps/busboy/lib/types/multipart.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/deps/busboy/lib/types/urlencoded.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/deps/busboy/lib/utils.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/deps/busboy/package.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/dev/lib/tools.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/locales/currency.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/locales/dist/language/en.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/locales/dist/language/fr.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/locales/src/resources/currency.csv +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/locales/src/resources/region.csv +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/mime.types +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/plugins/README.md +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/plugins/lib/file/README.md +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/plugins/lib/file/build.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/plugins/lib/intl/README.md +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/plugins/lib/intl/build.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/plugins/lib/storage/README.md +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/plugins/lib/storage/build.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/plugins/lib/validator/README.md +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/plugins/lib/validator/build.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/server.express.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/status.codes +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/boilerplate/bundle/config/app.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/boilerplate/bundle/config/routing.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/boilerplate/bundle_public/readme.md +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/conf/manifest.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/conf/settings.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/error/client/json/401.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/error/client/json/403.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/error/client/json/404.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/error/server/html/50x.html +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/error/server/json/500.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/error/server/json/503.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/core/template/extensions/logger/config.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/helpers/plugins/README.md +0 -0
- /package/framework/{v0.1.1-alpha.21/helpers/json → v0.1.1-alpha.210/lib/archiver}/README.md +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/archiver/build.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/bundle/copy.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/bundle/cp.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/bundle/help.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/bundle/rename.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/bundle/restart.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/bundle/rm.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/bundle/status.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/env/get.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/env/help.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/env/help.txt +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/env/link-dev.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/env/rm.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/env/set.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/env/unset.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/framework/dot.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/framework/get.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/framework/help.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/framework/help.txt +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/framework/msg.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/framework/update.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/gina-dev.1.md +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/gina-framework.1.md +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/gina.1.md +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/msg.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/port/help.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/port/help.txt +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/port/set.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/project/help.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/project/help.txt +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/project/import.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/project/move.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/project/restart.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/project/rm.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/project/start.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/project/status.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/project/stop.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/protocol/help.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/protocol/help.txt +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/protocol/list.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/scope/help.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/scope/help.txt +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/scope/link-local.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/scope/rm.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/scope/set.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cmd/scope/unset.js +0 -0
- /package/framework/{v0.1.1-alpha.21/lib/cmd/env → v0.1.1-alpha.210/lib/cmd/scope}/use.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/collection/README.md +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/collection/build.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/cron/README.md +0 -0
- /package/framework/{v0.1.1-alpha.21/lib/archiver/README.md → v0.1.1-alpha.210/lib/domain/exemples/backend.js} +0 -0
- /package/framework/{v0.1.1-alpha.21/lib/routing/README.md → v0.1.1-alpha.210/lib/domain/exemples/frontend.html} +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/inherits/example/inheriting_eventemitter.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/inherits/example/protected_inheritance.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/inherits/example/simple_inheritance.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/logger/README.md +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/merge/example/merge.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/merge/example/merge_2_literal objects.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/merge/example/merge_and_preserve_first.js +0 -0
- /package/framework/{v0.1.1-alpha.21/lib/swig-filters → v0.1.1-alpha.210/lib/routing}/README.md +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/routing/build.json +0 -0
- /package/framework/{v0.1.1-alpha.21/lib/url → v0.1.1-alpha.210/lib/swig-filters}/README.md +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/url/index.js +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/url/mocks.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/url/routing.json +0 -0
- /package/framework/{v0.1.1-alpha.21 → v0.1.1-alpha.210}/lib/url/test.js +0 -0
package/script/post_install.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
'use strict';
|
|
1
3
|
/**
|
|
2
4
|
* This file is part of the gina package.
|
|
3
|
-
* Copyright (c)
|
|
5
|
+
* Copyright (c) 2009-2023 Rhinostone <contact@gina.io>
|
|
4
6
|
*
|
|
5
7
|
* For the full copyright and license information, please view the LICENSE
|
|
6
8
|
* file that was distributed with this source code.
|
|
@@ -8,10 +10,68 @@
|
|
|
8
10
|
|
|
9
11
|
//Imports
|
|
10
12
|
var fs = require('fs');
|
|
13
|
+
var os = require("os");
|
|
11
14
|
var util = require('util');
|
|
12
15
|
var promisify = util.promisify;
|
|
13
16
|
const { execSync } = require('child_process');
|
|
14
17
|
|
|
18
|
+
var isWin32 = function() {
|
|
19
|
+
return (process.platform === 'win32') ? true : false;
|
|
20
|
+
};
|
|
21
|
+
var isWritableSync = function(path) {
|
|
22
|
+
var canWrite = false;
|
|
23
|
+
if ( fs.accessSync && typeof(fs.accessSync) != 'undefined' ) {
|
|
24
|
+
try {
|
|
25
|
+
fs.accessSync(path, fs.constants.W_OK);
|
|
26
|
+
canWrite = true;
|
|
27
|
+
} catch (err) {
|
|
28
|
+
canWrite = false;
|
|
29
|
+
}
|
|
30
|
+
} else { // support for old version of nodejs
|
|
31
|
+
|
|
32
|
+
try {
|
|
33
|
+
canWrite = (fs.statSync(path).mode & (fs.constants.S_IRUSR | fs.constants.S_IRGRP | fs.constants.S_IROTH));
|
|
34
|
+
} catch (err) {
|
|
35
|
+
canWrite = false
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return canWrite
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
var getUserHome = function() {
|
|
43
|
+
var home = os.homedir ? os.homedir : function() {
|
|
44
|
+
var homeDir = process.env[(isWin32()) ? 'USERPROFILE' : 'HOME'];
|
|
45
|
+
|
|
46
|
+
if ( !homeDir || homeDir == '' ) {
|
|
47
|
+
throw new Error('Home directory not defined or not found !');
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if ( !isWritableSync(homeDir) ) {
|
|
51
|
+
throw new Error('Home directory found but not writable: need permissions for `'+ homeDir +'`');
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return homeDir;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
return home()
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
// just in case `post_install` is called by hand
|
|
61
|
+
var initialDir = process.cwd();
|
|
62
|
+
var frameworkPath = __dirname +'/..';
|
|
63
|
+
if ( !fs.existsSync(frameworkPath +'/node_modules/colors') ) {
|
|
64
|
+
process.chdir(frameworkPath);
|
|
65
|
+
|
|
66
|
+
var oldConfigGlobal = process.env.npm_config_global;
|
|
67
|
+
process.env.npm_config_global=false;
|
|
68
|
+
var cmd = ( isWin32() ) ? 'npm.cmd install colors@1.4.0' : 'npm install colors@1.4.0';
|
|
69
|
+
execSync(cmd);
|
|
70
|
+
process.env.npm_config_global=oldConfigGlobal;
|
|
71
|
+
|
|
72
|
+
process.chdir(initialDir);
|
|
73
|
+
}
|
|
74
|
+
|
|
15
75
|
var lib = require('./lib');
|
|
16
76
|
var console = lib.logger;
|
|
17
77
|
|
|
@@ -20,6 +80,7 @@ var ginaPath = (scriptPath.replace(/\\/g, '/')).replace('/script', '');
|
|
|
20
80
|
var help = require(ginaPath + '/utils/helper.js');
|
|
21
81
|
var pack = ginaPath + '/package.json';
|
|
22
82
|
pack = (isWin32()) ? pack.replace(/\//g, '\\') : pack;
|
|
83
|
+
var helpers = null;
|
|
23
84
|
|
|
24
85
|
|
|
25
86
|
/**
|
|
@@ -28,47 +89,181 @@ pack = (isWin32()) ? pack.replace(/\//g, '\\') : pack;
|
|
|
28
89
|
* */
|
|
29
90
|
function PostInstall() {
|
|
30
91
|
|
|
31
|
-
var self = {}
|
|
92
|
+
var self = {};
|
|
32
93
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
self.
|
|
41
|
-
self.
|
|
94
|
+
var configure = function() {
|
|
95
|
+
|
|
96
|
+
// TODO - handle windows case
|
|
97
|
+
if ( /^true$/i.test(isWin32()) ) {
|
|
98
|
+
throw new Error('Windows in not yet fully supported. Thank you for your patience');
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
self.isWin32 = isWin32();
|
|
102
|
+
self.isGlobalInstall = ( typeof(process.env.npm_config_global) != 'undefined' && /^(true|false)$/i.test(process.env.npm_config_global) )
|
|
103
|
+
? (/^true$/i.test(process.env.npm_config_global) ? true: false)
|
|
104
|
+
: false;
|
|
105
|
+
self.isResetNeeded = ( typeof(process.env.npm_config_reset) != 'undefined' && /^(true|false)$/i.test(process.env.npm_config_reset) )
|
|
106
|
+
? (/^true$/i.test(process.env.npm_config_reset) ? true: false)
|
|
107
|
+
: false;
|
|
108
|
+
self.defaultPrefix = execSync('npm config get prefix').toString().replace(/\n$/g, '');
|
|
109
|
+
// var pkg = null;
|
|
110
|
+
// try {
|
|
111
|
+
// if (self.isGlobalInstall) {
|
|
112
|
+
// pkg = execSync('npm list -g gina --long --json').toString().replace(/\n$/g, '');
|
|
113
|
+
// } else {
|
|
114
|
+
// pkg = execSync('npm list gina --long --json').toString().replace(/\n$/g, '');
|
|
115
|
+
// }
|
|
116
|
+
// } catch(err) {
|
|
117
|
+
// throw err
|
|
118
|
+
// }
|
|
119
|
+
// self.optionalPrefix = JSON.parse(pkg).dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
|
|
42
120
|
|
|
121
|
+
// `process.env.npm_config_prefix` is only retrieved on `npm install gina`
|
|
122
|
+
// and it should always be equal to `self.defaultPrefix`
|
|
123
|
+
self.prefix = process.env.npm_config_prefix || self.defaultPrefix;
|
|
124
|
+
self.isCustomPrefix = false;
|
|
125
|
+
self.isGinaInstalled = false;
|
|
126
|
+
|
|
127
|
+
// Overriding thru passed arguments
|
|
43
128
|
var args = process.argv, i = 0, len = args.length;
|
|
44
129
|
for (; i < len; ++i) {
|
|
45
|
-
if (args[i]
|
|
130
|
+
if ( /^(\-g|\-\-global)$/.test(args[i]) ) {
|
|
46
131
|
self.isGlobalInstall = true;
|
|
47
132
|
continue;
|
|
48
133
|
}
|
|
49
|
-
|
|
134
|
+
|
|
135
|
+
if ( /^\-\-reset$/.test(args[i]) ) {
|
|
136
|
+
self.isResetNeeded = true;
|
|
137
|
+
continue;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
if ( /^\-\-prefix\=/.test(args[i] ) ) {
|
|
50
141
|
self.isCustomPrefix = true;
|
|
51
142
|
self.prefix = args[i].split(/\=/)[1];
|
|
143
|
+
self.prefix = self.prefix.replace(/^\~/, getUserHome());
|
|
52
144
|
continue;
|
|
53
145
|
}
|
|
146
|
+
|
|
147
|
+
if ( /^\-\-log-level\=/.test(args[i]) ) {
|
|
148
|
+
var logLevel = args[i].split(/\=/)[1];
|
|
149
|
+
console.setLevel(logLevel, 'gina');
|
|
150
|
+
process.env.LOG_LEVEL=logLevel;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
if (self.prefix != self.defaultPrefix) {
|
|
155
|
+
self.isCustomPrefix = true;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// For local install
|
|
159
|
+
console.debug('self.isGlobalInstall => '+ self.isGlobalInstall);
|
|
160
|
+
if ( !self.isGlobalInstall ) {
|
|
161
|
+
console.warn('Local installation is not fully supported at the moment.');
|
|
162
|
+
console.warn('You are encouraged to use `npm install -g gina`\nor, if you are trying to link gina to your project, use `npm link gina` if Gina has already been installed globally\n');
|
|
163
|
+
// Just in case someone is trying to run post_install from the `gina` module of from the project dir
|
|
164
|
+
if (!/node\_modules(\\\\|\/)gina$/.test(process.env.INIT_CWD)) {
|
|
165
|
+
self.prefix = process.env.INIT_CWD || process.cwd();
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
// No package.json ?
|
|
169
|
+
var projectName = self.prefix.split('/').slice(-1)[0];
|
|
170
|
+
var projectPackageJsonObj = new _(self.prefix +'/package.json', true);
|
|
171
|
+
console.info('Checking for: '+ projectPackageJsonObj.toString(), '['+ projectPackageJsonObj.existsSync() +']');
|
|
172
|
+
if ( !projectPackageJsonObj.existsSync() ) {
|
|
173
|
+
var defaultPackageJsonContent = {
|
|
174
|
+
"name": ""+ projectName,
|
|
175
|
+
"version": "0.0.1",
|
|
176
|
+
"description": projectName+ " is a nice project !",
|
|
177
|
+
"engine": [
|
|
178
|
+
"node >=" + process.version.substring(1)
|
|
179
|
+
]
|
|
180
|
+
};
|
|
181
|
+
console.warn('No `package.json` found for your project, creating one to avoid install exceptions');
|
|
182
|
+
lib.generator.createFileFromDataSync(defaultPackageJsonContent, projectPackageJsonObj.toString());
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// checking permission
|
|
187
|
+
var hasPermissionsForBin = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'bin');
|
|
188
|
+
var hasPermissionsForLib = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'lib');
|
|
189
|
+
var hasPermissionsForVar = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'var');
|
|
190
|
+
if ( !hasPermissionsForBin || !hasPermissionsForLib || !hasPermissionsForVar) {
|
|
191
|
+
if (!hasPermissionsForBin) {
|
|
192
|
+
console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'bin')
|
|
193
|
+
}
|
|
194
|
+
if (!hasPermissionsForLib) {
|
|
195
|
+
console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'lib')
|
|
196
|
+
}
|
|
197
|
+
if (!hasPermissionsForVar) {
|
|
198
|
+
console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'var')
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
// console.warn('You do not have sufficient permissions. Switching to `--prefix='+ self.optionalPrefix +'`');
|
|
202
|
+
// process.env.npm_config_prefix = self.prefix = self.optionalPrefix;
|
|
54
203
|
}
|
|
55
204
|
|
|
56
|
-
|
|
205
|
+
var pkg = null, pkgObj = null, cmd = null;
|
|
206
|
+
try {
|
|
207
|
+
cmd = 'npm list gina --long --json --prefix='+ self.prefix;
|
|
208
|
+
if (self.isGlobalInstall) {
|
|
209
|
+
cmd += ' -g';
|
|
210
|
+
}
|
|
211
|
+
pkg = execSync(cmd).toString().replace(/\n$/g, '');
|
|
212
|
+
self.optionalPrefix = JSON.parse(pkg).dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
|
|
213
|
+
|
|
214
|
+
} catch(err) {
|
|
215
|
+
// throw err
|
|
216
|
+
// ignore exception
|
|
217
|
+
}
|
|
57
218
|
|
|
58
|
-
|
|
219
|
+
pkgObj = JSON.parse(pkg);
|
|
220
|
+
self.optionalPrefix = pkgObj.dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
|
|
59
221
|
|
|
60
|
-
if (
|
|
61
|
-
self.
|
|
62
|
-
console.error('local installation is not supported for this version at the moment.');
|
|
63
|
-
console.info('please use `npm install -g gina`');
|
|
64
|
-
process.exit(1);
|
|
222
|
+
if ( self.prefix != self.defaultPrefix ) {
|
|
223
|
+
self.isCustomPrefix = true;
|
|
65
224
|
}
|
|
66
225
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
226
|
+
self.gina = __dirname +'/..';
|
|
227
|
+
// tying to figure out if gina is already install the given prefix
|
|
228
|
+
var hasFoundGina = pkg;
|
|
229
|
+
try {
|
|
230
|
+
hasFoundGina = JSON.parse(hasFoundGina);
|
|
231
|
+
if ( hasFoundGina.dependencies && typeof(hasFoundGina.dependencies.gina) != 'undefined' ) {
|
|
232
|
+
self.isGinaInstalled = true;
|
|
233
|
+
self.versionPath = self.gina;
|
|
234
|
+
self.versionPath += (isWin32()) ? '\\framework\\' : '/framework/';
|
|
235
|
+
self.version = hasFoundGina.dependencies.gina.version;
|
|
236
|
+
self.versionPath += 'v'+ self.version;
|
|
237
|
+
|
|
238
|
+
self.shortVersion = self.version.split('.');
|
|
239
|
+
self.shortVersion.splice(2);
|
|
240
|
+
self.shortVersion = self.shortVersion.join('.');
|
|
241
|
+
|
|
242
|
+
console.debug('Install path => '+ hasFoundGina.dependencies.gina.path);
|
|
243
|
+
|
|
244
|
+
// OK ... found installed gina but on a different prefix
|
|
245
|
+
// In this case, let's assume that it is not really installed
|
|
246
|
+
console.info('A previous version of gina has been detected');
|
|
247
|
+
if ( !new RegExp('^'+ self.prefix).test(hasFoundGina.dependencies.gina.path) ) {
|
|
248
|
+
self.isGinaInstalled = false;
|
|
249
|
+
console.info('Ignoring previous because of a mismatching install prefix');
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
}
|
|
253
|
+
} catch (err) {}
|
|
254
|
+
|
|
255
|
+
console.debug('self.defaultPrefix => '+ self.defaultPrefix);
|
|
256
|
+
console.debug('self.optionalPrefix => '+ self.optionalPrefix );
|
|
257
|
+
console.debug('self.prefix => '+ self.prefix);
|
|
258
|
+
console.debug('self.isCustomPrefix => ', self.isCustomPrefix);
|
|
259
|
+
// only available when running the script with NPM
|
|
260
|
+
console.debug('process.env.npm_config_prefix => '+ process.env.npm_config_prefix);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
//Initialize post installation scripts.
|
|
264
|
+
var init = function() {
|
|
265
|
+
configure();
|
|
266
|
+
helpers = require(self.versionPath+ '/helpers');
|
|
72
267
|
|
|
73
268
|
begin(0);
|
|
74
269
|
}
|
|
@@ -77,7 +272,6 @@ function PostInstall() {
|
|
|
77
272
|
* Bebin - Will run checking tasks in order of declaration
|
|
78
273
|
* */
|
|
79
274
|
var begin = async function(i) {
|
|
80
|
-
//console.debug('i is ', i);
|
|
81
275
|
var n = 0, funct = null, functName = null;
|
|
82
276
|
for (let t in self) {
|
|
83
277
|
if ( typeof(self[t]) == 'function') {
|
|
@@ -95,7 +289,7 @@ function PostInstall() {
|
|
|
95
289
|
|
|
96
290
|
// to handle sync vs async to allow execution in order of declaration
|
|
97
291
|
if (funct) {
|
|
98
|
-
eval('async function on'+functName+'(){ await promisify('+ funct + ')().catch(function(e){ console.error(e.toString()); process.exit(
|
|
292
|
+
eval('async function on'+functName+'(){ await promisify('+ funct + ')().catch(function(e){ console.error(e.toString()); process.exit(1);}).then(function(){ begin('+(i+1)+')});}; on'+functName+'();'); // jshint ignore:line
|
|
99
293
|
} else {
|
|
100
294
|
process.exit(0);
|
|
101
295
|
}
|
|
@@ -153,10 +347,10 @@ function PostInstall() {
|
|
|
153
347
|
|
|
154
348
|
|
|
155
349
|
self.createVersionFile = function(done) {
|
|
156
|
-
var version =
|
|
157
|
-
console.debug('
|
|
350
|
+
var version = self.version;
|
|
351
|
+
console.debug('Writting version number: '+ version);
|
|
158
352
|
|
|
159
|
-
var target = _(self.
|
|
353
|
+
var target = _(self.versionPath + '/VERSION');
|
|
160
354
|
try {
|
|
161
355
|
if ( fs.existsSync(target) ) {
|
|
162
356
|
fs.unlinkSync(target)
|
|
@@ -169,13 +363,20 @@ function PostInstall() {
|
|
|
169
363
|
done();
|
|
170
364
|
}
|
|
171
365
|
|
|
366
|
+
// TODO - Remove this part
|
|
172
367
|
var configureGina = function() {
|
|
173
368
|
// link to ./bin/cli to binaries dir
|
|
174
369
|
if (!self.isWin32) {
|
|
175
|
-
var binPath =
|
|
176
|
-
|
|
370
|
+
var binPath = null;
|
|
371
|
+
if ( !self.isGlobalInstall() ) {
|
|
372
|
+
binPath = new _(self.prefix+'/node_modules/.bin', true).existsSync() ? _(self.prefix+'/node_modules/.bin', true) : '';
|
|
373
|
+
} else {
|
|
374
|
+
binPath = new _(self.prefix+'/lib/node_modules/gina/bin', true)
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
var cli = _(binPath +'/gina', true);
|
|
177
378
|
// TODO - remove this part for the next version
|
|
178
|
-
var cliDebug = _(binPath +'/gina-debug');
|
|
379
|
+
var cliDebug = _(binPath +'/gina-debug', true);
|
|
179
380
|
|
|
180
381
|
if ( fs.existsSync(cli) ) {
|
|
181
382
|
fs.unlinkSync(cli)
|
|
@@ -185,24 +386,33 @@ function PostInstall() {
|
|
|
185
386
|
fs.unlinkSync(cliDebug)
|
|
186
387
|
}
|
|
187
388
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
389
|
+
|
|
390
|
+
if ( !self.isGlobalInstall() ) {
|
|
391
|
+
new _(cli, true).symlinkSync( _(self.prefix +'/gina', true) )
|
|
392
|
+
}
|
|
393
|
+
// else {
|
|
394
|
+
// new _(cli, true).symlinkSync( _(self.prefix +'/bin/', true) )
|
|
395
|
+
// }
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
// var cmd = 'ln -s '+ self.gina +'/bin/gina '+ binPath;
|
|
399
|
+
// console.debug('running: '+ cmd);
|
|
400
|
+
// run(cmd, { cwd: _(self.versionPath), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
|
|
401
|
+
// .onData(function(data){
|
|
402
|
+
// console.info(data)
|
|
403
|
+
// })
|
|
404
|
+
// .onComplete( function onDone(err, data){
|
|
405
|
+
// if (err) {
|
|
406
|
+
// console.error(err);
|
|
407
|
+
// console.warn('try to run : sudo ' + cmd);
|
|
408
|
+
// }
|
|
409
|
+
// });
|
|
200
410
|
// To debug, you just need to run:
|
|
201
411
|
// gina <topic>:<task> --inspect-gina
|
|
202
412
|
//
|
|
203
413
|
// TODO - remove this part for the next version
|
|
204
414
|
// cmd = 'ln -s '+ self.gina +'/bin/cli-debug '+ binPath +'/gina-debug';
|
|
205
|
-
// run(cmd, { cwd: _(self.
|
|
415
|
+
// run(cmd, { cwd: _(self.versionPath), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
|
|
206
416
|
// .onData(function(data){
|
|
207
417
|
// console.info(data)
|
|
208
418
|
// })
|
|
@@ -219,55 +429,57 @@ function PostInstall() {
|
|
|
219
429
|
}
|
|
220
430
|
|
|
221
431
|
//Creating framework command line file for nix.
|
|
222
|
-
var createGinaFile = function(
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
var appPath = _( self.path.substring(0, (self.path.length - ("node_modules/" + name + '/').length)) );
|
|
228
|
-
var source = _(self.path + '/core/template/command/gina.tpl');
|
|
229
|
-
var target = _(appPath +'/'+ name);
|
|
230
|
-
if ( typeof(win32Name) != 'undefined') {
|
|
231
|
-
target = _(appPath +'/'+ win32Name)
|
|
232
|
-
}
|
|
233
|
-
//Will override.
|
|
234
|
-
console.info('linking to binaries dir ... ');
|
|
235
|
-
if ( typeof(callback) != 'undefined') {
|
|
236
|
-
if ( !self.isGlobalInstall ) { // local install only
|
|
237
|
-
lib.generator.createFileFromTemplate(source, target, function onGinaFileCreated(err) {
|
|
238
|
-
callback(err)
|
|
432
|
+
var createGinaFile = function(callback) {
|
|
433
|
+
// local install only
|
|
434
|
+
if (self.isGlobalInstall) {
|
|
435
|
+
return callback(false);
|
|
436
|
+
}
|
|
239
437
|
|
|
240
|
-
|
|
241
|
-
|
|
438
|
+
console.info('Current prefix: '+ self.prefix );
|
|
439
|
+
console.info('Current package.json: '+ _(self.gina + '/package.json', true) );
|
|
440
|
+
|
|
441
|
+
console.info('Creating framework command line:');
|
|
442
|
+
var appPath = process.env.INIT_CWD;
|
|
443
|
+
console.debug('App path: '+ appPath);
|
|
444
|
+
var source = _(appPath + '/node_modules/.bin/gina', true);
|
|
445
|
+
var target = _(appPath +'/gina', true);
|
|
446
|
+
if ( isWin32() ) {
|
|
447
|
+
source = _(appPath + '/node_modules/.bin/gina.bat', true)
|
|
448
|
+
target = _(appPath +'/gina.bat', true)
|
|
449
|
+
}
|
|
450
|
+
console.debug('Source: '+ source);
|
|
451
|
+
console.debug('Target: '+ target);
|
|
242
452
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
453
|
+
if ( callback && typeof(callback) != 'undefined') {
|
|
454
|
+
console.info('Linking to binaries dir: '+ source +' -> '+ target);
|
|
455
|
+
try {
|
|
456
|
+
if ( fs.existsSync(target) ) {
|
|
457
|
+
fs.unlinkSync(target)
|
|
458
|
+
}
|
|
459
|
+
new _(source).symlinkSync(target)
|
|
460
|
+
} catch (err) {
|
|
461
|
+
return callback(err)
|
|
249
462
|
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
// }
|
|
463
|
+
|
|
464
|
+
return callback(false);
|
|
253
465
|
}
|
|
254
466
|
}
|
|
255
467
|
|
|
256
468
|
self.createGinaFileForPlatform = async function(done) {
|
|
257
469
|
console.info('Creating platform file');
|
|
258
|
-
var name = require( _(self.
|
|
470
|
+
// var name = require( _(self.versionPath + '/package.json') ).name;
|
|
259
471
|
|
|
260
|
-
var filename = ( (self.isWin32) ? '.' : '' ) + name;
|
|
472
|
+
// var filename = ( (self.isWin32) ? '.' : '' ) + name;
|
|
261
473
|
|
|
262
|
-
var keepGoing = function(
|
|
474
|
+
var keepGoing = function() {
|
|
263
475
|
|
|
264
|
-
createGinaFile(
|
|
476
|
+
createGinaFile(function onFileCreated(err) {
|
|
265
477
|
if (err) {
|
|
266
478
|
return done(err)
|
|
267
479
|
}
|
|
268
480
|
|
|
269
481
|
// this is done to allow multiple calls of post_install.js
|
|
270
|
-
var filename = _(self.
|
|
482
|
+
var filename = _(self.versionPath + '/SUCCESS');
|
|
271
483
|
var installed = fs.existsSync( filename );
|
|
272
484
|
if (installed) {
|
|
273
485
|
fs.unlinkSync( filename );
|
|
@@ -289,8 +501,8 @@ function PostInstall() {
|
|
|
289
501
|
if ( !hasNodeModulesSync() ) {
|
|
290
502
|
return npmInstall(done)
|
|
291
503
|
} else {
|
|
292
|
-
var target = new _(self.
|
|
293
|
-
console.debug('
|
|
504
|
+
var target = new _(self.versionPath + '/node_modules');
|
|
505
|
+
console.debug('Replacing: ', target.toString() );
|
|
294
506
|
return target
|
|
295
507
|
.rm( function onRemove(err) {
|
|
296
508
|
if (err) {
|
|
@@ -304,57 +516,56 @@ function PostInstall() {
|
|
|
304
516
|
})
|
|
305
517
|
}
|
|
306
518
|
|
|
307
|
-
if (self.isWin32) {
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
519
|
+
// if (self.isWin32) {
|
|
520
|
+
// // var appPath = _( self.versionPath.substring(0, (self.versionPath.length - ("node_modules/" + name + '/').length)) );
|
|
521
|
+
// var appPath = process.cwd()
|
|
522
|
+
// var source = _(self.versionPath + '/core/template/command/gina.bat.tpl');
|
|
523
|
+
// var target = _(appPath +'/'+ name + '.bat');
|
|
524
|
+
// if ( fs.existsSync(target) ) {
|
|
525
|
+
// fs.unlinkSync(target);
|
|
526
|
+
// // have to wait for windows to complete this
|
|
527
|
+
// setTimeout( async function(){
|
|
528
|
+
// lib.generator.createFileFromTemplate(source, target);
|
|
529
|
+
// await keepGoing(filename)
|
|
530
|
+
// }, 1000)
|
|
531
|
+
// } else {
|
|
532
|
+
// lib.generator.createFileFromTemplate(source, target);
|
|
533
|
+
// await keepGoing(filename)
|
|
534
|
+
// }
|
|
535
|
+
|
|
536
|
+
// } else {
|
|
537
|
+
await keepGoing()
|
|
538
|
+
// }
|
|
326
539
|
}
|
|
327
540
|
|
|
328
541
|
|
|
329
542
|
var hasNodeModulesSync = function() {
|
|
330
|
-
return fs.existsSync( _(self.
|
|
543
|
+
return fs.existsSync( _(self.versionPath + '/node_modules') )
|
|
331
544
|
}
|
|
332
545
|
|
|
333
546
|
|
|
334
547
|
var npmInstall = function(done) {
|
|
335
|
-
|
|
548
|
+
|
|
549
|
+
console.info('Now installing modules. Please, wait ...');
|
|
336
550
|
console.info('Prefix ('+ self.isCustomPrefix +'): '+ self.prefix);
|
|
337
|
-
|
|
338
|
-
|
|
551
|
+
console.info('Default prefix: '+ self.defaultPrefix);
|
|
552
|
+
var initialDir = process.cwd();
|
|
339
553
|
|
|
340
|
-
console.info('running: '+ cmd +' from '+ _(self.path) );
|
|
341
|
-
console.info('running TMP: '+ _(self.root +'/tmp') );
|
|
342
554
|
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
})
|
|
555
|
+
var cmd = ( isWin32() ) ? 'npm.cmd install' : 'npm install';
|
|
556
|
+
|
|
557
|
+
process.chdir( self.versionPath );
|
|
558
|
+
|
|
559
|
+
console.info('Running: `'+ cmd +'` from '+ process.cwd() );
|
|
560
|
+
console.info('Running using TMPDIR: '+ _(getTmpDir(), true) );
|
|
561
|
+
var oldConfigGlobal = process.env.npm_config_global;
|
|
562
|
+
process.env.npm_config_global = false;
|
|
563
|
+
console.info('Running using TMPDIR: '+ cmd);
|
|
564
|
+
console.info(execSync(cmd).toString());
|
|
565
|
+
process.chdir(initialDir);
|
|
566
|
+
process.env.npm_config_global = oldConfigGlobal;
|
|
567
|
+
|
|
568
|
+
done()
|
|
358
569
|
}
|
|
359
570
|
|
|
360
571
|
self.cleanupIfNeeded = function(done) {
|
|
@@ -366,22 +577,56 @@ function PostInstall() {
|
|
|
366
577
|
if ( new _(frameworkPath +'/node_modules/colors', true).existsSync() ) {
|
|
367
578
|
var initialDir = process.cwd();
|
|
368
579
|
process.chdir(frameworkPath);
|
|
369
|
-
var
|
|
370
|
-
|
|
580
|
+
var oldConfigGlobal = process.env.npm_config_global;
|
|
581
|
+
process.env.npm_config_global=false;
|
|
582
|
+
|
|
583
|
+
// var cmd = self.prefix +'/bin/';
|
|
584
|
+
// cmd += ( isWin32() ) ? 'npm.cmd rm colors' : 'npm rm colors';
|
|
585
|
+
|
|
586
|
+
var cmd = ( isWin32() ) ? 'npm.cmd rm colors' : 'npm rm colors';
|
|
587
|
+
|
|
371
588
|
try {
|
|
372
589
|
execSync(cmd);
|
|
373
590
|
console.debug('Removed default `colors` module from `GINA_DIR`... This is normal ;)');
|
|
374
591
|
} catch (npmErr) {
|
|
592
|
+
process.chdir(initialDir);
|
|
375
593
|
return done(npmErr);
|
|
376
594
|
}
|
|
377
595
|
|
|
378
596
|
process.chdir(initialDir);
|
|
597
|
+
process.env.npm_config_global=oldConfigGlobal;
|
|
379
598
|
}
|
|
380
599
|
|
|
381
600
|
done()
|
|
382
601
|
}
|
|
383
602
|
|
|
384
603
|
self.checkUserExtensions = async function(done) {
|
|
604
|
+
var err = null;
|
|
605
|
+
var versionDirObj = new _( getUserHome() +'/.gina/'+ self.shortVersion, true);
|
|
606
|
+
console.debug('versionDirObj: '+ versionDirObj.toString() );
|
|
607
|
+
if ( !versionDirObj.existsSync() ) {
|
|
608
|
+
versionDirObj.mkdirSync()
|
|
609
|
+
}
|
|
610
|
+
var defaultSettingsObj = new _(versionDirObj.toString() + '/settings.json', true);
|
|
611
|
+
if (!defaultSettingsObj.existsSync()) {
|
|
612
|
+
promisify(new _(self.gina +'/resources/home/main.json').cp)(defaultSettingsObj.toString())
|
|
613
|
+
.catch( function onCopyError(_err) {
|
|
614
|
+
err = _err;
|
|
615
|
+
})
|
|
616
|
+
}
|
|
617
|
+
if (err) {
|
|
618
|
+
return done(err);
|
|
619
|
+
}
|
|
620
|
+
var defaultMainObj = new _(versionDirObj.toString() + '/main.json', true);
|
|
621
|
+
if (!defaultMainObj.existsSync()) {
|
|
622
|
+
promisify(new _(self.gina +'/resources/home/main.json').cp)(defaultMainObj.toString())
|
|
623
|
+
.catch( function onCopyError(_err) {
|
|
624
|
+
err = _err;
|
|
625
|
+
})
|
|
626
|
+
}
|
|
627
|
+
if (err) {
|
|
628
|
+
return done(err);
|
|
629
|
+
}
|
|
385
630
|
|
|
386
631
|
var userDir = _(getUserHome() + '/.gina/user', true);
|
|
387
632
|
// var userDirObj = new _(userDir);
|
|
@@ -399,9 +644,12 @@ function PostInstall() {
|
|
|
399
644
|
|
|
400
645
|
// reading default extensions
|
|
401
646
|
var ext = _(self.gina +'/resources/home/user/extensions', true);
|
|
647
|
+
// if (!self.isCustomPrefix) {
|
|
648
|
+
// ext = _( self.defaultPrefix + '/lib/node_modules/gina/bin/gina')
|
|
649
|
+
// }
|
|
402
650
|
var folders = [];
|
|
403
651
|
try {
|
|
404
|
-
console.debug('Reading :
|
|
652
|
+
console.debug('Reading :'+ ext + ' - isDirectory ? '+ fs.lstatSync( ext ).isDirectory() );
|
|
405
653
|
folders = fs.readdirSync(ext);
|
|
406
654
|
|
|
407
655
|
} catch(readErr) {
|
|
@@ -433,7 +681,6 @@ function PostInstall() {
|
|
|
433
681
|
|
|
434
682
|
let files = []
|
|
435
683
|
, extDir = _(ext +'/'+ dir, true)
|
|
436
|
-
, extDirObj = new _(extDir)
|
|
437
684
|
;
|
|
438
685
|
try {
|
|
439
686
|
|
|
@@ -451,7 +698,7 @@ function PostInstall() {
|
|
|
451
698
|
|
|
452
699
|
for (let n = 0, nLen = files.length; n < nLen; n++) {
|
|
453
700
|
let file = files[n];
|
|
454
|
-
console.debug('
|
|
701
|
+
console.debug('File --> ', file);
|
|
455
702
|
let extentionPath = _(extDir +'/'+ file, true);
|
|
456
703
|
let extensionPathObj = new _(extentionPath);
|
|
457
704
|
// redefined
|
|
@@ -466,11 +713,11 @@ function PostInstall() {
|
|
|
466
713
|
err = _err;
|
|
467
714
|
})
|
|
468
715
|
.then( function onCopy(_destination) {// jshint ignore:line
|
|
469
|
-
console.
|
|
716
|
+
console.debug('Copy '+ extentionPath +' to '+ _destination +' done !');
|
|
470
717
|
});
|
|
471
718
|
|
|
472
719
|
if (err) {
|
|
473
|
-
|
|
720
|
+
return done(err);
|
|
474
721
|
}
|
|
475
722
|
}
|
|
476
723
|
}
|
|
@@ -480,6 +727,64 @@ function PostInstall() {
|
|
|
480
727
|
done()
|
|
481
728
|
}
|
|
482
729
|
|
|
730
|
+
/**
|
|
731
|
+
* Updated user's profile
|
|
732
|
+
* Will edit ~/.profile, check and add if needed path to Gina binary
|
|
733
|
+
*
|
|
734
|
+
*/
|
|
735
|
+
self.updateUserProfile = async function(done) {
|
|
736
|
+
|
|
737
|
+
if ( !self.isGlobalInstall || isWin32() ) {
|
|
738
|
+
return done()
|
|
739
|
+
}
|
|
740
|
+
if (!self.isCustomPrefix || self.prefix == self.defaultPrefix) {
|
|
741
|
+
return done()
|
|
742
|
+
}
|
|
743
|
+
|
|
744
|
+
var profilePath = getUserHome() + '/.profile';
|
|
745
|
+
var profilePathObj = new _(profilePath);
|
|
746
|
+
if ( !profilePathObj.existsSync() ) {
|
|
747
|
+
cmd = 'touch '+ profilePath;
|
|
748
|
+
await promisify(run)(cmd, { cwd: _(self.versionPath), tmp: _(getTmpDir(), true), outToProcessSTD: true, shell: "/bin/bash"})
|
|
749
|
+
.catch(function onError(err){
|
|
750
|
+
if (err) {
|
|
751
|
+
console.warn('Try to run: sudo ' + cmd);
|
|
752
|
+
return done(err);
|
|
753
|
+
}
|
|
754
|
+
});
|
|
755
|
+
}
|
|
756
|
+
|
|
757
|
+
var inFile = null;
|
|
758
|
+
var patt = _(self.prefix.replace( new RegExp( '^' +getUserHome() ), '(.*)[$]HOME') + '/bin', true);
|
|
759
|
+
try {
|
|
760
|
+
inFile = execSync("cat ~/.profile | grep -Eo '" + patt +"'", {shell: "/bin/bash"}).toString();
|
|
761
|
+
} catch (err) {
|
|
762
|
+
// nothing to do
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
if (!inFile) {
|
|
766
|
+
patt = patt.replace('(.*)[$]', '$');
|
|
767
|
+
inFile = '\nif [ -d "'+ patt +'" ]; then';
|
|
768
|
+
inFile += '\n PATH="'+ patt +':$PATH"';
|
|
769
|
+
inFile += '\nfi\n';
|
|
770
|
+
try {
|
|
771
|
+
fs.appendFileSync( getUserHome()+'/.profile', inFile );
|
|
772
|
+
} catch (err) {
|
|
773
|
+
return done(err);
|
|
774
|
+
}
|
|
775
|
+
inFile = null;
|
|
776
|
+
|
|
777
|
+
// we need to source/update ~/.profile
|
|
778
|
+
try {
|
|
779
|
+
execSync("source "+ profilePath, {shell: "/bin/bash"});
|
|
780
|
+
} catch (err) {
|
|
781
|
+
return done(err)
|
|
782
|
+
}
|
|
783
|
+
}
|
|
784
|
+
|
|
785
|
+
done()
|
|
786
|
+
}
|
|
787
|
+
|
|
483
788
|
var restoreSymlinks = function() {
|
|
484
789
|
var archivesPath = _(getUserHome() + '/.gina/archives/framework', true);
|
|
485
790
|
var frameworkPath = _(self.gina +'/framework', true);
|
|
@@ -488,9 +793,13 @@ function PostInstall() {
|
|
|
488
793
|
return;
|
|
489
794
|
}
|
|
490
795
|
// get current framework version
|
|
491
|
-
var
|
|
492
|
-
|
|
493
|
-
|
|
796
|
+
var ginaPackage = require(pack);
|
|
797
|
+
self.versionPath = self.gina;
|
|
798
|
+
self.version = ginaPackage.version.replace(/^v/, '');
|
|
799
|
+
self.shortVersion = self.version.split('.');
|
|
800
|
+
self.shortVersion.splice(2);
|
|
801
|
+
self.shortVersion = self.shortVersion.join('.');
|
|
802
|
+
var currentVersion = 'v'+ self.version;
|
|
494
803
|
// cleanup first
|
|
495
804
|
var versionsFolders = fs.readdirSync(frameworkPath);
|
|
496
805
|
for (let i = 0, len = versionsFolders.length; i < len; i++) {
|
|
@@ -503,15 +812,17 @@ function PostInstall() {
|
|
|
503
812
|
// intercept & remove existing symlinks or old versions dir
|
|
504
813
|
try {
|
|
505
814
|
if ( fs.lstatSync( _(frameworkPath +'/'+ dir, true) ).isSymbolicLink() ) {
|
|
506
|
-
|
|
507
|
-
|
|
815
|
+
console.debug('Removing Symlink: '+ _(frameworkPath +'/'+ dir, true) );
|
|
816
|
+
// new _(frameworkPath +'/'+ dir, true).rmSync();
|
|
817
|
+
fs.unlinkSync(_(frameworkPath +'/'+ dir, true));
|
|
508
818
|
continue;
|
|
509
819
|
}
|
|
510
|
-
|
|
820
|
+
|
|
821
|
+
if (
|
|
511
822
|
dir != currentVersion
|
|
512
823
|
&& fs.lstatSync( _(frameworkPath +'/'+ dir, true) ).isDirectory()
|
|
513
824
|
) {
|
|
514
|
-
console.debug('Removing old version: '+ dir);
|
|
825
|
+
console.debug('Removing old version: '+ _(frameworkPath +'/'+ dir, true));
|
|
515
826
|
new _(frameworkPath +'/'+ dir, true).rmSync()
|
|
516
827
|
}
|
|
517
828
|
} catch (e) {
|
|
@@ -543,15 +854,55 @@ function PostInstall() {
|
|
|
543
854
|
}
|
|
544
855
|
}
|
|
545
856
|
|
|
857
|
+
|
|
546
858
|
self.end = function(done) {
|
|
547
859
|
|
|
548
860
|
restoreSymlinks();
|
|
549
861
|
|
|
862
|
+
// configuring Gina
|
|
863
|
+
var ginaBinanry = _(self.gina + '/bin/gina', true);
|
|
864
|
+
if (!self.isCustomPrefix && self.isGlobalInstall) {
|
|
865
|
+
ginaBinanry = _( self.defaultPrefix + '/lib/node_modules/gina/bin/gina', true)
|
|
866
|
+
}
|
|
867
|
+
|
|
868
|
+
if ( !fs.existsSync(ginaBinanry) ) {
|
|
869
|
+
console.error('Outch: `'+ ginaBinanry +'` not found !');
|
|
870
|
+
}
|
|
871
|
+
|
|
872
|
+
// double checking
|
|
873
|
+
// if ( !self.isGlobalInstall ) {
|
|
874
|
+
// // No package.json ?
|
|
875
|
+
// var projectName = process.cwd().split('/').slice(-1)[0];
|
|
876
|
+
// var projectPackageJsonObj = new _(process.cwd() +'/package.json', true);
|
|
877
|
+
// if ( !projectPackageJsonObj.existsSync() ) {
|
|
878
|
+
// var defaultPackageJsonContent = {
|
|
879
|
+
// "name": ""+ projectName,
|
|
880
|
+
// "version": "0.0.1",
|
|
881
|
+
// "description": projectName+ " is a nice project !",
|
|
882
|
+
// "engine": [
|
|
883
|
+
// "node >=" + process.version.substring(1)
|
|
884
|
+
// ]
|
|
885
|
+
// };
|
|
886
|
+
// console.warn('No `package.json` found for your project, creating one to avoid install exceptions');
|
|
887
|
+
// lib.generator.createFileFromDataSync(defaultPackageJsonContent, projectPackageJsonObj.toString());
|
|
888
|
+
// }
|
|
889
|
+
// }
|
|
890
|
+
|
|
891
|
+
|
|
892
|
+
|
|
893
|
+
try {
|
|
894
|
+
execSync(ginaBinanry + ' framework:set --global-mode='+ self.isGlobalInstall);
|
|
895
|
+
execSync(ginaBinanry + ' framework:set --prefix='+ self.prefix);
|
|
896
|
+
} catch (err) {
|
|
897
|
+
return done(err)
|
|
898
|
+
}
|
|
899
|
+
|
|
900
|
+
|
|
550
901
|
// Update middleware file
|
|
551
|
-
var filename = _(self.
|
|
902
|
+
var filename = _(self.versionPath) + '/MIDDLEWARE';
|
|
552
903
|
var msg = "Gina's command line tool has been installed.";
|
|
553
904
|
|
|
554
|
-
var deps = require(_(self.
|
|
905
|
+
var deps = require(_(self.versionPath) + '/package.json').dependecies;
|
|
555
906
|
|
|
556
907
|
var version = require( _(self.gina + '/package.json') ).version;
|
|
557
908
|
var middleware = 'isaac@'+version; // by default
|
|
@@ -562,11 +913,12 @@ function PostInstall() {
|
|
|
562
913
|
}
|
|
563
914
|
}
|
|
564
915
|
|
|
565
|
-
var expressPackage = _(self.
|
|
916
|
+
var expressPackage = _(self.versionPath + '/node_modules/express/package.json');
|
|
566
917
|
if ( typeof(middleware) == 'undefined' && fs.existsSync(expressPackage) ) {
|
|
567
918
|
middleware = require(expressPackage).version;
|
|
568
919
|
middleware = 'express@' + middleware;
|
|
569
|
-
}
|
|
920
|
+
}
|
|
921
|
+
else if (typeof(middleware) == 'undefined') {
|
|
570
922
|
return done( new Error('No middleware found !!') );
|
|
571
923
|
}
|
|
572
924
|
|
|
@@ -578,6 +930,8 @@ function PostInstall() {
|
|
|
578
930
|
if (err) {
|
|
579
931
|
return done(err)
|
|
580
932
|
}
|
|
933
|
+
console.debug('Updated: def !== middleware case');
|
|
934
|
+
// execSync(self.prefix +'/bin/gina framework:set --prefix='+ self.prefix);
|
|
581
935
|
console.info(msg);
|
|
582
936
|
done()
|
|
583
937
|
})
|
|
@@ -587,12 +941,15 @@ function PostInstall() {
|
|
|
587
941
|
if (err) {
|
|
588
942
|
return done(err)
|
|
589
943
|
}
|
|
944
|
+
console.info('File created case');
|
|
945
|
+
|
|
590
946
|
console.info(msg);
|
|
591
947
|
done()
|
|
592
948
|
})
|
|
593
949
|
}
|
|
594
950
|
}
|
|
595
951
|
|
|
952
|
+
|
|
596
953
|
init()
|
|
597
954
|
}
|
|
598
955
|
new PostInstall()
|