gina 0.1.1-alpha.94 → 0.1.1-alpha.95
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/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/AUTHORS +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/LICENSE +0 -0
- package/framework/v0.1.1-alpha.95/VERSION +1 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/asset/html/nolayout.html +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/asset/html/static.html +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/asset/img/android-chrome-192x192.png +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/asset/img/android-chrome-512x512.png +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/asset/img/apple-touch-icon.png +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/asset/img/favicon-16x16.png +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/asset/img/favicon-32x32.png +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/asset/img/favicon.ico +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/asset/js/plugin/dist/gina.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/asset/js/plugin/dist/gina.js.map +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/asset/js/plugin/dist/gina.min.css +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/asset/js/plugin/dist/gina.min.css.map +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/asset/js/plugin/dist/gina.min.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/asset/js/plugin/dist/gina.min.js.map +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/asset/js/plugin/dist/gina.onload.min.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/asset/js/plugin/dist/gina.onload.min.js.map +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/asset/js/plugin/readme.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/asset/js/plugin/uuid.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/config.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/connectors/couchbase/index.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/connectors/couchbase/lib/connector.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/connectors/couchbase/lib/connector.v2.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/connectors/couchbase/lib/connector.v3.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/connectors/couchbase/lib/n1ql.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/connectors/couchbase/lib/session-store.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/controller/controller.framework.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/controller/controller.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/controller/index.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/deps/busboy/.travis.yml +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/deps/busboy/LICENSE +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/deps/busboy/README.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/deps/busboy/deps/encoding/encoding.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/deps/busboy/lib/main.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/deps/busboy/lib/types/multipart.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/deps/busboy/lib/types/urlencoded.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/deps/busboy/lib/utils.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/deps/busboy/package.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/dev/index.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/dev/lib/class.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/dev/lib/factory.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/dev/lib/tools.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/gna.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/locales/README.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/locales/currency.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/locales/dist/language/en.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/locales/dist/language/fr.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/locales/dist/region/en.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/locales/dist/region/fr.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/locales/index.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/locales/src/make.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/locales/src/resources/currency.csv +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/locales/src/resources/region.csv +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/locales/src/resources/region.mapping.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/mime.types +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/model/entity.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/model/index.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/model/template/entityFactory.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/model/template/index.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/plugins/README.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/plugins/index.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/plugins/lib/file/README.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/plugins/lib/file/build.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/plugins/lib/file/package.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/plugins/lib/intl/README.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/plugins/lib/intl/build.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/plugins/lib/intl/package.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/plugins/lib/intl/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/plugins/lib/storage/README.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/plugins/lib/storage/build.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/plugins/lib/storage/package.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/plugins/lib/storage/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/plugins/lib/validator/README.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/plugins/lib/validator/build.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/plugins/lib/validator/package.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/plugins/lib/validator/src/form-validator.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/plugins/lib/validator/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/router.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/server.express.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/server.isaac.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/server.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/status.codes +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/boilerplate/bundle/config/app.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/boilerplate/bundle/config/routing.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/boilerplate/bundle/config/settings.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/boilerplate/bundle/config/templates.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/boilerplate/bundle/index.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/boilerplate/bundle_public/readme.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/boilerplate/bundle_templates/html/homepage.html +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/boilerplate/bundle_templates/html/layout/main.html +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/command/gina.bat.tpl +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/command/gina.tpl +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/conf/env.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/conf/manifest.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/conf/package.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/conf/settings.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/conf/statics.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/conf/templates.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/error/client/json/401.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/error/client/json/403.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/error/client/json/404.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/error/server/html/50x.html +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/error/server/json/500.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/error/server/json/503.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/core/template/extensions/logger/config.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/helpers/console.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/helpers/context.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/helpers/dateFormat.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/helpers/index.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/helpers/json/README.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/helpers/json/package.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/helpers/json/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/helpers/path.js +81 -76
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/helpers/plugins/README.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/helpers/plugins/package.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/helpers/plugins/src/api-error.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/helpers/plugins/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/helpers/prototypes.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/helpers/task.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/helpers/text.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/archiver/README.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/archiver/build.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/archiver/package.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/archiver/src/dep/jszip.min.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/archiver/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/aliases.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/bundle/add.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/bundle/arguments.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/bundle/copy.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/bundle/cp.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/bundle/help.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/bundle/help.txt +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/bundle/list.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/bundle/remove.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/bundle/rename.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/bundle/restart.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/bundle/rm.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/bundle/start.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/bundle/status.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/bundle/stop.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/env/add.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/env/get.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/env/help.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/env/help.txt +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/env/link-dev.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/env/list.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/env/remove.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/env/rm.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/env/set.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/env/unset.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/env/use.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/framework/dot.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/framework/get.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/framework/help.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/framework/help.txt +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/framework/init.js +1 -1
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/framework/msg.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/framework/open.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/framework/restart.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/framework/set.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/framework/start.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/framework/status.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/framework/stop.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/framework/tail.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/framework/update.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/framework/version.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/gina-dev.1.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/gina-framework.1.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/gina.1.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/helper.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/index.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/msg.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/port/help.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/port/help.txt +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/port/inc/scan.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/port/list.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/port/set.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/project/add.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/project/arguments.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/project/build.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/project/help.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/project/help.txt +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/project/import.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/project/list.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/project/move.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/project/remove.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/project/rename.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/project/restart.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/project/rm.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/project/start.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/project/status.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/project/stop.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/protocol/help.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/protocol/help.txt +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/protocol/list.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/protocol/set.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/scope/help.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/scope/help.txt +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/scope/link-local.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/scope/list.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/scope/remove.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/scope/rm.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/scope/set.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/scope/unset.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/scope/use.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cmd/view/add.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/collection/README.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/collection/build.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/collection/package.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/collection/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/config.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cron/README.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cron/package.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/cron/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/generator/index.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/index.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/inherits/LICENSE +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/inherits/README.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/inherits/example/inheriting_eventemitter.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/inherits/example/protected_inheritance.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/inherits/example/simple_inheritance.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/inherits/package.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/inherits/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/logger/README.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/logger/package.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/logger/src/containers/default/index.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/logger/src/containers/file/index.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/logger/src/containers/mq/index.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/logger/src/containers/mq/listener.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/logger/src/containers/mq/speaker.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/logger/src/helper.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/logger/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/math/index.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/merge/README.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/merge/example/merge.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/merge/example/merge_2_literal objects.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/merge/example/merge_and_preserve_first.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/merge/package.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/merge/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/model.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/proc.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/routing/README.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/routing/build.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/routing/package.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/routing/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/session-store.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/shell.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/swig-filters/README.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/swig-filters/package.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/swig-filters/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/url/README.md +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/url/index.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/url/mocks.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/url/routing.json +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/url/test.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/lib/validator.js +0 -0
- package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.95}/package.json +0 -0
- package/package.json +5 -6
- package/script/post_install.js +256 -83
- package/script/pre_install.js +322 -265
- package/utils/helper.js +25 -9
- package/framework/v0.1.1-alpha.94/VERSION +0 -1
package/script/pre_install.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This file is part of the gina
|
|
2
|
+
* This file is part of the gina pkg.
|
|
3
3
|
* Copyright (c) 2017 Rhinostone <contact@gina.io>
|
|
4
4
|
*
|
|
5
5
|
* For the full copyright and license information, please view the LICENSE
|
|
@@ -15,223 +15,6 @@ var { execSync } = require('child_process');
|
|
|
15
15
|
//var lib = require('./lib');
|
|
16
16
|
// var console = lib.logger;
|
|
17
17
|
var lib = null;
|
|
18
|
-
var isWin32 = function() {
|
|
19
|
-
return (process.platform === 'win32') ? true : false;
|
|
20
|
-
};
|
|
21
|
-
var existsSync = function(path) {
|
|
22
|
-
if ( typeof(fs.accessSync) != 'undefined' ) {
|
|
23
|
-
try {
|
|
24
|
-
fs.accessSync(path, fs.constants.F_OK);
|
|
25
|
-
return true;
|
|
26
|
-
} catch (err) {
|
|
27
|
-
return false;
|
|
28
|
-
}
|
|
29
|
-
} else { // support for old version of nodejs
|
|
30
|
-
return fs.existsSync(path);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
var isWritableSync = function(path) {
|
|
35
|
-
var canWrite = false;
|
|
36
|
-
if ( typeof(fs.accessSync) != 'undefined' ) {
|
|
37
|
-
try {
|
|
38
|
-
fs.accessSync(path, fs.constants.W_OK);
|
|
39
|
-
canWrite = true;
|
|
40
|
-
} catch (err) {
|
|
41
|
-
canWrite = false;
|
|
42
|
-
}
|
|
43
|
-
} else { // support for old version of nodejs
|
|
44
|
-
|
|
45
|
-
try {
|
|
46
|
-
canWrite = (fs.statSync(path).mode & (fs.constants.S_IRUSR | fs.constants.S_IRGRP | fs.constants.S_IROTH));
|
|
47
|
-
} catch (err) {
|
|
48
|
-
canWrite = false
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
return canWrite
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Get run\lock path
|
|
57
|
-
* @returns {string} rundir
|
|
58
|
-
* */
|
|
59
|
-
var getRunDir = function(prefix) {
|
|
60
|
-
if ( !prefix || typeof(prefix) == 'undefined' || prefix == '' ) {
|
|
61
|
-
prefix = '/usr/local'
|
|
62
|
-
}
|
|
63
|
-
// Trying to retrieve original value if already defined
|
|
64
|
-
// Means `/usr/local/var/lock` or `/usr/local/var/run` by default.
|
|
65
|
-
var runDir = (isWin32()) ? getUserHome() + '\\.gina\\run' : prefix+'/var/lock';
|
|
66
|
-
|
|
67
|
-
if ( !isWin32() && new RegExp('^'+ prefix).test(runDir) && !isWritableSync(prefix) ) {
|
|
68
|
-
runDir = getUserHome() +'/.gina/run';
|
|
69
|
-
if ( !existsSync(runDir) ) {
|
|
70
|
-
fs.mkdirSync(runDir)
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
return runDir
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
if ( existsSync(runDir) ) {
|
|
77
|
-
if ( !isWritableSync(runDir) ) {
|
|
78
|
-
throw new Error('location `'+ runDir +'` found but not writable !' )
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
runDir += ( isWin32() ) ? '' : '/gina'
|
|
82
|
-
if ( !existsSync(runDir) ) {
|
|
83
|
-
fs.mkdirSync(runDir)
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
return runDir;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
try {
|
|
90
|
-
//by default.
|
|
91
|
-
runDir = prefix+'/var';
|
|
92
|
-
if ( !existsSync(runDir) ) {
|
|
93
|
-
fs.mkdirSync(runDir)
|
|
94
|
-
}
|
|
95
|
-
runDir += '/run';
|
|
96
|
-
if ( !existsSync(runDir) ) {
|
|
97
|
-
fs.mkdirSync(runDir)
|
|
98
|
-
}
|
|
99
|
-
} catch (err) {
|
|
100
|
-
throw new Error('location error: `'+ runDir+'`\n'+ err.stack);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
runDir += ( isWin32() ) ? '\\gina' : '/gina'
|
|
104
|
-
if ( !existsSync(runDir) ) {
|
|
105
|
-
fs.mkdirSync(runDir)
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
return runDir;
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
var getTmpDir = function(prefix) {
|
|
112
|
-
if ( !prefix || typeof(prefix) == 'undefined' || prefix == '' ) {
|
|
113
|
-
prefix = '/usr/local'
|
|
114
|
-
}
|
|
115
|
-
// support for node 0.10.x & 0.11.x
|
|
116
|
-
var tmp = (os.tmpdir) ? os.tmpdir : function() {
|
|
117
|
-
var tmpDir = null;
|
|
118
|
-
if ( isWin32() ) {
|
|
119
|
-
tmpDir = process.env.TEMP ||
|
|
120
|
-
process.env.TMP ||
|
|
121
|
-
(process.env.SystemRoot || process.env.windir) + '\\Temp'
|
|
122
|
-
;
|
|
123
|
-
} else {
|
|
124
|
-
tmpDir = process.env.TMPDIR ||
|
|
125
|
-
process.env.TMP ||
|
|
126
|
-
process.env.TEMP ||
|
|
127
|
-
prefix+'/var/tmp'
|
|
128
|
-
;
|
|
129
|
-
|
|
130
|
-
if ( new RegExp('^'+ prefix).test(tmpDir) && !isWritableSync(prefix) ) {
|
|
131
|
-
tmpDir = getUserHome() +'/.gina/tmp';
|
|
132
|
-
if ( !existsSync(tmpDir) ) {
|
|
133
|
-
fs.mkdirSync(tmpDir)
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
if ( new RegExp('^'+ prefix +'/var').test(tmpDir) && !existsSync(prefix+'/var') ) {
|
|
138
|
-
fs.mkdirSync(prefix+'/var');
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
if ( !existsSync(tmpDir) ) {
|
|
143
|
-
fs.mkdirSync(tmpDir);
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
return tmpDir
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
return tmp()
|
|
150
|
-
};
|
|
151
|
-
|
|
152
|
-
/**
|
|
153
|
-
* Get log path - %SystemRoot%\system32\winevt\logs or /
|
|
154
|
-
*
|
|
155
|
-
* @returns {string} logPath
|
|
156
|
-
* */
|
|
157
|
-
var getLogDir = function(prefix) {
|
|
158
|
-
if ( !prefix || typeof(prefix) == 'undefined' || prefix == '' ) {
|
|
159
|
-
prefix = '/usr/local'
|
|
160
|
-
}
|
|
161
|
-
// Trying to retrieve original value if already defined
|
|
162
|
-
var logDir = null;
|
|
163
|
-
|
|
164
|
-
if ( isWin32() ) {
|
|
165
|
-
logDir = process.env.LOG ||
|
|
166
|
-
process.env.LOGS ||
|
|
167
|
-
(process.env.SystemRoot || process.env.windir) + '\\System32\\Winevt\\Logs'
|
|
168
|
-
;
|
|
169
|
-
|
|
170
|
-
if ( !logDir || logDir == '' ) {
|
|
171
|
-
throw new Error('Log directory not defined or not found !');
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
if ( !isWritableSync(logDir) ) {
|
|
175
|
-
throw new Error('Log directory found but not writable: need permissions for `'+ logDir +'`');
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
if ( !/gina$/.test(logDir) ) {
|
|
179
|
-
logDir += '\\gina'
|
|
180
|
-
}
|
|
181
|
-
} else {
|
|
182
|
-
logDir = process.env.LOGDIR ||
|
|
183
|
-
process.env.LOG ||
|
|
184
|
-
process.env.LOGS ||
|
|
185
|
-
prefix+'/var/log'
|
|
186
|
-
;
|
|
187
|
-
|
|
188
|
-
if ( new RegExp('^'+ prefix).test(logDir) && !isWritableSync(prefix) ) {
|
|
189
|
-
logDir = getUserHome() +'/.gina/log';
|
|
190
|
-
if ( !existsSync(logDir) ) {
|
|
191
|
-
fs.mkdirSync(logDir)
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
return logDir
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
if ( new RegExp('^'+ prefix +'/var').test(logDir) && !existsSync(prefix+'/var') ) {
|
|
198
|
-
fs.mkdirSync(prefix+'/var');
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
if ( !existsSync(logDir) ) {
|
|
202
|
-
fs.mkdirSync(logDir);
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
if ( !/gina$/.test(logDir) ) {
|
|
206
|
-
logDir += '/gina'
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
if ( !existsSync(logDir) ) {
|
|
211
|
-
fs.mkdirSync(logDir)
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
return logDir;
|
|
215
|
-
};
|
|
216
|
-
|
|
217
|
-
var getUserHome = function() {
|
|
218
|
-
var home = os.homedir ? os.homedir : function() {
|
|
219
|
-
var homeDir = process.env[(isWin32()) ? 'USERPROFILE' : 'HOME'];
|
|
220
|
-
|
|
221
|
-
if ( !homeDir || homeDir == '' ) {
|
|
222
|
-
throw new Error('Home directory not defined or not found !');
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
if ( !isWritableSync(homeDir) ) {
|
|
226
|
-
throw new Error('Home directory found but not writable: need permissions for `'+ homeDir +'`');
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
return homeDir;
|
|
230
|
-
};
|
|
231
|
-
|
|
232
|
-
return home()
|
|
233
|
-
};
|
|
234
|
-
|
|
235
18
|
var helpers = null;
|
|
236
19
|
|
|
237
20
|
/**
|
|
@@ -248,17 +31,31 @@ var helpers = null;
|
|
|
248
31
|
function PreInstall() {
|
|
249
32
|
var self = {};
|
|
250
33
|
|
|
251
|
-
var
|
|
34
|
+
var configure = function() {
|
|
35
|
+
|
|
36
|
+
// TODO - handle windows case
|
|
37
|
+
if ( /^true$/i.test(isWin32()) ) {
|
|
38
|
+
throw new Error('Windows in not yet fully supported. Thank you for your patience');
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
self.isWin32 = isWin32();
|
|
42
|
+
self.isGlobalInstall = process.env.npm_config_global || false;
|
|
43
|
+
self.isResetNeeded = process.env.npm_config_reset || false;
|
|
44
|
+
self.defaultPrefix = execSync('npm config get prefix').toString().replace(/\n$/g, '');
|
|
45
|
+
var pkg = null;
|
|
46
|
+
try {
|
|
47
|
+
pkg = execSync('npm list -g gina --long --json').toString().replace(/\n$/g, '');
|
|
48
|
+
} catch(err) {
|
|
49
|
+
throw err
|
|
50
|
+
}
|
|
51
|
+
self.optionalPrefix = JSON.parse(pkg).dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
|
|
52
|
+
// self.optionalPrefix = getUserHome()+'/.npm-global';
|
|
252
53
|
|
|
253
|
-
self.isGlobalInstall = process.env.npm_config_global || false;
|
|
254
|
-
self.isResetNeeded = process.env.npm_config_reset || false;
|
|
255
|
-
self.isGinaInstall = false;
|
|
256
|
-
self.defaultPrefix = execSync('npm config get prefix').toString().replace(/\n/g, '');
|
|
257
|
-
self.optionalPrefix = '~/.npm-global';
|
|
258
54
|
// `process.env.npm_config_prefix` is only retrieved on `npm install gina`
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
self.isCustomPrefix
|
|
55
|
+
// and it should always be equal to `self.defaultPrefix`
|
|
56
|
+
self.prefix = process.env.npm_config_prefix || self.defaultPrefix;
|
|
57
|
+
self.isCustomPrefix = false;
|
|
58
|
+
self.isGinaInstalled = false;
|
|
262
59
|
|
|
263
60
|
// Overriding thru passed arguments
|
|
264
61
|
var args = process.argv, i = 0, len = args.length;
|
|
@@ -276,23 +73,38 @@ function PreInstall() {
|
|
|
276
73
|
if ( /^\-\-prefix\=/.test(args[i] ) ) {
|
|
277
74
|
self.isCustomPrefix = true;
|
|
278
75
|
self.prefix = args[i].split(/\=/)[1];
|
|
76
|
+
self.prefix = self.prefix.replace(/^\~/, getUserHome());
|
|
279
77
|
continue;
|
|
280
78
|
}
|
|
281
79
|
}
|
|
282
80
|
|
|
283
81
|
// For local install
|
|
82
|
+
console.debug('self.isGlobalInstall => '+ self.isGlobalInstall);
|
|
284
83
|
if ( !self.isGlobalInstall ) {
|
|
285
|
-
console.warn('
|
|
286
|
-
console.warn('
|
|
84
|
+
console.warn('Local installation is not fully supported at the moment.');
|
|
85
|
+
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');
|
|
287
86
|
// Just in case someone is trying to run pre_install from the `gina` module
|
|
288
87
|
if (!/node\_modules(\\\\|\/)gina$/.test(process.cwd())) {
|
|
289
88
|
self.prefix = process.cwd();
|
|
290
89
|
}
|
|
291
90
|
}
|
|
292
|
-
// process.env.npm_config_prefix = self.prefix;
|
|
293
91
|
|
|
294
|
-
|
|
295
|
-
|
|
92
|
+
// checking permission
|
|
93
|
+
var hasPermissionsForBin = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'bin');
|
|
94
|
+
var hasPermissionsForLib = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'lib');
|
|
95
|
+
var hasPermissionsForVar = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'var');
|
|
96
|
+
if ( !hasPermissionsForBin || !hasPermissionsForLib || !hasPermissionsForVar) {
|
|
97
|
+
if (!hasPermissionsForBin) {
|
|
98
|
+
console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'bin')
|
|
99
|
+
}
|
|
100
|
+
if (!hasPermissionsForLib) {
|
|
101
|
+
console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'lib')
|
|
102
|
+
}
|
|
103
|
+
if (!hasPermissionsForVar) {
|
|
104
|
+
console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'var')
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
console.warn('You do not have sufficient permissions. Switching to `--prefix='+ self.optionalPrefix +'`');
|
|
296
108
|
process.env.npm_config_prefix = self.prefix = self.optionalPrefix;
|
|
297
109
|
}
|
|
298
110
|
|
|
@@ -300,20 +112,47 @@ function PreInstall() {
|
|
|
300
112
|
self.isCustomPrefix = true;
|
|
301
113
|
}
|
|
302
114
|
|
|
115
|
+
self.gina = __dirname +'/..';
|
|
116
|
+
// tying to figure out if gina is already install the given prefix
|
|
117
|
+
// var hasFoundGina = execSync('npm list -g gina --long --json').toString().replace(/\n$/g, '');
|
|
118
|
+
var hasFoundGina = pkg;
|
|
119
|
+
try {
|
|
120
|
+
hasFoundGina = JSON.parse(hasFoundGina);
|
|
121
|
+
if ( hasFoundGina.dependencies && typeof(hasFoundGina.dependencies.gina) != 'undefined' ) {
|
|
122
|
+
self.isGinaInstalled = true;
|
|
123
|
+
self.versionPath = self.gina;
|
|
124
|
+
self.versionPath += (isWin32()) ? '\\framework\\' : '/framework/';
|
|
125
|
+
self.versionPath += 'v'+ hasFoundGina.dependencies.gina.version;
|
|
126
|
+
|
|
127
|
+
console.debug('Install path => '+ hasFoundGina.dependencies.gina.path);
|
|
128
|
+
|
|
129
|
+
// OK ... found installed gina but on a different prefix
|
|
130
|
+
// In this case, let's assume that it is not really installed
|
|
131
|
+
if ( !new RegExp('^'+ self.prefix).test(hasFoundGina.dependencies.gina.path) ) {
|
|
132
|
+
self.isGinaInstalled = false;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
} catch (err) {}
|
|
136
|
+
|
|
303
137
|
console.debug('self.defaultPrefix => '+ self.defaultPrefix);
|
|
304
138
|
console.debug('self.optionalPrefix => '+ self.optionalPrefix );
|
|
305
139
|
console.debug('self.prefix => '+ self.prefix);
|
|
140
|
+
console.debug('self.isCustomPrefix => ', self.isCustomPrefix);
|
|
141
|
+
// only available when running the script with NPM
|
|
306
142
|
console.debug('process.env.npm_config_prefix => '+ process.env.npm_config_prefix);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
var init = function() {
|
|
146
|
+
|
|
147
|
+
configure();
|
|
307
148
|
|
|
308
149
|
begin(0);
|
|
309
|
-
// TODO check old framework version to be archived
|
|
310
150
|
}
|
|
311
151
|
|
|
312
152
|
/**
|
|
313
153
|
* Bebin - Will run checking tasks in order of declaration
|
|
314
154
|
* */
|
|
315
155
|
var begin = async function(i) {
|
|
316
|
-
//console.debug('i is ', i);
|
|
317
156
|
var n = 0, funct = null, functName = null;
|
|
318
157
|
for (let t in self) {
|
|
319
158
|
if ( typeof(self[t]) == 'function') {
|
|
@@ -340,10 +179,6 @@ function PreInstall() {
|
|
|
340
179
|
|
|
341
180
|
|
|
342
181
|
self.checkRequirements = async function(done) {
|
|
343
|
-
// TODO - handle windows case
|
|
344
|
-
if ( /^true$/i.test(isWin32()) ) {
|
|
345
|
-
return done( new Error('Windows in not yet fully supported. Thank you for your patience'));
|
|
346
|
-
}
|
|
347
182
|
|
|
348
183
|
var ginaHome = getUserHome() + ( isWin32() ? '\\.gina' : '/.gina' );
|
|
349
184
|
if ( self.isResetNeeded && existsSync(ginaHome) ) {
|
|
@@ -353,28 +188,23 @@ function PreInstall() {
|
|
|
353
188
|
|
|
354
189
|
// Let's temporarily install `colors` into `GINA_DIR` it will be removed by the `post_install.js` script
|
|
355
190
|
var initialDir = process.cwd();
|
|
356
|
-
|
|
357
|
-
if ( !fs.existsSync(
|
|
358
|
-
process.chdir(
|
|
191
|
+
|
|
192
|
+
if ( !fs.existsSync(self.gina +'/node_modules/colors') ) {
|
|
193
|
+
process.chdir(self.gina);
|
|
194
|
+
|
|
359
195
|
var oldConfigGlobal = process.env.npm_config_global;
|
|
360
196
|
process.env.npm_config_global=false;
|
|
361
197
|
var cmd = ( isWin32() ) ? 'npm.cmd install colors@1.4.0' : 'npm install colors@1.4.0';
|
|
362
198
|
execSync(cmd);
|
|
363
|
-
process.chdir(initialDir);
|
|
364
199
|
process.env.npm_config_global=oldConfigGlobal;
|
|
365
|
-
}
|
|
366
200
|
|
|
367
|
-
|
|
368
|
-
if ( !fs.existsSync(frameworkPath +'/node_modules/gina') ) {
|
|
369
|
-
return done();
|
|
201
|
+
process.chdir(initialDir);
|
|
370
202
|
}
|
|
371
203
|
|
|
372
|
-
self.isWin32 = isWin32();
|
|
373
204
|
|
|
374
205
|
|
|
375
206
|
console.debug('framework path: ' + self.gina);
|
|
376
|
-
console.debug('framework version path: ' + self.
|
|
377
|
-
console.debug('cwd path: ' + self.root );
|
|
207
|
+
console.debug('framework version path: ' + self.versionPath);
|
|
378
208
|
console.debug('Is this a global install: '+ self.isGlobalInstall);
|
|
379
209
|
|
|
380
210
|
done();
|
|
@@ -437,7 +267,7 @@ function PreInstall() {
|
|
|
437
267
|
// }
|
|
438
268
|
// // from `/usr/local` -> `~/.npm-global`
|
|
439
269
|
// var cmd = 'npm config set prefix '+ getUserHome() +'/.npm-global';
|
|
440
|
-
// await promisify(run)(cmd, { cwd: _(self.path), tmp:
|
|
270
|
+
// await promisify(run)(cmd, { cwd: _(self.path), tmp: getTmpDir(self.prefix);, outToProcessSTD: true })
|
|
441
271
|
// .catch(function onError(err){
|
|
442
272
|
// if (err) {
|
|
443
273
|
// console.warn('try to run: sudo ' + cmd);
|
|
@@ -449,7 +279,7 @@ function PreInstall() {
|
|
|
449
279
|
// var profilePathObj = new _(profilePath);
|
|
450
280
|
// if ( !profilePathObj.existsSync() ) {
|
|
451
281
|
// cmd = 'touch '+ profilePath;
|
|
452
|
-
// await promisify(run)(cmd, { cwd: _(self.path), tmp:
|
|
282
|
+
// await promisify(run)(cmd, { cwd: _(self.path), tmp: getTmpDir(self.prefix);, outToProcessSTD: true })
|
|
453
283
|
// .catch(function onError(err){
|
|
454
284
|
// if (err) {
|
|
455
285
|
// console.warn('try to run: sudo ' + cmd);
|
|
@@ -490,8 +320,8 @@ function PreInstall() {
|
|
|
490
320
|
|
|
491
321
|
self.checkIfGinaIsAlreadyInstalled = async function(done) {
|
|
492
322
|
|
|
493
|
-
console.debug('Checking if Gina is already installed
|
|
494
|
-
if (!self.
|
|
323
|
+
console.debug('Checking if Gina is already installed for prefix `'+ self.prefix+'`: '+ self.isGinaInstalled);
|
|
324
|
+
if (!self.isGinaInstalled) {
|
|
495
325
|
return done();
|
|
496
326
|
}
|
|
497
327
|
|
|
@@ -505,24 +335,30 @@ function PreInstall() {
|
|
|
505
335
|
return done();
|
|
506
336
|
}
|
|
507
337
|
|
|
508
|
-
var frameworkPath =
|
|
509
|
-
|
|
510
|
-
|
|
338
|
+
var frameworkPath = self.versionPath;
|
|
339
|
+
try {
|
|
340
|
+
helpers = require(self.gina+ '/utils/helper');
|
|
341
|
+
lib = require('./lib');
|
|
342
|
+
console = lib.logger;
|
|
343
|
+
} catch (err) {
|
|
344
|
+
throw err
|
|
345
|
+
}
|
|
346
|
+
|
|
511
347
|
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
self.gina
|
|
515
|
-
self.
|
|
348
|
+
|
|
349
|
+
// root
|
|
350
|
+
// self.gina = getEnvVar('GINA_DIR');
|
|
351
|
+
// self.versionPath = getEnvVar('GINA_FRAMEWORK');
|
|
516
352
|
|
|
517
353
|
// check if framework version folder is found
|
|
518
|
-
var versionsFolders = null,
|
|
354
|
+
var versionsFolders = null, frameworkFolder = null;
|
|
519
355
|
try {
|
|
520
|
-
|
|
521
|
-
console.
|
|
522
|
-
if ( !
|
|
356
|
+
frameworkFolder = _(self.gina +'/framework', true);
|
|
357
|
+
console.debug('frameworkFolder: ', frameworkFolder);
|
|
358
|
+
if ( !existsSync(frameworkFolder) ) {
|
|
523
359
|
return done();
|
|
524
360
|
}
|
|
525
|
-
versionsFolders = fs.readdirSync(
|
|
361
|
+
versionsFolders = fs.readdirSync(frameworkFolder);
|
|
526
362
|
} catch (err) {
|
|
527
363
|
// do nothing
|
|
528
364
|
}
|
|
@@ -581,6 +417,227 @@ function PreInstall() {
|
|
|
581
417
|
done()
|
|
582
418
|
}
|
|
583
419
|
|
|
420
|
+
var isWin32 = function() {
|
|
421
|
+
return (process.platform === 'win32') ? true : false;
|
|
422
|
+
};
|
|
423
|
+
|
|
424
|
+
var existsSync = function(path) {
|
|
425
|
+
if ( fs.accessSync && typeof(fs.accessSync) != 'undefined' ) {
|
|
426
|
+
try {
|
|
427
|
+
fs.accessSync(path, fs.constants.F_OK);
|
|
428
|
+
return true;
|
|
429
|
+
} catch (err) {
|
|
430
|
+
return false;
|
|
431
|
+
}
|
|
432
|
+
} else { // support for old version of nodejs
|
|
433
|
+
return fs.existsSync(path);
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
var isWritableSync = function(path) {
|
|
438
|
+
var canWrite = false;
|
|
439
|
+
if ( fs.accessSync && typeof(fs.accessSync) != 'undefined' ) {
|
|
440
|
+
try {
|
|
441
|
+
fs.accessSync(path, fs.constants.W_OK);
|
|
442
|
+
canWrite = true;
|
|
443
|
+
} catch (err) {
|
|
444
|
+
canWrite = false;
|
|
445
|
+
}
|
|
446
|
+
} else { // support for old version of nodejs
|
|
447
|
+
|
|
448
|
+
try {
|
|
449
|
+
canWrite = (fs.statSync(path).mode & (fs.constants.S_IRUSR | fs.constants.S_IRGRP | fs.constants.S_IROTH));
|
|
450
|
+
} catch (err) {
|
|
451
|
+
canWrite = false
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
return canWrite
|
|
456
|
+
};
|
|
457
|
+
|
|
458
|
+
/**
|
|
459
|
+
* Get run\lock path
|
|
460
|
+
* @returns {string} rundir
|
|
461
|
+
* */
|
|
462
|
+
var getRunDir = function(prefix) {
|
|
463
|
+
if ( !prefix || typeof(prefix) == 'undefined' || prefix == '' ) {
|
|
464
|
+
prefix = self.defaultPrefix;
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
// Trying to retrieve original value if already defined
|
|
468
|
+
// Means `/usr/local/var/lock` or `/usr/local/var/run` by default.
|
|
469
|
+
var runDir = (isWin32()) ? getUserHome() + '\\.gina\\run' : prefix+'/var/lock';
|
|
470
|
+
|
|
471
|
+
if ( !isWin32() && new RegExp('^'+ prefix).test(runDir) && !isWritableSync(prefix) ) {
|
|
472
|
+
runDir = getUserHome() +'/.gina/run';
|
|
473
|
+
if ( !existsSync(runDir) ) {
|
|
474
|
+
fs.mkdirSync(runDir)
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
return runDir
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
if ( existsSync(runDir) ) {
|
|
481
|
+
if ( !isWritableSync(runDir) ) {
|
|
482
|
+
throw new Error('location `'+ runDir +'` found but not writable !' )
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
runDir += ( isWin32() ) ? '' : '/gina'
|
|
486
|
+
if ( !existsSync(runDir) ) {
|
|
487
|
+
fs.mkdirSync(runDir)
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
return runDir;
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
try {
|
|
494
|
+
//by default.
|
|
495
|
+
runDir = prefix+'/var';
|
|
496
|
+
if ( !existsSync(runDir) ) {
|
|
497
|
+
fs.mkdirSync(runDir)
|
|
498
|
+
}
|
|
499
|
+
runDir += '/run';
|
|
500
|
+
if ( !existsSync(runDir) ) {
|
|
501
|
+
fs.mkdirSync(runDir)
|
|
502
|
+
}
|
|
503
|
+
} catch (err) {
|
|
504
|
+
throw new Error('location error: `'+ runDir+'`\n'+ err.stack);
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
if (self.optionalPrefix != prefix) {
|
|
508
|
+
runDir += ( isWin32() ) ? '\\gina' : '/gina'
|
|
509
|
+
if ( !existsSync(runDir) ) {
|
|
510
|
+
fs.mkdirSync(runDir)
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
return runDir;
|
|
515
|
+
};
|
|
516
|
+
|
|
517
|
+
var getTmpDir = function(prefix) {
|
|
518
|
+
if ( !prefix || typeof(prefix) == 'undefined' || prefix == '' ) {
|
|
519
|
+
prefix = '/usr/local'
|
|
520
|
+
}
|
|
521
|
+
// support for node 0.10.x & 0.11.x
|
|
522
|
+
var tmp = (os.tmpdir) ? os.tmpdir : function() {
|
|
523
|
+
var tmpDir = null;
|
|
524
|
+
if ( isWin32() ) {
|
|
525
|
+
tmpDir = process.env.TEMP ||
|
|
526
|
+
process.env.TMP ||
|
|
527
|
+
(process.env.SystemRoot || process.env.windir) + '\\Temp'
|
|
528
|
+
;
|
|
529
|
+
} else {
|
|
530
|
+
tmpDir = process.env.TMPDIR ||
|
|
531
|
+
process.env.TMP ||
|
|
532
|
+
process.env.TEMP ||
|
|
533
|
+
prefix+'/var/tmp'
|
|
534
|
+
;
|
|
535
|
+
|
|
536
|
+
if ( new RegExp('^'+ prefix).test(tmpDir) && !isWritableSync(prefix) ) {
|
|
537
|
+
tmpDir = getUserHome() +'/.gina/tmp';
|
|
538
|
+
if ( !existsSync(tmpDir) ) {
|
|
539
|
+
fs.mkdirSync(tmpDir)
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
if ( new RegExp('^'+ prefix +'/var').test(tmpDir) && !existsSync(prefix+'/var') ) {
|
|
544
|
+
fs.mkdirSync(prefix+'/var');
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
if ( !existsSync(tmpDir) ) {
|
|
549
|
+
fs.mkdirSync(tmpDir);
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
return tmpDir
|
|
553
|
+
};
|
|
554
|
+
|
|
555
|
+
return tmp()
|
|
556
|
+
};
|
|
557
|
+
|
|
558
|
+
/**
|
|
559
|
+
* Get log path - %SystemRoot%\system32\winevt\logs or /
|
|
560
|
+
*
|
|
561
|
+
* @returns {string} logPath
|
|
562
|
+
* */
|
|
563
|
+
var getLogDir = function(prefix) {
|
|
564
|
+
if ( !prefix || typeof(prefix) == 'undefined' || prefix == '' ) {
|
|
565
|
+
prefix = '/usr/local'
|
|
566
|
+
}
|
|
567
|
+
// Trying to retrieve original value if already defined
|
|
568
|
+
var logDir = null;
|
|
569
|
+
|
|
570
|
+
if ( isWin32() ) {
|
|
571
|
+
logDir = process.env.LOG ||
|
|
572
|
+
process.env.LOGS ||
|
|
573
|
+
(process.env.SystemRoot || process.env.windir) + '\\System32\\Winevt\\Logs'
|
|
574
|
+
;
|
|
575
|
+
|
|
576
|
+
if ( !logDir || logDir == '' ) {
|
|
577
|
+
throw new Error('Log directory not defined or not found !');
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
if ( !isWritableSync(logDir) ) {
|
|
581
|
+
throw new Error('Log directory found but not writable: need permissions for `'+ logDir +'`');
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
if ( !/gina$/.test(logDir) ) {
|
|
585
|
+
logDir += '\\gina'
|
|
586
|
+
}
|
|
587
|
+
} else {
|
|
588
|
+
logDir = process.env.LOGDIR ||
|
|
589
|
+
process.env.LOG ||
|
|
590
|
+
process.env.LOGS ||
|
|
591
|
+
prefix+'/var/log'
|
|
592
|
+
;
|
|
593
|
+
|
|
594
|
+
if ( new RegExp('^'+ prefix).test(logDir) && !isWritableSync(prefix) ) {
|
|
595
|
+
logDir = getUserHome() +'/.gina/log';
|
|
596
|
+
if ( !existsSync(logDir) ) {
|
|
597
|
+
fs.mkdirSync(logDir)
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
return logDir
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
if ( new RegExp('^'+ prefix +'/var').test(logDir) && !existsSync(prefix+'/var') ) {
|
|
604
|
+
fs.mkdirSync(prefix+'/var');
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
if ( !existsSync(logDir) ) {
|
|
608
|
+
fs.mkdirSync(logDir);
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
if ( !/gina$/.test(logDir) && self.optionalPrefix != prefix ) {
|
|
612
|
+
logDir += '/gina'
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
if ( !existsSync(logDir) ) {
|
|
617
|
+
fs.mkdirSync(logDir)
|
|
618
|
+
}
|
|
619
|
+
|
|
620
|
+
return logDir;
|
|
621
|
+
};
|
|
622
|
+
|
|
623
|
+
var getUserHome = function() {
|
|
624
|
+
var home = os.homedir ? os.homedir : function() {
|
|
625
|
+
var homeDir = process.env[(isWin32()) ? 'USERPROFILE' : 'HOME'];
|
|
626
|
+
|
|
627
|
+
if ( !homeDir || homeDir == '' ) {
|
|
628
|
+
throw new Error('Home directory not defined or not found !');
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
if ( !isWritableSync(homeDir) ) {
|
|
632
|
+
throw new Error('Home directory found but not writable: need permissions for `'+ homeDir +'`');
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
return homeDir;
|
|
636
|
+
};
|
|
637
|
+
|
|
638
|
+
return home()
|
|
639
|
+
};
|
|
640
|
+
|
|
584
641
|
init()
|
|
585
642
|
}
|
|
586
643
|
|