gina 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/README.md +5 -11
- package/ROADMAP.md +18 -7
- package/bin/cli +12 -0
- package/framework/v0.4.1/VERSION +1 -0
- package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/js/gina.js +0 -3
- package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/js/gina.min.js +1 -1
- package/framework/v0.4.1/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
- package/framework/{v0.4.0 → v0.4.1}/core/controller/controller.js +43 -0
- package/framework/{v0.4.0 → v0.4.1}/core/controller/controller.render-nunjucks.js +117 -7
- package/framework/{v0.4.0 → v0.4.1}/core/controller/controller.render-swig.js +21 -1
- package/framework/{v0.4.0 → v0.4.1}/core/server.js +23 -1
- package/framework/{v0.4.0 → v0.4.1}/lib/cache/src/main.js +0 -3
- package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/add.js +24 -0
- package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/arguments.json +3 -1
- package/framework/v0.4.1/lib/cmd/bundle/copy.js +467 -0
- package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/help.txt +74 -0
- package/framework/v0.4.1/lib/cmd/bundle/inc/name-rewrite.js +96 -0
- package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/list.js +7 -90
- package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/remove.js +11 -0
- package/framework/v0.4.1/lib/cmd/bundle/rename.js +506 -0
- package/framework/v0.4.1/lib/cmd/bundle/status.js +170 -0
- package/framework/{v0.4.0 → v0.4.1}/lib/cmd/connector/list.js +2 -18
- package/framework/{v0.4.0 → v0.4.1}/lib/cmd/helper.js +1 -1
- package/framework/v0.4.1/lib/cmd/minion/arguments.json +4 -0
- package/framework/{v0.4.0 → v0.4.1}/lib/cmd/minion/help.txt +5 -1
- package/framework/v0.4.1/lib/cmd/minion/kill.js +336 -0
- package/framework/v0.4.1/lib/cmd/minion/list.js +270 -0
- package/framework/{v0.4.0 → v0.4.1}/lib/cmd/port/set.js +12 -0
- package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/help.txt +16 -0
- package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/remove.js +11 -0
- package/framework/v0.4.1/lib/cmd/project/status.js +218 -0
- package/framework/v0.4.1/lib/cmd/protocol/arguments.json +5 -0
- package/framework/{v0.4.0 → v0.4.1}/lib/cmd/protocol/help.txt +8 -3
- package/framework/v0.4.1/lib/cmd/protocol/remove.js +308 -0
- package/framework/{v0.4.0 → v0.4.1}/lib/cmd/protocol/set.js +12 -0
- package/framework/{v0.4.0 → v0.4.1}/lib/cmd/service/list.js +4 -82
- package/framework/{v0.4.0 → v0.4.1}/lib/cmd/view/add.js +13 -0
- package/framework/v0.4.1/lib/cmd-status-format/package.json +17 -0
- package/framework/v0.4.1/lib/cmd-status-format/src/main.js +142 -0
- package/framework/{v0.4.0 → v0.4.1}/lib/collection/src/main.js +0 -3
- package/framework/{v0.4.0 → v0.4.1}/lib/index.js +4 -0
- package/framework/{v0.4.0 → v0.4.1}/package.json +1 -1
- package/gna.js +4 -4
- package/llms.txt +13 -6
- package/package.json +2 -2
- package/script/sync_docs_deps.js +147 -0
- package/framework/v0.4.0/VERSION +0 -1
- package/framework/v0.4.0/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- package/framework/v0.4.0/lib/cmd/bundle/copy.js +0 -18
- package/framework/v0.4.0/lib/cmd/bundle/rename.js +0 -7
- package/framework/v0.4.0/lib/cmd/bundle/status.js +0 -6
- package/framework/v0.4.0/lib/cmd/project/status.js +0 -3
- /package/framework/{v0.4.0 → v0.4.1}/AUTHORS +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/LICENSE +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/html/nolayout.html +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/html/static.html +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/img/android-chrome-192x192.png +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/img/android-chrome-512x512.png +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/img/apple-touch-icon.png +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/img/favicon-16x16.png +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/img/favicon-32x32.png +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/img/favicon.ico +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/config.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/ai/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/ai/lib/connector.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/couchbase/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/couchbase/lib/connector.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/couchbase/lib/connector.v3.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/couchbase/lib/connector.v4.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/couchbase/lib/n1ql.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/couchbase/lib/session-store.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/mongodb/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/mongodb/lib/connector.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/mongodb/lib/pipeline-loader.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/mongodb/lib/session-store.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/mysql/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/mysql/lib/connector.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/postgresql/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/postgresql/lib/connector.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/redis/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/redis/lib/session-store.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/scylladb/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/scylladb/lib/connector.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/scylladb/lib/session-store.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/sql-parser.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/sqlite/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/sqlite/lib/connector.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/connectors/sqlite/lib/session-store.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/content.encoding +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/controller/controller.framework.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/controller/controller.render-json.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/controller/controller.render-stream.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/controller/controller.render-v1.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/controller/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/controller/inspector-window-emit.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/deps/busboy-1.6.0/LICENSE +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/deps/busboy-1.6.0/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/deps/busboy-1.6.0/lib/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/deps/busboy-1.6.0/lib/types/multipart.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/deps/busboy-1.6.0/lib/types/urlencoded.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/deps/busboy-1.6.0/lib/utils.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/deps/busboy-1.6.0/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/deps/streamsearch-1.1.0/LICENSE +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/deps/streamsearch-1.1.0/lib/sbmh.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/deps/streamsearch-1.1.0/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/dev/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/dev/lib/class.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/dev/lib/factory.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/dev/lib/tools.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/gna.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/locales/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/locales/currency.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/locales/dist/language/en.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/locales/dist/language/fr.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/locales/dist/region/en.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/locales/dist/region/fr.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/locales/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/mime.types +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/model/entity.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/model/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/model/template/entityFactory.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/model/template/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/csrf/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/csrf/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/csrf/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/coep/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/coep/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/coep/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/coop/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/coop/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/coop/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/corp/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/corp/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/corp/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/csp/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/csp/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/csp/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/hide-powered-by/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/hide-powered-by/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/hide-powered-by/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/hsts/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/hsts/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/hsts/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/origin-agent-cluster/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/origin-agent-cluster/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/origin-agent-cluster/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/referrer-policy/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/referrer-policy/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/referrer-policy/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-content-type-options/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-content-type-options/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-content-type-options/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-dns-prefetch-control/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-dns-prefetch-control/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-dns-prefetch-control/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-download-options/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-download-options/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-download-options/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-frame-options/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-frame-options/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-frame-options/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-xss-protection/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-xss-protection/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-xss-protection/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/session/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/session/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/session/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/storage/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/storage/build.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/storage/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/storage/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/validator/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/validator/build.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/validator/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/validator/src/form-validator.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/validator/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/router.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/server.express.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/server.isaac.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/status.codes +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/_gitignore +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/config/app.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/config/connectors.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/config/routing.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/config/settings.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/config/templates.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/config/watchers.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/locales/en.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_public/css/home.css +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_public/manifest.webmanifest +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_public/readme.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_public/sw.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/command/gina.bat.tpl +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/command/gina.tpl +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/conf/env.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/conf/manifest.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/conf/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/conf/settings.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/conf/statics.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/conf/templates.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/error/client/json/401.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/error/client/json/403.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/error/client/json/404.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/error/server/html/50x.html +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/error/server/json/500.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/error/server/json/503.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/core/template/extensions/logger/config.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/helpers/console.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/helpers/context.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/helpers/data/LICENSE +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/helpers/data/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/helpers/data/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/helpers/data/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/helpers/dateFormat.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/helpers/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/helpers/json/LICENSE +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/helpers/json/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/helpers/json/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/helpers/json/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/helpers/path.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/helpers/plugins/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/helpers/plugins/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/helpers/plugins/src/api-error.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/helpers/plugins/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/helpers/prototypes.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/helpers/task.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/helpers/text.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/archiver/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/archiver/build.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/archiver/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/archiver/src/dep/jszip.min.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/archiver/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/async/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/async/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cache/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cache/build.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cache/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/aliases.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/build.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/cp.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/help.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/mcp-start.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/mcp.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/oas.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/openapi.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/restart.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/rm.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/start.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/stop.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/cache/stats.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/connector/add.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/connector/arguments.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/connector/help.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/connector/help.txt +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/connector/migrate.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/connector/remove.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/connector/rm.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/env/add.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/env/get.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/env/help.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/env/help.txt +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/env/link-dev.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/env/list.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/env/remove.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/env/rm.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/env/set.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/env/unset.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/env/use.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/arguments.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/build.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/dot.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/get.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/help.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/help.txt +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/init.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/link-node-modules.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/link.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/msg.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/open.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/restart.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/set.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/start.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/status.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/stop.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/tail.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/update.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/version.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/gina-dev.1.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/gina-framework.1.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/gina.1.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/i18n/add.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/i18n/arguments.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/i18n/export.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/i18n/help.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/i18n/help.txt +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/i18n/import.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/i18n/scan.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/inspector/help.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/inspector/help.txt +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/inspector/open.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/minion/help.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/msg.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/port/help.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/port/help.txt +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/port/inc/scan.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/port/list.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/port/reset.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/add.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/arguments.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/build.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/help.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/import.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/list.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/move.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/rename.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/restart.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/rm.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/start.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/stop.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/protocol/help.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/protocol/list.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/scope/add.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/scope/help.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/scope/help.txt +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/scope/link-local.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/scope/link-production.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/scope/list.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/scope/remove.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/scope/rm.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/scope/use.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/secrets/arguments.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/secrets/check.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/secrets/help.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/secrets/help.txt +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/secrets/scan.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/service/help.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/service/help.txt +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/collection/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/collection/build.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/collection/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/config.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/connector-registry/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/connector-registry/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cron/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cron/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/cron/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/domain/LICENSE +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/domain/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/domain/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/domain/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/generator/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/i18n/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/i18n/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/inherits/LICENSE +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/inherits/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/inherits/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/inherits/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/inspector-redact/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/inspector-redact/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/instrument/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/instrument/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/job/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/job/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/logger/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/logger/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/logger/src/containers/default/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/logger/src/containers/file/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/logger/src/containers/mq/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/logger/src/containers/mq/listener.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/logger/src/containers/mq/speaker.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/logger/src/helper.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/logger/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/math/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/mcp-dispatch/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/mcp-dispatch/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/mcp-http/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/mcp-http/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/mcp-server/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/mcp-server/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/merge/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/merge/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/merge/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/metrics/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/metrics/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/model.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/nunjucks-filters/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/nunjucks-filters/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/nunjucks-filters/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/nunjucks-resolver/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/nunjucks-resolver/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/proc.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/routing/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/routing/build.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/routing/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/routing/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/routing/src/radix.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/routing-introspect/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/routing-introspect/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/secrets/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/secrets/src/backends/env.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/secrets/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/session-store.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/shell.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/state.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/swig-filters/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/swig-filters/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/swig-filters/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/swig-resolver/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/swig-resolver/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/url/README.md +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/url/index.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/url/routing.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/uuid/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/uuid/src/main.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/validator.js +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/watcher/package.json +0 -0
- /package/framework/{v0.4.0 → v0.4.1}/lib/watcher/src/main.js +0 -0
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
var fs = require('fs');
|
|
2
|
+
var console = lib.logger;
|
|
3
|
+
|
|
4
|
+
var CmdHelper = require('./../helper');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @module gina/lib/cmd/protocol/remove
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Removes a bundle's protocol assignment — deletes the bundle's explicit
|
|
11
|
+
* `server.protocol` / `server.scheme` / `server.allowHTTP1` override from its
|
|
12
|
+
* own `config/settings.json`, reverting the bundle to the project's default
|
|
13
|
+
* protocol+scheme (`def_protocol` / `def_scheme` from `~/.gina/projects.json`).
|
|
14
|
+
*
|
|
15
|
+
* It touches ONLY the bundle's own `settings.json`. It deliberately does NOT
|
|
16
|
+
* mutate the shared `~/.gina/ports.json` / `ports.reverse.json` port maps:
|
|
17
|
+
* `project:add` pre-allocates the full protocol×scheme×env matrix for every
|
|
18
|
+
* bundle, so the default-protocol port already exists and the allocation is not
|
|
19
|
+
* "owned" by an individual `protocol:set`. At config-load time `core/config.js`
|
|
20
|
+
* fills an absent `server.protocol`/`scheme` from the project default, so
|
|
21
|
+
* deleting the override is safe — provided the default-protocol port is
|
|
22
|
+
* allocated (verified by a guard; overridable with `--force`).
|
|
23
|
+
*
|
|
24
|
+
* Bundle-scoped per help.txt: `gina protocol:remove <bundle> @<project>`.
|
|
25
|
+
*
|
|
26
|
+
* Usage:
|
|
27
|
+
* gina protocol:remove <bundle_name> @<project_name>
|
|
28
|
+
* gina protocol:remove <bundle_name> @<project_name> --dry-run
|
|
29
|
+
* gina protocol:remove <bundle_name> @<project_name> --dry-run --format=json
|
|
30
|
+
*
|
|
31
|
+
* @class Remove
|
|
32
|
+
* @constructor
|
|
33
|
+
* @param {object} opt - Parsed command-line options
|
|
34
|
+
* @param {object} opt.client - Socket client for terminal output
|
|
35
|
+
* @param {string[]} opt.argv - Full argv array
|
|
36
|
+
* @param {number} [opt.debugPort] - Node.js inspector port
|
|
37
|
+
* @param {boolean} [opt.debugBrkEnabled] - True when --inspect-brk is active
|
|
38
|
+
* @param {object} cmd - The cmd dispatcher object (lib/cmd/index.js)
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* // revert a bundle to the project default protocol
|
|
42
|
+
* $ gina protocol:remove api @myproject
|
|
43
|
+
* Reverted bundle [ api@myproject ] from http/2.0/https to the project default http/1.1/http.
|
|
44
|
+
* You need to restart your bundle.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* // preview only, machine-readable
|
|
48
|
+
* $ gina protocol:remove api @myproject --dry-run --format=json
|
|
49
|
+
* {"bundle":"api","project":"myproject","dryRun":true,"from":{"protocol":"http/2.0","scheme":"https"},"to":{"protocol":"http/1.1","scheme":"http"},"forcedMissingPortEnvs":[]}
|
|
50
|
+
*/
|
|
51
|
+
function Remove(opt, cmd) {
|
|
52
|
+
var self = {};
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Wires CmdHelper, validates the bundle + project, then runs the revert.
|
|
56
|
+
*
|
|
57
|
+
* @inner
|
|
58
|
+
* @private
|
|
59
|
+
*/
|
|
60
|
+
var init = function() {
|
|
61
|
+
|
|
62
|
+
// import CMD helpers
|
|
63
|
+
new CmdHelper(self, opt.client, { port: opt.debugPort, brkEnabled: opt.debugBrkEnabled });
|
|
64
|
+
// check CMD configuration
|
|
65
|
+
if (!isCmdConfigured()) return false;
|
|
66
|
+
|
|
67
|
+
// protocol:remove is bundle-scoped (per help.txt) — a bundle positional
|
|
68
|
+
// is required; the project is resolved by CmdHelper (cwd-inferred or @<project>).
|
|
69
|
+
if ( typeof(self.name) == 'undefined' || self.name == null ) {
|
|
70
|
+
console.error('protocol:remove requires a bundle: gina protocol:remove <bundle_name> @<project_name>');
|
|
71
|
+
process.exit(1);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if ( self.projectName == null || typeof(self.projects[self.projectName]) == 'undefined' ) {
|
|
75
|
+
console.error('[ '+ self.projectName +' ] is not a registered project.');
|
|
76
|
+
process.exit(1);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// populate bundlesByProject[...].configPaths (mirrors set.js setBundleOnly)
|
|
81
|
+
loadAssets();
|
|
82
|
+
|
|
83
|
+
remove();
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Header-preserving read of a JSON config (mirrors connector/remove.js):
|
|
89
|
+
* captures the leading comment header verbatim and parses the body with the
|
|
90
|
+
* comment-tolerant global `requireJSON`.
|
|
91
|
+
*
|
|
92
|
+
* @inner
|
|
93
|
+
* @private
|
|
94
|
+
* @param {string} target
|
|
95
|
+
* @returns {{header: string, data: object}|null}
|
|
96
|
+
*/
|
|
97
|
+
var readSettings = function(target) {
|
|
98
|
+
if ( !fs.existsSync(target) ) {
|
|
99
|
+
console.error('Bundle settings `'+ target +'` does not exist — nothing to remove.');
|
|
100
|
+
process.exit(1);
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
var raw;
|
|
104
|
+
try {
|
|
105
|
+
raw = fs.readFileSync(target, 'utf8');
|
|
106
|
+
} catch (e) {
|
|
107
|
+
console.error('Cannot read `'+ target +'`: '+ e.message);
|
|
108
|
+
process.exit(1);
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
var firstBrace = raw.indexOf('{');
|
|
112
|
+
var header = (firstBrace > 0) ? raw.slice(0, firstBrace) : '';
|
|
113
|
+
var data;
|
|
114
|
+
try {
|
|
115
|
+
data = requireJSON(target) || {};
|
|
116
|
+
} catch (e) {
|
|
117
|
+
console.error('Cannot parse `'+ target +'`: '+ e.message);
|
|
118
|
+
process.exit(1);
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
return { header: header, data: data };
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Header-preserving write (mirrors connector/remove.js::writeFile) + evicts
|
|
127
|
+
* the require cache so a re-read in the same process sees the change.
|
|
128
|
+
*
|
|
129
|
+
* @inner
|
|
130
|
+
* @private
|
|
131
|
+
* @param {string} target
|
|
132
|
+
* @param {string} header
|
|
133
|
+
* @param {object} data
|
|
134
|
+
*/
|
|
135
|
+
var writeSettings = function(target, header, data) {
|
|
136
|
+
var body = JSON.stringify(data, null, 4);
|
|
137
|
+
var text = (header || '') + body + '\n';
|
|
138
|
+
lib.generator.createFileFromDataSync(text, target);
|
|
139
|
+
try { delete require.cache[require.resolve(target)]; } catch (e) { /* not cached */ }
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Returns the list of the bundle's envs that have NO port allocated for the
|
|
145
|
+
* project default protocol+scheme. An empty list means reverting is safe;
|
|
146
|
+
* a non-empty list means at least one env would be unrunnable after the
|
|
147
|
+
* revert (config.js emergs on a missing port) unless --force is used.
|
|
148
|
+
*
|
|
149
|
+
* @inner
|
|
150
|
+
* @private
|
|
151
|
+
* @param {string} defProtocol
|
|
152
|
+
* @param {string} defScheme
|
|
153
|
+
* @returns {string[]}
|
|
154
|
+
*/
|
|
155
|
+
var checkDefaultPort = function(defProtocol, defScheme) {
|
|
156
|
+
var missing = [];
|
|
157
|
+
var key = self.name + '@' + self.projectName;
|
|
158
|
+
var portsReverse = {};
|
|
159
|
+
var prPath = (self.portsReversePath) ? self.portsReversePath : _(GINA_HOMEDIR + '/ports.reverse.json');
|
|
160
|
+
try {
|
|
161
|
+
if ( fs.existsSync(prPath) ) {
|
|
162
|
+
portsReverse = requireJSON(prPath);
|
|
163
|
+
}
|
|
164
|
+
} catch (e) {
|
|
165
|
+
portsReverse = {};
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
var envs = self.envs || [];
|
|
169
|
+
for (var i = 0; i < envs.length; i++) {
|
|
170
|
+
var env = envs[i];
|
|
171
|
+
var hasPort = portsReverse[key]
|
|
172
|
+
&& portsReverse[key][env]
|
|
173
|
+
&& portsReverse[key][env][defProtocol]
|
|
174
|
+
&& typeof(portsReverse[key][env][defProtocol][defScheme]) != 'undefined';
|
|
175
|
+
if ( !hasPort ) {
|
|
176
|
+
missing.push(env);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
return missing;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Prints the revert result (or dry-run preview) as text, or a
|
|
185
|
+
* `{ bundle, project, dryRun, from, to, forcedMissingPortEnvs }` envelope
|
|
186
|
+
* with `--format=json`, then exits.
|
|
187
|
+
*
|
|
188
|
+
* @inner
|
|
189
|
+
* @private
|
|
190
|
+
* @param {string|null} curProtocol
|
|
191
|
+
* @param {string|null} curScheme
|
|
192
|
+
* @param {string} defProtocol
|
|
193
|
+
* @param {string} defScheme
|
|
194
|
+
* @param {string[]} missingEnvs
|
|
195
|
+
* @param {boolean} dryRun
|
|
196
|
+
* @param {string|null} format
|
|
197
|
+
*/
|
|
198
|
+
var report = function(curProtocol, curScheme, defProtocol, defScheme, missingEnvs, dryRun, format) {
|
|
199
|
+
if ( /^json?/.test(format) ) {
|
|
200
|
+
process.stdout.write(JSON.stringify({
|
|
201
|
+
bundle : self.name,
|
|
202
|
+
project : self.projectName,
|
|
203
|
+
dryRun : dryRun,
|
|
204
|
+
from : { protocol: curProtocol, scheme: curScheme },
|
|
205
|
+
to : { protocol: defProtocol, scheme: defScheme },
|
|
206
|
+
forcedMissingPortEnvs : missingEnvs
|
|
207
|
+
}));
|
|
208
|
+
return process.exit(0);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
var fromStr = (curProtocol || '(none)') + '/' + (curScheme || '(none)');
|
|
212
|
+
var toStr = defProtocol + '/' + defScheme;
|
|
213
|
+
if ( dryRun ) {
|
|
214
|
+
console.log('[ dry-run ] would revert [ '+ self.name +'@'+ self.projectName +' ] from '+ fromStr +' to the project default '+ toStr +' (no changes written).');
|
|
215
|
+
} else {
|
|
216
|
+
console.log('Reverted bundle [ '+ self.name +'@'+ self.projectName +' ] from '+ fromStr +' to the project default '+ toStr +'.');
|
|
217
|
+
if ( missingEnvs.length > 0 ) {
|
|
218
|
+
console.log(' warning: no default-protocol port for env(s): '+ missingEnvs.join(', ') +' — run `gina protocol:set '+ self.name +' @'+ self.projectName +'` before starting those.');
|
|
219
|
+
}
|
|
220
|
+
console.log('You need to restart your bundle.');
|
|
221
|
+
}
|
|
222
|
+
process.exit(0);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Resolves the bundle's settings.json, reads the current override, guards
|
|
228
|
+
* the default-protocol port, then deletes the override (reverting to the
|
|
229
|
+
* project default) — unless --dry-run.
|
|
230
|
+
*
|
|
231
|
+
* @inner
|
|
232
|
+
* @private
|
|
233
|
+
*/
|
|
234
|
+
var remove = function() {
|
|
235
|
+
var p = self.params || {};
|
|
236
|
+
var dryRun = !!p['dry-run'];
|
|
237
|
+
var force = !!p['force'];
|
|
238
|
+
var format = p['format'] || null;
|
|
239
|
+
|
|
240
|
+
var projectConf = self.projects[self.projectName];
|
|
241
|
+
var defProtocol = projectConf.def_protocol;
|
|
242
|
+
var defScheme = projectConf.def_scheme;
|
|
243
|
+
if ( !defProtocol || !defScheme ) {
|
|
244
|
+
console.error('Project [ '+ self.projectName +' ] has no default protocol/scheme — cannot revert. Run `gina protocol:set @'+ self.projectName +'` first.');
|
|
245
|
+
process.exit(1);
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
// resolve the bundle's settings.json (same path set.js writes to)
|
|
250
|
+
var bundleConfig = (self.bundlesByProject && self.bundlesByProject[self.projectName])
|
|
251
|
+
? self.bundlesByProject[self.projectName][self.name]
|
|
252
|
+
: null;
|
|
253
|
+
if ( !bundleConfig || !bundleConfig.configPaths || !bundleConfig.configPaths.settings ) {
|
|
254
|
+
console.error('Bundle [ '+ self.name +' ] is not registered inside `@'+ self.projectName +'`.');
|
|
255
|
+
process.exit(1);
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
var settingsPath = _(bundleConfig.configPaths.settings, true);
|
|
259
|
+
|
|
260
|
+
var parsed = readSettings(settingsPath);
|
|
261
|
+
if (!parsed) return;
|
|
262
|
+
var settings = parsed.data;
|
|
263
|
+
|
|
264
|
+
var curProtocol = (settings.server && settings.server.protocol) ? settings.server.protocol : null;
|
|
265
|
+
var curScheme = (settings.server && settings.server.scheme) ? settings.server.scheme : null;
|
|
266
|
+
|
|
267
|
+
// nothing to remove — no override, or the override already equals default
|
|
268
|
+
if ( curProtocol == null && curScheme == null ) {
|
|
269
|
+
console.log('Bundle [ '+ self.name +'@'+ self.projectName +' ] has no protocol override — it already uses the project default '+ defProtocol +'/'+ defScheme +'. Nothing to remove.');
|
|
270
|
+
process.exit(0);
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
if ( curProtocol === defProtocol && curScheme === defScheme ) {
|
|
274
|
+
console.log('Bundle [ '+ self.name +'@'+ self.projectName +' ] already uses the project default '+ defProtocol +'/'+ defScheme +'. Nothing to remove.');
|
|
275
|
+
process.exit(0);
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
// port guard: reverting to a default that has no allocated port would
|
|
280
|
+
// make the bundle unrunnable (config.js emergs). Refuse unless --force.
|
|
281
|
+
var missingEnvs = checkDefaultPort(defProtocol, defScheme);
|
|
282
|
+
if ( missingEnvs.length > 0 && !force ) {
|
|
283
|
+
console.error('Bundle [ '+ self.name +'@'+ self.projectName +' ] has no port allocated for the project default protocol '+ defProtocol +'/'+ defScheme +' (env: '+ missingEnvs.join(', ') +'). Run `gina protocol:set '+ self.name +' @'+ self.projectName +'` to (re)assign a port, or re-run with --force to revert anyway.');
|
|
284
|
+
process.exit(1);
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
if ( dryRun ) {
|
|
289
|
+
return report(curProtocol, curScheme, defProtocol, defScheme, missingEnvs, true, format);
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
// revert: drop the bundle's protocol override so config.js falls back
|
|
293
|
+
// to the project default at load time.
|
|
294
|
+
if ( settings.server ) {
|
|
295
|
+
delete settings.server.protocol;
|
|
296
|
+
delete settings.server.scheme;
|
|
297
|
+
delete settings.server.allowHTTP1;
|
|
298
|
+
}
|
|
299
|
+
writeSettings(settingsPath, parsed.header, settings);
|
|
300
|
+
|
|
301
|
+
report(curProtocol, curScheme, defProtocol, defScheme, missingEnvs, false, format);
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
init()
|
|
306
|
+
};
|
|
307
|
+
|
|
308
|
+
module.exports = Remove
|
|
@@ -135,6 +135,18 @@ function Set(opt, cmd) {
|
|
|
135
135
|
return;
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
+
// Non-interactive guard: without a TTY (container, CI, piped/detached
|
|
139
|
+
// stdin) the module-scope readline closes on stdin EOF and the rl.prompt()
|
|
140
|
+
// below would throw ERR_USE_AFTER_CLOSE. Fail fast pointing at the flags.
|
|
141
|
+
if ( !process.stdin.isTTY || rl.closed ) {
|
|
142
|
+
console.error(
|
|
143
|
+
'protocol:set needs interactive input for '+ actionType +' ('+ name +') that cannot be read: stdin is not interactive (no TTY).\n'
|
|
144
|
+
+ 'Re-run passing both --protocol and --scheme:\n'
|
|
145
|
+
+ ' gina protocol:set <your args> --protocol=<http/1.1|http/2.0> --scheme=<http|https>'
|
|
146
|
+
);
|
|
147
|
+
return process.exit(1);
|
|
148
|
+
}
|
|
149
|
+
|
|
138
150
|
choicesOpt.push('cancel');
|
|
139
151
|
|
|
140
152
|
for (var p = 0, len = choicesOpt.length; p < len; ++p) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
var fs = require('fs');
|
|
2
2
|
var console = lib.logger;
|
|
3
|
+
var fmt = lib.cmdStatusFormat;
|
|
3
4
|
|
|
4
5
|
var CmdHelper = require('./../helper');
|
|
5
6
|
|
|
@@ -105,8 +106,8 @@ function List(opt, cmd) {
|
|
|
105
106
|
var srcExists = src && fs.existsSync(_(ginaProject.path + '/' + src));
|
|
106
107
|
var status = srcExists ? 'ok' : '?!';
|
|
107
108
|
var ports = portsReverse[name + '@gina'] || null;
|
|
108
|
-
var preferred = pickPreferredPort(ports);
|
|
109
|
-
var runState = readPidfile(name);
|
|
109
|
+
var preferred = fmt.pickPreferredPort(ports);
|
|
110
|
+
var runState = fmt.readPidfile(GINA_HOMEDIR + '/run', name, 'gina');
|
|
110
111
|
|
|
111
112
|
json.push({
|
|
112
113
|
service : name,
|
|
@@ -121,7 +122,7 @@ function List(opt, cmd) {
|
|
|
121
122
|
var portLabel = preferred
|
|
122
123
|
? preferred.scheme + ' ' + preferred.env + ' ' + preferred.protocol + ' ' + preferred.port
|
|
123
124
|
: '(no port)';
|
|
124
|
-
var line = stateLabel + ' ' + pad(name, 14) + ' ' + portLabel;
|
|
125
|
+
var line = stateLabel + ' ' + fmt.pad(name, 14) + ' ' + portLabel;
|
|
125
126
|
if (runState.running && runState.pid) {
|
|
126
127
|
line += ' pid ' + runState.pid;
|
|
127
128
|
}
|
|
@@ -145,85 +146,6 @@ function List(opt, cmd) {
|
|
|
145
146
|
process.exit(0);
|
|
146
147
|
};
|
|
147
148
|
|
|
148
|
-
/**
|
|
149
|
-
* Right-pads `s` with spaces to reach `width`. Used for column alignment
|
|
150
|
-
* in the text output.
|
|
151
|
-
*
|
|
152
|
-
* @inner
|
|
153
|
-
* @private
|
|
154
|
-
* @param {string} s
|
|
155
|
-
* @param {number} width
|
|
156
|
-
* @returns {string}
|
|
157
|
-
*/
|
|
158
|
-
var pad = function (s, width) {
|
|
159
|
-
var out = String(s || '');
|
|
160
|
-
while (out.length < width) {
|
|
161
|
-
out += ' ';
|
|
162
|
-
}
|
|
163
|
-
return out;
|
|
164
|
-
};
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* Picks the "preferred" port to display for a service: dev env, http/2.0
|
|
168
|
-
* https first, falling back to http/1.1 https, then http/1.1 http.
|
|
169
|
-
*
|
|
170
|
-
* @inner
|
|
171
|
-
* @private
|
|
172
|
-
* @param {object|null} ports - Port record from ports.reverse.json
|
|
173
|
-
* @returns {{env: string, scheme: string, protocol: string, port: number}|null}
|
|
174
|
-
*/
|
|
175
|
-
var pickPreferredPort = function (ports) {
|
|
176
|
-
if (!ports) return null;
|
|
177
|
-
var envKey = ports.dev ? 'dev' : Object.keys(ports)[0];
|
|
178
|
-
if (!envKey) return null;
|
|
179
|
-
var env = ports[envKey];
|
|
180
|
-
if (!env) return null;
|
|
181
|
-
|
|
182
|
-
if (env['http/2.0'] && env['http/2.0'].https) {
|
|
183
|
-
return { env: envKey, scheme: 'http/2.0', protocol: 'https', port: env['http/2.0'].https };
|
|
184
|
-
}
|
|
185
|
-
if (env['http/1.1'] && env['http/1.1'].https) {
|
|
186
|
-
return { env: envKey, scheme: 'http/1.1', protocol: 'https', port: env['http/1.1'].https };
|
|
187
|
-
}
|
|
188
|
-
if (env['http/1.1'] && env['http/1.1'].http) {
|
|
189
|
-
return { env: envKey, scheme: 'http/1.1', protocol: 'http', port: env['http/1.1'].http };
|
|
190
|
-
}
|
|
191
|
-
return null;
|
|
192
|
-
};
|
|
193
|
-
|
|
194
|
-
/**
|
|
195
|
-
* Reads `~/.gina/run/<name>@gina.pid` and probes the process with
|
|
196
|
-
* `process.kill(pid, 0)`. Returns `running: false` on a stale pidfile
|
|
197
|
-
* but does not delete it — clean-up is bundle:stop's job.
|
|
198
|
-
*
|
|
199
|
-
* @inner
|
|
200
|
-
* @private
|
|
201
|
-
* @param {string} name - Service name (without the @gina suffix)
|
|
202
|
-
* @returns {{running: boolean, pid: number|null}}
|
|
203
|
-
*/
|
|
204
|
-
var readPidfile = function (name) {
|
|
205
|
-
var pidPath = _(GINA_HOMEDIR + '/run/' + name + '@gina.pid');
|
|
206
|
-
if ( !fs.existsSync(pidPath) ) {
|
|
207
|
-
return { running: false, pid: null };
|
|
208
|
-
}
|
|
209
|
-
var raw;
|
|
210
|
-
try {
|
|
211
|
-
raw = fs.readFileSync(pidPath, 'utf8').trim();
|
|
212
|
-
} catch (e) {
|
|
213
|
-
return { running: false, pid: null };
|
|
214
|
-
}
|
|
215
|
-
var pid = parseInt(raw, 10);
|
|
216
|
-
if ( isNaN(pid) || pid <= 0 ) {
|
|
217
|
-
return { running: false, pid: null };
|
|
218
|
-
}
|
|
219
|
-
try {
|
|
220
|
-
process.kill(pid, 0);
|
|
221
|
-
return { running: true, pid: pid };
|
|
222
|
-
} catch (e) {
|
|
223
|
-
return { running: false, pid: null };
|
|
224
|
-
}
|
|
225
|
-
};
|
|
226
|
-
|
|
227
149
|
init();
|
|
228
150
|
}
|
|
229
151
|
|
|
@@ -237,6 +237,19 @@ function Add(opt, cmd) {
|
|
|
237
237
|
var folder = _(local.src + '/templates');
|
|
238
238
|
|
|
239
239
|
if ( fs.existsSync(target) || fs.existsSync(folder) ) {
|
|
240
|
+
// Non-interactive guard: without a TTY (container, CI, piped/detached
|
|
241
|
+
// stdin) the module-scope readline closes on stdin EOF and rl.prompt()
|
|
242
|
+
// would throw ERR_USE_AFTER_CLOSE. view:add has no skip flag, so fail
|
|
243
|
+
// fast and point at the existing files to remove for a clean recreate.
|
|
244
|
+
if ( !process.stdin.isTTY || rl.closed ) {
|
|
245
|
+
console.error(
|
|
246
|
+
'Templates already exist for [ '+ local.bundle +'@'+ self.projectName +' ], and stdin is not interactive (no TTY) to confirm an override.\n'
|
|
247
|
+
+ 'Re-run in an interactive terminal, or remove the existing files first to recreate them:\n'
|
|
248
|
+
+ ' '+ target +'\n'
|
|
249
|
+
+ ' '+ folder
|
|
250
|
+
);
|
|
251
|
+
return process.exit(1);
|
|
252
|
+
}
|
|
240
253
|
rl.setPrompt('Found templates for [ '+ local.bundle +'@'+ self.projectName +' ]. Do you want to override ? (yes|no) > \n');
|
|
241
254
|
rl.prompt();
|
|
242
255
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "gina-lib-cmd-status-format",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Shared run-state / port display primitives (pad, pickPreferredPort, readPidfile) for the bundle:list / service:list / bundle:status / project:status CLI commands.",
|
|
5
|
+
"authors": [
|
|
6
|
+
{
|
|
7
|
+
"name": "Martin-Luther ETOUMAN",
|
|
8
|
+
"email": "contact@gina.io"
|
|
9
|
+
}
|
|
10
|
+
],
|
|
11
|
+
"copyright": "Copyright (c) 2009-2026 Rhinostone <contact@gina.io>",
|
|
12
|
+
"engines": {
|
|
13
|
+
"node": ">=0.10.22"
|
|
14
|
+
},
|
|
15
|
+
"main": "src/main",
|
|
16
|
+
"license": "MIT"
|
|
17
|
+
}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of the gina package.
|
|
3
|
+
* Copyright (c) 2009-2026 Rhinostone <contact@gina.io>
|
|
4
|
+
*
|
|
5
|
+
* For the full copyright and license information, please view the LICENSE
|
|
6
|
+
* file that was distributed with this source code.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @module gina/lib/cmd-status-format
|
|
11
|
+
*
|
|
12
|
+
* Shared run-state / port display primitives for the bundle- and project-level
|
|
13
|
+
* CLI status commands (`bundle:list`, `service:list`, `bundle:status`,
|
|
14
|
+
* `project:status`). Each of those handlers previously carried its own
|
|
15
|
+
* byte-identical copy of `pad`, `pickPreferredPort`, and `readPidfile`; this
|
|
16
|
+
* module is the single source of truth.
|
|
17
|
+
*
|
|
18
|
+
* This module is pure — it requires only node builtins (`fs`, `path`), does
|
|
19
|
+
* not require `lib.*`, and does not read framework globals (`GINA_HOMEDIR`,
|
|
20
|
+
* `_`). Callers pass the run directory in (see {@link readPidfile}), so the
|
|
21
|
+
* module is unit-testable by a direct `require`. Same contract as
|
|
22
|
+
* {@link module:gina/lib/routing-introspect}.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* var fmt = lib.cmdStatusFormat;
|
|
26
|
+
* var preferred = fmt.pickPreferredPort(ports); // {env,scheme,protocol,port} | null
|
|
27
|
+
* var runState = fmt.readPidfile(GINA_HOMEDIR + '/run', 'api', 'myproject');
|
|
28
|
+
* var line = fmt.pad('api', 16) + ' ' + (preferred ? preferred.port : '(no port)');
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
var fs = require('fs');
|
|
32
|
+
var path = require('path');
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Right-pads `s` with spaces to reach `width`. Used to align the port column
|
|
36
|
+
* after the bundle / service name in the text output. Coerces a falsy input
|
|
37
|
+
* to the empty string and never truncates (a string already at or beyond
|
|
38
|
+
* `width` is returned unchanged).
|
|
39
|
+
*
|
|
40
|
+
* @memberof module:gina/lib/cmd-status-format
|
|
41
|
+
* @param {string} s
|
|
42
|
+
* @param {number} width
|
|
43
|
+
* @returns {string}
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* pad('api', 8); // 'api '
|
|
47
|
+
* pad('', 3); // ' '
|
|
48
|
+
* pad('toolong', 4); // 'toolong' (unchanged — already wider than 4)
|
|
49
|
+
*/
|
|
50
|
+
var pad = function(s, width) {
|
|
51
|
+
var out = String(s || '');
|
|
52
|
+
while (out.length < width) {
|
|
53
|
+
out += ' ';
|
|
54
|
+
}
|
|
55
|
+
return out;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Picks the "preferred" port to display for a bundle / service from its
|
|
60
|
+
* `ports.reverse.json` record: the `dev` env when present (else the first env
|
|
61
|
+
* key), then `http/2.0 https` → `http/1.1 https` → `http/1.1 http`. Returns
|
|
62
|
+
* null when no port is allocated.
|
|
63
|
+
*
|
|
64
|
+
* @memberof module:gina/lib/cmd-status-format
|
|
65
|
+
* @param {object|null} ports - Port record from ports.reverse.json
|
|
66
|
+
* @returns {{env: string, scheme: string, protocol: string, port: number}|null}
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* pickPreferredPort({ dev: { 'http/2.0': { https: 4208 } } });
|
|
70
|
+
* // { env: 'dev', scheme: 'http/2.0', protocol: 'https', port: 4208 }
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* pickPreferredPort(null); // null
|
|
74
|
+
*/
|
|
75
|
+
var pickPreferredPort = function(ports) {
|
|
76
|
+
if (!ports) return null;
|
|
77
|
+
var envKey = ports.dev ? 'dev' : Object.keys(ports)[0];
|
|
78
|
+
if (!envKey) return null;
|
|
79
|
+
var env = ports[envKey];
|
|
80
|
+
if (!env) return null;
|
|
81
|
+
|
|
82
|
+
if (env['http/2.0'] && env['http/2.0'].https) {
|
|
83
|
+
return { env: envKey, scheme: 'http/2.0', protocol: 'https', port: env['http/2.0'].https };
|
|
84
|
+
}
|
|
85
|
+
if (env['http/1.1'] && env['http/1.1'].https) {
|
|
86
|
+
return { env: envKey, scheme: 'http/1.1', protocol: 'https', port: env['http/1.1'].https };
|
|
87
|
+
}
|
|
88
|
+
if (env['http/1.1'] && env['http/1.1'].http) {
|
|
89
|
+
return { env: envKey, scheme: 'http/1.1', protocol: 'http', port: env['http/1.1'].http };
|
|
90
|
+
}
|
|
91
|
+
return null;
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Reads `<runDir>/<bundleName>@<projectName>.pid` and probes the pid with
|
|
96
|
+
* `process.kill(pid, 0)`. Returns `running: false` on a missing, unreadable,
|
|
97
|
+
* non-numeric, non-positive, or stale pidfile — and never deletes the file
|
|
98
|
+
* (clean-up stays with `bundle:stop`).
|
|
99
|
+
*
|
|
100
|
+
* `runDir` is passed in (rather than read from the `GINA_HOMEDIR` global) so
|
|
101
|
+
* the module stays pure and unit-testable. CLI-daemon callers pass
|
|
102
|
+
* `GINA_HOMEDIR + '/run'`; `service:list` passes `'gina'` as the project to
|
|
103
|
+
* resolve `<name>@gina.pid`.
|
|
104
|
+
*
|
|
105
|
+
* @memberof module:gina/lib/cmd-status-format
|
|
106
|
+
* @param {string} runDir - Directory holding the pidfiles (e.g. ~/.gina/run)
|
|
107
|
+
* @param {string} bundleName
|
|
108
|
+
* @param {string} projectName
|
|
109
|
+
* @returns {{running: boolean, pid: number|null}}
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* readPidfile('/home/u/.gina/run', 'api', 'myproject');
|
|
113
|
+
* // { running: true, pid: 12345 } — when the process is alive
|
|
114
|
+
*/
|
|
115
|
+
var readPidfile = function(runDir, bundleName, projectName) {
|
|
116
|
+
var pidPath = path.join(runDir, bundleName + '@' + projectName + '.pid');
|
|
117
|
+
if ( !fs.existsSync(pidPath) ) {
|
|
118
|
+
return { running: false, pid: null };
|
|
119
|
+
}
|
|
120
|
+
var raw;
|
|
121
|
+
try {
|
|
122
|
+
raw = fs.readFileSync(pidPath, 'utf8').trim();
|
|
123
|
+
} catch (e) {
|
|
124
|
+
return { running: false, pid: null };
|
|
125
|
+
}
|
|
126
|
+
var pid = parseInt(raw, 10);
|
|
127
|
+
if ( isNaN(pid) || pid <= 0 ) {
|
|
128
|
+
return { running: false, pid: null };
|
|
129
|
+
}
|
|
130
|
+
try {
|
|
131
|
+
process.kill(pid, 0);
|
|
132
|
+
return { running: true, pid: pid };
|
|
133
|
+
} catch (e) {
|
|
134
|
+
return { running: false, pid: null };
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
module.exports = {
|
|
139
|
+
pad : pad,
|
|
140
|
+
pickPreferredPort : pickPreferredPort,
|
|
141
|
+
readPidfile : readPidfile
|
|
142
|
+
};
|
|
@@ -114,6 +114,10 @@ function Lib() {
|
|
|
114
114
|
// and bundle:mcp to parse URL patterns, methods, requirements, and derive
|
|
115
115
|
// stable tool / operation identifiers.
|
|
116
116
|
routingIntrospect: _require('./routing-introspect'),
|
|
117
|
+
// Shared run-state / port display primitives (pad, pickPreferredPort,
|
|
118
|
+
// readPidfile) for the bundle:list / service:list / bundle:status /
|
|
119
|
+
// project:status CLI handlers. Pure (same contract as routing-introspect).
|
|
120
|
+
cmdStatusFormat : _require('./cmd-status-format'),
|
|
117
121
|
// Single source of truth for the connector driver → npm package + semver
|
|
118
122
|
// range mapping. Consumed by the connector:* CLI handlers (connector:add
|
|
119
123
|
// install hint + connector:add --install range resolution + connector:list
|
package/gna.js
CHANGED
|
@@ -15,14 +15,14 @@
|
|
|
15
15
|
'use strict';
|
|
16
16
|
|
|
17
17
|
// Framework core — the main gna module (lifecycle hooks, lib, etc.)
|
|
18
|
-
var _gna = require('./framework/v0.4.
|
|
18
|
+
var _gna = require('./framework/v0.4.1/core/gna');
|
|
19
19
|
|
|
20
20
|
// SuperController and EntitySuper — loaded from their source modules
|
|
21
|
-
var SuperController = require('./framework/v0.4.
|
|
22
|
-
var EntitySuper = require('./framework/v0.4.
|
|
21
|
+
var SuperController = require('./framework/v0.4.1/core/controller');
|
|
22
|
+
var EntitySuper = require('./framework/v0.4.1/core/model/entity');
|
|
23
23
|
|
|
24
24
|
// uuid — from the lib registry
|
|
25
|
-
var uuid = require('./framework/v0.4.
|
|
25
|
+
var uuid = require('./framework/v0.4.1/lib/uuid');
|
|
26
26
|
|
|
27
27
|
module.exports = {
|
|
28
28
|
|