gina 0.1.1-alpha.2 → 0.1.1-alpha.200
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.2/lib/inherits → v0.1.1-alpha.200}/LICENSE +1 -1
- package/framework/v0.1.1-alpha.200/VERSION +1 -0
- package/framework/{v0.1.1-alpha.2/core/asset/js/plugin/readme.md → v0.1.1-alpha.200/core/asset/plugin/README.md} +31 -9
- package/framework/v0.1.1-alpha.200/core/asset/plugin/dist/vendor/gina/css/gina.min.css +1 -0
- package/framework/v0.1.1-alpha.200/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
- package/framework/v0.1.1-alpha.200/core/asset/plugin/dist/vendor/gina/html/toolbar.html +251 -0
- package/framework/{v0.1.1-alpha.2/core/asset/js/plugin/dist → v0.1.1-alpha.200/core/asset/plugin/dist/vendor/gina/js}/gina.js +4364 -3175
- package/framework/v0.1.1-alpha.200/core/asset/plugin/dist/vendor/gina/js/gina.min.js +764 -0
- package/framework/v0.1.1-alpha.200/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
- package/framework/v0.1.1-alpha.200/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +5 -0
- package/framework/v0.1.1-alpha.200/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/config.js +172 -79
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/connectors/couchbase/index.js +373 -259
- package/framework/v0.1.1-alpha.200/core/connectors/couchbase/lib/connector.js +22 -0
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/connectors/couchbase/lib/connector.v2.js +51 -51
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/connectors/couchbase/lib/connector.v3.js +51 -51
- package/framework/v0.1.1-alpha.200/core/connectors/couchbase/lib/connector.v4.js +384 -0
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/connectors/couchbase/lib/n1ql.js +3 -2
- package/framework/v0.1.1-alpha.200/core/connectors/couchbase/lib/session-store.js +22 -0
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/connectors/couchbase/lib/session-store.v3.js +12 -12
- package/framework/v0.1.1-alpha.200/core/connectors/couchbase/lib/session-store.v4.js +361 -0
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/controller/controller.js +921 -773
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/dev/index.js +1 -1
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/dev/lib/class.js +1 -1
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/dev/lib/factory.js +2 -2
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/gna.js +13 -9
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/locales/README.md +5 -0
- package/framework/v0.1.1-alpha.200/core/locales/dist/region/en.json +5727 -0
- package/framework/v0.1.1-alpha.200/core/locales/dist/region/fr.json +11452 -0
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/locales/index.js +2 -2
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/locales/src/make.js +39 -41
- package/framework/v0.1.1-alpha.200/core/locales/src/resources/region.mapping.json +43 -0
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/model/entity.js +87 -67
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/model/index.js +16 -16
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/model/template/entityFactory.js +1 -1
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/model/template/index.js +17 -15
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/index.js +1 -1
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/file/package.json +1 -1
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/intl/package.json +1 -1
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/intl/src/main.js +5 -5
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/storage/package.json +1 -1
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/storage/src/main.js +6 -5
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/validator/package.json +1 -1
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/validator/src/form-validator.js +403 -300
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/validator/src/main.js +1368 -1314
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/router.js +99 -90
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/server.isaac.js +203 -180
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/server.js +439 -238
- package/framework/v0.1.1-alpha.200/core/template/boilerplate/bundle/config/settings.json +12 -0
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle/config/settings.server.json +4 -4
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle/config/templates.json +4 -4
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle/controllers/controller.content.js +1 -1
- package/framework/v0.1.1-alpha.200/core/template/boilerplate/bundle/controllers/setup.js +111 -0
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle/index.js +13 -1
- package/framework/v0.1.1-alpha.200/core/template/boilerplate/bundle_templates/html/content/homepage.html +8 -0
- package/framework/v0.1.1-alpha.200/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +11 -0
- package/framework/v0.1.1-alpha.200/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +8 -0
- package/framework/{v0.1.1-alpha.2/core/template/boilerplate/bundle_templates/html/layout → v0.1.1-alpha.200/core/template/boilerplate/bundle_templates/html/layouts}/main.html +10 -3
- package/framework/v0.1.1-alpha.200/core/template/command/gina.bat.tpl +8 -0
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/command/gina.tpl +4 -4
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/conf/env.json +11 -0
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/conf/package.json +1 -1
- package/framework/v0.1.1-alpha.200/core/template/conf/statics.json +12 -0
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/conf/templates.json +2 -2
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/console.js +3 -3
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/context.js +148 -7
- package/framework/v0.1.1-alpha.200/helpers/data/LICENSE +9 -0
- package/framework/v0.1.1-alpha.200/helpers/data/README.md +12 -0
- package/framework/v0.1.1-alpha.200/helpers/data/package.json +20 -0
- package/framework/v0.1.1-alpha.200/helpers/data/src/main.js +295 -0
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/dateFormat.js +9 -7
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/index.js +13 -8
- package/framework/v0.1.1-alpha.200/helpers/json/LICENSE +9 -0
- package/framework/v0.1.1-alpha.200/helpers/json/README.md +12 -0
- package/framework/{v0.1.1-alpha.2/helpers/plugins → v0.1.1-alpha.200/helpers/json}/package.json +2 -2
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/json/src/main.js +28 -26
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/path.js +176 -96
- package/framework/{v0.1.1-alpha.2/helpers/json → v0.1.1-alpha.200/helpers/plugins}/package.json +2 -2
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/plugins/src/api-error.js +23 -23
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/plugins/src/main.js +3 -3
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/prototypes.js +46 -38
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/task.js +21 -14
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/text.js +2 -2
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/archiver/package.json +1 -1
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/archiver/src/dep/jszip.min.js +3 -3
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/archiver/src/main.js +168 -168
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/aliases.json +4 -1
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/add.js +84 -27
- package/framework/v0.1.1-alpha.200/lib/cmd/bundle/arguments.json +7 -0
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/help.txt +4 -2
- package/framework/v0.1.1-alpha.200/lib/cmd/bundle/list.js +176 -0
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/remove.js +36 -27
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/start.js +264 -46
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/stop.js +93 -74
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/env/add.js +44 -43
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/env/list.js +23 -4
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/env/remove.js +19 -19
- package/framework/{v0.1.1-alpha.2/lib/cmd/scope → v0.1.1-alpha.200/lib/cmd/env}/use.js +21 -1
- package/framework/v0.1.1-alpha.200/lib/cmd/framework/build.js +88 -0
- package/framework/v0.1.1-alpha.200/lib/cmd/framework/init.js +798 -0
- package/framework/v0.1.1-alpha.200/lib/cmd/framework/link-node-modules.js +116 -0
- package/framework/v0.1.1-alpha.200/lib/cmd/framework/link.js +114 -0
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/framework/open.js +22 -1
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/framework/restart.js +61 -26
- package/framework/v0.1.1-alpha.200/lib/cmd/framework/set.js +276 -0
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/framework/start.js +46 -20
- package/framework/v0.1.1-alpha.200/lib/cmd/framework/status.js +141 -0
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/framework/stop.js +47 -28
- package/framework/v0.1.1-alpha.200/lib/cmd/framework/tail.js +302 -0
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/framework/version.js +15 -3
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/helper.js +131 -18
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/index.js +23 -23
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/port/inc/scan.js +32 -16
- package/framework/v0.1.1-alpha.200/lib/cmd/port/list.js +462 -0
- package/framework/v0.1.1-alpha.200/lib/cmd/port/reset.js +429 -0
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/add.js +147 -122
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/arguments.json +2 -1
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/build.js +28 -28
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/list.js +19 -2
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/remove.js +19 -17
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/rename.js +11 -11
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/protocol/set.js +256 -209
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/scope/list.js +27 -8
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/scope/remove.js +19 -19
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/view/add.js +35 -10
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/collection/package.json +1 -1
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/collection/src/main.js +243 -242
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/config.js +31 -30
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cron/package.json +1 -1
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cron/src/main.js +10 -9
- package/framework/v0.1.1-alpha.200/lib/domain/LICENSE +9 -0
- package/framework/v0.1.1-alpha.200/lib/domain/README.md +46 -0
- package/framework/v0.1.1-alpha.200/lib/domain/dist/public_suffix_list.dat +14186 -0
- package/framework/v0.1.1-alpha.200/lib/domain/package.json +20 -0
- package/framework/v0.1.1-alpha.200/lib/domain/src/main.js +442 -0
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/generator/index.js +4 -4
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/index.js +3 -2
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200/lib/inherits}/LICENSE +1 -1
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/inherits/README.md +2 -2
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/inherits/package.json +3 -4
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/inherits/src/main.js +3 -3
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/logger/package.json +2 -2
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/logger/src/containers/default/index.js +13 -2
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/logger/src/containers/file/index.js +109 -14
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/logger/src/containers/mq/index.js +12 -3
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/logger/src/containers/mq/listener.js +16 -14
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/logger/src/containers/mq/speaker.js +32 -3
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/logger/src/helper.js +21 -1
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/logger/src/main.js +42 -10
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/math/index.js +9 -9
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/merge/README.md +2 -2
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/merge/package.json +1 -1
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/merge/src/main.js +118 -91
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/model.js +10 -10
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/proc.js +87 -49
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/routing/package.json +1 -1
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/routing/src/main.js +313 -285
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/session-store.js +6 -6
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/shell.js +3 -3
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/swig-filters/package.json +1 -1
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/swig-filters/src/main.js +140 -119
- package/framework/v0.1.1-alpha.200/lib/url/README.md +0 -0
- package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/validator.js +2 -2
- package/framework/v0.1.1-alpha.200/package.json +14 -0
- package/package.json +33 -24
- 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 +417 -114
- package/script/post_publish.js +188 -0
- package/script/pre_install.js +462 -69
- package/script/prepare_version.js +209 -26
- 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.2/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.2/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.2/VERSION +0 -1
- package/framework/v0.1.1-alpha.2/core/asset/js/plugin/dist/gina.js.map +0 -56
- package/framework/v0.1.1-alpha.2/core/asset/js/plugin/dist/gina.min.css +0 -1
- package/framework/v0.1.1-alpha.2/core/asset/js/plugin/dist/gina.min.css.map +0 -1
- package/framework/v0.1.1-alpha.2/core/asset/js/plugin/dist/gina.min.js +0 -736
- package/framework/v0.1.1-alpha.2/core/asset/js/plugin/dist/gina.min.js.map +0 -56
- package/framework/v0.1.1-alpha.2/core/asset/js/plugin/dist/gina.onload.min.js +0 -5
- package/framework/v0.1.1-alpha.2/core/asset/js/plugin/dist/gina.onload.min.js.map +0 -8
- package/framework/v0.1.1-alpha.2/core/connectors/couchbase/lib/connector.js +0 -20
- package/framework/v0.1.1-alpha.2/core/connectors/couchbase/lib/session-store.js +0 -21
- package/framework/v0.1.1-alpha.2/core/locales/dist/region/en.json +0 -9492
- package/framework/v0.1.1-alpha.2/core/locales/dist/region/fr.json +0 -9492
- package/framework/v0.1.1-alpha.2/core/locales/src/resources/region.mapping.json +0 -28
- package/framework/v0.1.1-alpha.2/core/template/boilerplate/bundle_templates/html/homepage.html +0 -4
- package/framework/v0.1.1-alpha.2/core/template/conf/statics.json +0 -10
- package/framework/v0.1.1-alpha.2/lib/cmd/bundle/arguments.json +0 -4
- package/framework/v0.1.1-alpha.2/lib/cmd/bundle/list.js +0 -129
- package/framework/v0.1.1-alpha.2/lib/cmd/framework/init.js +0 -514
- package/framework/v0.1.1-alpha.2/lib/cmd/framework/set.js +0 -161
- package/framework/v0.1.1-alpha.2/lib/cmd/framework/status.js +0 -72
- package/framework/v0.1.1-alpha.2/lib/cmd/framework/tail.js +0 -183
- package/framework/v0.1.1-alpha.2/lib/cmd/port/list.js +0 -176
- package/framework/v0.1.1-alpha.2/package.json +0 -14
- /package/{framework/v0.1.1-alpha.2/core/template/command/gina.bat.tpl → bin/gina.bat} +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/AUTHORS +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/asset/html/nolayout.html +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/asset/html/static.html +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/asset/img/android-chrome-192x192.png +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/asset/img/android-chrome-512x512.png +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/asset/img/apple-touch-icon.png +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/asset/img/favicon-16x16.png +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/asset/img/favicon-32x32.png +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/asset/img/favicon.ico +0 -0
- /package/framework/{v0.1.1-alpha.2/core/asset/js → v0.1.1-alpha.200/core/asset}/plugin/uuid.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/controller/controller.framework.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/controller/index.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/deps/busboy/.travis.yml +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/deps/busboy/LICENSE +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/deps/busboy/README.md +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/deps/busboy/deps/encoding/encoding.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/deps/busboy/lib/main.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/deps/busboy/lib/types/multipart.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/deps/busboy/lib/types/urlencoded.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/deps/busboy/lib/utils.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/deps/busboy/package.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/dev/lib/tools.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/locales/currency.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/locales/dist/language/en.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/locales/dist/language/fr.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/locales/src/resources/currency.csv +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/locales/src/resources/region.csv +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/mime.types +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/README.md +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/file/README.md +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/file/build.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/intl/README.md +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/intl/build.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/storage/README.md +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/storage/build.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/validator/README.md +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/plugins/lib/validator/build.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/server.express.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/status.codes +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle/config/app.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle/config/routing.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle_public/readme.md +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/conf/manifest.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/conf/settings.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/error/client/json/401.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/error/client/json/403.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/error/client/json/404.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/error/server/html/50x.html +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/error/server/json/500.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/error/server/json/503.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/core/template/extensions/logger/config.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/helpers/plugins/README.md +0 -0
- /package/framework/{v0.1.1-alpha.2/helpers/json → v0.1.1-alpha.200/lib/archiver}/README.md +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/archiver/build.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/copy.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/cp.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/help.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/rename.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/restart.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/rm.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/bundle/status.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/env/get.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/env/help.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/env/help.txt +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/env/link-dev.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/env/rm.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/env/set.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/env/unset.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/framework/dot.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/framework/get.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/framework/help.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/framework/help.txt +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/framework/msg.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/framework/update.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/gina-dev.1.md +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/gina-framework.1.md +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/gina.1.md +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/msg.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/port/help.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/port/help.txt +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/port/set.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/help.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/help.txt +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/import.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/move.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/restart.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/rm.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/start.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/status.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/project/stop.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/protocol/help.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/protocol/help.txt +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/protocol/list.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/scope/help.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/scope/help.txt +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/scope/link-local.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/scope/rm.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/scope/set.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cmd/scope/unset.js +0 -0
- /package/framework/{v0.1.1-alpha.2/lib/cmd/env → v0.1.1-alpha.200/lib/cmd/scope}/use.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/collection/README.md +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/collection/build.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/cron/README.md +0 -0
- /package/framework/{v0.1.1-alpha.2/lib/archiver/README.md → v0.1.1-alpha.200/lib/domain/exemples/backend.js} +0 -0
- /package/framework/{v0.1.1-alpha.2/lib/routing/README.md → v0.1.1-alpha.200/lib/domain/exemples/frontend.html} +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/inherits/example/inheriting_eventemitter.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/inherits/example/protected_inheritance.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/inherits/example/simple_inheritance.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/logger/README.md +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/merge/example/merge.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/merge/example/merge_2_literal objects.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/merge/example/merge_and_preserve_first.js +0 -0
- /package/framework/{v0.1.1-alpha.2/lib/swig-filters → v0.1.1-alpha.200/lib/routing}/README.md +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/routing/build.json +0 -0
- /package/framework/{v0.1.1-alpha.2/lib/url → v0.1.1-alpha.200/lib/swig-filters}/README.md +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/url/index.js +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/url/mocks.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/url/routing.json +0 -0
- /package/framework/{v0.1.1-alpha.2 → v0.1.1-alpha.200}/lib/url/test.js +0 -0
package/script/post_install.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
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,39 +89,156 @@ 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
|
-
self.isGlobalInstall = false;
|
|
40
|
-
self.prefix = execSync('npm config get prefix');
|
|
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
|
+
}
|
|
41
100
|
|
|
101
|
+
self.isWin32 = isWin32();
|
|
102
|
+
self.isGlobalInstall = process.env.npm_config_global || false;
|
|
103
|
+
self.isResetNeeded = process.env.npm_config_reset || false;
|
|
104
|
+
self.defaultPrefix = execSync('npm config get prefix').toString().replace(/\n$/g, '');
|
|
105
|
+
// var pkg = null;
|
|
106
|
+
// try {
|
|
107
|
+
// if (self.isGlobalInstall) {
|
|
108
|
+
// pkg = execSync('npm list -g gina --long --json').toString().replace(/\n$/g, '');
|
|
109
|
+
// } else {
|
|
110
|
+
// pkg = execSync('npm list gina --long --json').toString().replace(/\n$/g, '');
|
|
111
|
+
// }
|
|
112
|
+
// } catch(err) {
|
|
113
|
+
// throw err
|
|
114
|
+
// }
|
|
115
|
+
// self.optionalPrefix = JSON.parse(pkg).dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
|
|
116
|
+
|
|
117
|
+
// `process.env.npm_config_prefix` is only retrieved on `npm install gina`
|
|
118
|
+
// and it should always be equal to `self.defaultPrefix`
|
|
119
|
+
self.prefix = process.env.npm_config_prefix || self.defaultPrefix;
|
|
120
|
+
self.isCustomPrefix = false;
|
|
121
|
+
self.isGinaInstalled = false;
|
|
122
|
+
|
|
123
|
+
// Overriding thru passed arguments
|
|
42
124
|
var args = process.argv, i = 0, len = args.length;
|
|
43
125
|
for (; i < len; ++i) {
|
|
44
|
-
if (args[i]
|
|
126
|
+
if ( /^(\-g|\-\-global)$/.test(args[i]) ) {
|
|
45
127
|
self.isGlobalInstall = true;
|
|
46
|
-
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
if ( /^\-\-reset$/.test(args[i]) ) {
|
|
132
|
+
self.isResetNeeded = true;
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
if ( /^\-\-prefix\=/.test(args[i] ) ) {
|
|
137
|
+
self.isCustomPrefix = true;
|
|
138
|
+
self.prefix = args[i].split(/\=/)[1];
|
|
139
|
+
self.prefix = self.prefix.replace(/^\~/, getUserHome());
|
|
140
|
+
continue;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if ( /^\-\-log-level\=/.test(args[i]) ) {
|
|
144
|
+
var logLevel = args[i].split(/\=/)[1];
|
|
145
|
+
console.setLevel(logLevel, 'gina');
|
|
146
|
+
process.env.LOG_LEVEL=logLevel;
|
|
47
147
|
}
|
|
48
148
|
}
|
|
49
149
|
|
|
50
|
-
|
|
150
|
+
if (self.prefix != self.defaultPrefix) {
|
|
151
|
+
self.isCustomPrefix = true;
|
|
152
|
+
}
|
|
51
153
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
console.
|
|
56
|
-
|
|
154
|
+
// For local install
|
|
155
|
+
console.debug('self.isGlobalInstall => '+ self.isGlobalInstall);
|
|
156
|
+
if ( !self.isGlobalInstall ) {
|
|
157
|
+
console.warn('Local installation is not fully supported at the moment.');
|
|
158
|
+
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');
|
|
159
|
+
// Just in case someone is trying to run pre_install from the `gina` module
|
|
160
|
+
if (!/node\_modules(\\\\|\/)gina$/.test(process.env.INIT_CWD)) {
|
|
161
|
+
self.prefix = process.env.INIT_CWD;//process.cwd();
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
// checking permission
|
|
166
|
+
var hasPermissionsForBin = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'bin');
|
|
167
|
+
var hasPermissionsForLib = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'lib');
|
|
168
|
+
var hasPermissionsForVar = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'var');
|
|
169
|
+
if ( !hasPermissionsForBin || !hasPermissionsForLib || !hasPermissionsForVar) {
|
|
170
|
+
if (!hasPermissionsForBin) {
|
|
171
|
+
console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'bin')
|
|
172
|
+
}
|
|
173
|
+
if (!hasPermissionsForLib) {
|
|
174
|
+
console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'lib')
|
|
175
|
+
}
|
|
176
|
+
if (!hasPermissionsForVar) {
|
|
177
|
+
console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'var')
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
// console.warn('You do not have sufficient permissions. Switching to `--prefix='+ self.optionalPrefix +'`');
|
|
181
|
+
// process.env.npm_config_prefix = self.prefix = self.optionalPrefix;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
var pkg = null, pkgObj = null, cmd = null;
|
|
185
|
+
try {
|
|
186
|
+
cmd = 'npm list gina --long --json --prefix='+ self.prefix;
|
|
187
|
+
if (self.isGlobalInstall) {
|
|
188
|
+
cmd += ' -g';
|
|
189
|
+
}
|
|
190
|
+
pkg = execSync(cmd).toString().replace(/\n$/g, '');
|
|
191
|
+
self.optionalPrefix = JSON.parse(pkg).dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
|
|
192
|
+
|
|
193
|
+
} catch(err) {
|
|
194
|
+
throw err
|
|
57
195
|
}
|
|
196
|
+
pkgObj = JSON.parse(pkg);
|
|
197
|
+
self.optionalPrefix = pkgObj.dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
if ( self.prefix != self.defaultPrefix ) {
|
|
201
|
+
self.isCustomPrefix = true;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
self.gina = __dirname +'/..';
|
|
205
|
+
// tying to figure out if gina is already install the given prefix
|
|
206
|
+
var hasFoundGina = pkg;
|
|
207
|
+
try {
|
|
208
|
+
hasFoundGina = JSON.parse(hasFoundGina);
|
|
209
|
+
if ( hasFoundGina.dependencies && typeof(hasFoundGina.dependencies.gina) != 'undefined' ) {
|
|
210
|
+
self.isGinaInstalled = true;
|
|
211
|
+
self.versionPath = self.gina;
|
|
212
|
+
self.versionPath += (isWin32()) ? '\\framework\\' : '/framework/';
|
|
213
|
+
self.version = hasFoundGina.dependencies.gina.version;
|
|
214
|
+
self.versionPath += 'v'+ self.version;
|
|
215
|
+
|
|
216
|
+
self.shortVersion = self.version.split('.');
|
|
217
|
+
self.shortVersion.splice(2);
|
|
218
|
+
self.shortVersion = self.shortVersion.join('.');
|
|
219
|
+
|
|
220
|
+
console.debug('Install path => '+ hasFoundGina.dependencies.gina.path);
|
|
221
|
+
|
|
222
|
+
// OK ... found installed gina but on a different prefix
|
|
223
|
+
// In this case, let's assume that it is not really installed
|
|
224
|
+
if ( !new RegExp('^'+ self.prefix).test(hasFoundGina.dependencies.gina.path) ) {
|
|
225
|
+
self.isGinaInstalled = false;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
} catch (err) {}
|
|
229
|
+
|
|
230
|
+
console.debug('self.defaultPrefix => '+ self.defaultPrefix);
|
|
231
|
+
console.debug('self.optionalPrefix => '+ self.optionalPrefix );
|
|
232
|
+
console.debug('self.prefix => '+ self.prefix);
|
|
233
|
+
console.debug('self.isCustomPrefix => ', self.isCustomPrefix);
|
|
234
|
+
// only available when running the script with NPM
|
|
235
|
+
console.debug('process.env.npm_config_prefix => '+ process.env.npm_config_prefix);
|
|
236
|
+
}
|
|
58
237
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
console.debug('this is a global install ...');
|
|
238
|
+
//Initialize post installation scripts.
|
|
239
|
+
var init = function() {
|
|
240
|
+
configure();
|
|
241
|
+
helpers = require(self.versionPath+ '/helpers');
|
|
64
242
|
|
|
65
243
|
begin(0);
|
|
66
244
|
}
|
|
@@ -87,7 +265,7 @@ function PostInstall() {
|
|
|
87
265
|
|
|
88
266
|
// to handle sync vs async to allow execution in order of declaration
|
|
89
267
|
if (funct) {
|
|
90
|
-
eval('async function on'+functName+'(){ await promisify('+ funct + ')().catch(function(e){ console.error(e.toString()); process.exit(
|
|
268
|
+
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
|
|
91
269
|
} else {
|
|
92
270
|
process.exit(0);
|
|
93
271
|
}
|
|
@@ -145,10 +323,10 @@ function PostInstall() {
|
|
|
145
323
|
|
|
146
324
|
|
|
147
325
|
self.createVersionFile = function(done) {
|
|
148
|
-
var version =
|
|
326
|
+
var version = self.version;
|
|
149
327
|
console.debug('writting version number: '+ version);
|
|
150
328
|
|
|
151
|
-
var target = _(self.
|
|
329
|
+
var target = _(self.versionPath + '/VERSION');
|
|
152
330
|
try {
|
|
153
331
|
if ( fs.existsSync(target) ) {
|
|
154
332
|
fs.unlinkSync(target)
|
|
@@ -161,13 +339,20 @@ function PostInstall() {
|
|
|
161
339
|
done();
|
|
162
340
|
}
|
|
163
341
|
|
|
164
|
-
|
|
342
|
+
// TODO - Remove this part
|
|
343
|
+
var configureGina = function() {
|
|
165
344
|
// link to ./bin/cli to binaries dir
|
|
166
345
|
if (!self.isWin32) {
|
|
167
|
-
var binPath =
|
|
168
|
-
|
|
346
|
+
var binPath = null;
|
|
347
|
+
if ( !self.isGlobalInstall() ) {
|
|
348
|
+
binPath = new _(self.prefix+'/node_modules/.bin', true).existsSync() ? _(self.prefix+'/node_modules/.bin', true) : '';
|
|
349
|
+
} else {
|
|
350
|
+
binPath = new _(self.prefix+'/lib/node_modules/gina/bin', true)
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
var cli = _(binPath +'/gina', true);
|
|
169
354
|
// TODO - remove this part for the next version
|
|
170
|
-
var cliDebug = _(binPath +'/gina-debug');
|
|
355
|
+
var cliDebug = _(binPath +'/gina-debug', true);
|
|
171
356
|
|
|
172
357
|
if ( fs.existsSync(cli) ) {
|
|
173
358
|
fs.unlinkSync(cli)
|
|
@@ -177,24 +362,33 @@ function PostInstall() {
|
|
|
177
362
|
fs.unlinkSync(cliDebug)
|
|
178
363
|
}
|
|
179
364
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
365
|
+
|
|
366
|
+
if ( !self.isGlobalInstall() ) {
|
|
367
|
+
new _(cli, true).symlinkSync( _(self.prefix +'/gina', true) )
|
|
368
|
+
}
|
|
369
|
+
// else {
|
|
370
|
+
// new _(cli, true).symlinkSync( _(self.prefix +'/bin/', true) )
|
|
371
|
+
// }
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
// var cmd = 'ln -s '+ self.gina +'/bin/gina '+ binPath;
|
|
375
|
+
// console.debug('running: '+ cmd);
|
|
376
|
+
// run(cmd, { cwd: _(self.versionPath), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
|
|
377
|
+
// .onData(function(data){
|
|
378
|
+
// console.info(data)
|
|
379
|
+
// })
|
|
380
|
+
// .onComplete( function onDone(err, data){
|
|
381
|
+
// if (err) {
|
|
382
|
+
// console.error(err);
|
|
383
|
+
// console.warn('try to run : sudo ' + cmd);
|
|
384
|
+
// }
|
|
385
|
+
// });
|
|
192
386
|
// To debug, you just need to run:
|
|
193
387
|
// gina <topic>:<task> --inspect-gina
|
|
194
388
|
//
|
|
195
389
|
// TODO - remove this part for the next version
|
|
196
390
|
// cmd = 'ln -s '+ self.gina +'/bin/cli-debug '+ binPath +'/gina-debug';
|
|
197
|
-
// run(cmd, { cwd: _(self.
|
|
391
|
+
// run(cmd, { cwd: _(self.versionPath), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
|
|
198
392
|
// .onData(function(data){
|
|
199
393
|
// console.info(data)
|
|
200
394
|
// })
|
|
@@ -211,52 +405,57 @@ function PostInstall() {
|
|
|
211
405
|
}
|
|
212
406
|
|
|
213
407
|
//Creating framework command line file for nix.
|
|
214
|
-
var createGinaFile = function(
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
if ( typeof(win32Name) != 'undefined') {
|
|
220
|
-
target = _(appPath +'/'+ win32Name)
|
|
221
|
-
}
|
|
222
|
-
//Will override.
|
|
223
|
-
console.info('linking to binaries dir ... ');
|
|
224
|
-
if ( typeof(callback) != 'undefined') {
|
|
225
|
-
if ( !self.isGlobalInstall ) { // local install only
|
|
226
|
-
lib.generator.createFileFromTemplate(source, target, function onGinaFileCreated(err) {
|
|
227
|
-
callback(err)
|
|
408
|
+
var createGinaFile = function(callback) {
|
|
409
|
+
// local install only
|
|
410
|
+
if (self.isGlobalInstall) {
|
|
411
|
+
return callback(false);
|
|
412
|
+
}
|
|
228
413
|
|
|
229
|
-
|
|
230
|
-
|
|
414
|
+
console.info('Current prefix: '+ self.prefix );
|
|
415
|
+
console.info('Current package.json: '+ _(self.gina + '/package.json', true) );
|
|
416
|
+
|
|
417
|
+
console.info('Creating framework command line:');
|
|
418
|
+
var appPath = process.env.INIT_CWD;
|
|
419
|
+
console.debug('App path: '+ appPath);
|
|
420
|
+
var source = _(appPath + '/node_modules/.bin/gina', true);
|
|
421
|
+
var target = _(appPath +'/gina', true);
|
|
422
|
+
if ( isWin32() ) {
|
|
423
|
+
source = _(appPath + '/node_modules/.bin/gina.bat', true)
|
|
424
|
+
target = _(appPath +'/gina.bat', true)
|
|
425
|
+
}
|
|
426
|
+
console.debug('Source: '+ source);
|
|
427
|
+
console.debug('Target: '+ target);
|
|
231
428
|
|
|
232
|
-
|
|
233
|
-
|
|
429
|
+
if ( callback && typeof(callback) != 'undefined') {
|
|
430
|
+
console.info('linking to binaries dir: '+ source +' -> '+ target);
|
|
431
|
+
try {
|
|
432
|
+
if ( fs.existsSync(target) ) {
|
|
433
|
+
fs.unlinkSync(target)
|
|
434
|
+
}
|
|
435
|
+
new _(source).symlinkSync(target)
|
|
436
|
+
} catch (err) {
|
|
437
|
+
return callback(err)
|
|
234
438
|
}
|
|
235
|
-
} else {
|
|
236
|
-
if ( !self.isGlobalInstall ) {
|
|
237
|
-
lib.generator.createFileFromTemplate(source, target)
|
|
238
|
-
} else {
|
|
239
439
|
|
|
240
|
-
|
|
241
|
-
}
|
|
440
|
+
return callback(false);
|
|
242
441
|
}
|
|
243
442
|
}
|
|
244
443
|
|
|
245
444
|
self.createGinaFileForPlatform = async function(done) {
|
|
246
445
|
console.info('Creating platform file');
|
|
247
|
-
var name = require( _(self.
|
|
446
|
+
// var name = require( _(self.versionPath + '/package.json') ).name;
|
|
248
447
|
|
|
249
|
-
var filename = ( (self.isWin32) ? '.' : '' ) + name;
|
|
448
|
+
// var filename = ( (self.isWin32) ? '.' : '' ) + name;
|
|
250
449
|
|
|
251
|
-
var keepGoing = function(
|
|
450
|
+
var keepGoing = function() {
|
|
252
451
|
|
|
253
|
-
createGinaFile(
|
|
452
|
+
createGinaFile(function onFileCreated(err) {
|
|
254
453
|
if (err) {
|
|
255
454
|
return done(err)
|
|
256
455
|
}
|
|
257
456
|
|
|
258
457
|
// this is done to allow multiple calls of post_install.js
|
|
259
|
-
var filename = _(self.
|
|
458
|
+
var filename = _(self.versionPath + '/SUCCESS');
|
|
260
459
|
var installed = fs.existsSync( filename );
|
|
261
460
|
if (installed) {
|
|
262
461
|
fs.unlinkSync( filename );
|
|
@@ -278,7 +477,7 @@ function PostInstall() {
|
|
|
278
477
|
if ( !hasNodeModulesSync() ) {
|
|
279
478
|
return npmInstall(done)
|
|
280
479
|
} else {
|
|
281
|
-
var target = new _(self.
|
|
480
|
+
var target = new _(self.versionPath + '/node_modules');
|
|
282
481
|
console.debug('replacing: ', target.toString() );
|
|
283
482
|
return target
|
|
284
483
|
.rm( function onRemove(err) {
|
|
@@ -293,47 +492,55 @@ function PostInstall() {
|
|
|
293
492
|
})
|
|
294
493
|
}
|
|
295
494
|
|
|
296
|
-
if (self.isWin32) {
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
495
|
+
// if (self.isWin32) {
|
|
496
|
+
// // var appPath = _( self.versionPath.substring(0, (self.versionPath.length - ("node_modules/" + name + '/').length)) );
|
|
497
|
+
// var appPath = process.cwd()
|
|
498
|
+
// var source = _(self.versionPath + '/core/template/command/gina.bat.tpl');
|
|
499
|
+
// var target = _(appPath +'/'+ name + '.bat');
|
|
500
|
+
// if ( fs.existsSync(target) ) {
|
|
501
|
+
// fs.unlinkSync(target);
|
|
502
|
+
// // have to wait for windows to complete this
|
|
503
|
+
// setTimeout( async function(){
|
|
504
|
+
// lib.generator.createFileFromTemplate(source, target);
|
|
505
|
+
// await keepGoing(filename)
|
|
506
|
+
// }, 1000)
|
|
507
|
+
// } else {
|
|
508
|
+
// lib.generator.createFileFromTemplate(source, target);
|
|
509
|
+
// await keepGoing(filename)
|
|
510
|
+
// }
|
|
511
|
+
|
|
512
|
+
// } else {
|
|
513
|
+
await keepGoing()
|
|
514
|
+
// }
|
|
315
515
|
}
|
|
316
516
|
|
|
317
517
|
|
|
318
518
|
var hasNodeModulesSync = function() {
|
|
319
|
-
return fs.existsSync( _(self.
|
|
519
|
+
return fs.existsSync( _(self.versionPath + '/node_modules') )
|
|
320
520
|
}
|
|
321
521
|
|
|
322
522
|
|
|
323
523
|
var npmInstall = function(done) {
|
|
324
|
-
|
|
524
|
+
|
|
525
|
+
console.info('Now installing modules: please, wait ...');
|
|
526
|
+
console.info('Prefix ('+ self.isCustomPrefix +'): '+ self.prefix);
|
|
527
|
+
console.info('Default prefix: '+ self.defaultPrefix);
|
|
528
|
+
var initialDir = process.cwd();
|
|
529
|
+
|
|
530
|
+
|
|
325
531
|
var cmd = ( isWin32() ) ? 'npm.cmd install' : 'npm install';
|
|
326
532
|
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
533
|
+
process.chdir( self.versionPath );
|
|
534
|
+
|
|
535
|
+
console.info('running: `'+ cmd +'` from '+ process.cwd() );
|
|
536
|
+
console.info('running using TMPDIR: '+ _(getTmpDir(), true) );
|
|
537
|
+
var oldConfigGlobal = process.env.npm_config_global;
|
|
538
|
+
process.env.npm_config_global = false;
|
|
539
|
+
execSync(cmd);
|
|
540
|
+
process.chdir(initialDir);
|
|
541
|
+
process.env.npm_config_global = oldConfigGlobal;
|
|
542
|
+
|
|
543
|
+
done()
|
|
337
544
|
}
|
|
338
545
|
|
|
339
546
|
self.cleanupIfNeeded = function(done) {
|
|
@@ -345,15 +552,24 @@ function PostInstall() {
|
|
|
345
552
|
if ( new _(frameworkPath +'/node_modules/colors', true).existsSync() ) {
|
|
346
553
|
var initialDir = process.cwd();
|
|
347
554
|
process.chdir(frameworkPath);
|
|
555
|
+
var oldConfigGlobal = process.env.npm_config_global;
|
|
556
|
+
process.env.npm_config_global=false;
|
|
557
|
+
|
|
558
|
+
// var cmd = self.prefix +'/bin/';
|
|
559
|
+
// cmd += ( isWin32() ) ? 'npm.cmd rm colors' : 'npm rm colors';
|
|
560
|
+
|
|
348
561
|
var cmd = ( isWin32() ) ? 'npm.cmd rm colors' : 'npm rm colors';
|
|
562
|
+
|
|
349
563
|
try {
|
|
350
564
|
execSync(cmd);
|
|
351
565
|
console.debug('Removed default `colors` module from `GINA_DIR`... This is normal ;)');
|
|
352
566
|
} catch (npmErr) {
|
|
567
|
+
process.chdir(initialDir);
|
|
353
568
|
return done(npmErr);
|
|
354
569
|
}
|
|
355
570
|
|
|
356
571
|
process.chdir(initialDir);
|
|
572
|
+
process.env.npm_config_global=oldConfigGlobal;
|
|
357
573
|
}
|
|
358
574
|
|
|
359
575
|
done()
|
|
@@ -377,6 +593,9 @@ function PostInstall() {
|
|
|
377
593
|
|
|
378
594
|
// reading default extensions
|
|
379
595
|
var ext = _(self.gina +'/resources/home/user/extensions', true);
|
|
596
|
+
// if (!self.isCustomPrefix) {
|
|
597
|
+
// ext = _( self.defaultPrefix + '/lib/node_modules/gina/bin/gina')
|
|
598
|
+
// }
|
|
380
599
|
var folders = [];
|
|
381
600
|
try {
|
|
382
601
|
console.debug('Reading : '+ ext + ' - isDirectory ? '+ fs.lstatSync( ext ).isDirectory() );
|
|
@@ -411,7 +630,6 @@ function PostInstall() {
|
|
|
411
630
|
|
|
412
631
|
let files = []
|
|
413
632
|
, extDir = _(ext +'/'+ dir, true)
|
|
414
|
-
, extDirObj = new _(extDir)
|
|
415
633
|
;
|
|
416
634
|
try {
|
|
417
635
|
|
|
@@ -448,7 +666,7 @@ function PostInstall() {
|
|
|
448
666
|
});
|
|
449
667
|
|
|
450
668
|
if (err) {
|
|
451
|
-
|
|
669
|
+
return done(err);
|
|
452
670
|
}
|
|
453
671
|
}
|
|
454
672
|
}
|
|
@@ -458,6 +676,64 @@ function PostInstall() {
|
|
|
458
676
|
done()
|
|
459
677
|
}
|
|
460
678
|
|
|
679
|
+
/**
|
|
680
|
+
* Updated user's profile
|
|
681
|
+
* Will edit ~/.profile, check and add if needed path to Gina binary
|
|
682
|
+
*
|
|
683
|
+
*/
|
|
684
|
+
self.updateUserProfile = async function(done) {
|
|
685
|
+
|
|
686
|
+
if ( !self.isGlobalInstall || isWin32() ) {
|
|
687
|
+
return done()
|
|
688
|
+
}
|
|
689
|
+
if (!self.isCustomPrefix || self.prefix == self.defaultPrefix) {
|
|
690
|
+
return done()
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
var profilePath = getUserHome() + '/.profile';
|
|
694
|
+
var profilePathObj = new _(profilePath);
|
|
695
|
+
if ( !profilePathObj.existsSync() ) {
|
|
696
|
+
cmd = 'touch '+ profilePath;
|
|
697
|
+
await promisify(run)(cmd, { cwd: _(self.versionPath), tmp: _(getTmpDir(), true), outToProcessSTD: true, shell: "/bin/bash"})
|
|
698
|
+
.catch(function onError(err){
|
|
699
|
+
if (err) {
|
|
700
|
+
console.warn('try to run: sudo ' + cmd);
|
|
701
|
+
return done(err);
|
|
702
|
+
}
|
|
703
|
+
});
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
var inFile = null;
|
|
707
|
+
var patt = _(self.prefix.replace( new RegExp( '^' +getUserHome() ), '(.*)[$]HOME') + '/bin', true);
|
|
708
|
+
try {
|
|
709
|
+
inFile = execSync("cat ~/.profile | grep -Eo '" + patt +"'", {shell: "/bin/bash"}).toString();
|
|
710
|
+
} catch (err) {
|
|
711
|
+
// nothing to do
|
|
712
|
+
}
|
|
713
|
+
|
|
714
|
+
if (!inFile) {
|
|
715
|
+
patt = patt.replace('(.*)[$]', '$');
|
|
716
|
+
inFile = '\nif [ -d "'+ patt +'" ]; then';
|
|
717
|
+
inFile += '\n PATH="'+ patt +':$PATH"';
|
|
718
|
+
inFile += '\nfi\n';
|
|
719
|
+
try {
|
|
720
|
+
fs.appendFileSync( getUserHome()+'/.profile', inFile );
|
|
721
|
+
} catch (err) {
|
|
722
|
+
return done(err);
|
|
723
|
+
}
|
|
724
|
+
inFile = null;
|
|
725
|
+
|
|
726
|
+
// we need to source/update ~/.profile
|
|
727
|
+
try {
|
|
728
|
+
execSync("source "+ profilePath, {shell: "/bin/bash"});
|
|
729
|
+
} catch (err) {
|
|
730
|
+
return done(err)
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
|
|
734
|
+
done()
|
|
735
|
+
}
|
|
736
|
+
|
|
461
737
|
var restoreSymlinks = function() {
|
|
462
738
|
var archivesPath = _(getUserHome() + '/.gina/archives/framework', true);
|
|
463
739
|
var frameworkPath = _(self.gina +'/framework', true);
|
|
@@ -481,15 +757,17 @@ function PostInstall() {
|
|
|
481
757
|
// intercept & remove existing symlinks or old versions dir
|
|
482
758
|
try {
|
|
483
759
|
if ( fs.lstatSync( _(frameworkPath +'/'+ dir, true) ).isSymbolicLink() ) {
|
|
484
|
-
|
|
485
|
-
|
|
760
|
+
console.debug('Removing Symlink: '+ _(frameworkPath +'/'+ dir, true) );
|
|
761
|
+
// new _(frameworkPath +'/'+ dir, true).rmSync();
|
|
762
|
+
fs.unlinkSync(_(frameworkPath +'/'+ dir, true));
|
|
486
763
|
continue;
|
|
487
764
|
}
|
|
488
|
-
|
|
765
|
+
|
|
766
|
+
if (
|
|
489
767
|
dir != currentVersion
|
|
490
768
|
&& fs.lstatSync( _(frameworkPath +'/'+ dir, true) ).isDirectory()
|
|
491
769
|
) {
|
|
492
|
-
console.debug('Removing old version: '+ dir);
|
|
770
|
+
console.debug('Removing old version: '+ _(frameworkPath +'/'+ dir, true));
|
|
493
771
|
new _(frameworkPath +'/'+ dir, true).rmSync()
|
|
494
772
|
}
|
|
495
773
|
} catch (e) {
|
|
@@ -521,15 +799,34 @@ function PostInstall() {
|
|
|
521
799
|
}
|
|
522
800
|
}
|
|
523
801
|
|
|
802
|
+
|
|
524
803
|
self.end = function(done) {
|
|
525
804
|
|
|
526
805
|
restoreSymlinks();
|
|
527
806
|
|
|
807
|
+
// configuring Gina
|
|
808
|
+
var ginaBinanry = _(self.gina + '/bin/gina', true);
|
|
809
|
+
if (!self.isCustomPrefix && self.isGlobalInstall) {
|
|
810
|
+
ginaBinanry = _( self.defaultPrefix + '/lib/node_modules/gina/bin/gina')
|
|
811
|
+
}
|
|
812
|
+
|
|
813
|
+
if ( !fs.existsSync(ginaBinanry) ) {
|
|
814
|
+
console.error('`'+ ginaBinanry +'` not found !');
|
|
815
|
+
}
|
|
816
|
+
|
|
817
|
+
try {
|
|
818
|
+
execSync(ginaBinanry + ' framework:set --global-mode='+ self.isGlobalInstall);
|
|
819
|
+
execSync(ginaBinanry + ' framework:set --prefix='+ self.prefix);
|
|
820
|
+
} catch (err) {
|
|
821
|
+
return done(err)
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
|
|
528
825
|
// Update middleware file
|
|
529
|
-
var filename = _(self.
|
|
826
|
+
var filename = _(self.versionPath) + '/MIDDLEWARE';
|
|
530
827
|
var msg = "Gina's command line tool has been installed.";
|
|
531
828
|
|
|
532
|
-
var deps = require(_(self.
|
|
829
|
+
var deps = require(_(self.versionPath) + '/package.json').dependecies;
|
|
533
830
|
|
|
534
831
|
var version = require( _(self.gina + '/package.json') ).version;
|
|
535
832
|
var middleware = 'isaac@'+version; // by default
|
|
@@ -540,11 +837,12 @@ function PostInstall() {
|
|
|
540
837
|
}
|
|
541
838
|
}
|
|
542
839
|
|
|
543
|
-
var expressPackage = _(self.
|
|
840
|
+
var expressPackage = _(self.versionPath + '/node_modules/express/package.json');
|
|
544
841
|
if ( typeof(middleware) == 'undefined' && fs.existsSync(expressPackage) ) {
|
|
545
842
|
middleware = require(expressPackage).version;
|
|
546
843
|
middleware = 'express@' + middleware;
|
|
547
|
-
}
|
|
844
|
+
}
|
|
845
|
+
else if (typeof(middleware) == 'undefined') {
|
|
548
846
|
return done( new Error('No middleware found !!') );
|
|
549
847
|
}
|
|
550
848
|
|
|
@@ -556,6 +854,8 @@ function PostInstall() {
|
|
|
556
854
|
if (err) {
|
|
557
855
|
return done(err)
|
|
558
856
|
}
|
|
857
|
+
console.debug('Updated: def !== middleware case');
|
|
858
|
+
// execSync(self.prefix +'/bin/gina framework:set --prefix='+ self.prefix);
|
|
559
859
|
console.info(msg);
|
|
560
860
|
done()
|
|
561
861
|
})
|
|
@@ -565,12 +865,15 @@ function PostInstall() {
|
|
|
565
865
|
if (err) {
|
|
566
866
|
return done(err)
|
|
567
867
|
}
|
|
868
|
+
console.info('File created case');
|
|
869
|
+
|
|
568
870
|
console.info(msg);
|
|
569
871
|
done()
|
|
570
872
|
})
|
|
571
873
|
}
|
|
572
874
|
}
|
|
573
875
|
|
|
876
|
+
|
|
574
877
|
init()
|
|
575
878
|
}
|
|
576
879
|
new PostInstall()
|