gina 0.7.2 → 0.7.3
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 +22 -0
- package/README.md +40 -40
- package/ROADMAP.md +1 -0
- package/bin/cli +29 -0
- package/bin/cmd +34 -25
- package/bin/gina +55 -15
- package/framework/v0.7.3/VERSION +1 -0
- package/framework/{v0.7.2 → v0.7.3}/core/asset/plugin/dist/vendor/gina/js/gina.js +44 -8
- package/framework/{v0.7.2 → v0.7.3}/core/asset/plugin/dist/vendor/gina/js/gina.min.js +602 -602
- package/framework/v0.7.3/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- package/framework/v0.7.3/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
- package/framework/{v0.7.2 → v0.7.3}/core/config.js +5 -0
- package/framework/{v0.7.2 → v0.7.3}/core/controller/controller.js +39 -6
- package/framework/{v0.7.2 → v0.7.3}/core/controller/controller.render-swig.js +14 -1
- package/framework/v0.7.3/core/controller/preload-hints.js +230 -0
- package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/validator/src/main.js +26 -4
- package/framework/{v0.7.2 → v0.7.3}/core/server.js +181 -19
- package/framework/{v0.7.2 → v0.7.3}/core/template/conf/templates.json +2 -1
- package/framework/{v0.7.2 → v0.7.3}/lib/cmd/connector/add.js +1 -1
- package/framework/{v0.7.2 → v0.7.3}/lib/cmd/connector/help.txt +6 -5
- package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/help.txt +5 -1
- package/framework/v0.7.3/lib/cmd/framework/inc/listen-error.js +217 -0
- package/framework/v0.7.3/lib/cmd/framework/inc/ps-titles.js +193 -0
- package/framework/{v0.7.2 → v0.7.3}/lib/cmd/gina-framework.1.md +2 -0
- package/framework/{v0.7.2 → v0.7.3}/lib/cmd/gina.1.md +4 -0
- package/framework/{v0.7.2 → v0.7.3}/package.json +1 -1
- package/gna.js +4 -4
- package/llms.txt +5 -5
- package/package.json +3 -3
- package/schema/settings.json +5 -0
- package/types/index.d.ts +1 -0
- package/utils/helper.js +33 -0
- package/framework/v0.7.2/VERSION +0 -1
- package/framework/v0.7.2/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- package/framework/v0.7.2/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
- package/framework/v0.7.2/lib/cmd/framework/inc/ps-titles.js +0 -113
- /package/framework/{v0.7.2 → v0.7.3}/AUTHORS +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/LICENSE +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/html/nolayout.html +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/html/static.html +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/img/android-chrome-192x192.png +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/img/android-chrome-512x512.png +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/img/apple-touch-icon.png +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/img/favicon-16x16.png +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/img/favicon-32x32.png +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/img/favicon.ico +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/plugin/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/config.requirements-anchor.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/ai/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/ai/lib/connector.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/couchbase/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/couchbase/lib/connector.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/couchbase/lib/connector.v3.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/couchbase/lib/connector.v4.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/couchbase/lib/n1ql.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/couchbase/lib/session-store.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/couchbase/lib/storage-store.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/duckdb/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/duckdb/lib/connector.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/mongodb/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/mongodb/lib/connector.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/mongodb/lib/job-store.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/mongodb/lib/pipeline-loader.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/mongodb/lib/session-store.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/mysql/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/mysql/lib/connector.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/param-redact.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/postgresql/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/postgresql/lib/connector.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/redis/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/redis/lib/connector.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/redis/lib/job-store.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/redis/lib/kv-store.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/redis/lib/render-cache-store.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/redis/lib/session-store.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/scylladb/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/scylladb/lib/connector.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/scylladb/lib/session-store.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/settle-once.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/sql-parser.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/sqlite/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/sqlite/lib/connector.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/sqlite/lib/job-store.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/sqlite/lib/kv-store.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/connectors/sqlite/lib/session-store.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/content.encoding +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/controller/controller.framework.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/controller/controller.render-json.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/controller/controller.render-nunjucks-async.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/controller/controller.render-nunjucks.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/controller/controller.render-stream.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/controller/controller.render-swig-async.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/controller/controller.render-v1.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/controller/controller.render-xml.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/controller/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/controller/inline-script.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/controller/inspector-window-emit.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/controller/release-banner.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/dev/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/dev/lib/class.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/dev/lib/factory.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/dev/lib/tools.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/gna.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/locales/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/locales/currency.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/locales/dist/language/en.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/locales/dist/language/fr.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/locales/dist/region/en.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/locales/dist/region/fr.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/locales/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/mime.types +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/model/entity.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/model/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/model/template/entityFactory.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/model/template/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/csrf/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/csrf/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/csrf/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/coep/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/coep/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/coep/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/coop/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/coop/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/coop/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/corp/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/corp/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/corp/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/csp/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/csp/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/csp/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/hide-powered-by/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/hide-powered-by/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/hide-powered-by/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/hsts/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/hsts/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/hsts/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/origin-agent-cluster/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/origin-agent-cluster/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/origin-agent-cluster/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/referrer-policy/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/referrer-policy/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/referrer-policy/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/x-content-type-options/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/x-content-type-options/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/x-content-type-options/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/x-dns-prefetch-control/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/x-dns-prefetch-control/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/x-dns-prefetch-control/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/x-download-options/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/x-download-options/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/x-download-options/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/x-frame-options/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/x-frame-options/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/x-frame-options/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/x-xss-protection/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/x-xss-protection/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/security-headers/x-xss-protection/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/session/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/session/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/session/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/storage/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/storage/build.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/storage/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/storage/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/validator/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/validator/build.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/validator/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/plugins/lib/validator/src/form-validator.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/router.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/server.express.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/server.isaac.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/server.isaac.rapid-reset.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/server.route-candidates.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/status.codes +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/_gitignore +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle/config/app.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle/config/connectors.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle/config/routing.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle/config/settings.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle/config/templates.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle/config/watchers.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle/locales/en.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle_public/css/home.css +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle_public/js/components/x-checklist.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle_public/manifest.webmanifest +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle_public/readme.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle_public/sw.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle_templates/html/includes/x-checklist.html +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/command/gina.bat.tpl +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/command/gina.tpl +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/conf/env.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/conf/manifest.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/conf/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/conf/settings.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/conf/statics.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/error/client/json/401.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/error/client/json/403.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/error/client/json/404.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/error/server/html/50x.html +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/error/server/json/500.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/error/server/json/503.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/core/template/extensions/logger/config.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/helpers/console.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/helpers/context.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/helpers/data/LICENSE +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/helpers/data/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/helpers/data/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/helpers/data/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/helpers/dateFormat.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/helpers/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/helpers/json/LICENSE +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/helpers/json/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/helpers/json/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/helpers/json/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/helpers/path.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/helpers/plugins/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/helpers/plugins/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/helpers/plugins/src/api-error.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/helpers/plugins/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/helpers/prototypes.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/helpers/task.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/helpers/text.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/admin/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/admin/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/archiver/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/archiver/build.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/archiver/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/archiver/src/dep/jszip.min.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/archiver/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/async/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/async/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/audit/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/audit/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/audit-store.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/authn/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/authn/src/lockout.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/authn/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/authn/src/totp.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/authz-gate/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/authz-gate/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cache/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cache/build.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cache/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cache/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/aliases.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/audit/arguments.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/audit/help.txt +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/audit/verify.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/add.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/arguments.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/build.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/copy.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/cp.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/help.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/help.txt +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/inc/boot-lines.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/inc/name-rewrite.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/inc/name.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/list.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/man.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/mcp-start.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/mcp.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/oas.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/openapi.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/remove.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/rename.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/restart.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/rm.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/start.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/status.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/stop.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/bundle/types.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/cache/arguments.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/cache/clear.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/cache/help.txt +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/cache/stats.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/connector/arguments.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/connector/help.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/connector/infer.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/connector/list.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/connector/migrate.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/connector/models.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/connector/remove.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/connector/rm.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/connector/test.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/container/arguments.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/container/help.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/container/help.txt +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/container/man.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/container/ps.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/container/stop.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/controller/add.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/controller/arguments.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/controller/help.txt +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/controller/inc/args.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/controller/inc/namespace.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/controller/inc/reference-rewrite.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/controller/inc/reference-scan.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/controller/inc/scaffold.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/controller/remove.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/controller/rename.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/controller/rm.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/env/add.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/env/get.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/env/help.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/env/help.txt +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/env/inc/name.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/env/link-dev.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/env/list.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/env/remove.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/env/rm.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/env/set.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/env/unset.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/env/use.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/add.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/arguments.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/build.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/dot.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/get.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/help.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/init.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/link-node-modules.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/link.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/list.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/man.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/msg.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/open.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/remove.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/reset.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/restart.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/set.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/start.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/status.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/stop.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/tail.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/update.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/framework/version.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/gina-dev.1.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/helper.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/i18n/add.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/i18n/arguments.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/i18n/export.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/i18n/help.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/i18n/help.txt +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/i18n/import.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/i18n/scan.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/image/_host.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/image/arguments.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/image/build.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/image/help.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/image/help.txt +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/image/list.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/image/man.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/image/rm.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/image/run.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/inspector/help.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/inspector/help.txt +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/inspector/open.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/man-render.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/minion/arguments.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/minion/help.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/minion/help.txt +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/minion/kill.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/minion/list.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/msg.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/port/help.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/port/help.txt +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/port/inc/scan.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/port/list.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/port/reset.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/port/set.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/project/add.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/project/arguments.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/project/backup.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/project/build.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/project/help.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/project/help.txt +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/project/import.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/project/inc/name.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/project/list.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/project/man.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/project/move.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/project/remove.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/project/rename.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/project/restart.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/project/restore.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/project/rm.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/project/start.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/project/status.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/project/stop.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/protocol/arguments.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/protocol/help.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/protocol/help.txt +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/protocol/list.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/protocol/remove.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/protocol/set.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/scope/add.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/scope/help.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/scope/help.txt +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/scope/inc/name.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/scope/link-local.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/scope/link-production.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/scope/list.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/scope/remove.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/scope/rm.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/scope/use.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/secrets/arguments.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/secrets/check.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/secrets/help.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/secrets/help.txt +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/secrets/scan.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/service/help.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/service/help.txt +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/service/list.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/service/man.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/service/start.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/storage/arguments.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/storage/gc.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/storage/help.txt +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/storage/stats.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/storage/verify.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd/view/add.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd-status-format/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cmd-status-format/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/collection/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/collection/build.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/collection/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/collection/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/conf-view/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/conf-view/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/config.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/connector-config/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/connector-config/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/connector-error/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/connector-error/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/connector-registry/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/connector-registry/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cron/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cron/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/cron/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/domain/LICENSE +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/domain/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/domain/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/domain/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/dto/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/dto/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/dto-pipe/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/dto-pipe/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/dto-types/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/dto-types/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/duration/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/duration/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/error-ref/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/error-ref/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/generator/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/i18n/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/i18n/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/idempotency/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/idempotency/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/image-build/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/image-build/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/inherits/LICENSE +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/inherits/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/inherits/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/inherits/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/inspector-events/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/inspector-events/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/inspector-redact/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/inspector-redact/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/instrument/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/instrument/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/job/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/job/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/job-store.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/json-config-header/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/json-config-header/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/kv/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/kv/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/kv-store.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/lane/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/lane/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/loading-state/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/loading-state/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/logger/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/logger/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/logger/src/containers/default/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/logger/src/containers/file/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/logger/src/containers/mq/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/logger/src/containers/mq/listener.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/logger/src/containers/mq/speaker.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/logger/src/helper.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/logger/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/logger/src/redact.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/maintenance/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/maintenance/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/math/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/mcp-dispatch/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/mcp-dispatch/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/mcp-http/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/mcp-http/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/mcp-server/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/mcp-server/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/merge/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/merge/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/merge/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/message-validator/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/message-validator/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/metrics/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/metrics/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/model.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/money/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/money/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/multipart/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/multipart/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/net-locality/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/net-locality/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/nunjucks-filters/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/nunjucks-filters/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/nunjucks-filters/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/nunjucks-resolver/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/nunjucks-resolver/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/priority/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/priority/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/proc.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/push/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/push/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/rate-limit/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/rate-limit/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/release-watch/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/release-watch/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/render-cache/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/render-cache/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/render-cache-store.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/routing/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/routing/build.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/routing/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/routing/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/routing-introspect/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/routing-introspect/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/secrets/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/secrets/src/backends/env.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/secrets/src/backends/exec.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/secrets/src/backends/file.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/secrets/src/declaration.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/secrets/src/env-file.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/secrets/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/secrets/src/sources.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/security-headers-emitter/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/security-headers-emitter/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/session-lifetime/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/session-lifetime/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/session-store.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/shell.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/sqlite-driver.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/sri/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/sri/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/state.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/storage/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/storage/src/local-cas.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/storage/src/local-stream.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/storage/src/local.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/storage/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/storage/src/meta-store.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/storage/src/s3.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/storage/src/util.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/storage-store.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/swig-filters/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/swig-filters/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/swig-filters/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/swig-resolver/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/swig-resolver/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/template-loaders/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/template-loaders/src/loaders/http.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/template-loaders/src/loaders/memory.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/template-loaders/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/url/README.md +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/url/index.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/url/routing.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/uuid/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/uuid/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/validator.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/watcher/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/watcher/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/ws-framing/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/ws-framing/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/ws-query/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/ws-query/src/main.js +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/ws-session/package.json +0 -0
- /package/framework/{v0.7.2 → v0.7.3}/lib/ws-session/src/main.js +0 -0
|
@@ -3013,6 +3013,11 @@ function Config(opt, contextResetNeeded) {
|
|
|
3013
3013
|
|
|
3014
3014
|
if ( typeof(files['templates'][section][ref]) == 'undefined' ) {
|
|
3015
3015
|
files['templates'][section][ref] = files['templates']._common[ref];
|
|
3016
|
+
} else if ( typeof(files['templates'][section][ref]) == 'boolean' ) {
|
|
3017
|
+
// #B772 — a page's own boolean is kept as it is: lib/merge returns
|
|
3018
|
+
// `true` for merge(false, true), so a page that set a `_common`
|
|
3019
|
+
// switch to `false` (assetVersioningEnabled, preloadHintsEnabled...)
|
|
3020
|
+
// used to get `true` back
|
|
3016
3021
|
} else {
|
|
3017
3022
|
files['templates'][section][ref] = merge(files['templates'][section][ref], files['templates']._common[ref]);
|
|
3018
3023
|
}
|
|
@@ -56,6 +56,10 @@ var inspectorRedact = require('../../lib/inspector-redact');
|
|
|
56
56
|
// Compiled once: the pattern set is a module constant.
|
|
57
57
|
var _carryRedactPatterns = inspectorRedact.compile(inspectorRedact.DEFAULT_PATTERNS);
|
|
58
58
|
|
|
59
|
+
// #B765 — the size and the switch of the automatic preload hints (the 200
|
|
60
|
+
// `link` header and the 103 Early Hints), shared with controller.render-swig.js.
|
|
61
|
+
var preloadHints = require('./preload-hints');
|
|
62
|
+
|
|
59
63
|
/**
|
|
60
64
|
* #A11Y3 — BCP-47 language tag for a framework-generated document.
|
|
61
65
|
*
|
|
@@ -2435,6 +2439,8 @@ function SuperController(options) {
|
|
|
2435
2439
|
if (_h2Links) {
|
|
2436
2440
|
// trim trailing comma inserted by computeH2PreloadPrefix()
|
|
2437
2441
|
var _hints = /,$/.test(_h2Links) ? _h2Links.slice(0, -1) : _h2Links;
|
|
2442
|
+
// #B765 — templates.json's switch and size cap; duplicates dropped (#B767)
|
|
2443
|
+
_hints = preloadHints.shapeLinks(_hints, (errOptions) ? errOptions.template : local.options.template);
|
|
2438
2444
|
if (_hints) self.setEarlyHints(_hints);
|
|
2439
2445
|
}
|
|
2440
2446
|
// #B496 — restore the router's seed so the delegate's getNodeRes() accumulates
|
|
@@ -2763,13 +2769,25 @@ function SuperController(options) {
|
|
|
2763
2769
|
* still preparing the final response.
|
|
2764
2770
|
*
|
|
2765
2771
|
* HTTP/2 — `stream.additionalHeaders({ ':status': 103, link: '...' })`
|
|
2766
|
-
* HTTP/1.1 — `
|
|
2772
|
+
* HTTP/1.1 — only when `settings.json > server.earlyHintsOverHTTP1` is
|
|
2773
|
+
* `true` (#B771): `res.writeEarlyHints({ link: [...] })`, one
|
|
2774
|
+
* array element per entry (#B770), cut at the page's
|
|
2775
|
+
* `preloadHintsMaxSize` (templates.json, #B765)
|
|
2776
|
+
*
|
|
2777
|
+
* Why HTTP/1.1 is off by default: browsers act on a 103 only over HTTP/2
|
|
2778
|
+
* and HTTP/3, so over HTTP/1.1 it reaches a reverse proxy, and nginx before
|
|
2779
|
+
* 1.29 takes an upstream 103 for the final response, which breaks every
|
|
2780
|
+
* page behind it. Turn it on behind a proxy that handles 103 (nginx 1.29 or
|
|
2781
|
+
* later with `early_hints`, Apache).
|
|
2767
2782
|
*
|
|
2768
2783
|
* Silently no-ops when:
|
|
2769
2784
|
* - `links` is falsy or an empty array / string
|
|
2770
2785
|
* - headers have already been sent (guards against double-call)
|
|
2786
|
+
* - the request is HTTP/1.1 and `server.earlyHintsOverHTTP1` is not `true`
|
|
2771
2787
|
* - the runtime does not support `writeEarlyHints` (Node < 18.11)
|
|
2772
|
-
* - any internal error occurs (103 is best-effort, never fatal)
|
|
2788
|
+
* - any internal error occurs (103 is best-effort, never fatal), including
|
|
2789
|
+
* node refusing an HTTP/1.1 entry it does not take as a link value (a
|
|
2790
|
+
* parameter value holding a space, such as an `imagesrcset`)
|
|
2773
2791
|
*
|
|
2774
2792
|
* Returns `self` for optional chaining.
|
|
2775
2793
|
*
|
|
@@ -2778,6 +2796,12 @@ function SuperController(options) {
|
|
|
2778
2796
|
* '<https://cdn.example.com/app.css>; rel=preload; as=style'
|
|
2779
2797
|
* or an array of such strings (joined with ', ' into one header).
|
|
2780
2798
|
* @returns {object} self
|
|
2799
|
+
*
|
|
2800
|
+
* @example
|
|
2801
|
+
* self.setEarlyHints([
|
|
2802
|
+
* '</css/app.css>; rel=preload; as=style',
|
|
2803
|
+
* '</js/app.js>; rel=preload; as=script'
|
|
2804
|
+
* ]);
|
|
2781
2805
|
*/
|
|
2782
2806
|
this.setEarlyHints = function(links) {
|
|
2783
2807
|
if (!links) return self;
|
|
@@ -2798,11 +2822,20 @@ function SuperController(options) {
|
|
|
2798
2822
|
// HTTP/2 — stream.additionalHeaders() sends a HEADERS frame with :status 103
|
|
2799
2823
|
if (_res.stream && !_res.stream.headersSent) {
|
|
2800
2824
|
_res.stream.additionalHeaders({ ':status': 103, 'link': _link });
|
|
2801
|
-
} else if (
|
|
2802
|
-
|
|
2803
|
-
|
|
2825
|
+
} else if (
|
|
2826
|
+
typeof _res.writeEarlyHints === 'function'
|
|
2827
|
+
// #B771 — over HTTP/1.1 only when the bundle asks for it (see above)
|
|
2828
|
+
&& local.options.conf.server.earlyHintsOverHTTP1 === true
|
|
2829
|
+
) {
|
|
2830
|
+
// HTTP/1.1 — available since Node.js 18.11.0. #B770: node checks a
|
|
2831
|
+
// string as ONE link value, and a ', '-joined list failed that check,
|
|
2832
|
+
// so nothing was sent; an array is checked entry by entry
|
|
2833
|
+
var _entries = preloadHints.toEarlyHintsList(links, local.options.template);
|
|
2834
|
+
if (_entries.length > 0) {
|
|
2835
|
+
_res.writeEarlyHints({ 'link': _entries });
|
|
2836
|
+
}
|
|
2804
2837
|
}
|
|
2805
|
-
// else:
|
|
2838
|
+
// else: no 103 — HTTP/1.1 without the setting, or Node.js older than 18.11
|
|
2806
2839
|
} catch(e) {
|
|
2807
2840
|
// 103 is best-effort — never let a hint failure affect the main response
|
|
2808
2841
|
}
|
|
@@ -18,6 +18,8 @@ var inspectorRedact = require('lib/inspector-redact');
|
|
|
18
18
|
var emitInspectorWindowData = require('./inspector-window-emit');
|
|
19
19
|
// #RWATCH S3 — stale-release banner injector (server-side inline; gated inert).
|
|
20
20
|
var releaseBanner = require('./release-banner');
|
|
21
|
+
// #B765 — the size and the switch of the automatic preload hints, shared with controller.js.
|
|
22
|
+
var preloadHints = require('./preload-hints');
|
|
21
23
|
// Precompiled regex — avoids per-request RegExp allocation (#P3)
|
|
22
24
|
var blacklistRe = /[<>]/g;
|
|
23
25
|
|
|
@@ -1477,7 +1479,14 @@ module.exports = async function render(userData, displayInspector, errOptions, d
|
|
|
1477
1479
|
// console.warn('----------------> loading partial `'+ path);
|
|
1478
1480
|
// }
|
|
1479
1481
|
|
|
1480
|
-
|
|
1482
|
+
// #B778 — the template value alone, as getNodeRes() (controller.js) reads it to write
|
|
1483
|
+
// `defer` on the tags, and as the other three delegates place them: this read fell back
|
|
1484
|
+
// to `_common`, so since #B772 let a page's own `false` reach its template, such a page
|
|
1485
|
+
// under a `_common` `true` got its scripts in <head> without `defer` (render-blocking)
|
|
1486
|
+
// instead of before </body>. Both reads use the same object (#B497 points a custom-error
|
|
1487
|
+
// render at the request's own template), so placement and `defer` always agree.
|
|
1488
|
+
// was: localOptions.template.javascriptsDeferEnabled || localOptions.conf.content.templates._common.javascriptsDeferEnabled || false
|
|
1489
|
+
isDeferModeEnabled = !!localOptions.template.javascriptsDeferEnabled;
|
|
1481
1490
|
hasExternalsPlugins = (localOptions.template.externalPlugins.length > 0) ? true : false;
|
|
1482
1491
|
|
|
1483
1492
|
// iframe case - without HTML TAG
|
|
@@ -1846,6 +1855,10 @@ module.exports = async function render(userData, displayInspector, errOptions, d
|
|
|
1846
1855
|
// re-emits it without a layout parse; '' when nothing qualifies,
|
|
1847
1856
|
// and an empty header is no longer sent.
|
|
1848
1857
|
_h2PreloadLinks = buildH2PreloadLinks(localOptions.template.h2Links, localOptions.template.assets);
|
|
1858
|
+
// #B765 — the same shaping as the 103: duplicates dropped (#B767), cut at
|
|
1859
|
+
// the page's `preloadHintsMaxSize`, nothing when `preloadHintsEnabled` is
|
|
1860
|
+
// false; the cache entry below memoises the shaped value for the hit path
|
|
1861
|
+
_h2PreloadLinks = preloadHints.shapeLinks(_h2PreloadLinks, localOptions.template);
|
|
1849
1862
|
if ( !self.isXMLRequest() && !self.isCacheless() && _h2PreloadLinks ) {
|
|
1850
1863
|
res.setHeader('link', _h2PreloadLinks);
|
|
1851
1864
|
}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
/**
|
|
3
|
+
* #B765 — the size and the switch of gina's automatic preload hints: the `link`
|
|
4
|
+
* header of an HTML 200 and the 103 Early Hints sent before it (an `http/2.0`
|
|
5
|
+
* bundle in production).
|
|
6
|
+
*
|
|
7
|
+
* A reverse proxy reads a response's header block into a fixed buffer and
|
|
8
|
+
* answers 502 when it does not fit: nginx's `proxy_buffer_size` is one memory
|
|
9
|
+
* page, 4 KiB on x86_64. Both hints grew by one entry per declared stylesheet
|
|
10
|
+
* and script and per layout image, with no limit and no way to turn them off.
|
|
11
|
+
* Both now go through `shapeLinks()`: an entry whose URL already appeared is
|
|
12
|
+
* dropped (#B767), and the value stops at the last entry that keeps it within
|
|
13
|
+
* `preloadHintsMaxSize` bytes (templates.json, default 1024; `0` = no cap);
|
|
14
|
+
* `preloadHintsEnabled: false` sends neither hint.
|
|
15
|
+
*
|
|
16
|
+
* Parameters only; the one piece of state is the flag that keeps the warning
|
|
17
|
+
* for an invalid size to once per process.
|
|
18
|
+
*
|
|
19
|
+
* @module core/controller/preload-hints
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* The cap applied when `preloadHintsMaxSize` is absent or invalid.
|
|
24
|
+
* @constant {number}
|
|
25
|
+
*/
|
|
26
|
+
var DEFAULT_MAX_SIZE = 1024;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Set once the invalid-size warning has been printed: the check runs on every
|
|
30
|
+
* render, so a bad value is reported once rather than per request (under
|
|
31
|
+
* dev-mode hot-reload the module may be evaluated again, and the warning with it).
|
|
32
|
+
* @type {boolean}
|
|
33
|
+
* @private
|
|
34
|
+
*/
|
|
35
|
+
var warnedInvalidSize = false;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Split a `Link` header value into its entries. A new entry starts at a comma
|
|
39
|
+
* followed by `<` (whitespace allowed in between), so the commas inside an
|
|
40
|
+
* `imagesrcset` value stay in their entry.
|
|
41
|
+
*
|
|
42
|
+
* @param {string} value - A `Link` header value
|
|
43
|
+
* @returns {string[]} The entries, trimmed, empty ones dropped
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* splitLinkEntries('</a.css>; as=style; rel=preload,</b.js>; as=script; rel=preload');
|
|
47
|
+
* // -> ['</a.css>; as=style; rel=preload', '</b.js>; as=script; rel=preload']
|
|
48
|
+
*/
|
|
49
|
+
function splitLinkEntries(value) {
|
|
50
|
+
var entries = [];
|
|
51
|
+
if ( !value ) {
|
|
52
|
+
return entries;
|
|
53
|
+
}
|
|
54
|
+
var parts = String(value).split(/,(?=\s*<)/);
|
|
55
|
+
for (var i = 0, len = parts.length; i < len; ++i) {
|
|
56
|
+
var entry = parts[i].trim().replace(/,+$/, '').trim();
|
|
57
|
+
if ( entry ) {
|
|
58
|
+
entries.push(entry);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return entries;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* The URL of a `Link` entry: the text between its first `<` and the next `>`.
|
|
66
|
+
*
|
|
67
|
+
* @param {string} entry - One `Link` entry
|
|
68
|
+
* @returns {string|null} The URL, or `null` when the entry has none
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* linkEntryUrl('</css/app.css?v=99bf1f0781>; as=style; rel=preload'); // -> '/css/app.css?v=99bf1f0781'
|
|
72
|
+
*/
|
|
73
|
+
function linkEntryUrl(entry) {
|
|
74
|
+
var start = entry.indexOf('<');
|
|
75
|
+
var end = ( start > -1 ) ? entry.indexOf('>', start + 1) : -1;
|
|
76
|
+
return ( end > start ) ? entry.slice(start + 1, end) : null;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Drop every entry whose URL appeared in an earlier entry (#B767). The first
|
|
81
|
+
* one wins, so the order is kept; an entry without a URL is kept as is.
|
|
82
|
+
*
|
|
83
|
+
* @param {string[]} entries
|
|
84
|
+
* @returns {string[]}
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* dedupLinkEntries(['</a.css>; as=style; rel=preload', '</a.css>; as=style; rel=preload']);
|
|
88
|
+
* // -> ['</a.css>; as=style; rel=preload']
|
|
89
|
+
*/
|
|
90
|
+
function dedupLinkEntries(entries) {
|
|
91
|
+
var seen = Object.create(null), kept = [];
|
|
92
|
+
for (var i = 0, len = entries.length; i < len; ++i) {
|
|
93
|
+
var url = linkEntryUrl(entries[i]);
|
|
94
|
+
if ( url !== null ) {
|
|
95
|
+
if ( seen[url] ) {
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
seen[url] = true;
|
|
99
|
+
}
|
|
100
|
+
kept.push(entries[i]);
|
|
101
|
+
}
|
|
102
|
+
return kept;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Keep entries, in order, while their joined value stays within `maxSize`
|
|
107
|
+
* bytes; stop at the first entry that would exceed it.
|
|
108
|
+
*
|
|
109
|
+
* @param {string[]} entries
|
|
110
|
+
* @param {number} maxSize - Bytes; `0` keeps every entry
|
|
111
|
+
* @param {string} separator - What the entries will be joined with (`','`, or `', '` for node's HTTP/1.1 array)
|
|
112
|
+
* @returns {string[]}
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* capLinkEntries(['</a.css>; as=style; rel=preload', '</b.css>; as=style; rel=preload'], 40, ',');
|
|
116
|
+
* // -> ['</a.css>; as=style; rel=preload'] (31 bytes; the second would make 63)
|
|
117
|
+
*/
|
|
118
|
+
function capLinkEntries(entries, maxSize, separator) {
|
|
119
|
+
if ( !maxSize ) {
|
|
120
|
+
return entries.slice();
|
|
121
|
+
}
|
|
122
|
+
var sepBytes = Buffer.byteLength(separator), kept = [], bytes = 0;
|
|
123
|
+
for (var i = 0, len = entries.length; i < len; ++i) {
|
|
124
|
+
var add = Buffer.byteLength(entries[i]) + ( (kept.length > 0) ? sepBytes : 0 );
|
|
125
|
+
if ( bytes + add > maxSize ) {
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
kept.push(entries[i]);
|
|
129
|
+
bytes += add;
|
|
130
|
+
}
|
|
131
|
+
return kept;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Read `preloadHintsEnabled` and `preloadHintsMaxSize` off a resolved template
|
|
136
|
+
* config. Only `false` turns the hints off. A size must be a non-negative
|
|
137
|
+
* integer; any other value (a negative number, a fraction, a string, `NaN`)
|
|
138
|
+
* falls back to `DEFAULT_MAX_SIZE` and prints one warning per process.
|
|
139
|
+
* An absent or `null` size is the default, silently.
|
|
140
|
+
*
|
|
141
|
+
* @param {object} [templateConf] - The page's resolved `templates.json` entry
|
|
142
|
+
* @returns {{enabled: boolean, maxSize: number}}
|
|
143
|
+
*
|
|
144
|
+
* @example
|
|
145
|
+
* resolvePreloadHints({ preloadHintsMaxSize: 0 }); // -> { enabled: true, maxSize: 0 }
|
|
146
|
+
* resolvePreloadHints({ preloadHintsEnabled: false }); // -> { enabled: false, maxSize: 1024 }
|
|
147
|
+
*/
|
|
148
|
+
function resolvePreloadHints(templateConf) {
|
|
149
|
+
var conf = templateConf || {};
|
|
150
|
+
var size = conf.preloadHintsMaxSize;
|
|
151
|
+
var maxSize = DEFAULT_MAX_SIZE;
|
|
152
|
+
|
|
153
|
+
if ( typeof(size) != 'undefined' && size !== null ) {
|
|
154
|
+
if ( typeof(size) == 'number' && Number.isInteger(size) && size >= 0 ) {
|
|
155
|
+
maxSize = size;
|
|
156
|
+
} else if ( !warnedInvalidSize ) {
|
|
157
|
+
warnedInvalidSize = true;
|
|
158
|
+
console.warn('[preload-hints] templates.json `preloadHintsMaxSize` must be a whole number of bytes, 0 or more (0 = no cap) - got '+ JSON.stringify(size) +', using '+ DEFAULT_MAX_SIZE +'. Warned once per process.');
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
return { enabled: conf.preloadHintsEnabled !== false, maxSize: maxSize };
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* The value of an automatic hint (the 200 `link` header or the 103): `''` when
|
|
167
|
+
* `preloadHintsEnabled` is `false`; otherwise duplicates dropped and the cap
|
|
168
|
+
* applied, entries joined with `','` as gina writes them. Under the cap and
|
|
169
|
+
* without duplicates the value comes back byte-identical.
|
|
170
|
+
*
|
|
171
|
+
* @param {string} value - The assembled `Link` value
|
|
172
|
+
* @param {object} [templateConf] - The page's resolved `templates.json` entry
|
|
173
|
+
* @returns {string} `''` when nothing is to be sent
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
* shapeLinks('</a.css>; as=style; rel=preload,</a.css>; as=style; rel=preload', {});
|
|
177
|
+
* // -> '</a.css>; as=style; rel=preload'
|
|
178
|
+
*/
|
|
179
|
+
function shapeLinks(value, templateConf) {
|
|
180
|
+
var opts = resolvePreloadHints(templateConf);
|
|
181
|
+
if ( !opts.enabled || !value ) {
|
|
182
|
+
return '';
|
|
183
|
+
}
|
|
184
|
+
return capLinkEntries(dedupLinkEntries(splitLinkEntries(value)), opts.maxSize, ',').join(',');
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* The entries `setEarlyHints()` hands node's `res.writeEarlyHints()` over
|
|
189
|
+
* HTTP/1.1: one array element per entry (node validates each element as ONE
|
|
190
|
+
* link value and joins them with `', '`, #B770), capped at the page's
|
|
191
|
+
* `preloadHintsMaxSize` measured on that join.
|
|
192
|
+
*
|
|
193
|
+
* @param {string|string[]} links - What `setEarlyHints()` was given
|
|
194
|
+
* @param {object} [templateConf] - The page's resolved `templates.json` entry
|
|
195
|
+
* @returns {string[]} Possibly empty
|
|
196
|
+
*
|
|
197
|
+
* @example
|
|
198
|
+
* toEarlyHintsList(['</a.css>; rel=preload; as=style', '</b.js>; rel=preload; as=script'], {});
|
|
199
|
+
* // -> ['</a.css>; rel=preload; as=style', '</b.js>; rel=preload; as=script']
|
|
200
|
+
*/
|
|
201
|
+
function toEarlyHintsList(links, templateConf) {
|
|
202
|
+
var given = Array.isArray(links) ? links : [links];
|
|
203
|
+
var entries = [];
|
|
204
|
+
for (var i = 0, len = given.length; i < len; ++i) {
|
|
205
|
+
if ( given[i] ) {
|
|
206
|
+
entries = entries.concat(splitLinkEntries(given[i]));
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
return capLinkEntries(entries, resolvePreloadHints(templateConf).maxSize, ', ');
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Test seam: re-arm the once-per-process warning.
|
|
214
|
+
* @private
|
|
215
|
+
*/
|
|
216
|
+
function _resetWarnings() {
|
|
217
|
+
warnedInvalidSize = false;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
module.exports = {
|
|
221
|
+
DEFAULT_MAX_SIZE : DEFAULT_MAX_SIZE,
|
|
222
|
+
splitLinkEntries : splitLinkEntries,
|
|
223
|
+
linkEntryUrl : linkEntryUrl,
|
|
224
|
+
dedupLinkEntries : dedupLinkEntries,
|
|
225
|
+
capLinkEntries : capLinkEntries,
|
|
226
|
+
resolvePreloadHints : resolvePreloadHints,
|
|
227
|
+
shapeLinks : shapeLinks,
|
|
228
|
+
toEarlyHintsList : toEarlyHintsList,
|
|
229
|
+
_resetWarnings : _resetWarnings
|
|
230
|
+
};
|
|
@@ -3185,9 +3185,17 @@ function ValidatorPlugin(rules, data, formId, culture) {
|
|
|
3185
3185
|
* send
|
|
3186
3186
|
* N.B.: no validation here; if you want to validate against rules, use `.submit()` or `.validateFormById(formId)` before
|
|
3187
3187
|
*
|
|
3188
|
+
* Reads nothing from the event being dispatched when it runs (#B758): with no `data` it
|
|
3189
|
+
* sends an empty body, and a staged upload's group comes from the file input its virtual
|
|
3190
|
+
* upload form stages for (`data-gina-form-upload-group`, `untagged` when unset).
|
|
3188
3191
|
*
|
|
3189
|
-
* @param {object} data - FormData object (https://developer.mozilla.org/en-US/docs/Web/API/FormData/Using_FormData_Objects)
|
|
3192
|
+
* @param {object|FormData} [data] - the payload: a plain object (sent as JSON) or a FormData object (https://developer.mozilla.org/en-US/docs/Web/API/FormData/Using_FormData_Objects); omitted, an empty body is sent
|
|
3190
3193
|
* @param {object} [ options ] : { isSynchrone: false, withCredentials: true, withRateLimit: true }
|
|
3194
|
+
* @returns {void}
|
|
3195
|
+
*
|
|
3196
|
+
* @example
|
|
3197
|
+
* // after your own validation, post the form's data over AJAX
|
|
3198
|
+
* gina.validator.$forms['signup'].send(result.toData());
|
|
3191
3199
|
* */
|
|
3192
3200
|
var send = function(data, options) {
|
|
3193
3201
|
|
|
@@ -4482,8 +4490,12 @@ function ValidatorPlugin(rules, data, formId, culture) {
|
|
|
4482
4490
|
|
|
4483
4491
|
|
|
4484
4492
|
// sending
|
|
4485
|
-
|
|
4486
|
-
|
|
4493
|
+
// #B758 — a no-data send() no longer reads `event.detail.data` from the implicit
|
|
4494
|
+
// global `event`: outside a dispatch it is undefined, so the call threw here, after
|
|
4495
|
+
// `isSending` was claimed above, and left the form in sending. A no-data call now
|
|
4496
|
+
// takes the empty-body branch below; nothing in gina calls send() without data.
|
|
4497
|
+
// was: if (!data)
|
|
4498
|
+
// was: data = event.detail.data;
|
|
4487
4499
|
|
|
4488
4500
|
if (data) {
|
|
4489
4501
|
|
|
@@ -4499,7 +4511,17 @@ function ValidatorPlugin(rules, data, formId, culture) {
|
|
|
4499
4511
|
if ( !(data instanceof FormData) ) {
|
|
4500
4512
|
data = JSON.stringify(data)
|
|
4501
4513
|
} else {
|
|
4502
|
-
|
|
4514
|
+
// #B758 — the group comes from the file input this virtual upload form
|
|
4515
|
+
// stages for (`uploadProperties.uploadTriggerId`), not from the implicit
|
|
4516
|
+
// global `event`: the picker and the dropzone call send() inside that
|
|
4517
|
+
// input's change dispatch, but a direct `$forms[<virtual id>].send(formData)`
|
|
4518
|
+
// ran outside any dispatch (a TypeError, reported as a staging error) or
|
|
4519
|
+
// inside an unrelated one (that event's element's group, silently).
|
|
4520
|
+
// was: var uploadGroup = event.currentTarget.getAttribute('data-gina-form-upload-group') || 'untagged';
|
|
4521
|
+
var $uploadGroupInput = ( $target.uploadProperties && $target.uploadProperties.uploadTriggerId )
|
|
4522
|
+
? document.getElementById($target.uploadProperties.uploadTriggerId)
|
|
4523
|
+
: null;
|
|
4524
|
+
var uploadGroup = ( $uploadGroupInput && $uploadGroupInput.getAttribute('data-gina-form-upload-group') ) || 'untagged';
|
|
4503
4525
|
for (var [key, value] of data.entries() ) {
|
|
4504
4526
|
// file upload case
|
|
4505
4527
|
if (value instanceof File) {
|