gina 0.3.2 → 0.3.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 +29 -0
- package/README.md +18 -8
- package/ROADMAP.md +10 -9
- package/framework/v0.3.3/VERSION +1 -0
- package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/README.md +7 -8
- package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/html/toolbar.html +1 -1
- package/framework/v0.3.3/core/asset/plugin/dist/vendor/gina/html/toolbar.html.br +0 -0
- package/framework/v0.3.3/core/asset/plugin/dist/vendor/gina/html/toolbar.html.gz +0 -0
- package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +2 -0
- package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +103 -0
- package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/js/gina.js +293 -201
- package/framework/v0.3.3/core/asset/plugin/dist/vendor/gina/js/gina.min.js +21636 -0
- package/framework/v0.3.3/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- package/framework/v0.3.3/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
- package/framework/v0.3.3/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +286 -0
- package/framework/v0.3.3/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
- package/framework/v0.3.3/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
- package/framework/{v0.3.2 → v0.3.3}/core/config.js +6 -1
- package/framework/{v0.3.2 → v0.3.3}/core/connectors/mysql/index.js +52 -0
- package/framework/{v0.3.2 → v0.3.3}/core/connectors/postgresql/index.js +45 -0
- package/framework/{v0.3.2 → v0.3.3}/core/connectors/sqlite/index.js +46 -0
- package/framework/{v0.3.2 → v0.3.3}/core/controller/controller.js +1 -1
- package/framework/{v0.3.2 → v0.3.3}/core/deps/busboy-1.6.0/lib/types/multipart.js +2 -1
- package/framework/v0.3.3/core/deps/streamsearch-1.1.0/LICENSE +19 -0
- package/framework/v0.3.3/core/deps/streamsearch-1.1.0/lib/sbmh.js +267 -0
- package/framework/v0.3.3/core/deps/streamsearch-1.1.0/package.json +34 -0
- package/framework/{v0.3.2 → v0.3.3}/core/gna.js +30 -30
- package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/storage/src/main.js +3 -3
- package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/validator/src/main.js +34 -29
- package/framework/{v0.3.2 → v0.3.3}/core/server.isaac.js +77 -13
- package/framework/{v0.3.2 → v0.3.3}/core/server.js +66 -18
- package/framework/{v0.3.2 → v0.3.3}/helpers/json/src/main.js +14 -1
- package/framework/{v0.3.2 → v0.3.3}/lib/cache/src/main.js +2 -2
- package/framework/{v0.3.2 → v0.3.3}/lib/cmd/aliases.json +3 -0
- package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/arguments.json +2 -1
- package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/help.txt +21 -1
- package/framework/v0.3.3/lib/cmd/bundle/oas.js +6 -0
- package/framework/v0.3.3/lib/cmd/bundle/openapi.js +519 -0
- package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/start.js +4 -1
- package/framework/v0.3.3/lib/cmd/framework/get.js +98 -0
- package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/help.txt +8 -3
- package/framework/{v0.3.2 → v0.3.3}/lib/cmd/port/help.txt +7 -2
- package/framework/v0.3.3/lib/cmd/port/set.js +348 -0
- package/framework/{v0.3.2 → v0.3.3}/lib/collection/src/main.js +4 -4
- package/framework/{v0.3.2 → v0.3.3}/lib/index.js +1 -0
- package/framework/{v0.3.2 → v0.3.3}/lib/logger/src/containers/mq/listener.js +2 -2
- package/framework/v0.3.3/lib/uuid/package.json +7 -0
- package/framework/v0.3.3/lib/uuid/src/main.js +99 -0
- package/framework/v0.3.3/package.json +8 -0
- package/gna.js +86 -0
- package/llms.txt +94 -4
- package/package.json +107 -101
- package/types/globals.d.ts +205 -0
- package/types/gna.d.ts +67 -0
- package/types/index.d.ts +566 -0
- package/framework/v0.3.2/VERSION +0 -1
- package/framework/v0.3.2/core/asset/plugin/dist/vendor/gina/html/toolbar.html.br +0 -0
- package/framework/v0.3.2/core/asset/plugin/dist/vendor/gina/html/toolbar.html.gz +0 -0
- package/framework/v0.3.2/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -532
- package/framework/v0.3.2/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- package/framework/v0.3.2/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
- package/framework/v0.3.2/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -8
- package/framework/v0.3.2/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
- package/framework/v0.3.2/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
- package/framework/v0.3.2/core/deps/swig-1.4.2/CONTRIBUTING.md +0 -107
- package/framework/v0.3.2/core/deps/swig-1.4.2/HISTORY.md +0 -498
- package/framework/v0.3.2/core/deps/swig-1.4.2/LICENSE +0 -7
- package/framework/v0.3.2/core/deps/swig-1.4.2/Makefile +0 -192
- package/framework/v0.3.2/core/deps/swig-1.4.2/README.md +0 -88
- package/framework/v0.3.2/core/deps/swig-1.4.2/bin/swig.js +0 -161
- package/framework/v0.3.2/core/deps/swig-1.4.2/browser/comments.js +0 -2
- package/framework/v0.3.2/core/deps/swig-1.4.2/browser/index.js +0 -9
- package/framework/v0.3.2/core/deps/swig-1.4.2/dist/swig.min.js +0 -7
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/api.html +0 -136
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/browser.html +0 -36
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/cli.html +0 -64
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/extending.html +0 -183
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/filters.html +0 -97
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/includes/TYPES.html +0 -0
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/includes/macros.html +0 -9
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/index.html +0 -212
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/layout.html +0 -43
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/loaders.html +0 -106
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/previous.html +0 -25
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/tags.html +0 -72
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs.json +0 -3
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/index.html +0 -98
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/index.json +0 -3
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/js/lib/rainbow.min.js +0 -11
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/js/master.js +0 -106
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/layouts/html5.html +0 -25
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/layouts/master.html +0 -59
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/less/button.less +0 -22
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/less/fork.less +0 -23
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/less/header.less +0 -61
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/less/layout.less +0 -96
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/less/mixins.less +0 -268
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/less/rainbow.less +0 -58
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/less/reset.less +0 -250
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/less/sidenav.less +0 -16
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/less/swig.less +0 -124
- package/framework/v0.3.2/core/deps/swig-1.4.2/docs/less/variables.less +0 -42
- package/framework/v0.3.2/core/deps/swig-1.4.2/index.js +0 -1
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/dateformatter.js +0 -198
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/filters.js +0 -630
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/lexer.js +0 -306
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/loaders/filesystem.js +0 -59
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/loaders/index.js +0 -53
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/loaders/memory.js +0 -63
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/parser.js +0 -744
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/swig.js +0 -740
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/autoescape.js +0 -37
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/block.js +0 -25
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/else.js +0 -25
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/elseif.js +0 -28
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/extends.js +0 -19
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/filter.js +0 -68
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/for.js +0 -130
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/if.js +0 -86
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/import.js +0 -91
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/include.js +0 -100
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/index.js +0 -16
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/macro.js +0 -79
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/parent.js +0 -51
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/raw.js +0 -23
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/set.js +0 -109
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/spaceless.js +0 -42
- package/framework/v0.3.2/core/deps/swig-1.4.2/lib/utils.js +0 -184
- package/framework/v0.3.2/core/deps/swig-1.4.2/package.json +0 -41
- package/framework/v0.3.2/core/deps/swig-1.4.2/scripts/config-lint.js +0 -41
- package/framework/v0.3.2/core/deps/swig-1.4.2/scripts/githooks/post-merge +0 -3
- package/framework/v0.3.2/core/deps/swig-1.4.2/scripts/githooks/pre-commit +0 -59
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/basic.test.js +0 -296
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/bin/bin.filters.js +0 -3
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/bin/bin.locals.js +0 -5
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/bin/bin.locals.json +0 -7
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/bin/bin.tags.js +0 -15
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/bin/bin.test.js +0 -159
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/bin/custom_filter.bin.html +0 -1
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/bin/custom_tag.bin.html +0 -1
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/bin/custom_tagControls.bin.html +0 -1
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/bin/custom_varControls.bin.html +0 -1
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/bin/options.js +0 -3
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_1.expectation.html +0 -6
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_1.test.html +0 -3
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_2.expectation.html +0 -6
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_2.test.html +0 -5
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_base.html +0 -6
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_4.base.html +0 -1
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_4.middle.html +0 -2
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_bare.html +0 -2
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_base.html +0 -3
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_include.html +0 -3
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_real_base.html +0 -1
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_set.expectation.html +0 -6
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_set.test.html +0 -4
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_tests/extends_3.expectation.html +0 -1
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_tests/extends_3.test.html +0 -3
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_tests/extends_4.expectation.html +0 -1
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_tests/extends_4.test.html +0 -2
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/import.expectation.html +0 -24
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/import.test.html +0 -10
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/include.expectation.html +0 -24
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/include.test.html +0 -13
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/include_bar.html +0 -1
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/include_extends.expectation.html +0 -4
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/include_extends.test.html +0 -1
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/includes.html +0 -1
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/macros.expectation.html +0 -8
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/macros.html +0 -23
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/macros.test.html +0 -11
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/nested_blocks.expectation.html +0 -3
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/nested_blocks.test.html +0 -3
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/nested_blocks_parent.html +0 -3
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/parent-parent.expectation.html +0 -8
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/parent-parent.test.html +0 -1
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/parent.expectation.html +0 -8
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/parent.test.html +0 -9
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/set.expectation.html +0 -3
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/set.test.html +0 -8
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases-error/circular.test.html +0 -1
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases-error/circular_parent.html +0 -1
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases-error/extends-non-existent.test.html +0 -1
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases-error/report-filename-partial.html +0 -1
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases-error/report-filename.test.html +0 -1
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/comments.test.js +0 -12
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/filters.test.js +0 -316
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/loaders.test.js +0 -119
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/regressions.test.js +0 -41
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/autoescape.test.js +0 -45
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/else.test.js +0 -61
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/extend.test.js +0 -11
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/filter.test.js +0 -29
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/for.test.js +0 -63
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/if.test.js +0 -75
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/import.test.js +0 -15
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/include.test.js +0 -26
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/macro.test.js +0 -38
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/parent.test.js +0 -14
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/raw.test.js +0 -33
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/set.test.js +0 -56
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/spaceless.test.js +0 -26
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags.test.js +0 -56
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/templates.test.js +0 -62
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/variables.test.js +0 -183
- package/framework/v0.3.2/core/deps/swig-1.4.2/tests/whitespace.test.js +0 -43
- package/framework/v0.3.2/lib/cmd/framework/get.js +0 -0
- package/framework/v0.3.2/lib/cmd/port/set.js +0 -0
- package/framework/v0.3.2/package.json +0 -5
- /package/framework/{v0.3.2 → v0.3.3}/AUTHORS +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/LICENSE +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/asset/html/nolayout.html +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/asset/html/static.html +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/asset/img/android-chrome-192x192.png +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/asset/img/android-chrome-512x512.png +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/asset/img/apple-touch-icon.png +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/asset/img/favicon-16x16.png +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/asset/img/favicon-32x32.png +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/asset/img/favicon.ico +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/connectors/ai/index.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/connectors/ai/lib/connector.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/connectors/couchbase/index.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/connectors/couchbase/lib/connector.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/connectors/couchbase/lib/connector.v2.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/connectors/couchbase/lib/connector.v3.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/connectors/couchbase/lib/connector.v4.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/connectors/couchbase/lib/n1ql.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/connectors/couchbase/lib/session-store.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/connectors/mysql/lib/connector.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/connectors/postgresql/lib/connector.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/connectors/redis/index.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/connectors/redis/lib/session-store.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/connectors/sql-parser.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/connectors/sqlite/lib/connector.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/connectors/sqlite/lib/session-store.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/content.encoding +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/controller/controller.framework.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/controller/controller.render-json.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/controller/controller.render-stream.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/controller/controller.render-swig.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/controller/controller.render-v1.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/controller/index.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/deps/busboy-1.6.0/LICENSE +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/deps/busboy-1.6.0/README.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/deps/busboy-1.6.0/lib/index.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/deps/busboy-1.6.0/lib/types/urlencoded.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/deps/busboy-1.6.0/lib/utils.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/deps/busboy-1.6.0/package.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/deps/optimist-0.6.1/LICENSE +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/deps/optimist-0.6.1/index.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/deps/optimist-0.6.1/package.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/deps/optimist-0.6.1/readme.markdown +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/deps/swig-client/swig.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/dev/index.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/dev/lib/class.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/dev/lib/factory.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/dev/lib/tools.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/locales/README.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/locales/currency.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/locales/dist/language/en.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/locales/dist/language/fr.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/locales/dist/region/en.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/locales/dist/region/fr.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/locales/index.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/mime.types +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/model/entity.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/model/index.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/model/template/entityFactory.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/model/template/index.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/plugins/README.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/plugins/index.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/file/README.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/file/build.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/file/package.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/intl/README.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/intl/build.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/intl/package.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/intl/src/main.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/storage/README.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/storage/build.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/storage/package.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/validator/README.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/validator/build.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/validator/package.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/validator/src/form-validator.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/router.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/server.express.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/status.codes +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/_gitignore +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle/config/app.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle/config/connectors.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle/config/routing.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle/config/settings.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle/config/templates.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle/config/watchers.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle/index.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_public/css/home.css +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_public/readme.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/command/gina.bat.tpl +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/command/gina.tpl +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/conf/env.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/conf/manifest.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/conf/package.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/conf/settings.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/conf/statics.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/conf/templates.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/error/client/json/401.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/error/client/json/403.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/error/client/json/404.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/error/server/html/50x.html +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/error/server/json/500.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/error/server/json/503.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/core/template/extensions/logger/config.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/helpers/console.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/helpers/context.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/helpers/data/LICENSE +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/helpers/data/README.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/helpers/data/package.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/helpers/data/src/main.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/helpers/dateFormat.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/helpers/index.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/helpers/json/LICENSE +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/helpers/json/README.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/helpers/json/package.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/helpers/path.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/helpers/plugins/README.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/helpers/plugins/package.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/helpers/plugins/src/api-error.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/helpers/plugins/src/main.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/helpers/prototypes.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/helpers/task.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/helpers/text.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/archiver/README.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/archiver/build.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/archiver/package.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/archiver/src/dep/jszip.min.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/archiver/src/main.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/async/package.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/async/src/main.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cache/README.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cache/build.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cache/package.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/add.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/build.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/copy.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/cp.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/help.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/list.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/remove.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/rename.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/restart.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/rm.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/status.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/stop.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/cache/stats.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/env/add.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/env/get.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/env/help.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/env/help.txt +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/env/link-dev.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/env/list.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/env/remove.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/env/rm.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/env/set.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/env/unset.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/env/use.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/arguments.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/build.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/dot.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/help.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/init.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/link-node-modules.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/link.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/msg.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/open.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/restart.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/set.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/start.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/status.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/stop.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/tail.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/update.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/version.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/gina-dev.1.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/gina-framework.1.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/gina.1.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/helper.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/index.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/inspector/help.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/inspector/help.txt +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/inspector/open.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/minion/help.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/minion/help.txt +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/msg.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/port/help.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/port/inc/scan.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/port/list.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/port/reset.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/add.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/arguments.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/build.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/help.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/help.txt +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/import.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/list.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/move.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/remove.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/rename.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/restart.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/rm.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/start.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/status.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/stop.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/protocol/help.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/protocol/help.txt +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/protocol/list.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/protocol/set.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/scope/add.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/scope/help.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/scope/help.txt +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/scope/link-local.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/scope/link-production.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/scope/list.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/scope/remove.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/scope/rm.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/scope/use.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/view/add.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/collection/README.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/collection/build.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/collection/package.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/config.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cron/README.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cron/package.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/cron/src/main.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/domain/LICENSE +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/domain/README.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/domain/dist/2025-03-14_13-41-20_UTC.dat +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/domain/dist/public_suffix_list.dat +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/domain/dist/public_suffix_list.dat.br +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/domain/dist/public_suffix_list.dat.gz +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/domain/package.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/domain/src/main.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/generator/index.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/inherits/LICENSE +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/inherits/README.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/inherits/package.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/inherits/src/main.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/logger/README.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/logger/package.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/logger/src/containers/default/index.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/logger/src/containers/file/index.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/logger/src/containers/mq/index.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/logger/src/containers/mq/speaker.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/logger/src/helper.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/logger/src/main.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/math/index.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/merge/README.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/merge/package.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/merge/src/main.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/model.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/proc.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/routing/README.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/routing/build.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/routing/package.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/routing/src/main.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/routing/src/radix.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/session-store.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/shell.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/state.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/swig-filters/README.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/swig-filters/package.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/swig-filters/src/main.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/url/README.md +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/url/index.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/url/routing.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/validator.js +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/watcher/package.json +0 -0
- /package/framework/{v0.3.2 → v0.3.3}/lib/watcher/src/main.js +0 -0
|
@@ -0,0 +1,519 @@
|
|
|
1
|
+
var fs = require('fs');
|
|
2
|
+
var CmdHelper = require('./../helper');
|
|
3
|
+
var console = lib.logger;
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @module gina/lib/cmd/bundle/openapi
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Generates an OpenAPI 3.1.0 specification from routing.json for one or more
|
|
10
|
+
* bundles in a project. The spec is written to each bundle's config directory
|
|
11
|
+
* as `openapi.json` by default, or to a custom path via `--output`.
|
|
12
|
+
*
|
|
13
|
+
* Usage:
|
|
14
|
+
* gina bundle:openapi <bundle_name> @<project_name>
|
|
15
|
+
* gina bundle:openapi @<project_name> (all bundles)
|
|
16
|
+
* gina bundle:openapi <bundle_name> @<project_name> --output=/tmp/spec.json
|
|
17
|
+
*
|
|
18
|
+
* @class OpenAPI
|
|
19
|
+
* @constructor
|
|
20
|
+
* @param {object} opt - Parsed command-line options
|
|
21
|
+
* @param {object} opt.client - Socket client for terminal output
|
|
22
|
+
* @param {string[]} opt.argv - Full argv array
|
|
23
|
+
* @param {number} [opt.debugPort] - Node.js inspector port
|
|
24
|
+
* @param {boolean} [opt.debugBrkEnabled] - True when --inspect-brk is active
|
|
25
|
+
* @param {object} cmd - The cmd dispatcher object (lib/cmd/index.js)
|
|
26
|
+
*/
|
|
27
|
+
function OpenAPI(opt, cmd) {
|
|
28
|
+
var self = {};
|
|
29
|
+
|
|
30
|
+
var init = function() {
|
|
31
|
+
|
|
32
|
+
// import CMD helpers
|
|
33
|
+
new CmdHelper(self, opt.client, { port: opt.debugPort, brkEnabled: opt.debugBrkEnabled });
|
|
34
|
+
|
|
35
|
+
// check CMD configuration
|
|
36
|
+
if ( !isCmdConfigured() ) return false;
|
|
37
|
+
|
|
38
|
+
if ( typeof(self.projects[self.projectName]) == 'undefined' || typeof(self.projects[self.projectName].path) == 'undefined' ) {
|
|
39
|
+
return end( new Error('project path not defined in ~/.gina/projects.json for [ '+ self.projectName + ' ]') );
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if (!isDefined('project', self.projectName)) {
|
|
43
|
+
return end( new Error('Missing argument @<project_name>') );
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (!self.bundles.length) {
|
|
47
|
+
return end( new Error('No bundle found in your project `'+ self.projectName +'`') );
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
generateSpecs();
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Iterates every requested bundle and emits an OpenAPI spec for each.
|
|
56
|
+
*
|
|
57
|
+
* @private
|
|
58
|
+
*/
|
|
59
|
+
var generateSpecs = function() {
|
|
60
|
+
|
|
61
|
+
var manifest = self.projectData
|
|
62
|
+
, bundles = self.bundles
|
|
63
|
+
, outputArg = self.params['output'] || null
|
|
64
|
+
;
|
|
65
|
+
|
|
66
|
+
for (var b = 0, len = bundles.length; b < len; b++) {
|
|
67
|
+
var bundle = bundles[b]
|
|
68
|
+
, bundleSrc = manifest.bundles[bundle].src
|
|
69
|
+
, srcPath = _(self.projects[self.projectName].path + '/' + bundleSrc, true)
|
|
70
|
+
, routingPath = _(srcPath + '/config/routing.json', true)
|
|
71
|
+
, settingsPath = _(srcPath + '/config/settings.json', true)
|
|
72
|
+
;
|
|
73
|
+
|
|
74
|
+
if ( !fs.existsSync(routingPath) ) {
|
|
75
|
+
console.warn('[ '+ bundle +' ] routing.json not found at '+ routingPath +' — skipping');
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// Clear require cache to pick up latest edits
|
|
80
|
+
if ( typeof(require.cache[routingPath]) != 'undefined' ) {
|
|
81
|
+
delete require.cache[require.resolve(routingPath)];
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
var routing = null;
|
|
85
|
+
try {
|
|
86
|
+
routing = require(routingPath);
|
|
87
|
+
} catch(parseErr) {
|
|
88
|
+
return end( new Error('Failed to parse routing.json for bundle [ '+ bundle +' ]: '+ parseErr.message) );
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// Optional: read settings.json for region info
|
|
92
|
+
var settings = null;
|
|
93
|
+
if ( fs.existsSync(settingsPath) ) {
|
|
94
|
+
if ( typeof(require.cache[settingsPath]) != 'undefined' ) {
|
|
95
|
+
delete require.cache[require.resolve(settingsPath)];
|
|
96
|
+
}
|
|
97
|
+
try { settings = require(settingsPath) } catch(e) { /* ignore */ }
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// Resolve port info for the server URL
|
|
101
|
+
var portInfo = resolvePortInfo(bundle);
|
|
102
|
+
|
|
103
|
+
var spec = buildSpec(bundle, routing, settings, portInfo);
|
|
104
|
+
|
|
105
|
+
var outputPath = outputArg
|
|
106
|
+
? _(outputArg, true)
|
|
107
|
+
: _(srcPath + '/config/openapi.json', true);
|
|
108
|
+
|
|
109
|
+
try {
|
|
110
|
+
fs.writeFileSync(outputPath, JSON.stringify(spec, null, 2) + '\n', 'utf8');
|
|
111
|
+
} catch(writeErr) {
|
|
112
|
+
return end( new Error('Failed to write '+ outputPath +': '+ writeErr.message) );
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
console.log('[ '+ bundle +' ] OpenAPI spec written to '+ outputPath);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
end();
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Resolves port and scheme info for a bundle from the ports registry.
|
|
124
|
+
*
|
|
125
|
+
* @private
|
|
126
|
+
* @param {string} bundle
|
|
127
|
+
* @returns {{ port: number|null, scheme: string, protocol: string }}
|
|
128
|
+
*/
|
|
129
|
+
var resolvePortInfo = function(bundle) {
|
|
130
|
+
var result = { port: null, scheme: 'http', protocol: 'http/1.1' };
|
|
131
|
+
var key = bundle + '@' + self.projectName;
|
|
132
|
+
|
|
133
|
+
if ( typeof(self.portsReverseData) != 'undefined' && typeof(self.portsReverseData[key]) != 'undefined' ) {
|
|
134
|
+
var entry = self.portsReverseData[key];
|
|
135
|
+
result.port = entry.port || null;
|
|
136
|
+
result.scheme = entry.scheme || 'http';
|
|
137
|
+
result.protocol = entry.protocol || 'http/1.1';
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
return result;
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Builds an OpenAPI 3.1.0 specification object from a parsed routing.json.
|
|
146
|
+
*
|
|
147
|
+
* @private
|
|
148
|
+
* @param {string} bundle - Bundle name
|
|
149
|
+
* @param {object} routing - Parsed routing.json
|
|
150
|
+
* @param {object|null} settings - Parsed settings.json (may be null)
|
|
151
|
+
* @param {{ port: number|null, scheme: string, protocol: string }} portInfo
|
|
152
|
+
* @returns {object} OpenAPI spec
|
|
153
|
+
*/
|
|
154
|
+
var buildSpec = function(bundle, routing, settings, portInfo) {
|
|
155
|
+
|
|
156
|
+
var spec = {
|
|
157
|
+
openapi: '3.1.0',
|
|
158
|
+
info: {
|
|
159
|
+
title: bundle + ' API',
|
|
160
|
+
version: self.projectData.bundles[bundle].version || '0.0.1',
|
|
161
|
+
description: 'OpenAPI specification for the ' + bundle + ' bundle, generated from routing.json.'
|
|
162
|
+
},
|
|
163
|
+
servers: [],
|
|
164
|
+
paths: {},
|
|
165
|
+
tags: []
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
// Build server URL
|
|
169
|
+
var serverUrl = portInfo.scheme + '://localhost';
|
|
170
|
+
if (portInfo.port) {
|
|
171
|
+
serverUrl += ':' + portInfo.port;
|
|
172
|
+
}
|
|
173
|
+
spec.servers.push({
|
|
174
|
+
url: serverUrl,
|
|
175
|
+
description: 'Local development server'
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
var tagSet = {};
|
|
179
|
+
|
|
180
|
+
for (var routeName in routing) {
|
|
181
|
+
if ( !routing.hasOwnProperty(routeName) ) continue;
|
|
182
|
+
|
|
183
|
+
var route = routing[routeName];
|
|
184
|
+
|
|
185
|
+
// Skip non-route entries
|
|
186
|
+
if ( typeof(route) !== 'object' || route === null ) continue;
|
|
187
|
+
|
|
188
|
+
// Skip $schema
|
|
189
|
+
if ( routeName === '$schema' ) continue;
|
|
190
|
+
|
|
191
|
+
// Parse URL(s)
|
|
192
|
+
var urls = parseUrls(route.url || '/' + routeName);
|
|
193
|
+
|
|
194
|
+
// Parse methods
|
|
195
|
+
var methods = parseMethods(route.method);
|
|
196
|
+
|
|
197
|
+
// Extract parameters from URL pattern + requirements
|
|
198
|
+
var namespace = route.namespace || null;
|
|
199
|
+
|
|
200
|
+
// Collect tag
|
|
201
|
+
if (namespace) {
|
|
202
|
+
if ( !tagSet[namespace] ) {
|
|
203
|
+
tagSet[namespace] = true;
|
|
204
|
+
spec.tags.push({ name: namespace });
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
// Build an operation for each URL pattern x method combination
|
|
209
|
+
for (var u = 0; u < urls.length; u++) {
|
|
210
|
+
var urlInfo = urls[u];
|
|
211
|
+
var oaPath = urlInfo.openApiPath;
|
|
212
|
+
|
|
213
|
+
if ( typeof(spec.paths[oaPath]) == 'undefined' ) {
|
|
214
|
+
spec.paths[oaPath] = {};
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
for (var m = 0; m < methods.length; m++) {
|
|
218
|
+
var method = methods[m];
|
|
219
|
+
|
|
220
|
+
// Avoid overwriting if the same path+method already exists
|
|
221
|
+
if ( typeof(spec.paths[oaPath][method]) != 'undefined' ) continue;
|
|
222
|
+
|
|
223
|
+
var operation = buildOperation(routeName, route, urlInfo.params, namespace, methods.length > 1);
|
|
224
|
+
|
|
225
|
+
spec.paths[oaPath][method] = operation;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
// Remove tags array if empty
|
|
231
|
+
if ( !spec.tags.length ) {
|
|
232
|
+
delete spec.tags;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
return spec;
|
|
236
|
+
};
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Parses a `url` field (string, comma-separated string, or array) into
|
|
241
|
+
* an array of { openApiPath, params } objects.
|
|
242
|
+
*
|
|
243
|
+
* @private
|
|
244
|
+
* @param {string|string[]} raw
|
|
245
|
+
* @returns {{ openApiPath: string, params: string[] }[]}
|
|
246
|
+
*/
|
|
247
|
+
var parseUrls = function(raw) {
|
|
248
|
+
var patterns = [];
|
|
249
|
+
|
|
250
|
+
if ( Array.isArray(raw) ) {
|
|
251
|
+
patterns = raw;
|
|
252
|
+
} else if ( typeof(raw) === 'string' ) {
|
|
253
|
+
// Comma-separated URLs
|
|
254
|
+
patterns = raw.split(',');
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
var results = [];
|
|
258
|
+
for (var i = 0; i < patterns.length; i++) {
|
|
259
|
+
var p = patterns[i].trim();
|
|
260
|
+
if (!p) continue;
|
|
261
|
+
|
|
262
|
+
var params = [];
|
|
263
|
+
// Convert :param to {param} and collect parameter names
|
|
264
|
+
var oaPath = p.replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g, function(match, name) {
|
|
265
|
+
params.push(name);
|
|
266
|
+
return '{' + name + '}';
|
|
267
|
+
});
|
|
268
|
+
|
|
269
|
+
// Normalise trailing slashes — OpenAPI paths should not have trailing slash
|
|
270
|
+
// except for root "/"
|
|
271
|
+
if (oaPath.length > 1 && oaPath.charAt(oaPath.length - 1) === '/') {
|
|
272
|
+
oaPath = oaPath.slice(0, -1);
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
results.push({ openApiPath: oaPath, params: params });
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
return results;
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* Parses the `method` field into an array of lowercase HTTP method strings.
|
|
284
|
+
*
|
|
285
|
+
* @private
|
|
286
|
+
* @param {string} [raw]
|
|
287
|
+
* @returns {string[]}
|
|
288
|
+
*/
|
|
289
|
+
var parseMethods = function(raw) {
|
|
290
|
+
if ( !raw || typeof(raw) !== 'string' ) return ['get'];
|
|
291
|
+
|
|
292
|
+
return raw.split(',').map(function(m) {
|
|
293
|
+
return m.trim().toLowerCase();
|
|
294
|
+
}).filter(function(m) {
|
|
295
|
+
return m.length > 0;
|
|
296
|
+
});
|
|
297
|
+
};
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
/**
|
|
301
|
+
* Builds a single OpenAPI operation object for a route.
|
|
302
|
+
*
|
|
303
|
+
* @private
|
|
304
|
+
* @param {string} routeName - The route key in routing.json
|
|
305
|
+
* @param {object} route - The route definition
|
|
306
|
+
* @param {string[]} urlParams - Parameter names extracted from the URL pattern
|
|
307
|
+
* @param {string|null} namespace - Controller namespace (used as tag)
|
|
308
|
+
* @param {boolean} multiMethod - True when the route has multiple HTTP methods
|
|
309
|
+
* @returns {object} OpenAPI operation object
|
|
310
|
+
*/
|
|
311
|
+
var buildOperation = function(routeName, route, urlParams, namespace, multiMethod) {
|
|
312
|
+
var param = route.param || {};
|
|
313
|
+
var reqs = route.requirements || {};
|
|
314
|
+
|
|
315
|
+
// operationId: namespace + control, or routeName as fallback
|
|
316
|
+
var operationId = param.control || routeName;
|
|
317
|
+
if (namespace && param.control) {
|
|
318
|
+
operationId = namespace + '.' + param.control;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
var operation = {
|
|
322
|
+
operationId: operationId,
|
|
323
|
+
responses: {}
|
|
324
|
+
};
|
|
325
|
+
|
|
326
|
+
// Summary from param.title or humanised route name
|
|
327
|
+
if (param.title) {
|
|
328
|
+
operation.summary = param.title;
|
|
329
|
+
} else {
|
|
330
|
+
operation.summary = humanise(routeName);
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
// Description from _comment
|
|
334
|
+
if (route._comment) {
|
|
335
|
+
operation.description = route._comment;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
// Tags from namespace
|
|
339
|
+
if (namespace) {
|
|
340
|
+
operation.tags = [namespace];
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
// Parameters from URL segments
|
|
344
|
+
if (urlParams.length > 0) {
|
|
345
|
+
operation.parameters = [];
|
|
346
|
+
for (var i = 0; i < urlParams.length; i++) {
|
|
347
|
+
var pName = urlParams[i];
|
|
348
|
+
var paramObj = {
|
|
349
|
+
name: pName,
|
|
350
|
+
in: 'path',
|
|
351
|
+
required: true,
|
|
352
|
+
schema: { type: 'string' }
|
|
353
|
+
};
|
|
354
|
+
|
|
355
|
+
// Apply requirement as pattern
|
|
356
|
+
if ( typeof(reqs[pName]) !== 'undefined' ) {
|
|
357
|
+
var pattern = requirementToPattern(reqs[pName]);
|
|
358
|
+
if (pattern.type === 'pattern') {
|
|
359
|
+
paramObj.schema.pattern = pattern.value;
|
|
360
|
+
} else if (pattern.type === 'enum') {
|
|
361
|
+
paramObj.schema.enum = pattern.value;
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
operation.parameters.push(paramObj);
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
// Middleware as extension
|
|
370
|
+
if (route.middleware && route.middleware.length) {
|
|
371
|
+
operation['x-middleware'] = route.middleware;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
// Scopes as extension
|
|
375
|
+
if (route.scopes && route.scopes.length) {
|
|
376
|
+
operation['x-scopes'] = route.scopes;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
// Sample URL as extension
|
|
380
|
+
if (route._sample) {
|
|
381
|
+
operation['x-sample-url'] = route._sample;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
// Responses
|
|
385
|
+
if (param.control === 'redirect') {
|
|
386
|
+
var code = String(param.code || 301);
|
|
387
|
+
operation.responses[code] = {
|
|
388
|
+
description: 'Redirect to ' + (param.path || 'target URL')
|
|
389
|
+
};
|
|
390
|
+
if (param.path) {
|
|
391
|
+
operation.responses[code].headers = {
|
|
392
|
+
Location: {
|
|
393
|
+
schema: { type: 'string' },
|
|
394
|
+
description: param.path
|
|
395
|
+
}
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
} else {
|
|
399
|
+
operation.responses['200'] = {
|
|
400
|
+
description: 'Successful response'
|
|
401
|
+
};
|
|
402
|
+
|
|
403
|
+
// Add Cache-Control header hint when cache is configured
|
|
404
|
+
if (route.cache) {
|
|
405
|
+
var cacheHeader = buildCacheHeader(route.cache);
|
|
406
|
+
if (cacheHeader) {
|
|
407
|
+
operation.responses['200'].headers = {
|
|
408
|
+
'Cache-Control': {
|
|
409
|
+
schema: { type: 'string' },
|
|
410
|
+
description: cacheHeader
|
|
411
|
+
}
|
|
412
|
+
};
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
return operation;
|
|
418
|
+
};
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
/**
|
|
422
|
+
* Converts a routing.json `requirements` value to an OpenAPI-friendly
|
|
423
|
+
* pattern or enum descriptor.
|
|
424
|
+
*
|
|
425
|
+
* @private
|
|
426
|
+
* @param {string} raw - Requirement string (regex or pipe-separated alternatives)
|
|
427
|
+
* @returns {{ type: string, value: * }}
|
|
428
|
+
*/
|
|
429
|
+
var requirementToPattern = function(raw) {
|
|
430
|
+
if ( typeof(raw) !== 'string' ) return { type: 'pattern', value: '.*' };
|
|
431
|
+
|
|
432
|
+
// Validator references — pass through as extension-level info
|
|
433
|
+
if ( raw.indexOf('validator::') === 0 ) {
|
|
434
|
+
return { type: 'pattern', value: '.*' };
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
// Regex pattern: starts with "/"
|
|
438
|
+
if ( raw.charAt(0) === '/' ) {
|
|
439
|
+
// Strip leading "/" and trailing "/flags"
|
|
440
|
+
var lastSlash = raw.lastIndexOf('/');
|
|
441
|
+
if (lastSlash > 0) {
|
|
442
|
+
return { type: 'pattern', value: raw.substring(1, lastSlash) };
|
|
443
|
+
}
|
|
444
|
+
return { type: 'pattern', value: raw.substring(1) };
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
// Simple pipe-separated alternatives → enum
|
|
448
|
+
if ( raw.indexOf('|') !== -1 && !/[\\()\[\]{}^$.*+?]/.test(raw.replace(/\|/g, '')) ) {
|
|
449
|
+
return { type: 'enum', value: raw.split('|') };
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
// Regex without delimiters (parenthesised groups, anchors, etc.)
|
|
453
|
+
// Strip wrapping parens for cleaner pattern
|
|
454
|
+
var cleaned = raw;
|
|
455
|
+
if (cleaned.charAt(0) === '(' && cleaned.charAt(cleaned.length - 1) === ')') {
|
|
456
|
+
cleaned = cleaned.substring(1, cleaned.length - 1);
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
return { type: 'pattern', value: cleaned };
|
|
460
|
+
};
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
/**
|
|
464
|
+
* Builds a human-readable Cache-Control header description from a cache config.
|
|
465
|
+
*
|
|
466
|
+
* @private
|
|
467
|
+
* @param {string|object} cache
|
|
468
|
+
* @returns {string|null}
|
|
469
|
+
*/
|
|
470
|
+
var buildCacheHeader = function(cache) {
|
|
471
|
+
if ( typeof(cache) === 'string' ) {
|
|
472
|
+
return 'private, cached (' + cache + ')';
|
|
473
|
+
}
|
|
474
|
+
if ( typeof(cache) === 'object' ) {
|
|
475
|
+
var parts = [];
|
|
476
|
+
parts.push(cache.visibility || 'private');
|
|
477
|
+
if ( typeof(cache.ttl) !== 'undefined' ) {
|
|
478
|
+
parts.push('max-age=' + cache.ttl);
|
|
479
|
+
}
|
|
480
|
+
return parts.join(', ');
|
|
481
|
+
}
|
|
482
|
+
return null;
|
|
483
|
+
};
|
|
484
|
+
|
|
485
|
+
|
|
486
|
+
/**
|
|
487
|
+
* Converts a hyphenated route name to a human-readable title.
|
|
488
|
+
* e.g. "user-get-profile" → "User get profile"
|
|
489
|
+
*
|
|
490
|
+
* @private
|
|
491
|
+
* @param {string} name
|
|
492
|
+
* @returns {string}
|
|
493
|
+
*/
|
|
494
|
+
var humanise = function(name) {
|
|
495
|
+
var words = name.replace(/[-_]/g, ' ').replace(/([a-z])([A-Z])/g, '$1 $2');
|
|
496
|
+
return words.charAt(0).toUpperCase() + words.slice(1);
|
|
497
|
+
};
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
var end = function(output, type, messageOnly) {
|
|
501
|
+
var err = false;
|
|
502
|
+
if ( typeof(output) != 'undefined') {
|
|
503
|
+
if ( output instanceof Error ) {
|
|
504
|
+
err = output = ( typeof(messageOnly) != 'undefined' && /^true$/i.test(messageOnly) ) ? output.message : (output.stack||output.message);
|
|
505
|
+
}
|
|
506
|
+
if ( typeof(type) != 'undefined' ) {
|
|
507
|
+
console[type](output);
|
|
508
|
+
} else {
|
|
509
|
+
console.log(output);
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
process.exit( err ? 1 : 0 );
|
|
514
|
+
};
|
|
515
|
+
|
|
516
|
+
init();
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
module.exports = OpenAPI;
|
|
@@ -454,8 +454,11 @@ function Start(opt, cmd) {
|
|
|
454
454
|
// kill the bundle starting process first
|
|
455
455
|
child.kill('SIGKILL');
|
|
456
456
|
|
|
457
|
+
// Surface the emerg message so it is visible in docker logs
|
|
458
|
+
// and CLI output — not just routed to the daemon's MQ logger.
|
|
459
|
+
var _emergMsg = data.toString().replace(/\x1B\[\d+m/g, '').trim();
|
|
457
460
|
opt.notStarted.push(bundle + '@' + self.projectName);
|
|
458
|
-
opt.client.write(' [ ' + bundle + '@' + self.projectName + ' ] aborted :( \n
|
|
461
|
+
opt.client.write(' [ ' + bundle + '@' + self.projectName + ' ] aborted :( \n ' + _emergMsg);
|
|
459
462
|
|
|
460
463
|
++opt.onlineCount;
|
|
461
464
|
end(opt, cmd, isBulkStart, bundleIndex);
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
var console = lib.logger;
|
|
2
|
+
/**
|
|
3
|
+
* @module gina/lib/cmd/framework/get
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Reads and prints one or more entries from the framework settings file.
|
|
7
|
+
* Counterpart to `framework:set`.
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* gina get (prints all keys)
|
|
11
|
+
* gina get --rundir (prints value of rundir)
|
|
12
|
+
* gina get --rundir --log-level (prints values of rundir and log_level)
|
|
13
|
+
* gina get defaultEnv (bare key name — prints value of defaultEnv)
|
|
14
|
+
* gina get all (explicit all — same as no args)
|
|
15
|
+
*
|
|
16
|
+
* @class Get
|
|
17
|
+
* @constructor
|
|
18
|
+
* @param {object} opt - Parsed command-line options
|
|
19
|
+
* @param {object} opt.client - Socket client for terminal output
|
|
20
|
+
* @param {string[]} opt.argv - Full argv array
|
|
21
|
+
* @param {object} cmd - The cmd dispatcher object (lib/cmd/index.js)
|
|
22
|
+
*/
|
|
23
|
+
function Get(opt, cmd){
|
|
24
|
+
var self = {};
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Loads settings and determines whether to print all keys or a specific subset.
|
|
28
|
+
*
|
|
29
|
+
* @inner
|
|
30
|
+
* @private
|
|
31
|
+
*/
|
|
32
|
+
var init = function(){
|
|
33
|
+
self.target = _(GINA_HOMEDIR +'/' + GINA_SHORT_VERSION + '/settings.json');
|
|
34
|
+
self.settings = require(self.target);
|
|
35
|
+
self.bulk = false;
|
|
36
|
+
|
|
37
|
+
if ( process.argv.length > 3 ) {
|
|
38
|
+
self.bulk = true
|
|
39
|
+
}
|
|
40
|
+
get()
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Formats and prints the requested settings entries, then exits with code 0.
|
|
45
|
+
* Supports both `--flag` style and bare key names.
|
|
46
|
+
* `--all` or `all` prints every entry (same as no arguments).
|
|
47
|
+
*
|
|
48
|
+
* @inner
|
|
49
|
+
* @private
|
|
50
|
+
*/
|
|
51
|
+
var get = function() {
|
|
52
|
+
var str = ''
|
|
53
|
+
, key = ''
|
|
54
|
+
, settings = self.settings;
|
|
55
|
+
|
|
56
|
+
if (!self.bulk) {
|
|
57
|
+
for (var prop in settings) {
|
|
58
|
+
str += prop +' = '+ settings[prop] +'\n'
|
|
59
|
+
}
|
|
60
|
+
} else {
|
|
61
|
+
// check for explicit `all` / `--all`
|
|
62
|
+
for (var i = 3; i < process.argv.length; ++i) {
|
|
63
|
+
if ( /^(\-\-all|all)$/i.test(process.argv[i]) ) {
|
|
64
|
+
for (var prop in settings) {
|
|
65
|
+
str += prop +' = '+ settings[prop] +'\n'
|
|
66
|
+
}
|
|
67
|
+
break
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// if `all` was not matched, look for specific keys
|
|
72
|
+
if (str == '') {
|
|
73
|
+
for (var i = 3; i < process.argv.length; ++i) {
|
|
74
|
+
if ( /^(\-\-)/.test(process.argv[i]) ) {
|
|
75
|
+
// --flag style: --log-level → log_level
|
|
76
|
+
key = process.argv[i].replace(/\-\-/, '').replace(/\-/g, '_');
|
|
77
|
+
} else {
|
|
78
|
+
// bare key style: log_level or log-level
|
|
79
|
+
key = process.argv[i].replace(/\-/g, '_');
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if ( typeof(settings[key]) != 'undefined' ) {
|
|
83
|
+
str += settings[key] +'\n'
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
if (str != '')
|
|
90
|
+
console.log(str.substring(0, str.length-1));
|
|
91
|
+
|
|
92
|
+
process.exit(0)
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
init()
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
module.exports = Get
|
|
@@ -21,11 +21,16 @@ $ gina service:man
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
*
|
|
24
|
-
* Settings - Modifies ~/home/.gina/settings.json
|
|
24
|
+
* Settings - Reads/Modifies ~/home/.gina/settings.json
|
|
25
25
|
*
|
|
26
26
|
|
|
27
27
|
$ gina set --key=value ( eg: gina set --defaultEnv=dev )
|
|
28
|
-
|
|
29
|
-
$ gina get --
|
|
28
|
+
|
|
29
|
+
$ gina get --key | key ( eg: gina get defaultEnv )
|
|
30
|
+
$ gina get --key1 --key2 ( eg: gina get --port --env )
|
|
31
|
+
$ gina get --all | all ( eg: gina get all )
|
|
32
|
+
|
|
33
|
+
Shorthand `gina get` is equivalent to `gina framework:get`.
|
|
34
|
+
Shorthand `gina set` is equivalent to `gina framework:set`.
|
|
30
35
|
|
|
31
36
|
$ gina <service|bundle>:<action> <arguments>
|
|
@@ -49,8 +49,13 @@
|
|
|
49
49
|
or
|
|
50
50
|
|
|
51
51
|
$ gina port:set <protocol>:<port_number> <bundle_name> @<project_name>/<environment>
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
|
|
53
|
+
Flag syntax (equivalent):
|
|
54
|
+
|
|
55
|
+
$ gina port:set <bundle_name> @<project_name> --protocol=<protocol> --scheme=<scheme> --port=<port_number> --env=<environment>
|
|
56
|
+
|
|
57
|
+
Ports 4100-4199 are reserved for Gina infrastructure and will be rejected.
|
|
58
|
+
|
|
54
59
|
[ Listing port numbers ]
|
|
55
60
|
|
|
56
61
|
$ gina port:list <bundle_name> @<project_name>
|