@botpress/cli 2.1.1 → 2.1.2
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/.turbo/turbo-build.log +22 -0
- package/dist/api/bot-body.js +89 -0
- package/dist/api/bot-body.js.map +7 -0
- package/dist/api/client.js +169 -0
- package/dist/api/client.js.map +7 -0
- package/dist/api/find-previous-version.js +66 -0
- package/dist/api/find-previous-version.js.map +7 -0
- package/dist/api/find-previous-version.test.js +76 -0
- package/dist/api/find-previous-version.test.js.map +7 -0
- package/dist/api/index.js +23 -0
- package/dist/api/index.js.map +7 -0
- package/dist/api/integration-body.js +146 -0
- package/dist/api/integration-body.js.map +7 -0
- package/dist/api/interface-body.js +95 -0
- package/dist/api/interface-body.js.map +7 -0
- package/dist/api/paging.js +42 -0
- package/dist/api/paging.js.map +7 -0
- package/dist/api/plugin-body.js +84 -0
- package/dist/api/plugin-body.js.map +7 -0
- package/dist/api/types.js +17 -0
- package/dist/api/types.js.map +7 -0
- package/dist/chat/index.js +211 -0
- package/dist/chat/index.js.map +7 -0
- package/dist/code-generation/bot-implementation/bot-implementation.js +116 -0
- package/dist/code-generation/bot-implementation/bot-implementation.js.map +7 -0
- package/dist/code-generation/bot-implementation/bot-plugins/index.js +80 -0
- package/dist/code-generation/bot-implementation/bot-plugins/index.js.map +7 -0
- package/dist/code-generation/bot-implementation/bot-plugins/plugin-module.js +129 -0
- package/dist/code-generation/bot-implementation/bot-plugins/plugin-module.js.map +7 -0
- package/dist/code-generation/bot-implementation/bot-typings/actions-module.js +88 -0
- package/dist/code-generation/bot-implementation/bot-typings/actions-module.js.map +7 -0
- package/dist/code-generation/bot-implementation/bot-typings/events-module.js +63 -0
- package/dist/code-generation/bot-implementation/bot-typings/events-module.js.map +7 -0
- package/dist/code-generation/bot-implementation/bot-typings/index.js +109 -0
- package/dist/code-generation/bot-implementation/bot-typings/index.js.map +7 -0
- package/dist/code-generation/bot-implementation/bot-typings/states-module.js +64 -0
- package/dist/code-generation/bot-implementation/bot-typings/states-module.js.map +7 -0
- package/dist/code-generation/bot-implementation/index.js +66 -0
- package/dist/code-generation/bot-implementation/index.js.map +7 -0
- package/dist/code-generation/consts.js +45 -0
- package/dist/code-generation/consts.js.map +7 -0
- package/dist/code-generation/generators.js +81 -0
- package/dist/code-generation/generators.js.map +7 -0
- package/dist/code-generation/index.js +49 -0
- package/dist/code-generation/index.js.map +7 -0
- package/dist/code-generation/integration-implementation/index.js +70 -0
- package/dist/code-generation/integration-implementation/index.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-implementation.js +114 -0
- package/dist/code-generation/integration-implementation/integration-implementation.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-secret.js +78 -0
- package/dist/code-generation/integration-implementation/integration-secret.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-typings/actions-module.js +88 -0
- package/dist/code-generation/integration-implementation/integration-typings/actions-module.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-typings/channels-module.js +107 -0
- package/dist/code-generation/integration-implementation/integration-typings/channels-module.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-typings/configuration-module.js +62 -0
- package/dist/code-generation/integration-implementation/integration-typings/configuration-module.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-typings/configurations-module.js +70 -0
- package/dist/code-generation/integration-implementation/integration-typings/configurations-module.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-typings/entities-module.js +63 -0
- package/dist/code-generation/integration-implementation/integration-typings/entities-module.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-typings/events-module.js +63 -0
- package/dist/code-generation/integration-implementation/integration-typings/events-module.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-typings/index.js +128 -0
- package/dist/code-generation/integration-implementation/integration-typings/index.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-typings/states-module.js +64 -0
- package/dist/code-generation/integration-implementation/integration-typings/states-module.js.map +7 -0
- package/dist/code-generation/integration-package/index.js +94 -0
- package/dist/code-generation/integration-package/index.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/actions-module.js +88 -0
- package/dist/code-generation/integration-package/integration-package-definition/actions-module.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/channels-module.js +107 -0
- package/dist/code-generation/integration-package/integration-package-definition/channels-module.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/configuration-module.js +63 -0
- package/dist/code-generation/integration-package/integration-package-definition/configuration-module.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/configurations-module.js +70 -0
- package/dist/code-generation/integration-package/integration-package-definition/configurations-module.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/entities-module.js +63 -0
- package/dist/code-generation/integration-package/integration-package-definition/entities-module.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/events-module.js +66 -0
- package/dist/code-generation/integration-package/integration-package-definition/events-module.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/index.js +140 -0
- package/dist/code-generation/integration-package/integration-package-definition/index.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/states-module.js +66 -0
- package/dist/code-generation/integration-package/integration-package-definition/states-module.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/typings.js +17 -0
- package/dist/code-generation/integration-package/integration-package-definition/typings.js.map +7 -0
- package/dist/code-generation/interface-implementation/index.js +29 -0
- package/dist/code-generation/interface-implementation/index.js.map +7 -0
- package/dist/code-generation/interface-implementation/integration-typings/actions-module.js +88 -0
- package/dist/code-generation/interface-implementation/integration-typings/actions-module.js.map +7 -0
- package/dist/code-generation/interface-implementation/integration-typings/channels-module.js +107 -0
- package/dist/code-generation/interface-implementation/integration-typings/channels-module.js.map +7 -0
- package/dist/code-generation/interface-implementation/integration-typings/entities-module.js +63 -0
- package/dist/code-generation/interface-implementation/integration-typings/entities-module.js.map +7 -0
- package/dist/code-generation/interface-implementation/integration-typings/events-module.js +63 -0
- package/dist/code-generation/interface-implementation/integration-typings/events-module.js.map +7 -0
- package/dist/code-generation/interface-implementation/integration-typings/index.js +121 -0
- package/dist/code-generation/interface-implementation/integration-typings/index.js.map +7 -0
- package/dist/code-generation/interface-package/index.js +94 -0
- package/dist/code-generation/interface-package/index.js.map +7 -0
- package/dist/code-generation/interface-package/interface-package-definition/actions-module.js +88 -0
- package/dist/code-generation/interface-package/interface-package-definition/actions-module.js.map +7 -0
- package/dist/code-generation/interface-package/interface-package-definition/channels-module.js +98 -0
- package/dist/code-generation/interface-package/interface-package-definition/channels-module.js.map +7 -0
- package/dist/code-generation/interface-package/interface-package-definition/entities-module.js +63 -0
- package/dist/code-generation/interface-package/interface-package-definition/entities-module.js.map +7 -0
- package/dist/code-generation/interface-package/interface-package-definition/events-module.js +66 -0
- package/dist/code-generation/interface-package/interface-package-definition/events-module.js.map +7 -0
- package/dist/code-generation/interface-package/interface-package-definition/index.js +104 -0
- package/dist/code-generation/interface-package/interface-package-definition/index.js.map +7 -0
- package/dist/code-generation/interface-package/interface-package-definition/typings.js +17 -0
- package/dist/code-generation/interface-package/interface-package-definition/typings.js.map +7 -0
- package/dist/code-generation/module.js +183 -0
- package/dist/code-generation/module.js.map +7 -0
- package/dist/code-generation/plugin-implementation/index.js +60 -0
- package/dist/code-generation/plugin-implementation/index.js.map +7 -0
- package/dist/code-generation/plugin-implementation/plugin-implementation.js +90 -0
- package/dist/code-generation/plugin-implementation/plugin-implementation.js.map +7 -0
- package/dist/code-generation/plugin-implementation/plugin-typings/actions-module.js +88 -0
- package/dist/code-generation/plugin-implementation/plugin-typings/actions-module.js.map +7 -0
- package/dist/code-generation/plugin-implementation/plugin-typings/configuration-module.js +61 -0
- package/dist/code-generation/plugin-implementation/plugin-typings/configuration-module.js.map +7 -0
- package/dist/code-generation/plugin-implementation/plugin-typings/events-module.js +63 -0
- package/dist/code-generation/plugin-implementation/plugin-typings/events-module.js.map +7 -0
- package/dist/code-generation/plugin-implementation/plugin-typings/index.js +150 -0
- package/dist/code-generation/plugin-implementation/plugin-typings/index.js.map +7 -0
- package/dist/code-generation/plugin-implementation/plugin-typings/states-module.js +64 -0
- package/dist/code-generation/plugin-implementation/plugin-typings/states-module.js.map +7 -0
- package/dist/code-generation/plugin-package/index.js +151 -0
- package/dist/code-generation/plugin-package/index.js.map +7 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/actions-module.js +88 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/actions-module.js.map +7 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/configuration-module.js +56 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/configuration-module.js.map +7 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/events-module.js +66 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/events-module.js.map +7 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/index.js +107 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/index.js.map +7 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/states-module.js +66 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/states-module.js.map +7 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/typings.js +17 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/typings.js.map +7 -0
- package/dist/code-generation/strings.js +115 -0
- package/dist/code-generation/strings.js.map +7 -0
- package/dist/code-generation/typings.js +17 -0
- package/dist/code-generation/typings.js.map +7 -0
- package/dist/command-definitions.js +85 -0
- package/dist/command-definitions.js.map +7 -0
- package/dist/command-implementations/add-command.js +262 -0
- package/dist/command-implementations/add-command.js.map +7 -0
- package/dist/command-implementations/base-command.js +69 -0
- package/dist/command-implementations/base-command.js.map +7 -0
- package/dist/command-implementations/bot-commands.js +117 -0
- package/dist/command-implementations/bot-commands.js.map +7 -0
- package/dist/command-implementations/build-command.js +53 -0
- package/dist/command-implementations/build-command.js.map +7 -0
- package/dist/command-implementations/bundle-command.js +87 -0
- package/dist/command-implementations/bundle-command.js.map +7 -0
- package/dist/command-implementations/chat-command.js +152 -0
- package/dist/command-implementations/chat-command.js.map +7 -0
- package/dist/command-implementations/deploy-command.js +503 -0
- package/dist/command-implementations/deploy-command.js.map +7 -0
- package/dist/command-implementations/dev-command.js +345 -0
- package/dist/command-implementations/dev-command.js.map +7 -0
- package/dist/command-implementations/gen-command.js +110 -0
- package/dist/command-implementations/gen-command.js.map +7 -0
- package/dist/command-implementations/global-command.js +137 -0
- package/dist/command-implementations/global-command.js.map +7 -0
- package/dist/command-implementations/index.js +105 -0
- package/dist/command-implementations/index.js.map +7 -0
- package/dist/command-implementations/init-command.js +162 -0
- package/dist/command-implementations/init-command.js.map +7 -0
- package/dist/command-implementations/integration-commands.js +130 -0
- package/dist/command-implementations/integration-commands.js.map +7 -0
- package/dist/command-implementations/interface-commands.js +110 -0
- package/dist/command-implementations/interface-commands.js.map +7 -0
- package/dist/command-implementations/lint-command.js +151 -0
- package/dist/command-implementations/lint-command.js.map +7 -0
- package/dist/command-implementations/login-command.js +82 -0
- package/dist/command-implementations/login-command.js.map +7 -0
- package/dist/command-implementations/logout-command.js +35 -0
- package/dist/command-implementations/logout-command.js.map +7 -0
- package/dist/command-implementations/plugin-commands.js +111 -0
- package/dist/command-implementations/plugin-commands.js.map +7 -0
- package/dist/command-implementations/project-command.js +383 -0
- package/dist/command-implementations/project-command.js.map +7 -0
- package/dist/command-implementations/read-command.js +70 -0
- package/dist/command-implementations/read-command.js.map +7 -0
- package/dist/command-implementations/serve-command.js +68 -0
- package/dist/command-implementations/serve-command.js.map +7 -0
- package/dist/command-tree.js +60 -0
- package/dist/command-tree.js.map +7 -0
- package/dist/config.js +352 -0
- package/dist/config.js.map +7 -0
- package/dist/consts.js +127 -0
- package/dist/consts.js.map +7 -0
- package/dist/errors.js +202 -0
- package/dist/errors.js.map +7 -0
- package/dist/index.js +51 -0
- package/dist/index.js.map +7 -0
- package/dist/init.js +50 -0
- package/dist/init.js.map +7 -0
- package/dist/linter/base-linter.js +75 -0
- package/dist/linter/base-linter.js.map +7 -0
- package/dist/linter/base-linter.test.js +187 -0
- package/dist/linter/base-linter.test.js.map +7 -0
- package/dist/linter/bot-linter.js +35 -0
- package/dist/linter/bot-linter.js.map +7 -0
- package/dist/linter/integration-linter.js +35 -0
- package/dist/linter/integration-linter.js.map +7 -0
- package/dist/linter/interface-linter.js +35 -0
- package/dist/linter/interface-linter.js.map +7 -0
- package/dist/linter/ruleset-tests/bot.ruleset.test.js +358 -0
- package/dist/linter/ruleset-tests/bot.ruleset.test.js.map +7 -0
- package/dist/linter/ruleset-tests/common.js +37 -0
- package/dist/linter/ruleset-tests/common.js.map +7 -0
- package/dist/linter/ruleset-tests/integration.ruleset.test.js +887 -0
- package/dist/linter/ruleset-tests/integration.ruleset.test.js.map +7 -0
- package/dist/linter/ruleset-tests/interface.ruleset.test.js +383 -0
- package/dist/linter/ruleset-tests/interface.ruleset.test.js.map +7 -0
- package/dist/linter/rulesets/bot.ruleset.js +191 -0
- package/dist/linter/rulesets/bot.ruleset.js.map +7 -0
- package/dist/linter/rulesets/integration.ruleset.js +378 -0
- package/dist/linter/rulesets/integration.ruleset.js.map +7 -0
- package/dist/linter/rulesets/interface.ruleset.js +157 -0
- package/dist/linter/rulesets/interface.ruleset.js.map +7 -0
- package/dist/linter/spectral-functions.js +36 -0
- package/dist/linter/spectral-functions.js.map +7 -0
- package/dist/logger/base-logger.js +170 -0
- package/dist/logger/base-logger.js.map +7 -0
- package/dist/logger/index.js +86 -0
- package/dist/logger/index.js.map +7 -0
- package/dist/package-ref.js +107 -0
- package/dist/package-ref.js.map +7 -0
- package/dist/package-ref.test.js +109 -0
- package/dist/package-ref.test.js.map +7 -0
- package/dist/register-yargs.js +91 -0
- package/dist/register-yargs.js.map +7 -0
- package/dist/root.js +41 -0
- package/dist/root.js.map +7 -0
- package/dist/sdk/index.js +22 -0
- package/dist/sdk/index.js.map +7 -0
- package/dist/sdk/resolve-bot-interfaces.js +43 -0
- package/dist/sdk/resolve-bot-interfaces.js.map +7 -0
- package/dist/sdk/resolve-integration-interfaces.js +161 -0
- package/dist/sdk/resolve-integration-interfaces.js.map +7 -0
- package/dist/sdk/validate-bot.js +88 -0
- package/dist/sdk/validate-bot.js.map +7 -0
- package/dist/sdk/validate-integration.js +72 -0
- package/dist/sdk/validate-integration.js.map +7 -0
- package/dist/typings.js +17 -0
- package/dist/typings.js.map +7 -0
- package/dist/utils/cache-utils.js +104 -0
- package/dist/utils/cache-utils.js.map +7 -0
- package/dist/utils/case-utils.js +84 -0
- package/dist/utils/case-utils.js.map +7 -0
- package/dist/utils/case-utils.test.js +75 -0
- package/dist/utils/case-utils.test.js.map +7 -0
- package/dist/utils/esbuild-utils.js +92 -0
- package/dist/utils/esbuild-utils.js.map +7 -0
- package/dist/utils/event-emitter.js +63 -0
- package/dist/utils/event-emitter.js.map +7 -0
- package/dist/utils/file-watcher.js +73 -0
- package/dist/utils/file-watcher.js.map +7 -0
- package/dist/utils/guard-utils.js +32 -0
- package/dist/utils/guard-utils.js.map +7 -0
- package/dist/utils/id-utils.js +59 -0
- package/dist/utils/id-utils.js.map +7 -0
- package/dist/utils/index.js +99 -0
- package/dist/utils/index.js.map +7 -0
- package/dist/utils/object-utils.js +32 -0
- package/dist/utils/object-utils.js.map +7 -0
- package/dist/utils/path-utils.js +106 -0
- package/dist/utils/path-utils.js.map +7 -0
- package/dist/utils/path-utils.test.js +72 -0
- package/dist/utils/path-utils.test.js.map +7 -0
- package/dist/utils/pkgjson-utils.js +57 -0
- package/dist/utils/pkgjson-utils.js.map +7 -0
- package/dist/utils/promise-utils.js +36 -0
- package/dist/utils/promise-utils.js.map +7 -0
- package/dist/utils/promise-utils.test.js +14 -0
- package/dist/utils/promise-utils.test.js.map +7 -0
- package/dist/utils/prompt-utils.js +105 -0
- package/dist/utils/prompt-utils.js.map +7 -0
- package/dist/utils/record-utils.js +118 -0
- package/dist/utils/record-utils.js.map +7 -0
- package/dist/utils/record-utils.test.js +38 -0
- package/dist/utils/record-utils.test.js.map +7 -0
- package/dist/utils/require-utils.js +90 -0
- package/dist/utils/require-utils.js.map +7 -0
- package/dist/utils/require-utils.test.js +54 -0
- package/dist/utils/require-utils.test.js.map +7 -0
- package/dist/utils/schema-utils.js +64 -0
- package/dist/utils/schema-utils.js.map +7 -0
- package/dist/utils/schema-utils.test.js +50 -0
- package/dist/utils/schema-utils.test.js.map +7 -0
- package/dist/utils/semver-utils.js +45 -0
- package/dist/utils/semver-utils.js.map +7 -0
- package/dist/utils/string-utils.js +42 -0
- package/dist/utils/string-utils.js.map +7 -0
- package/dist/utils/template-utils.js +51 -0
- package/dist/utils/template-utils.js.map +7 -0
- package/dist/utils/tunnel-utils.js +129 -0
- package/dist/utils/tunnel-utils.js.map +7 -0
- package/dist/utils/type-utils.js +17 -0
- package/dist/utils/type-utils.js.map +7 -0
- package/dist/utils/url-utils.js +67 -0
- package/dist/utils/url-utils.js.map +7 -0
- package/dist/worker/child-entrypoint.js +58 -0
- package/dist/worker/child-entrypoint.js.map +7 -0
- package/dist/worker/child-wrapper.js +119 -0
- package/dist/worker/child-wrapper.js.map +7 -0
- package/dist/worker/config.js +44 -0
- package/dist/worker/config.js.map +7 -0
- package/dist/worker/index.js +32 -0
- package/dist/worker/index.js.map +7 -0
- package/dist/worker/is-child.js +55 -0
- package/dist/worker/is-child.js.map +7 -0
- package/dist/worker/worker-state.js +71 -0
- package/dist/worker/worker-state.js.map +7 -0
- package/dist/worker/worker.js +91 -0
- package/dist/worker/worker.js.map +7 -0
- package/package.json +1 -1
- package/templates/empty-bot/.botpress/implementation/index.ts +50 -0
- package/templates/empty-bot/.botpress/implementation/plugins/index.ts +11 -0
- package/templates/empty-bot/.botpress/implementation/typings/actions/index.ts +6 -0
- package/templates/empty-bot/.botpress/implementation/typings/events/index.ts +6 -0
- package/templates/empty-bot/.botpress/implementation/typings/index.ts +20 -0
- package/templates/empty-bot/.botpress/implementation/typings/integrations/index.ts +6 -0
- package/templates/empty-bot/.botpress/implementation/typings/states/index.ts +6 -0
- package/templates/empty-bot/.botpress/index.ts +5 -0
- package/templates/empty-integration/.botpress/implementation/index.ts +57 -0
- package/templates/empty-integration/.botpress/implementation/typings/actions/index.ts +6 -0
- package/templates/empty-integration/.botpress/implementation/typings/channels/index.ts +6 -0
- package/templates/empty-integration/.botpress/implementation/typings/configuration/index.ts +2 -0
- package/templates/empty-integration/.botpress/implementation/typings/configurations/index.ts +6 -0
- package/templates/empty-integration/.botpress/implementation/typings/entities/index.ts +6 -0
- package/templates/empty-integration/.botpress/implementation/typings/events/index.ts +6 -0
- package/templates/empty-integration/.botpress/implementation/typings/index.ts +31 -0
- package/templates/empty-integration/.botpress/implementation/typings/states/index.ts +6 -0
- package/templates/empty-integration/.botpress/index.ts +2 -0
- package/templates/empty-integration/.botpress/secrets/index.ts +6 -0
- package/templates/empty-plugin/.botpress/implementation/index.ts +35 -0
- package/templates/empty-plugin/.botpress/implementation/typings/actions/index.ts +6 -0
- package/templates/empty-plugin/.botpress/implementation/typings/configuration/index.ts +2 -0
- package/templates/empty-plugin/.botpress/implementation/typings/events/index.ts +6 -0
- package/templates/empty-plugin/.botpress/implementation/typings/index.ts +26 -0
- package/templates/empty-plugin/.botpress/implementation/typings/integrations/index.ts +6 -0
- package/templates/empty-plugin/.botpress/implementation/typings/interfaces/index.ts +6 -0
- package/templates/empty-plugin/.botpress/implementation/typings/states/index.ts +6 -0
- package/templates/empty-plugin/.botpress/index.ts +1 -0
- package/templates/hello-world/.botpress/implementation/index.ts +57 -0
- package/templates/hello-world/.botpress/implementation/typings/actions/helloWorld/index.ts +12 -0
- package/templates/hello-world/.botpress/implementation/typings/actions/helloWorld/input.ts +5 -0
- package/templates/hello-world/.botpress/implementation/typings/actions/helloWorld/output.ts +5 -0
- package/templates/hello-world/.botpress/implementation/typings/actions/index.ts +9 -0
- package/templates/hello-world/.botpress/implementation/typings/channels/index.ts +6 -0
- package/templates/hello-world/.botpress/implementation/typings/configuration/index.ts +2 -0
- package/templates/hello-world/.botpress/implementation/typings/configurations/index.ts +6 -0
- package/templates/hello-world/.botpress/implementation/typings/entities/index.ts +6 -0
- package/templates/hello-world/.botpress/implementation/typings/events/index.ts +6 -0
- package/templates/hello-world/.botpress/implementation/typings/index.ts +31 -0
- package/templates/hello-world/.botpress/implementation/typings/states/index.ts +6 -0
- package/templates/hello-world/.botpress/index.ts +2 -0
- package/templates/hello-world/.botpress/secrets/index.ts +6 -0
- package/templates/webhook-message/.botpress/implementation/index.ts +57 -0
- package/templates/webhook-message/.botpress/implementation/typings/actions/index.ts +6 -0
- package/templates/webhook-message/.botpress/implementation/typings/channels/index.ts +9 -0
- package/templates/webhook-message/.botpress/implementation/typings/channels/webhook/index.ts +12 -0
- package/templates/webhook-message/.botpress/implementation/typings/channels/webhook/messages/index.ts +9 -0
- package/templates/webhook-message/.botpress/implementation/typings/channels/webhook/messages/text.ts +5 -0
- package/templates/webhook-message/.botpress/implementation/typings/configuration/index.ts +8 -0
- package/templates/webhook-message/.botpress/implementation/typings/configurations/index.ts +6 -0
- package/templates/webhook-message/.botpress/implementation/typings/entities/index.ts +6 -0
- package/templates/webhook-message/.botpress/implementation/typings/events/index.ts +6 -0
- package/templates/webhook-message/.botpress/implementation/typings/index.ts +31 -0
- package/templates/webhook-message/.botpress/implementation/typings/states/index.ts +6 -0
- package/templates/webhook-message/.botpress/index.ts +2 -0
- package/templates/webhook-message/.botpress/secrets/index.ts +6 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/linter/spectral-functions.ts"],
|
|
4
|
+
"sourcesContent": ["import { RulesetFunctionContext } from '@stoplight/spectral-core'\n\ntype MessageFn = ({ path }: { path: (string | number)[] }) => string\n\n/**\n * When the input is falsy, return a message that is generated by the provided function\n */\nexport const truthyWithMessage = (fn: MessageFn) => (input: string, _: unknown, context: RulesetFunctionContext) => {\n const messages = []\n\n if (!input) {\n const message = fn({ path: context.path })\n messages.push({ message })\n }\n\n return messages\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOO,MAAM,oBAAoB,CAAC,OAAkB,CAAC,OAAe,GAAY,YAAoC;AAClH,QAAM,WAAW,CAAC;AAElB,MAAI,CAAC,OAAO;AACV,UAAM,UAAU,GAAG,EAAE,MAAM,QAAQ,KAAK,CAAC;AACzC,aAAS,KAAK,EAAE,QAAQ,CAAC;AAAA,EAC3B;AAEA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var base_logger_exports = {};
|
|
30
|
+
__export(base_logger_exports, {
|
|
31
|
+
BaseLogger: () => BaseLogger
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(base_logger_exports);
|
|
34
|
+
var import_boxen = __toESM(require("boxen"));
|
|
35
|
+
var import_chalk = __toESM(require("chalk"));
|
|
36
|
+
var import_lodash = __toESM(require("lodash"));
|
|
37
|
+
var import_util = __toESM(require("util"));
|
|
38
|
+
var utils = __toESM(require("../utils"));
|
|
39
|
+
const STDOUT_CHUNK_SIZE = 100;
|
|
40
|
+
const DEFAULT_OPTIONS = { verbose: false };
|
|
41
|
+
const NO_COLOR = (str) => str;
|
|
42
|
+
const PINK = [255, 100, 255];
|
|
43
|
+
const ORANGE = [255, 165, 0];
|
|
44
|
+
const PURPLE = [128, 0, 128];
|
|
45
|
+
const BG_COLORS = {
|
|
46
|
+
blue: import_chalk.default.bgBlueBright,
|
|
47
|
+
green: import_chalk.default.bgGreenBright,
|
|
48
|
+
yellow: import_chalk.default.bgYellowBright,
|
|
49
|
+
red: import_chalk.default.bgRedBright,
|
|
50
|
+
white: import_chalk.default.bgWhite,
|
|
51
|
+
pink: (str) => import_chalk.default.bgRgb(...PINK)(str),
|
|
52
|
+
orange: (str) => import_chalk.default.bgRgb(...ORANGE)(str),
|
|
53
|
+
purple: (str) => import_chalk.default.bgRgb(...PURPLE)(str)
|
|
54
|
+
};
|
|
55
|
+
const FG_COLORS = {
|
|
56
|
+
blue: import_chalk.default.blueBright,
|
|
57
|
+
green: import_chalk.default.green,
|
|
58
|
+
yellow: import_chalk.default.yellowBright,
|
|
59
|
+
red: import_chalk.default.red,
|
|
60
|
+
white: import_chalk.default.white,
|
|
61
|
+
pink: (str) => import_chalk.default.rgb(...PINK)(str),
|
|
62
|
+
orange: (str) => import_chalk.default.rgb(...ORANGE)(str),
|
|
63
|
+
purple: (str) => import_chalk.default.rgb(...PURPLE)(str)
|
|
64
|
+
};
|
|
65
|
+
const checkmark = {
|
|
66
|
+
default: "\u2713",
|
|
67
|
+
windows: "\u221A",
|
|
68
|
+
mac: "\u2714"
|
|
69
|
+
};
|
|
70
|
+
const cross = {
|
|
71
|
+
default: "\xD7",
|
|
72
|
+
mac: "\u2716"
|
|
73
|
+
};
|
|
74
|
+
const danger = { default: "\u26A0" };
|
|
75
|
+
const circle = { default: "\u25CB" };
|
|
76
|
+
const disc = { default: "\u25CF" };
|
|
77
|
+
const space = { default: " " };
|
|
78
|
+
const renderers = {
|
|
79
|
+
"\u2713": checkmark,
|
|
80
|
+
"\xD7": cross,
|
|
81
|
+
"\u26A0": danger,
|
|
82
|
+
"\u25CB": circle,
|
|
83
|
+
"\u25CF": disc,
|
|
84
|
+
" ": space
|
|
85
|
+
};
|
|
86
|
+
const BOX_OPTIONS = {
|
|
87
|
+
padding: 1,
|
|
88
|
+
margin: 1,
|
|
89
|
+
borderStyle: "round",
|
|
90
|
+
borderColor: "yellow"
|
|
91
|
+
};
|
|
92
|
+
class BaseLogger {
|
|
93
|
+
opts;
|
|
94
|
+
constructor(opts = {}) {
|
|
95
|
+
this.opts = { ...DEFAULT_OPTIONS, ...opts };
|
|
96
|
+
}
|
|
97
|
+
log(message, props = {}) {
|
|
98
|
+
if (this.opts.json && !props.stderr) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
const prefix = this._resolvePrefix(props.prefix);
|
|
102
|
+
this.print(message, { ...props, prefix });
|
|
103
|
+
}
|
|
104
|
+
json(data, opts = { depth: Infinity }) {
|
|
105
|
+
if (this.opts.json) {
|
|
106
|
+
this.print(JSON.stringify(data, void 0, 2));
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
const { depth } = opts;
|
|
110
|
+
const msg = import_util.default.inspect(data, { colors: true, depth });
|
|
111
|
+
this.log(msg);
|
|
112
|
+
}
|
|
113
|
+
debug(message) {
|
|
114
|
+
if (!this.opts.verbose) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
this.log(import_chalk.default.grey(message), { prefix: { symbol: "\u25CF", fg: "blue" } });
|
|
118
|
+
}
|
|
119
|
+
started(message) {
|
|
120
|
+
this.log(message, { prefix: { symbol: "\u25CB", fg: "purple" } });
|
|
121
|
+
}
|
|
122
|
+
success(message) {
|
|
123
|
+
this.log(message, { prefix: { symbol: "\u2713", fg: "green" } });
|
|
124
|
+
}
|
|
125
|
+
warn(message) {
|
|
126
|
+
this.log(message, { prefix: { symbol: "\u26A0", fg: "yellow" } });
|
|
127
|
+
}
|
|
128
|
+
error(message) {
|
|
129
|
+
this.log(message, { prefix: { symbol: "\xD7", fg: "red" }, stderr: true });
|
|
130
|
+
}
|
|
131
|
+
box(message) {
|
|
132
|
+
const box = (0, import_boxen.default)(message, BOX_OPTIONS);
|
|
133
|
+
this.log(box);
|
|
134
|
+
}
|
|
135
|
+
_resolvePrefix(prefix) {
|
|
136
|
+
if (!prefix) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
if (import_lodash.default.isString(prefix)) {
|
|
140
|
+
return prefix;
|
|
141
|
+
}
|
|
142
|
+
const { symbol, fg, bg, indent } = prefix;
|
|
143
|
+
const renderedSymbol = this._renderSymbol(symbol);
|
|
144
|
+
const fgcolor = fg ? FG_COLORS[fg] : NO_COLOR;
|
|
145
|
+
const bgcolor = bg ? BG_COLORS[bg] : NO_COLOR;
|
|
146
|
+
const indentStr = indent ? " ".repeat(indent) : "";
|
|
147
|
+
const symbolStr = fgcolor(bgcolor(renderedSymbol));
|
|
148
|
+
return `${indentStr}${symbolStr}`;
|
|
149
|
+
}
|
|
150
|
+
_renderSymbol(symbol) {
|
|
151
|
+
const renderer = renderers[symbol];
|
|
152
|
+
if (process.platform === "win32") {
|
|
153
|
+
return renderer.windows || renderer.default;
|
|
154
|
+
} else if (process.platform === "darwin") {
|
|
155
|
+
return renderer.mac || renderer.default;
|
|
156
|
+
} else {
|
|
157
|
+
return renderer.default;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
render(message, stream = process.stdout) {
|
|
161
|
+
for (const chunk of utils.string.chunkString(message, STDOUT_CHUNK_SIZE)) {
|
|
162
|
+
stream.write(chunk);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
167
|
+
0 && (module.exports = {
|
|
168
|
+
BaseLogger
|
|
169
|
+
});
|
|
170
|
+
//# sourceMappingURL=base-logger.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/logger/base-logger.ts"],
|
|
4
|
+
"sourcesContent": ["import boxen from 'boxen'\nimport chalk from 'chalk'\nimport _ from 'lodash'\nimport util from 'util'\nimport * as utils from '../utils'\n\nexport type LoggerOptions = {\n verbose: boolean\n json?: boolean // prevents loggin anything else than json\n}\n\nconst STDOUT_CHUNK_SIZE = 100\nconst DEFAULT_OPTIONS: LoggerOptions = { verbose: false }\n\ntype ChalkColor = (str: string) => string\nconst NO_COLOR: ChalkColor = (str: string) => str\n\nconst PINK = [255, 100, 255] as const\nconst ORANGE = [255, 165, 0] as const\nconst PURPLE = [128, 0, 128] as const\n\nconst BG_COLORS: Record<Color, ChalkColor> = {\n blue: chalk.bgBlueBright,\n green: chalk.bgGreenBright,\n yellow: chalk.bgYellowBright,\n red: chalk.bgRedBright,\n white: chalk.bgWhite,\n pink: (str: string) => chalk.bgRgb(...PINK)(str),\n orange: (str: string) => chalk.bgRgb(...ORANGE)(str),\n purple: (str: string) => chalk.bgRgb(...PURPLE)(str),\n}\n\nconst FG_COLORS: Record<Color, ChalkColor> = {\n blue: chalk.blueBright,\n green: chalk.green,\n yellow: chalk.yellowBright,\n red: chalk.red,\n white: chalk.white,\n pink: (str: string) => chalk.rgb(...PINK)(str),\n orange: (str: string) => chalk.rgb(...ORANGE)(str),\n purple: (str: string) => chalk.rgb(...PURPLE)(str),\n}\n\ntype Symbol = '\u2713' | '\u26A0' | '\u00D7' | '\u25CF' | ' ' | '\u25CB'\ntype Color = 'blue' | 'green' | 'yellow' | 'red' | 'pink' | 'white' | 'orange' | 'purple'\ntype LogPrefix = { symbol: Symbol; fg?: Color; bg?: Color; indent?: number } | string\ntype SymbolRenderer<T extends Symbol> = { default: T; windows?: string; mac?: string }\n\ntype LogProps = {\n prefix: LogPrefix\n stderr?: boolean\n}\n\ntype PrintProps = {\n metadata: any\n prefix: string\n stderr?: boolean\n}\n\nconst checkmark: SymbolRenderer<'\u2713'> = {\n default: '\u2713',\n windows: '\u221A',\n mac: '\u2714',\n}\n\nconst cross: SymbolRenderer<'\u00D7'> = {\n default: '\u00D7',\n mac: '\u2716',\n}\n\nconst danger: SymbolRenderer<'\u26A0'> = { default: '\u26A0' }\nconst circle: SymbolRenderer<'\u25CB'> = { default: '\u25CB' }\nconst disc: SymbolRenderer<'\u25CF'> = { default: '\u25CF' }\nconst space: SymbolRenderer<' '> = { default: ' ' }\n\nconst renderers: Record<Symbol, SymbolRenderer<Symbol>> = {\n '\u2713': checkmark,\n '\u00D7': cross,\n '\u26A0': danger,\n '\u25CB': circle,\n '\u25CF': disc,\n ' ': space,\n}\n\nconst BOX_OPTIONS: boxen.Options = {\n padding: 1,\n margin: 1,\n borderStyle: 'round',\n borderColor: 'yellow',\n}\n\nexport abstract class BaseLogger {\n protected opts: LoggerOptions\n\n public constructor(opts: Partial<LoggerOptions> = {}) {\n this.opts = { ...DEFAULT_OPTIONS, ...opts }\n }\n\n public log(message: string, props: Partial<LogProps> = {}): void {\n if (this.opts.json && !props.stderr) {\n return\n }\n\n const prefix = this._resolvePrefix(props.prefix)\n this.print(message, { ...props, prefix })\n }\n\n public json(data: any, opts: Partial<{ depth: number }> = { depth: Infinity }): void {\n if (this.opts.json) {\n this.print(JSON.stringify(data, undefined, 2))\n return\n }\n\n const { depth } = opts\n const msg = util.inspect(data, { colors: true, depth })\n this.log(msg)\n }\n\n public debug(message: string): void {\n if (!this.opts.verbose) {\n return\n }\n this.log(chalk.grey(message), { prefix: { symbol: '\u25CF', fg: 'blue' } })\n }\n\n public started(message: string): void {\n this.log(message, { prefix: { symbol: '\u25CB', fg: 'purple' } })\n }\n\n public success(message: string): void {\n this.log(message, { prefix: { symbol: '\u2713', fg: 'green' } })\n }\n\n public warn(message: string): void {\n this.log(message, { prefix: { symbol: '\u26A0', fg: 'yellow' } })\n }\n\n public error(message: string): void {\n this.log(message, { prefix: { symbol: '\u00D7', fg: 'red' }, stderr: true })\n }\n\n public box(message: string): void {\n const box = boxen(message, BOX_OPTIONS)\n this.log(box)\n }\n\n protected abstract print(message: string, props?: Partial<PrintProps>): void\n\n private _resolvePrefix(prefix: LogPrefix | undefined): string | undefined {\n if (!prefix) {\n return\n }\n\n if (_.isString(prefix)) {\n return prefix\n }\n\n const { symbol, fg, bg, indent } = prefix\n const renderedSymbol = this._renderSymbol(symbol)\n const fgcolor = fg ? FG_COLORS[fg] : NO_COLOR\n const bgcolor = bg ? BG_COLORS[bg] : NO_COLOR\n const indentStr = indent ? ' '.repeat(indent) : ''\n const symbolStr = fgcolor(bgcolor(renderedSymbol))\n return `${indentStr}${symbolStr}`\n }\n\n private _renderSymbol(symbol: Symbol): string {\n const renderer = renderers[symbol]\n if (process.platform === 'win32') {\n return renderer.windows || renderer.default\n } else if (process.platform === 'darwin') {\n return renderer.mac || renderer.default\n } else {\n return renderer.default\n }\n }\n\n protected render(message: string, stream: NodeJS.WriteStream = process.stdout): void {\n // chunking the message ensures that the process won't exit before the message is fully written\n for (const chunk of utils.string.chunkString(message, STDOUT_CHUNK_SIZE)) {\n stream.write(chunk)\n }\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,mBAAkB;AAClB,oBAAc;AACd,kBAAiB;AACjB,YAAuB;AAOvB,MAAM,oBAAoB;AAC1B,MAAM,kBAAiC,EAAE,SAAS,MAAM;AAGxD,MAAM,WAAuB,CAAC,QAAgB;AAE9C,MAAM,OAAO,CAAC,KAAK,KAAK,GAAG;AAC3B,MAAM,SAAS,CAAC,KAAK,KAAK,CAAC;AAC3B,MAAM,SAAS,CAAC,KAAK,GAAG,GAAG;AAE3B,MAAM,YAAuC;AAAA,EAC3C,MAAM,aAAAA,QAAM;AAAA,EACZ,OAAO,aAAAA,QAAM;AAAA,EACb,QAAQ,aAAAA,QAAM;AAAA,EACd,KAAK,aAAAA,QAAM;AAAA,EACX,OAAO,aAAAA,QAAM;AAAA,EACb,MAAM,CAAC,QAAgB,aAAAA,QAAM,MAAM,GAAG,IAAI,EAAE,GAAG;AAAA,EAC/C,QAAQ,CAAC,QAAgB,aAAAA,QAAM,MAAM,GAAG,MAAM,EAAE,GAAG;AAAA,EACnD,QAAQ,CAAC,QAAgB,aAAAA,QAAM,MAAM,GAAG,MAAM,EAAE,GAAG;AACrD;AAEA,MAAM,YAAuC;AAAA,EAC3C,MAAM,aAAAA,QAAM;AAAA,EACZ,OAAO,aAAAA,QAAM;AAAA,EACb,QAAQ,aAAAA,QAAM;AAAA,EACd,KAAK,aAAAA,QAAM;AAAA,EACX,OAAO,aAAAA,QAAM;AAAA,EACb,MAAM,CAAC,QAAgB,aAAAA,QAAM,IAAI,GAAG,IAAI,EAAE,GAAG;AAAA,EAC7C,QAAQ,CAAC,QAAgB,aAAAA,QAAM,IAAI,GAAG,MAAM,EAAE,GAAG;AAAA,EACjD,QAAQ,CAAC,QAAgB,aAAAA,QAAM,IAAI,GAAG,MAAM,EAAE,GAAG;AACnD;AAkBA,MAAM,YAAiC;AAAA,EACrC,SAAS;AAAA,EACT,SAAS;AAAA,EACT,KAAK;AACP;AAEA,MAAM,QAA6B;AAAA,EACjC,SAAS;AAAA,EACT,KAAK;AACP;AAEA,MAAM,SAA8B,EAAE,SAAS,SAAI;AACnD,MAAM,SAA8B,EAAE,SAAS,SAAI;AACnD,MAAM,OAA4B,EAAE,SAAS,SAAI;AACjD,MAAM,QAA6B,EAAE,SAAS,IAAI;AAElD,MAAM,YAAoD;AAAA,EACxD,UAAK;AAAA,EACL,QAAK;AAAA,EACL,UAAK;AAAA,EACL,UAAK;AAAA,EACL,UAAK;AAAA,EACL,KAAK;AACP;AAEA,MAAM,cAA6B;AAAA,EACjC,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,aAAa;AACf;AAEO,MAAe,WAAW;AAAA,EACrB;AAAA,EAEH,YAAY,OAA+B,CAAC,GAAG;AACpD,SAAK,OAAO,EAAE,GAAG,iBAAiB,GAAG,KAAK;AAAA,EAC5C;AAAA,EAEO,IAAI,SAAiB,QAA2B,CAAC,GAAS;AAC/D,QAAI,KAAK,KAAK,QAAQ,CAAC,MAAM,QAAQ;AACnC;AAAA,IACF;AAEA,UAAM,SAAS,KAAK,eAAe,MAAM,MAAM;AAC/C,SAAK,MAAM,SAAS,EAAE,GAAG,OAAO,OAAO,CAAC;AAAA,EAC1C;AAAA,EAEO,KAAK,MAAW,OAAmC,EAAE,OAAO,SAAS,GAAS;AACnF,QAAI,KAAK,KAAK,MAAM;AAClB,WAAK,MAAM,KAAK,UAAU,MAAM,QAAW,CAAC,CAAC;AAC7C;AAAA,IACF;AAEA,UAAM,EAAE,MAAM,IAAI;AAClB,UAAM,MAAM,YAAAC,QAAK,QAAQ,MAAM,EAAE,QAAQ,MAAM,MAAM,CAAC;AACtD,SAAK,IAAI,GAAG;AAAA,EACd;AAAA,EAEO,MAAM,SAAuB;AAClC,QAAI,CAAC,KAAK,KAAK,SAAS;AACtB;AAAA,IACF;AACA,SAAK,IAAI,aAAAD,QAAM,KAAK,OAAO,GAAG,EAAE,QAAQ,EAAE,QAAQ,UAAK,IAAI,OAAO,EAAE,CAAC;AAAA,EACvE;AAAA,EAEO,QAAQ,SAAuB;AACpC,SAAK,IAAI,SAAS,EAAE,QAAQ,EAAE,QAAQ,UAAK,IAAI,SAAS,EAAE,CAAC;AAAA,EAC7D;AAAA,EAEO,QAAQ,SAAuB;AACpC,SAAK,IAAI,SAAS,EAAE,QAAQ,EAAE,QAAQ,UAAK,IAAI,QAAQ,EAAE,CAAC;AAAA,EAC5D;AAAA,EAEO,KAAK,SAAuB;AACjC,SAAK,IAAI,SAAS,EAAE,QAAQ,EAAE,QAAQ,UAAK,IAAI,SAAS,EAAE,CAAC;AAAA,EAC7D;AAAA,EAEO,MAAM,SAAuB;AAClC,SAAK,IAAI,SAAS,EAAE,QAAQ,EAAE,QAAQ,QAAK,IAAI,MAAM,GAAG,QAAQ,KAAK,CAAC;AAAA,EACxE;AAAA,EAEO,IAAI,SAAuB;AAChC,UAAM,UAAM,aAAAE,SAAM,SAAS,WAAW;AACtC,SAAK,IAAI,GAAG;AAAA,EACd;AAAA,EAIQ,eAAe,QAAmD;AACxE,QAAI,CAAC,QAAQ;AACX;AAAA,IACF;AAEA,QAAI,cAAAC,QAAE,SAAS,MAAM,GAAG;AACtB,aAAO;AAAA,IACT;AAEA,UAAM,EAAE,QAAQ,IAAI,IAAI,OAAO,IAAI;AACnC,UAAM,iBAAiB,KAAK,cAAc,MAAM;AAChD,UAAM,UAAU,KAAK,UAAU,EAAE,IAAI;AACrC,UAAM,UAAU,KAAK,UAAU,EAAE,IAAI;AACrC,UAAM,YAAY,SAAS,IAAI,OAAO,MAAM,IAAI;AAChD,UAAM,YAAY,QAAQ,QAAQ,cAAc,CAAC;AACjD,WAAO,GAAG,YAAY;AAAA,EACxB;AAAA,EAEQ,cAAc,QAAwB;AAC5C,UAAM,WAAW,UAAU,MAAM;AACjC,QAAI,QAAQ,aAAa,SAAS;AAChC,aAAO,SAAS,WAAW,SAAS;AAAA,IACtC,WAAW,QAAQ,aAAa,UAAU;AACxC,aAAO,SAAS,OAAO,SAAS;AAAA,IAClC,OAAO;AACL,aAAO,SAAS;AAAA,IAClB;AAAA,EACF;AAAA,EAEU,OAAO,SAAiB,SAA6B,QAAQ,QAAc;AAEnF,eAAW,SAAS,MAAM,OAAO,YAAY,SAAS,iBAAiB,GAAG;AACxE,aAAO,MAAM,KAAK;AAAA,IACpB;AAAA,EACF;AACF;",
|
|
6
|
+
"names": ["chalk", "util", "boxen", "_"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var logger_exports = {};
|
|
20
|
+
__export(logger_exports, {
|
|
21
|
+
Logger: () => Logger,
|
|
22
|
+
SingleLineLogger: () => SingleLineLogger
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(logger_exports);
|
|
25
|
+
var import_readline = require("readline");
|
|
26
|
+
var import_base_logger = require("./base-logger");
|
|
27
|
+
class Logger extends import_base_logger.BaseLogger {
|
|
28
|
+
static _previousLine;
|
|
29
|
+
// this is global to the whole process
|
|
30
|
+
print(message, props = {}) {
|
|
31
|
+
this.cleanup();
|
|
32
|
+
const stream = props.stderr ? process.stderr : process.stdout;
|
|
33
|
+
const { prefix } = props;
|
|
34
|
+
if (prefix) {
|
|
35
|
+
this.render(`${prefix} ${message}
|
|
36
|
+
`, stream);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
this.render(`${message}
|
|
40
|
+
`, stream);
|
|
41
|
+
}
|
|
42
|
+
line() {
|
|
43
|
+
this.cleanup();
|
|
44
|
+
const currentLine = new SingleLineLogger({ ...this.opts });
|
|
45
|
+
Logger._previousLine = currentLine;
|
|
46
|
+
return currentLine;
|
|
47
|
+
}
|
|
48
|
+
cleanup() {
|
|
49
|
+
if (Logger._previousLine) {
|
|
50
|
+
Logger._previousLine.commit();
|
|
51
|
+
Logger._previousLine = void 0;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
class SingleLineLogger extends import_base_logger.BaseLogger {
|
|
56
|
+
_commited = false;
|
|
57
|
+
constructor(opts) {
|
|
58
|
+
super(opts);
|
|
59
|
+
}
|
|
60
|
+
commit() {
|
|
61
|
+
if (this._commited) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
this._commited = true;
|
|
65
|
+
console.log();
|
|
66
|
+
}
|
|
67
|
+
print(message, props = {}) {
|
|
68
|
+
if (this._commited) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
(0, import_readline.clearLine)(process.stdout, 0);
|
|
72
|
+
const { prefix } = props;
|
|
73
|
+
(0, import_readline.cursorTo)(process.stdout, 0);
|
|
74
|
+
if (prefix) {
|
|
75
|
+
this.render(`${prefix} ${message}`);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
this.render(message);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
82
|
+
0 && (module.exports = {
|
|
83
|
+
Logger,
|
|
84
|
+
SingleLineLogger
|
|
85
|
+
});
|
|
86
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/logger/index.ts"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable no-console */\nimport { cursorTo, clearLine } from 'readline'\nimport { BaseLogger, LoggerOptions } from './base-logger'\n\nexport class Logger extends BaseLogger {\n private static _previousLine: SingleLineLogger | undefined // this is global to the whole process\n\n protected print(message: string, props: Partial<{ prefix: string; stderr?: boolean }> = {}): void {\n this.cleanup()\n const stream = props.stderr ? process.stderr : process.stdout\n const { prefix } = props\n if (prefix) {\n this.render(`${prefix} ${message}\\n`, stream)\n return\n }\n this.render(`${message}\\n`, stream)\n }\n\n public line(): SingleLineLogger {\n this.cleanup()\n const currentLine = new SingleLineLogger({ ...this.opts })\n Logger._previousLine = currentLine\n return currentLine\n }\n\n public cleanup(): void {\n if (Logger._previousLine) {\n Logger._previousLine.commit()\n Logger._previousLine = undefined\n }\n }\n}\n\nexport class SingleLineLogger extends BaseLogger {\n private _commited = false\n\n public constructor(opts: LoggerOptions) {\n super(opts)\n }\n\n public commit(): void {\n if (this._commited) {\n return\n }\n this._commited = true\n console.log()\n }\n\n protected print(message: string, props: Partial<{ prefix: string }> = {}): void {\n if (this._commited) {\n return\n }\n\n clearLine(process.stdout, 0)\n const { prefix } = props\n cursorTo(process.stdout, 0)\n if (prefix) {\n this.render(`${prefix} ${message}`)\n return\n }\n this.render(message)\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,sBAAoC;AACpC,yBAA0C;AAEnC,MAAM,eAAe,8BAAW;AAAA,EACrC,OAAe;AAAA;AAAA,EAEL,MAAM,SAAiB,QAAuD,CAAC,GAAS;AAChG,SAAK,QAAQ;AACb,UAAM,SAAS,MAAM,SAAS,QAAQ,SAAS,QAAQ;AACvD,UAAM,EAAE,OAAO,IAAI;AACnB,QAAI,QAAQ;AACV,WAAK,OAAO,GAAG,UAAU;AAAA,GAAa,MAAM;AAC5C;AAAA,IACF;AACA,SAAK,OAAO,GAAG;AAAA,GAAa,MAAM;AAAA,EACpC;AAAA,EAEO,OAAyB;AAC9B,SAAK,QAAQ;AACb,UAAM,cAAc,IAAI,iBAAiB,EAAE,GAAG,KAAK,KAAK,CAAC;AACzD,WAAO,gBAAgB;AACvB,WAAO;AAAA,EACT;AAAA,EAEO,UAAgB;AACrB,QAAI,OAAO,eAAe;AACxB,aAAO,cAAc,OAAO;AAC5B,aAAO,gBAAgB;AAAA,IACzB;AAAA,EACF;AACF;AAEO,MAAM,yBAAyB,8BAAW;AAAA,EACvC,YAAY;AAAA,EAEb,YAAY,MAAqB;AACtC,UAAM,IAAI;AAAA,EACZ;AAAA,EAEO,SAAe;AACpB,QAAI,KAAK,WAAW;AAClB;AAAA,IACF;AACA,SAAK,YAAY;AACjB,YAAQ,IAAI;AAAA,EACd;AAAA,EAEU,MAAM,SAAiB,QAAqC,CAAC,GAAS;AAC9E,QAAI,KAAK,WAAW;AAClB;AAAA,IACF;AAEA,mCAAU,QAAQ,QAAQ,CAAC;AAC3B,UAAM,EAAE,OAAO,IAAI;AACnB,kCAAS,QAAQ,QAAQ,CAAC;AAC1B,QAAI,QAAQ;AACV,WAAK,OAAO,GAAG,UAAU,SAAS;AAClC;AAAA,IACF;AACA,SAAK,OAAO,OAAO;AAAA,EACrB;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var package_ref_exports = {};
|
|
30
|
+
__export(package_ref_exports, {
|
|
31
|
+
formatPackageRef: () => formatPackageRef,
|
|
32
|
+
isLatest: () => isLatest,
|
|
33
|
+
parsePackageRef: () => parsePackageRef
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(package_ref_exports);
|
|
36
|
+
var import_semver = __toESM(require("semver"));
|
|
37
|
+
var utils = __toESM(require("./utils"));
|
|
38
|
+
const packageTypes = {
|
|
39
|
+
integration: null,
|
|
40
|
+
interface: null,
|
|
41
|
+
plugin: null
|
|
42
|
+
};
|
|
43
|
+
const isPackageType = (type) => type in packageTypes;
|
|
44
|
+
const LATEST_TAG = "latest";
|
|
45
|
+
const isLatest = (ref) => ref.version === LATEST_TAG;
|
|
46
|
+
const formatPackageRef = (ref) => {
|
|
47
|
+
if (ref.type === "path") {
|
|
48
|
+
return ref.path;
|
|
49
|
+
}
|
|
50
|
+
if (ref.type === "id") {
|
|
51
|
+
return ref.id;
|
|
52
|
+
}
|
|
53
|
+
if (ref.pkg) {
|
|
54
|
+
return `${ref.pkg}:${ref.name}@${ref.version}`;
|
|
55
|
+
}
|
|
56
|
+
return `${ref.name}@${ref.version}`;
|
|
57
|
+
};
|
|
58
|
+
const parsePackageRef = (ref) => {
|
|
59
|
+
if (!ref) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
if (utils.id.isValidID(ref)) {
|
|
63
|
+
return { type: "id", id: ref };
|
|
64
|
+
}
|
|
65
|
+
if (utils.path.isPath(ref)) {
|
|
66
|
+
return { type: "path", path: ref };
|
|
67
|
+
}
|
|
68
|
+
return parseNamePackageRef(ref);
|
|
69
|
+
};
|
|
70
|
+
const parseNamePackageRef = (ref) => {
|
|
71
|
+
if (!ref) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (ref.includes(":")) {
|
|
75
|
+
const [pkg, nameVersion] = ref.split(":");
|
|
76
|
+
if (!pkg || !nameVersion) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (!isPackageType(pkg)) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const parsed = parseNamePackageRef(nameVersion);
|
|
83
|
+
if (!parsed) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
return { ...parsed, pkg };
|
|
87
|
+
}
|
|
88
|
+
if (!ref.includes("@")) {
|
|
89
|
+
return { type: "name", name: ref, version: LATEST_TAG };
|
|
90
|
+
}
|
|
91
|
+
const [name, version] = ref.split("@");
|
|
92
|
+
if (!name || !version) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
const cleanedVersion = version === LATEST_TAG ? version : import_semver.default.clean(version);
|
|
96
|
+
if (!cleanedVersion) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
return { type: "name", name, version: cleanedVersion };
|
|
100
|
+
};
|
|
101
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
102
|
+
0 && (module.exports = {
|
|
103
|
+
formatPackageRef,
|
|
104
|
+
isLatest,
|
|
105
|
+
parsePackageRef
|
|
106
|
+
});
|
|
107
|
+
//# sourceMappingURL=package-ref.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/package-ref.ts"],
|
|
4
|
+
"sourcesContent": ["import * as sdk from '@botpress/sdk'\nimport semver from 'semver'\nimport * as utils from './utils'\n\ntype PackageType = sdk.Package['type']\nconst packageTypes: Record<PackageType, null> = {\n integration: null,\n interface: null,\n plugin: null,\n}\nconst isPackageType = (type: string): type is PackageType => type in packageTypes\n\nexport type UUIDPackageRef = {\n type: 'id'\n id: string\n}\n\nexport type NamePackageRef = {\n type: 'name'\n pkg?: PackageType\n name: string\n version: string\n}\n\nexport type LocalPackageRef = {\n type: 'path'\n path: string\n}\n\nexport type ApiPackageRef = UUIDPackageRef | NamePackageRef\nexport type PackageRef = ApiPackageRef | LocalPackageRef\n\nconst LATEST_TAG = 'latest'\n\nexport const isLatest = (ref: NamePackageRef): boolean => ref.version === LATEST_TAG\n\nexport const formatPackageRef = (ref: PackageRef): string => {\n if (ref.type === 'path') {\n return ref.path\n }\n if (ref.type === 'id') {\n return ref.id\n }\n if (ref.pkg) {\n return `${ref.pkg}:${ref.name}@${ref.version}`\n }\n return `${ref.name}@${ref.version}`\n}\n\nexport const parsePackageRef = (ref: string): PackageRef | undefined => {\n if (!ref) {\n return\n }\n\n if (utils.id.isValidID(ref)) {\n return { type: 'id', id: ref }\n }\n\n if (utils.path.isPath(ref)) {\n return { type: 'path', path: ref }\n }\n\n return parseNamePackageRef(ref)\n}\n\nconst parseNamePackageRef = (ref: string): NamePackageRef | undefined => {\n if (!ref) {\n return\n }\n\n if (ref.includes(':')) {\n const [pkg, nameVersion] = ref.split(':')\n if (!pkg || !nameVersion) {\n return\n }\n if (!isPackageType(pkg)) {\n return\n }\n const parsed = parseNamePackageRef(nameVersion)\n if (!parsed) {\n return\n }\n return { ...parsed, pkg }\n }\n\n if (!ref.includes('@')) {\n return { type: 'name', name: ref, version: LATEST_TAG }\n }\n\n const [name, version] = ref.split('@')\n if (!name || !version) {\n return\n }\n\n const cleanedVersion = version === LATEST_TAG ? version : semver.clean(version)\n if (!cleanedVersion) {\n return\n }\n\n return { type: 'name', name, version: cleanedVersion }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAAmB;AACnB,YAAuB;AAGvB,MAAM,eAA0C;AAAA,EAC9C,aAAa;AAAA,EACb,WAAW;AAAA,EACX,QAAQ;AACV;AACA,MAAM,gBAAgB,CAAC,SAAsC,QAAQ;AAsBrE,MAAM,aAAa;AAEZ,MAAM,WAAW,CAAC,QAAiC,IAAI,YAAY;AAEnE,MAAM,mBAAmB,CAAC,QAA4B;AAC3D,MAAI,IAAI,SAAS,QAAQ;AACvB,WAAO,IAAI;AAAA,EACb;AACA,MAAI,IAAI,SAAS,MAAM;AACrB,WAAO,IAAI;AAAA,EACb;AACA,MAAI,IAAI,KAAK;AACX,WAAO,GAAG,IAAI,OAAO,IAAI,QAAQ,IAAI;AAAA,EACvC;AACA,SAAO,GAAG,IAAI,QAAQ,IAAI;AAC5B;AAEO,MAAM,kBAAkB,CAAC,QAAwC;AACtE,MAAI,CAAC,KAAK;AACR;AAAA,EACF;AAEA,MAAI,MAAM,GAAG,UAAU,GAAG,GAAG;AAC3B,WAAO,EAAE,MAAM,MAAM,IAAI,IAAI;AAAA,EAC/B;AAEA,MAAI,MAAM,KAAK,OAAO,GAAG,GAAG;AAC1B,WAAO,EAAE,MAAM,QAAQ,MAAM,IAAI;AAAA,EACnC;AAEA,SAAO,oBAAoB,GAAG;AAChC;AAEA,MAAM,sBAAsB,CAAC,QAA4C;AACvE,MAAI,CAAC,KAAK;AACR;AAAA,EACF;AAEA,MAAI,IAAI,SAAS,GAAG,GAAG;AACrB,UAAM,CAAC,KAAK,WAAW,IAAI,IAAI,MAAM,GAAG;AACxC,QAAI,CAAC,OAAO,CAAC,aAAa;AACxB;AAAA,IACF;AACA,QAAI,CAAC,cAAc,GAAG,GAAG;AACvB;AAAA,IACF;AACA,UAAM,SAAS,oBAAoB,WAAW;AAC9C,QAAI,CAAC,QAAQ;AACX;AAAA,IACF;AACA,WAAO,EAAE,GAAG,QAAQ,IAAI;AAAA,EAC1B;AAEA,MAAI,CAAC,IAAI,SAAS,GAAG,GAAG;AACtB,WAAO,EAAE,MAAM,QAAQ,MAAM,KAAK,SAAS,WAAW;AAAA,EACxD;AAEA,QAAM,CAAC,MAAM,OAAO,IAAI,IAAI,MAAM,GAAG;AACrC,MAAI,CAAC,QAAQ,CAAC,SAAS;AACrB;AAAA,EACF;AAEA,QAAM,iBAAiB,YAAY,aAAa,UAAU,cAAAA,QAAO,MAAM,OAAO;AAC9E,MAAI,CAAC,gBAAgB;AACnB;AAAA,EACF;AAEA,SAAO,EAAE,MAAM,QAAQ,MAAM,SAAS,eAAe;AACvD;",
|
|
6
|
+
"names": ["semver"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var import_vitest = require("vitest");
|
|
3
|
+
var import_package_ref = require("./package-ref");
|
|
4
|
+
const path = "/my/path";
|
|
5
|
+
const prefixedUlid = "intver_01HF58RDKE3M7K5RJ5XZ7GF6HE";
|
|
6
|
+
const uuid = "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11";
|
|
7
|
+
const name = "myintegration";
|
|
8
|
+
(0, import_vitest.describe)("parsePackageRef", () => {
|
|
9
|
+
(0, import_vitest.test)("parse empty string should return undefined", () => {
|
|
10
|
+
const ref = "";
|
|
11
|
+
const result = (0, import_package_ref.parsePackageRef)(ref);
|
|
12
|
+
(0, import_vitest.expect)(result).toBeUndefined();
|
|
13
|
+
});
|
|
14
|
+
(0, import_vitest.test)("parse with invalid version should return undefined", () => {
|
|
15
|
+
const ref0 = `${name}@lol`;
|
|
16
|
+
const ref1 = `${name}@1`;
|
|
17
|
+
const ref2 = `${name}@1.0`;
|
|
18
|
+
const result0 = (0, import_package_ref.parsePackageRef)(ref0);
|
|
19
|
+
const result1 = (0, import_package_ref.parsePackageRef)(ref1);
|
|
20
|
+
const result2 = (0, import_package_ref.parsePackageRef)(ref2);
|
|
21
|
+
(0, import_vitest.expect)(result0).toBeUndefined();
|
|
22
|
+
(0, import_vitest.expect)(result1).toBeUndefined();
|
|
23
|
+
(0, import_vitest.expect)(result2).toBeUndefined();
|
|
24
|
+
});
|
|
25
|
+
(0, import_vitest.test)("parse with an absolute path should return path", () => {
|
|
26
|
+
const ref = path;
|
|
27
|
+
const result = (0, import_package_ref.parsePackageRef)(ref);
|
|
28
|
+
const expected = { type: "path", path: ref };
|
|
29
|
+
(0, import_vitest.expect)(result).toEqual(expected);
|
|
30
|
+
});
|
|
31
|
+
(0, import_vitest.test)("parse with a prefixed ULID sets `id` type", () => {
|
|
32
|
+
const ref = prefixedUlid;
|
|
33
|
+
const result = (0, import_package_ref.parsePackageRef)(ref);
|
|
34
|
+
const expected = { type: "id", id: ref };
|
|
35
|
+
(0, import_vitest.expect)(result).toEqual(expected);
|
|
36
|
+
});
|
|
37
|
+
(0, import_vitest.test)("parse with a legacy UUID sets `id` type", () => {
|
|
38
|
+
const ref = uuid;
|
|
39
|
+
const result = (0, import_package_ref.parsePackageRef)(ref);
|
|
40
|
+
const expected = { type: "id", id: ref };
|
|
41
|
+
(0, import_vitest.expect)(result).toEqual(expected);
|
|
42
|
+
});
|
|
43
|
+
(0, import_vitest.test)("parse with a name and version should return name and version", () => {
|
|
44
|
+
const version = "1.0.0";
|
|
45
|
+
const ref = `${name}@${version}`;
|
|
46
|
+
const result = (0, import_package_ref.parsePackageRef)(ref);
|
|
47
|
+
const expected = { type: "name", name, version };
|
|
48
|
+
(0, import_vitest.expect)(result).toEqual(expected);
|
|
49
|
+
});
|
|
50
|
+
(0, import_vitest.test)("parse with a name and latest should return name and latest", () => {
|
|
51
|
+
const version = "latest";
|
|
52
|
+
const ref = `${name}@${version}`;
|
|
53
|
+
const result = (0, import_package_ref.parsePackageRef)(ref);
|
|
54
|
+
const expected = { type: "name", name, version };
|
|
55
|
+
(0, import_vitest.expect)(result).toEqual(expected);
|
|
56
|
+
});
|
|
57
|
+
(0, import_vitest.test)("parse with only a name should return name and latest", () => {
|
|
58
|
+
const ref = name;
|
|
59
|
+
const result = (0, import_package_ref.parsePackageRef)(ref);
|
|
60
|
+
const expected = { type: "name", name, version: "latest" };
|
|
61
|
+
(0, import_vitest.expect)(result).toEqual(expected);
|
|
62
|
+
});
|
|
63
|
+
(0, import_vitest.test)("parse with a package type and a name should return the pkg, name and latest", () => {
|
|
64
|
+
const ref = `integration:${name}`;
|
|
65
|
+
const result = (0, import_package_ref.parsePackageRef)(ref);
|
|
66
|
+
const expected = { type: "name", name, version: "latest", pkg: "integration" };
|
|
67
|
+
(0, import_vitest.expect)(result).toEqual(expected);
|
|
68
|
+
});
|
|
69
|
+
(0, import_vitest.test)("parse with a package type, a name and a version should return all", () => {
|
|
70
|
+
const ref = `integration:${name}@1.0.0`;
|
|
71
|
+
const result = (0, import_package_ref.parsePackageRef)(ref);
|
|
72
|
+
const expected = { type: "name", name, version: "1.0.0", pkg: "integration" };
|
|
73
|
+
(0, import_vitest.expect)(result).toEqual(expected);
|
|
74
|
+
});
|
|
75
|
+
(0, import_vitest.test)("parse with a package type and a version should return undefined", () => {
|
|
76
|
+
const ref = `plugin:@1.0.0`;
|
|
77
|
+
const result = (0, import_package_ref.parsePackageRef)(ref);
|
|
78
|
+
(0, import_vitest.expect)(result).toBeUndefined();
|
|
79
|
+
});
|
|
80
|
+
(0, import_vitest.test)("parse with an invalid package type should return undefined", () => {
|
|
81
|
+
const ref = `bot:${name}@1.0.0`;
|
|
82
|
+
const result = (0, import_package_ref.parsePackageRef)(ref);
|
|
83
|
+
(0, import_vitest.expect)(result).toBeUndefined();
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
(0, import_vitest.describe)("formatPackageRef", () => {
|
|
87
|
+
(0, import_vitest.test)("format with a path should return path", () => {
|
|
88
|
+
const ref = { type: "path", path };
|
|
89
|
+
const result = (0, import_package_ref.formatPackageRef)(ref);
|
|
90
|
+
(0, import_vitest.expect)(result).toEqual(ref.path);
|
|
91
|
+
});
|
|
92
|
+
(0, import_vitest.test)("format with a prefixed ULID uses `id` type", () => {
|
|
93
|
+
const ref = { type: "id", id: prefixedUlid };
|
|
94
|
+
const result = (0, import_package_ref.formatPackageRef)(ref);
|
|
95
|
+
(0, import_vitest.expect)(result).toEqual(ref.id);
|
|
96
|
+
});
|
|
97
|
+
(0, import_vitest.test)("format with a legacy UUID uses `id` type", () => {
|
|
98
|
+
const ref = { type: "id", id: uuid };
|
|
99
|
+
const result = (0, import_package_ref.formatPackageRef)(ref);
|
|
100
|
+
(0, import_vitest.expect)(result).toEqual(ref.id);
|
|
101
|
+
});
|
|
102
|
+
(0, import_vitest.test)("format with a name and version should return name and version", () => {
|
|
103
|
+
const version = "1.0.0";
|
|
104
|
+
const ref = { type: "name", name, version };
|
|
105
|
+
const result = (0, import_package_ref.formatPackageRef)(ref);
|
|
106
|
+
(0, import_vitest.expect)(result).toEqual(`${name}@${version}`);
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
//# sourceMappingURL=package-ref.test.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/package-ref.test.ts"],
|
|
4
|
+
"sourcesContent": ["import { test, expect, describe } from 'vitest'\nimport { formatPackageRef, PackageRef, parsePackageRef } from './package-ref'\n\nconst path = '/my/path'\nconst prefixedUlid = 'intver_01HF58RDKE3M7K5RJ5XZ7GF6HE'\nconst uuid = 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'\nconst name = 'myintegration'\n\ndescribe('parsePackageRef', () => {\n test('parse empty string should return undefined', () => {\n // arrange\n const ref = ''\n // act\n const result = parsePackageRef(ref)\n // assert\n expect(result).toBeUndefined()\n })\n\n test('parse with invalid version should return undefined', () => {\n // arrange\n const ref0 = `${name}@lol`\n const ref1 = `${name}@1`\n const ref2 = `${name}@1.0`\n // act\n const result0 = parsePackageRef(ref0)\n const result1 = parsePackageRef(ref1)\n const result2 = parsePackageRef(ref2)\n // assert\n expect(result0).toBeUndefined()\n expect(result1).toBeUndefined()\n expect(result2).toBeUndefined()\n })\n\n test('parse with an absolute path should return path', () => {\n // arrange\n const ref = path\n // act\n const result = parsePackageRef(ref)\n // assert\n const expected: PackageRef = { type: 'path', path: ref }\n expect(result).toEqual(expected)\n })\n\n test('parse with a prefixed ULID sets `id` type', () => {\n // arrange\n const ref = prefixedUlid\n // act\n const result = parsePackageRef(ref)\n // assert\n const expected: PackageRef = { type: 'id', id: ref }\n expect(result).toEqual(expected)\n })\n\n test('parse with a legacy UUID sets `id` type', () => {\n // arrange\n const ref = uuid\n // act\n const result = parsePackageRef(ref)\n // assert\n const expected: PackageRef = { type: 'id', id: ref }\n expect(result).toEqual(expected)\n })\n\n test('parse with a name and version should return name and version', () => {\n // arrange\n const version = '1.0.0'\n const ref = `${name}@${version}`\n // act\n const result = parsePackageRef(ref)\n // assert\n const expected: PackageRef = { type: 'name', name, version }\n expect(result).toEqual(expected)\n })\n\n test('parse with a name and latest should return name and latest', () => {\n // arrange\n const version = 'latest'\n const ref = `${name}@${version}`\n // act\n const result = parsePackageRef(ref)\n // assert\n const expected: PackageRef = { type: 'name', name, version }\n expect(result).toEqual(expected)\n })\n\n test('parse with only a name should return name and latest', () => {\n // arrange\n const ref = name\n // act\n const result = parsePackageRef(ref)\n // assert\n const expected: PackageRef = { type: 'name', name, version: 'latest' }\n expect(result).toEqual(expected)\n })\n\n test('parse with a package type and a name should return the pkg, name and latest', () => {\n // arrange\n const ref = `integration:${name}`\n // act\n const result = parsePackageRef(ref)\n // assert\n const expected: PackageRef = { type: 'name', name, version: 'latest', pkg: 'integration' }\n expect(result).toEqual(expected)\n })\n\n test('parse with a package type, a name and a version should return all', () => {\n // arrange\n const ref = `integration:${name}@1.0.0`\n // act\n const result = parsePackageRef(ref)\n // assert\n const expected: PackageRef = { type: 'name', name, version: '1.0.0', pkg: 'integration' }\n expect(result).toEqual(expected)\n })\n\n test('parse with a package type and a version should return undefined', () => {\n // arrange\n const ref = `plugin:@1.0.0`\n // act\n const result = parsePackageRef(ref)\n // assert\n expect(result).toBeUndefined()\n })\n\n test('parse with an invalid package type should return undefined', () => {\n // arrange\n const ref = `bot:${name}@1.0.0`\n // act\n const result = parsePackageRef(ref)\n // assert\n expect(result).toBeUndefined()\n })\n})\n\ndescribe('formatPackageRef', () => {\n test('format with a path should return path', () => {\n // arrange\n const ref: PackageRef = { type: 'path', path }\n // act\n const result = formatPackageRef(ref)\n // assert\n expect(result).toEqual(ref.path)\n })\n\n test('format with a prefixed ULID uses `id` type', () => {\n // arrange\n const ref: PackageRef = { type: 'id', id: prefixedUlid }\n // act\n const result = formatPackageRef(ref)\n // assert\n expect(result).toEqual(ref.id)\n })\n\n test('format with a legacy UUID uses `id` type', () => {\n // arrange\n const ref: PackageRef = { type: 'id', id: uuid }\n // act\n const result = formatPackageRef(ref)\n // assert\n expect(result).toEqual(ref.id)\n })\n\n test('format with a name and version should return name and version', () => {\n // arrange\n const version = '1.0.0'\n const ref: PackageRef = { type: 'name', name, version }\n // act\n const result = formatPackageRef(ref)\n // assert\n expect(result).toEqual(`${name}@${version}`)\n })\n})\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var register_yargs_exports = {};
|
|
30
|
+
__export(register_yargs_exports, {
|
|
31
|
+
registerYargs: () => registerYargs
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(register_yargs_exports);
|
|
34
|
+
var import_yargs_extra = require("@bpinternal/yargs-extra");
|
|
35
|
+
var import_lodash = __toESM(require("lodash"));
|
|
36
|
+
var tree = __toESM(require("./command-tree"));
|
|
37
|
+
const parseArguments = (schema, argv) => {
|
|
38
|
+
const yargsEnv = (0, import_yargs_extra.parseEnv)(schema, "BP");
|
|
39
|
+
return (0, import_yargs_extra.cleanupConfig)(schema, { ...argv, ...yargsEnv });
|
|
40
|
+
};
|
|
41
|
+
const registerYargs = (yargz, commands) => {
|
|
42
|
+
for (const cmdName in commands) {
|
|
43
|
+
const command = commands[cmdName];
|
|
44
|
+
if (tree.guards.command.isSubTree(command)) {
|
|
45
|
+
yargz.command(cmdName, command.description ?? cmdName, (y) => {
|
|
46
|
+
registerYargs(y, command.subcommands);
|
|
47
|
+
return y;
|
|
48
|
+
});
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
const { schema, description, alias } = command;
|
|
52
|
+
const aliases = alias ? [cmdName, alias] : [cmdName];
|
|
53
|
+
const options = Object.entries(schema);
|
|
54
|
+
let positionals = options.filter(
|
|
55
|
+
(value) => !!value[1].positional
|
|
56
|
+
);
|
|
57
|
+
let usage = aliases;
|
|
58
|
+
if (positionals.length) {
|
|
59
|
+
positionals = import_lodash.default.sortBy(positionals, ([, option]) => option.idx);
|
|
60
|
+
const positionalArgs = positionals.map(
|
|
61
|
+
([optName, option]) => option.demandOption ? `<${optName}>` : `[${optName}]`
|
|
62
|
+
);
|
|
63
|
+
const positionalStr = positionalArgs.join(" ");
|
|
64
|
+
usage = aliases.map((optAlias) => `${optAlias} ${positionalStr}`);
|
|
65
|
+
}
|
|
66
|
+
yargz.command(
|
|
67
|
+
usage,
|
|
68
|
+
description ?? cmdName,
|
|
69
|
+
(y) => {
|
|
70
|
+
for (const [key, option] of Object.entries(schema)) {
|
|
71
|
+
if (option.positional) {
|
|
72
|
+
y = y.positional(key, option);
|
|
73
|
+
} else {
|
|
74
|
+
y = y.option(key, option);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return y;
|
|
78
|
+
},
|
|
79
|
+
async (argv) => {
|
|
80
|
+
const parsed = parseArguments(schema, argv);
|
|
81
|
+
const { exitCode } = await command.handler({ ...parsed });
|
|
82
|
+
process.exit(exitCode);
|
|
83
|
+
}
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
88
|
+
0 && (module.exports = {
|
|
89
|
+
registerYargs
|
|
90
|
+
});
|
|
91
|
+
//# sourceMappingURL=register-yargs.js.map
|