gina 0.6.8 → 0.6.9
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 +18 -0
- package/README.md +25 -28
- package/ROADMAP.md +2 -1
- package/framework/v0.6.9/VERSION +1 -0
- package/framework/{v0.6.8 → v0.6.9}/core/config.js +102 -1
- package/framework/{v0.6.8 → v0.6.9}/core/controller/controller.js +32 -4
- package/framework/{v0.6.8 → v0.6.9}/core/gna.js +107 -0
- package/framework/{v0.6.8 → v0.6.9}/core/server.express.js +40 -1
- package/framework/{v0.6.8 → v0.6.9}/core/server.isaac.js +110 -3
- package/framework/{v0.6.8 → v0.6.9}/core/server.js +16 -2
- package/framework/{v0.6.8 → v0.6.9}/helpers/path.js +108 -26
- package/framework/{v0.6.8 → v0.6.9}/lib/cmd/bundle/build.js +37 -0
- package/framework/{v0.6.8 → v0.6.9}/lib/cmd/helper.js +148 -49
- package/framework/{v0.6.8 → v0.6.9}/lib/cmd/project/add.js +75 -3
- package/framework/{v0.6.8 → v0.6.9}/lib/cmd/project/build.js +24 -0
- package/framework/{v0.6.8 → v0.6.9}/lib/index.js +8 -0
- package/framework/v0.6.9/lib/push/package.json +19 -0
- package/framework/v0.6.9/lib/push/src/main.js +144 -0
- package/framework/{v0.6.8 → v0.6.9}/lib/secrets/src/backends/env.js +15 -4
- package/framework/{v0.6.8 → v0.6.9}/lib/secrets/src/main.js +48 -4
- package/framework/{v0.6.8 → v0.6.9}/package.json +1 -1
- package/gna.js +4 -4
- package/llms.txt +9 -6
- package/package.json +3 -3
- package/schema/manifest.json +6 -0
- package/schema/settings.json +3 -2
- package/types/index.d.ts +39 -0
- package/framework/v0.6.8/VERSION +0 -1
- /package/framework/{v0.6.8 → v0.6.9}/AUTHORS +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/LICENSE +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/html/nolayout.html +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/html/static.html +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/img/android-chrome-192x192.png +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/img/android-chrome-512x512.png +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/img/apple-touch-icon.png +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/img/favicon-16x16.png +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/img/favicon-32x32.png +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/img/favicon.ico +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/plugin/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/plugin/dist/vendor/gina/js/gina.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/ai/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/ai/lib/connector.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/couchbase/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/couchbase/lib/connector.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/couchbase/lib/connector.v3.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/couchbase/lib/connector.v4.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/couchbase/lib/n1ql.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/couchbase/lib/session-store.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/couchbase/lib/storage-store.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/duckdb/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/duckdb/lib/connector.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/mongodb/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/mongodb/lib/connector.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/mongodb/lib/job-store.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/mongodb/lib/pipeline-loader.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/mongodb/lib/session-store.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/mysql/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/mysql/lib/connector.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/param-redact.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/postgresql/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/postgresql/lib/connector.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/redis/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/redis/lib/connector.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/redis/lib/job-store.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/redis/lib/render-cache-store.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/redis/lib/session-store.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/scylladb/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/scylladb/lib/connector.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/scylladb/lib/session-store.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/sql-parser.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/sqlite/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/sqlite/lib/connector.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/sqlite/lib/job-store.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/connectors/sqlite/lib/session-store.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/content.encoding +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/controller/controller.framework.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/controller/controller.render-json.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/controller/controller.render-nunjucks-async.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/controller/controller.render-nunjucks.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/controller/controller.render-stream.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/controller/controller.render-swig-async.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/controller/controller.render-swig.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/controller/controller.render-v1.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/controller/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/controller/inspector-window-emit.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/controller/release-banner.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/dev/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/dev/lib/class.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/dev/lib/factory.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/dev/lib/tools.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/locales/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/locales/currency.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/locales/dist/language/en.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/locales/dist/language/fr.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/locales/dist/region/en.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/locales/dist/region/fr.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/locales/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/mime.types +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/model/entity.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/model/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/model/template/entityFactory.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/model/template/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/csrf/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/csrf/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/csrf/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/coep/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/coep/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/coep/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/coop/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/coop/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/coop/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/corp/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/corp/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/corp/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/csp/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/csp/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/csp/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/hide-powered-by/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/hide-powered-by/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/hide-powered-by/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/hsts/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/hsts/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/hsts/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/origin-agent-cluster/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/origin-agent-cluster/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/origin-agent-cluster/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/referrer-policy/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/referrer-policy/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/referrer-policy/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/x-content-type-options/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/x-content-type-options/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/x-content-type-options/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/x-dns-prefetch-control/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/x-dns-prefetch-control/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/x-dns-prefetch-control/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/x-download-options/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/x-download-options/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/x-download-options/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/x-frame-options/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/x-frame-options/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/x-frame-options/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/x-xss-protection/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/x-xss-protection/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/security-headers/x-xss-protection/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/session/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/session/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/session/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/storage/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/storage/build.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/storage/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/storage/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/validator/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/validator/build.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/validator/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/validator/src/form-validator.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/plugins/lib/validator/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/router.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/status.codes +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/_gitignore +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle/config/app.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle/config/connectors.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle/config/routing.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle/config/settings.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle/config/templates.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle/config/watchers.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle/locales/en.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle_public/css/home.css +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle_public/js/components/x-checklist.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle_public/manifest.webmanifest +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle_public/readme.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle_public/sw.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle_templates/html/includes/x-checklist.html +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/command/gina.bat.tpl +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/command/gina.tpl +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/conf/env.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/conf/manifest.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/conf/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/conf/settings.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/conf/statics.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/conf/templates.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/error/client/json/401.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/error/client/json/403.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/error/client/json/404.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/error/server/html/50x.html +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/error/server/json/500.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/error/server/json/503.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/core/template/extensions/logger/config.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/helpers/console.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/helpers/context.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/helpers/data/LICENSE +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/helpers/data/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/helpers/data/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/helpers/data/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/helpers/dateFormat.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/helpers/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/helpers/json/LICENSE +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/helpers/json/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/helpers/json/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/helpers/json/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/helpers/plugins/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/helpers/plugins/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/helpers/plugins/src/api-error.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/helpers/plugins/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/helpers/prototypes.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/helpers/task.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/helpers/text.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/admin/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/admin/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/archiver/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/archiver/build.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/archiver/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/archiver/src/dep/jszip.min.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/archiver/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/async/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/async/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/audit/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/audit/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/audit-store.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/authn/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/authn/src/lockout.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/authn/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/authn/src/totp.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/authz-gate/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/authz-gate/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cache/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cache/build.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cache/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cache/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/aliases.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/audit/arguments.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/audit/help.txt +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/audit/verify.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/bundle/add.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/bundle/arguments.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/bundle/copy.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/bundle/cp.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/bundle/help.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/bundle/help.txt +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/bundle/inc/name-rewrite.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/bundle/list.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/bundle/man.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/bundle/mcp-start.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/bundle/mcp.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/bundle/oas.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/bundle/openapi.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/bundle/remove.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/bundle/rename.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/bundle/restart.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/bundle/rm.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/bundle/start.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/bundle/status.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/bundle/stop.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/bundle/types.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/cache/arguments.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/cache/clear.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/cache/help.txt +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/cache/stats.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/connector/add.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/connector/arguments.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/connector/help.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/connector/help.txt +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/connector/infer.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/connector/list.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/connector/migrate.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/connector/models.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/connector/remove.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/connector/rm.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/connector/test.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/container/arguments.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/container/help.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/container/help.txt +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/container/man.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/container/ps.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/container/stop.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/controller/add.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/controller/arguments.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/controller/help.txt +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/controller/inc/args.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/controller/inc/namespace.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/controller/inc/reference-rewrite.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/controller/inc/reference-scan.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/controller/inc/scaffold.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/controller/remove.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/controller/rename.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/controller/rm.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/env/add.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/env/get.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/env/help.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/env/help.txt +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/env/link-dev.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/env/list.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/env/remove.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/env/rm.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/env/set.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/env/unset.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/env/use.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/add.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/arguments.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/build.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/dot.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/get.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/help.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/help.txt +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/init.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/link-node-modules.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/link.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/list.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/man.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/msg.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/open.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/remove.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/reset.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/restart.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/set.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/start.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/status.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/stop.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/tail.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/update.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/framework/version.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/gina-dev.1.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/gina-framework.1.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/gina.1.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/i18n/add.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/i18n/arguments.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/i18n/export.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/i18n/help.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/i18n/help.txt +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/i18n/import.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/i18n/scan.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/image/_host.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/image/arguments.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/image/build.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/image/help.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/image/help.txt +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/image/list.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/image/man.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/image/rm.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/image/run.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/inspector/help.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/inspector/help.txt +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/inspector/open.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/man-render.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/minion/arguments.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/minion/help.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/minion/help.txt +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/minion/kill.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/minion/list.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/msg.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/port/help.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/port/help.txt +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/port/inc/scan.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/port/list.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/port/reset.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/port/set.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/project/arguments.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/project/backup.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/project/help.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/project/help.txt +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/project/import.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/project/list.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/project/man.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/project/move.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/project/remove.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/project/rename.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/project/restart.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/project/restore.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/project/rm.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/project/start.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/project/status.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/project/stop.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/protocol/arguments.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/protocol/help.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/protocol/help.txt +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/protocol/list.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/protocol/remove.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/protocol/set.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/scope/add.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/scope/help.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/scope/help.txt +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/scope/link-local.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/scope/link-production.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/scope/list.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/scope/remove.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/scope/rm.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/scope/use.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/secrets/arguments.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/secrets/check.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/secrets/help.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/secrets/help.txt +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/secrets/scan.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/service/help.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/service/help.txt +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/service/list.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/service/man.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/service/start.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/storage/arguments.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/storage/gc.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/storage/help.txt +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/storage/stats.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/storage/verify.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd/view/add.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd-status-format/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cmd-status-format/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/collection/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/collection/build.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/collection/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/collection/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/config.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/connector-config/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/connector-config/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/connector-error/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/connector-error/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/connector-registry/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/connector-registry/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cron/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cron/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/cron/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/domain/LICENSE +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/domain/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/domain/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/domain/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/dto/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/dto/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/dto-pipe/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/dto-pipe/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/dto-types/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/dto-types/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/generator/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/i18n/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/i18n/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/image-build/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/image-build/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/inherits/LICENSE +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/inherits/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/inherits/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/inherits/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/inspector-events/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/inspector-events/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/inspector-redact/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/inspector-redact/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/instrument/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/instrument/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/job/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/job/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/job-store.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/json-config-header/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/json-config-header/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/loading-state/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/loading-state/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/logger/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/logger/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/logger/src/containers/default/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/logger/src/containers/file/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/logger/src/containers/mq/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/logger/src/containers/mq/listener.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/logger/src/containers/mq/speaker.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/logger/src/helper.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/logger/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/math/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/mcp-dispatch/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/mcp-dispatch/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/mcp-http/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/mcp-http/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/mcp-server/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/mcp-server/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/merge/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/merge/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/merge/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/metrics/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/metrics/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/model.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/net-locality/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/net-locality/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/nunjucks-filters/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/nunjucks-filters/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/nunjucks-filters/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/nunjucks-resolver/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/nunjucks-resolver/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/proc.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/release-watch/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/release-watch/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/render-cache/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/render-cache/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/render-cache-store.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/routing/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/routing/build.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/routing/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/routing/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/routing/src/radix.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/routing-introspect/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/routing-introspect/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/secrets/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/secrets/src/backends/file.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/secrets/src/env-file.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/session-store.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/shell.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/sqlite-driver.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/state.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/storage/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/storage/src/local-cas.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/storage/src/local-stream.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/storage/src/local.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/storage/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/storage/src/meta-store.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/storage/src/s3.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/storage/src/util.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/storage-store.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/swig-filters/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/swig-filters/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/swig-filters/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/swig-resolver/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/swig-resolver/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/template-loaders/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/template-loaders/src/loaders/http.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/template-loaders/src/loaders/memory.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/template-loaders/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/url/README.md +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/url/index.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/url/routing.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/uuid/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/uuid/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/validator.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/watcher/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/watcher/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/ws-framing/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/ws-framing/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/ws-query/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/ws-query/src/main.js +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/ws-session/package.json +0 -0
- /package/framework/{v0.6.8 → v0.6.9}/lib/ws-session/src/main.js +0 -0
|
@@ -14,10 +14,16 @@
|
|
|
14
14
|
* **Inspector endpoints:** This file has no `/_gina/*` handlers.
|
|
15
15
|
* `server.js` registers all Inspector endpoints (`/_gina/inspector/*`,
|
|
16
16
|
* `/_gina/logs`, `/_gina/agent`) on the Express `app` instance returned
|
|
17
|
-
* here, inside its `onRequest()` catch-all (`self.instance.all(
|
|
17
|
+
* here, inside its `onRequest()` catch-all (`self.instance.all(/(.*)/, ...)`
|
|
18
|
+
* — a RegExp since #B211, because Express 5's router rejects the former
|
|
19
|
+
* bare-string `'*'` at mount time).
|
|
18
20
|
* No fast-path is needed in this adapter because Express request handling
|
|
19
21
|
* already flows through `server.js`.
|
|
20
22
|
*
|
|
23
|
+
* **Supported Express range: >= 4 < 6** (#B211 — both majors verified live;
|
|
24
|
+
* an out-of-range major logs a loud warning at engine construction and
|
|
25
|
+
* boots anyway).
|
|
26
|
+
*
|
|
21
27
|
* @class ServerEngineClass
|
|
22
28
|
* @constructor
|
|
23
29
|
* @param {object} options - Server configuration
|
|
@@ -246,6 +252,39 @@ function ServerEngineClass(options) {
|
|
|
246
252
|
|
|
247
253
|
|
|
248
254
|
|
|
255
|
+
// #B211 — Express version awareness. The supported range is declared HERE
|
|
256
|
+
// (express is consumer-provided by design — deliberately NOT a dependency,
|
|
257
|
+
// and NEVER a peerDependency: npm >= 7 auto-installs peers, which would
|
|
258
|
+
// force express onto every consumer of the framework).
|
|
259
|
+
var expressVersion = 'unknown';
|
|
260
|
+
try {
|
|
261
|
+
expressVersion = require('express/package.json').version;
|
|
262
|
+
} catch (_e) { /* best effort — version display only */ }
|
|
263
|
+
var expressMajor = parseInt(expressVersion, 10);
|
|
264
|
+
console.info('engine: express v' + expressVersion + ' (supported: >= 4 < 6)');
|
|
265
|
+
if ( !isNaN(expressMajor) && (expressMajor < 4 || expressMajor >= 6) ) {
|
|
266
|
+
// WARN, never refuse (gate decision 2026-08-15): an unverified future
|
|
267
|
+
// major may work, and a wrong refusal is a total outage while a wrong
|
|
268
|
+
// warning is a log line. Verified majors: 4 and 5.
|
|
269
|
+
console.warn('engine: express v' + expressVersion + ' is OUTSIDE the verified range (>= 4 < 6) — the bundle will boot, but this combination is unverified; pin express@^4 or express@^5 if anything misbehaves.');
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
// #B211 — Express 5 defines `req.query` as a prototype GETTER (v4 assigned
|
|
273
|
+
// it from its auto-mounted query middleware as an own property). Gina's
|
|
274
|
+
// request pipeline (core/server.js) computes and ASSIGNS `request.query`
|
|
275
|
+
// itself under 'use strict', which throws
|
|
276
|
+
// TypeError: Cannot set property query ... which has only a getter
|
|
277
|
+
// on every request under Express 5. Shadowing the getter with a writable
|
|
278
|
+
// own DATA property on the per-app request prototype restores gina's
|
|
279
|
+
// owns-the-query-parse contract; on Express 4 the property does not exist
|
|
280
|
+
// on the prototype chain as a getter, so this is a measured no-op there.
|
|
281
|
+
Object.defineProperty(app.request, 'query', {
|
|
282
|
+
value: undefined,
|
|
283
|
+
writable: true,
|
|
284
|
+
configurable: true,
|
|
285
|
+
enumerable: false
|
|
286
|
+
});
|
|
287
|
+
|
|
249
288
|
return {
|
|
250
289
|
instance: app,
|
|
251
290
|
middleware: express
|
|
@@ -2610,8 +2610,93 @@ function ServerEngineClass(options) {
|
|
|
2610
2610
|
|
|
2611
2611
|
server.eio = ioServer;
|
|
2612
2612
|
|
|
2613
|
+
/**
|
|
2614
|
+
* #B365 — derive a socket's session SERVER-side, from the upgrade
|
|
2615
|
+
* request's own cookie, and bind it to `socket.sessionId`.
|
|
2616
|
+
*
|
|
2617
|
+
* The socket's identity used to be whatever the client asserted in a
|
|
2618
|
+
* message payload. Rather than re-implement cookie unsigning here —
|
|
2619
|
+
* which would mean handing the framework the session secret that today
|
|
2620
|
+
* lives entirely in bundle code — this replays the bundle's OWN session
|
|
2621
|
+
* middleware over the upgrade request. Same secret, same store, same
|
|
2622
|
+
* cookie name, no configuration, and it works whether or not the bundle
|
|
2623
|
+
* adopted `gina.plugins.Session()`.
|
|
2624
|
+
*
|
|
2625
|
+
* The response passed to it is inert: every header/write method is a
|
|
2626
|
+
* no-op, so a `Set-Cookie` can never be emitted from a socket upgrade.
|
|
2627
|
+
* Combined with never touching the session object, a `saveUninitialized:
|
|
2628
|
+
* false` setup creates and saves nothing.
|
|
2629
|
+
*
|
|
2630
|
+
* Fail CLOSED: no session middleware, no cookie, or a cookie that does
|
|
2631
|
+
* not verify leaves `sessionId` unset, and an unset id matches no
|
|
2632
|
+
* targeted push — such a socket receives only deliberate broadcasts.
|
|
2633
|
+
*
|
|
2634
|
+
* @inner
|
|
2635
|
+
* @private
|
|
2636
|
+
* @param {object} socket - The engine.io socket (carries `.request`).
|
|
2637
|
+
* @param {function} [cb] - Called with the bound id (or null) once resolved.
|
|
2638
|
+
* @returns {void}
|
|
2639
|
+
*/
|
|
2640
|
+
var bindSocketSession = function(socket, cb) {
|
|
2641
|
+
var done = ( typeof(cb) == 'function' ) ? cb : function() {};
|
|
2642
|
+
var req = socket.request;
|
|
2643
|
+
if ( req == null || !server._expressMiddlewares || !server._expressMiddlewares.length ) {
|
|
2644
|
+
return done(null);
|
|
2645
|
+
}
|
|
2646
|
+
// express-session's middleware is a NAMED function expression
|
|
2647
|
+
// (`return function session(req, res, next)`), and the gina wrapper's
|
|
2648
|
+
// absolute-timeout variant is `ginaSessionAbsoluteTimeout` — both are
|
|
2649
|
+
// matched here so an adopting and a non-adopting bundle behave alike.
|
|
2650
|
+
var chain = [];
|
|
2651
|
+
for (var i = 0, len = server._expressMiddlewares.length; i < len; ++i) {
|
|
2652
|
+
var fn = server._expressMiddlewares[i];
|
|
2653
|
+
if ( typeof(fn) == 'function' && /^(session|ginaSessionAbsoluteTimeout)$/.test(fn.name) ) {
|
|
2654
|
+
chain[chain.length] = fn;
|
|
2655
|
+
}
|
|
2656
|
+
}
|
|
2657
|
+
if ( !chain.length ) {
|
|
2658
|
+
return done(null);
|
|
2659
|
+
}
|
|
2660
|
+
var noop = function() { return inertRes; };
|
|
2661
|
+
var inertRes = {
|
|
2662
|
+
setHeader: noop, getHeader: function() { return undefined; },
|
|
2663
|
+
removeHeader: noop, appendHeader: noop, writeHead: noop,
|
|
2664
|
+
write: function() { return true; }, end: noop,
|
|
2665
|
+
on: noop, once: noop, emit: function() { return false; },
|
|
2666
|
+
headersSent: false, finished: false
|
|
2667
|
+
};
|
|
2668
|
+
var idx = 0;
|
|
2669
|
+
var next = function(err) {
|
|
2670
|
+
if (err) {
|
|
2671
|
+
console.warn('[IO SERVER ] could not derive a session for socket #'+ socket.id +': '+ (err.message || err));
|
|
2672
|
+
return done(null);
|
|
2673
|
+
}
|
|
2674
|
+
if ( idx >= chain.length ) {
|
|
2675
|
+
var sid = ( typeof(req.sessionID) != 'undefined' && req.sessionID ) ? req.sessionID : null;
|
|
2676
|
+
if (sid) {
|
|
2677
|
+
socket.sessionId = sid;
|
|
2678
|
+
}
|
|
2679
|
+
return done(sid);
|
|
2680
|
+
}
|
|
2681
|
+
var mw = chain[idx++];
|
|
2682
|
+
try {
|
|
2683
|
+
mw(req, inertRes, next);
|
|
2684
|
+
} catch (mwErr) {
|
|
2685
|
+
console.warn('[IO SERVER ] session middleware threw while deriving a socket session: '+ (mwErr.message || mwErr));
|
|
2686
|
+
return done(null);
|
|
2687
|
+
}
|
|
2688
|
+
};
|
|
2689
|
+
next();
|
|
2690
|
+
};
|
|
2691
|
+
|
|
2613
2692
|
ioServer.on('connection', function (socket) {
|
|
2614
2693
|
|
|
2694
|
+
// #B365 — bind identity from the connection's own cookie before any
|
|
2695
|
+
// message can assert one. Asynchronous (the session store is), so a
|
|
2696
|
+
// push racing the handshake simply finds no match yet.
|
|
2697
|
+
bindSocketSession(socket);
|
|
2698
|
+
|
|
2699
|
+
|
|
2615
2700
|
socket.send(JSON.stringify({
|
|
2616
2701
|
id: this.id,//socket.id,
|
|
2617
2702
|
handshake: 'Welcomed to `'+ options.bundle +'` main socket !',
|
|
@@ -2638,9 +2723,31 @@ function ServerEngineClass(options) {
|
|
|
2638
2723
|
try {
|
|
2639
2724
|
console.debug('[IO SERVER ] receiving '+ payload);
|
|
2640
2725
|
payload = JSON.parse(payload);
|
|
2641
|
-
//
|
|
2642
|
-
|
|
2643
|
-
|
|
2726
|
+
// #B365 — the recipient of a targeted push is resolved from
|
|
2727
|
+
// `socket.sessionId`, and that used to be set RIGHT HERE from
|
|
2728
|
+
// `payload.session.id`: a value the CLIENT sends, on every
|
|
2729
|
+
// message, never checked against the connection's own session.
|
|
2730
|
+
// Any client could claim another user's session and receive
|
|
2731
|
+
// the pushes addressed to it — and the page renders the BARE
|
|
2732
|
+
// session id into its bootstrap script, so claiming one needed
|
|
2733
|
+
// strictly less than stealing the cookie.
|
|
2734
|
+
//
|
|
2735
|
+
// The binding now happens once, server-side, at connection
|
|
2736
|
+
// (see bindSocketSession below) from the upgrade request's own
|
|
2737
|
+
// signed cookie. What is left here is a DETECTOR: a client that
|
|
2738
|
+
// still asserts an id we did not derive gets logged and ignored.
|
|
2739
|
+
if (
|
|
2740
|
+
typeof(payload.session) != 'undefined'
|
|
2741
|
+
&& payload.session != null
|
|
2742
|
+
&& typeof(payload.session.id) != 'undefined'
|
|
2743
|
+
&& payload.session.id !== this.sessionId
|
|
2744
|
+
) {
|
|
2745
|
+
console.warn(
|
|
2746
|
+
'[IO SERVER ] socket #'+ this.id +' asserted session `'+ payload.session.id
|
|
2747
|
+
+ '` which does not match the session derived from its own cookie'
|
|
2748
|
+
+ ( this.sessionId ? ' (`'+ this.sessionId +'`)' : ' (none)' )
|
|
2749
|
+
+ '. Ignoring the assertion (#B365).'
|
|
2750
|
+
);
|
|
2644
2751
|
}
|
|
2645
2752
|
// Inspector: respond to data pull request. #INS10 — the engine.io
|
|
2646
2753
|
// channel is UNAUTHENTICATED, so never serve the captured snapshot
|
|
@@ -4029,10 +4029,20 @@ function Server(options) {
|
|
|
4029
4029
|
|
|
4030
4030
|
|
|
4031
4031
|
/**
|
|
4032
|
-
* Attaches the catch-all
|
|
4032
|
+
* Attaches the catch-all route handler to the server instance.
|
|
4033
4033
|
* Handles statics, preflight (CORS OPTIONS), body parsing, Express
|
|
4034
4034
|
* middleware chain, and final routing delegation to the Router.
|
|
4035
4035
|
*
|
|
4036
|
+
* The catch-all pattern is ENGINE-CONDITIONAL (#B211): Express mounts a
|
|
4037
|
+
* RegExp — Express 5 routes through path-to-regexp v8, which rejects a
|
|
4038
|
+
* bare `'*'` path string at mount time (`TypeError: Missing parameter
|
|
4039
|
+
* name`), while a RegExp path bypasses string parsing on Express 4 AND 5,
|
|
4040
|
+
* measured live-dispatching `/`, `/web/` and deep paths on both majors.
|
|
4041
|
+
* Isaac KEEPS the string `'*'`: its request listener's dispatch gate is
|
|
4042
|
+
* `path === '*' || path == request.url` (server.isaac.js:2366), so a
|
|
4043
|
+
* RegExp there matches NOTHING and every request hangs without a
|
|
4044
|
+
* response — measured, a deterministic container-boot timeout.
|
|
4045
|
+
*
|
|
4036
4046
|
* @inner
|
|
4037
4047
|
* @private
|
|
4038
4048
|
* @returns {void}
|
|
@@ -4043,7 +4053,11 @@ function Server(options) {
|
|
|
4043
4053
|
var webrootLen = self.conf[self.appName][self.env].server.webroot.length;
|
|
4044
4054
|
|
|
4045
4055
|
// catch all (request urls)
|
|
4046
|
-
self.instance.all('*',
|
|
4056
|
+
// #B211 — was: self.instance.all('*', ...) unconditionally. Express 5's
|
|
4057
|
+
// router rejects the bare-string wildcard at mount (boot abort before
|
|
4058
|
+
// listen()); isaac's dispatch gate REQUIRES it (see the JSDoc above).
|
|
4059
|
+
var catchAllPattern = ( /^express/.test(self.engine) ) ? /(.*)/ : '*';
|
|
4060
|
+
self.instance.all(catchAllPattern, function onInstance(request, response, next) {
|
|
4047
4061
|
|
|
4048
4062
|
// #M12b / #COMPLY2 — stamp the request id + entry time at request entry.
|
|
4049
4063
|
//
|
|
@@ -674,12 +674,20 @@ function PathHelper() {
|
|
|
674
674
|
*
|
|
675
675
|
* })
|
|
676
676
|
*
|
|
677
|
-
* @
|
|
677
|
+
* @param {string} target
|
|
678
678
|
* @param {array} [ excluded ] - Excluded list
|
|
679
679
|
*
|
|
680
680
|
* @callback callback
|
|
681
|
-
* @param {
|
|
681
|
+
* @param {boolean|Error} errResponse - `false` on success, an `Error` on
|
|
682
|
+
* failure (#B227 — was a plain string on stream-copy failures)
|
|
682
683
|
* @param {string} [pathResponse]
|
|
684
|
+
*
|
|
685
|
+
* @example
|
|
686
|
+
* // copy a file, overwriting the destination atomically
|
|
687
|
+
* new _('/tmp/a.txt').cp('/tmp/b.txt', function(err, destination) {
|
|
688
|
+
* if (err) return console.error(err.stack);
|
|
689
|
+
* console.log('copied to ' + destination);
|
|
690
|
+
* });
|
|
683
691
|
* */
|
|
684
692
|
|
|
685
693
|
_.prototype.cp = function(target, excluded, cb) {
|
|
@@ -1056,11 +1064,13 @@ function PathHelper() {
|
|
|
1056
1064
|
* @param {string} source
|
|
1057
1065
|
* @param {string} destination
|
|
1058
1066
|
* @param {number} [i]
|
|
1059
|
-
* @param {
|
|
1067
|
+
* @param {Array} [excluded] - Filenames (strings) or RegExps to skip
|
|
1060
1068
|
*
|
|
1061
1069
|
* @callback callback
|
|
1062
|
-
* @param {
|
|
1063
|
-
*
|
|
1070
|
+
* @param {boolean|Error} err - `false` on success, an `Error` on failure
|
|
1071
|
+
* (was a plain string pre-#B227)
|
|
1072
|
+
* @param {string} source
|
|
1073
|
+
* @param {number} i
|
|
1064
1074
|
* */
|
|
1065
1075
|
var copyFileToFile = function(source, destination, i, callback, excluded) {
|
|
1066
1076
|
var isExcluded = false;
|
|
@@ -1096,21 +1106,32 @@ function PathHelper() {
|
|
|
1096
1106
|
destination += path
|
|
1097
1107
|
}
|
|
1098
1108
|
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1109
|
+
// #B227 — no destination pre-delete: copyFile now stages to a
|
|
1110
|
+
// temp sibling and publishes with an atomic rename, which
|
|
1111
|
+
// replaces an existing destination only once the new content is
|
|
1112
|
+
// fully written. The unlink below destroyed the previous content
|
|
1113
|
+
// BEFORE the copy had succeeded (a 404/zero-byte window, and a
|
|
1114
|
+
// copy failure after it left nothing at all) — and its own error
|
|
1115
|
+
// was silently discarded.
|
|
1116
|
+
// was:
|
|
1117
|
+
// exists(destination, function(replaceFlag) {
|
|
1118
|
+
// if (replaceFlag) {
|
|
1119
|
+
// fs.unlink(destination, function(err) {
|
|
1120
|
+
// //TODO - log error.
|
|
1121
|
+
// startCopy(source, destination, i, function(err, i) {
|
|
1122
|
+
//
|
|
1123
|
+
// callback(err, source, i)
|
|
1124
|
+
// })
|
|
1125
|
+
// })
|
|
1126
|
+
// } else {
|
|
1127
|
+
// startCopy(source, destination, i, function(err, i) {
|
|
1128
|
+
// //TODO - log error.
|
|
1129
|
+
// callback(err, source, i)
|
|
1130
|
+
// })
|
|
1131
|
+
// }
|
|
1132
|
+
// })
|
|
1133
|
+
startCopy(source, destination, i, function(err, i) {
|
|
1134
|
+
callback(err, source, i)
|
|
1114
1135
|
})
|
|
1115
1136
|
}//EO if (err)
|
|
1116
1137
|
})
|
|
@@ -1129,18 +1150,70 @@ function PathHelper() {
|
|
|
1129
1150
|
}
|
|
1130
1151
|
}
|
|
1131
1152
|
|
|
1153
|
+
/**
|
|
1154
|
+
* Copy one file's bytes — the writer behind `_.cp()` / `PathObject.mv()`
|
|
1155
|
+
*
|
|
1156
|
+
* #B227 — mirrors the #B223 `movefiles` rework: bytes land in a temp
|
|
1157
|
+
* sibling inside the destination's own directory (so the publish rename
|
|
1158
|
+
* is always same-filesystem, while the stream copy itself may cross
|
|
1159
|
+
* filesystems) and publish atomically via `renameSync`, so a reader can
|
|
1160
|
+
* never observe a truncated destination and a failed copy never destroys
|
|
1161
|
+
* the previous content.
|
|
1162
|
+
*
|
|
1163
|
+
* @inner
|
|
1164
|
+
* @param {string} source
|
|
1165
|
+
* @param {string} destination
|
|
1166
|
+
* @param {number} i - Caller's iteration cursor, passed back untouched
|
|
1167
|
+
*
|
|
1168
|
+
* @callback callback
|
|
1169
|
+
* @param {boolean|Error} err - `false` on success, an `Error` on failure
|
|
1170
|
+
* (was a plain string pre-#B227)
|
|
1171
|
+
* @param {number} i
|
|
1172
|
+
* */
|
|
1132
1173
|
var copyFile = function(source, destination, i, callback) {
|
|
1133
1174
|
|
|
1175
|
+
var _tmpTarget = destination + '.' + process.pid + '.' + Math.random().toString(36).slice(2, 8) + '.tmp';
|
|
1176
|
+
var _settled = false;
|
|
1177
|
+
|
|
1134
1178
|
var sourceStream = fs.createReadStream(source);
|
|
1135
|
-
|
|
1179
|
+
// #B227 — no direct write to the final name
|
|
1180
|
+
// was: var destinationStream = fs.createWriteStream(destination);
|
|
1181
|
+
var destinationStream = fs.createWriteStream(_tmpTarget);
|
|
1182
|
+
|
|
1183
|
+
var onCopyError = function(err) {
|
|
1184
|
+
if (_settled) return;
|
|
1185
|
+
_settled = true;
|
|
1186
|
+
try { destinationStream.destroy() } catch (_e) {}
|
|
1187
|
+
try { if ( fs.existsSync(_tmpTarget) ) fs.unlinkSync(_tmpTarget) } catch (_e) {}
|
|
1188
|
+
// #B227 — propagate a real Error (was a plain string, so callers
|
|
1189
|
+
// printing `err.stack` logged `undefined`); keep the historical
|
|
1190
|
+
// message prefix for log continuity
|
|
1191
|
+
if ( !(err instanceof Error) ) {
|
|
1192
|
+
err = new Error('Error on Path.cp(...): could not copy `'+ source +'` to `'+ destination +'`');
|
|
1193
|
+
}
|
|
1194
|
+
callback(err, i)
|
|
1195
|
+
};
|
|
1196
|
+
|
|
1197
|
+
// #B227 — the source stream previously had NO error listener: an
|
|
1198
|
+
// unreadable/vanished source raised an unhandled 'error' event
|
|
1199
|
+
// (uncaughtException → process kill)
|
|
1200
|
+
sourceStream.on('error', onCopyError);
|
|
1136
1201
|
|
|
1137
1202
|
sourceStream
|
|
1138
1203
|
.pipe(destinationStream)
|
|
1139
|
-
.on('error',
|
|
1140
|
-
var err = 'Error on Path.cp(...): Not found ' + source +' or ' + destination;
|
|
1141
|
-
callback(err, i)
|
|
1142
|
-
})
|
|
1204
|
+
.on('error', onCopyError)
|
|
1143
1205
|
.on('close', function() {
|
|
1206
|
+
// 'close' also follows 'error' on an autoDestroyed stream — the
|
|
1207
|
+
// settled latch keeps a failed copy from settling the callback a
|
|
1208
|
+
// SECOND time as a success (the pre-fix shape did exactly that,
|
|
1209
|
+
// and in browseCopy's recursion each double-settle forked the
|
|
1210
|
+
// directory walk)
|
|
1211
|
+
if (_settled) return;
|
|
1212
|
+
try {
|
|
1213
|
+
fs.renameSync(_tmpTarget, destination);
|
|
1214
|
+
} catch (err) {
|
|
1215
|
+
return onCopyError(err)
|
|
1216
|
+
}
|
|
1144
1217
|
callback(false, i)
|
|
1145
1218
|
})
|
|
1146
1219
|
}
|
|
@@ -1149,11 +1222,20 @@ function PathHelper() {
|
|
|
1149
1222
|
/**
|
|
1150
1223
|
* move or rename, file or folder
|
|
1151
1224
|
*
|
|
1225
|
+
* Implemented as `cp()` then `rm(source)` — the byte-writer is `copyFile`,
|
|
1226
|
+
* so the #B227 temp+rename semantics apply here too.
|
|
1227
|
+
*
|
|
1152
1228
|
* @param {string} target
|
|
1153
1229
|
*
|
|
1154
1230
|
* @callback callback
|
|
1155
|
-
* @param {
|
|
1231
|
+
* @param {boolean|Error} errResponse - `false`/falsy on success, an `Error`
|
|
1232
|
+
* on failure (#B227 — was a plain string on stream-copy failures)
|
|
1156
1233
|
* @param {string} [pathResponse]
|
|
1234
|
+
*
|
|
1235
|
+
* @example
|
|
1236
|
+
* new _('/tmp/staged.pdf').mv('/var/shared/final.pdf', function(err) {
|
|
1237
|
+
* if (err) return console.error(err.stack);
|
|
1238
|
+
* });
|
|
1157
1239
|
* */
|
|
1158
1240
|
|
|
1159
1241
|
_.prototype.mv = function(target, callback) {
|
|
@@ -82,6 +82,33 @@ function Build(opt, cmd) {
|
|
|
82
82
|
// Getting manifest
|
|
83
83
|
local.manifest = JSON.clone(self.projectData);
|
|
84
84
|
|
|
85
|
+
// #B373 — per-scope deployment. `bundles[<name>].scopes` is an optional
|
|
86
|
+
// allow-list (absent = every scope). This verb targets ONE bundle by name,
|
|
87
|
+
// so an excluded target is an EXPLICIT ask for something the manifest says
|
|
88
|
+
// is not deployed here — refuse by name rather than silently producing no
|
|
89
|
+
// artifact, which on a deploy script would read as success.
|
|
90
|
+
var _buildTargets = ( self.bundles || [] ).slice();
|
|
91
|
+
for (let _b = 0, _bLen = _buildTargets.length; _b < _bLen; ++_b) {
|
|
92
|
+
let _target = _buildTargets[_b]
|
|
93
|
+
, _entry = local.manifest.bundles[_target]
|
|
94
|
+
;
|
|
95
|
+
if ( !_entry ) {
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
if (
|
|
99
|
+
typeof(_entry.scopes) != 'undefined' && _entry.scopes !== null
|
|
100
|
+
&& !Array.isArray(_entry.scopes)
|
|
101
|
+
) {
|
|
102
|
+
return end( new Error('[ manifest ] `bundles.'+ _target +'.scopes` must be an array of scope names (got '+ typeof(_entry.scopes) +'). Remove the key to deploy `'+ _target +'` in every scope, or list the scopes it belongs to.') );
|
|
103
|
+
}
|
|
104
|
+
if ( Array.isArray(_entry.scopes) && _entry.scopes.indexOf(process.env.NODE_SCOPE) < 0 ) {
|
|
105
|
+
return end( new Error('Cannot build `'+ _target +'` for scope `'+ process.env.NODE_SCOPE +'`: the bundle is not deployed there. '
|
|
106
|
+
+ '`bundles.'+ _target +'.scopes` in manifest.json declares '
|
|
107
|
+
+ ( _entry.scopes.length ? '`'+ _entry.scopes.join('`, `') +'`' : 'no scope at all' )
|
|
108
|
+
+ '. Add `'+ process.env.NODE_SCOPE +'` to that list to build it here.') );
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
85
112
|
globalBuildScripts = ( typeof(local.manifest.buildScripts) != 'undefined' ) ? local.manifest.buildScripts : null;
|
|
86
113
|
|
|
87
114
|
// User Pre build
|
|
@@ -164,6 +191,16 @@ function Build(opt, cmd) {
|
|
|
164
191
|
// per scope
|
|
165
192
|
for (let i = 0, len = local.scopes.length; i < len; i++) {
|
|
166
193
|
let scope = local.scopes[i]
|
|
194
|
+
// #B373 — do not seed a scope the bundle opts out of. This loop walks
|
|
195
|
+
// EVERY project scope (not just --scope), so without the filter it
|
|
196
|
+
// re-creates the release entries the allow-list exists to remove, and
|
|
197
|
+
// the opt-out silently regrows on the next build.
|
|
198
|
+
if (
|
|
199
|
+
Array.isArray(local.manifest.bundles[bundle].scopes)
|
|
200
|
+
&& local.manifest.bundles[bundle].scopes.indexOf(scope) < 0
|
|
201
|
+
) {
|
|
202
|
+
continue;
|
|
203
|
+
}
|
|
167
204
|
if ( typeof(local.manifest.bundles[bundle].releases[scope]) == 'undefined' ) {
|
|
168
205
|
local.manifest.bundles[bundle].releases[scope] = {}
|
|
169
206
|
}
|