aws-cdk 0.0.0
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/CONTRIBUTING.md +276 -0
- package/LICENSE +202 -0
- package/NOTICE +16 -0
- package/README.md +1274 -0
- package/THIRD_PARTY_LICENSES +26821 -0
- package/bin/cdk +6 -0
- package/build-info.json +4 -0
- package/db.json.gz +0 -0
- package/generate.sh +25 -0
- package/images/garbage-collection.png +0 -0
- package/lib/api/aws-auth/account-cache.d.ts +39 -0
- package/lib/api/aws-auth/account-cache.js +102 -0
- package/lib/api/aws-auth/awscli-compatible.d.ts +42 -0
- package/lib/api/aws-auth/awscli-compatible.js +264 -0
- package/lib/api/aws-auth/cached.d.ts +11 -0
- package/lib/api/aws-auth/cached.js +26 -0
- package/lib/api/aws-auth/credential-plugins.d.ts +36 -0
- package/lib/api/aws-auth/credential-plugins.js +153 -0
- package/lib/api/aws-auth/index.d.ts +3 -0
- package/lib/api/aws-auth/index.js +20 -0
- package/lib/api/aws-auth/provider-caching.d.ts +13 -0
- package/lib/api/aws-auth/provider-caching.js +24 -0
- package/lib/api/aws-auth/sdk-logger.d.ts +69 -0
- package/lib/api/aws-auth/sdk-logger.js +130 -0
- package/lib/api/aws-auth/sdk-provider.d.ts +207 -0
- package/lib/api/aws-auth/sdk-provider.js +359 -0
- package/lib/api/aws-auth/sdk.d.ts +223 -0
- package/lib/api/aws-auth/sdk.js +366 -0
- package/lib/api/aws-auth/tracing.d.ts +11 -0
- package/lib/api/aws-auth/tracing.js +61 -0
- package/lib/api/aws-auth/user-agent.d.ts +7 -0
- package/lib/api/aws-auth/user-agent.js +21 -0
- package/lib/api/aws-auth/util.d.ts +6 -0
- package/lib/api/aws-auth/util.js +23 -0
- package/lib/api/bootstrap/bootstrap-environment.d.ts +33 -0
- package/lib/api/bootstrap/bootstrap-environment.js +322 -0
- package/lib/api/bootstrap/bootstrap-props.d.ts +130 -0
- package/lib/api/bootstrap/bootstrap-props.js +14 -0
- package/lib/api/bootstrap/bootstrap-template.yaml +692 -0
- package/lib/api/bootstrap/deploy-bootstrap.d.ts +37 -0
- package/lib/api/bootstrap/deploy-bootstrap.js +143 -0
- package/lib/api/bootstrap/index.d.ts +2 -0
- package/lib/api/bootstrap/index.js +19 -0
- package/lib/api/bootstrap/legacy-template.d.ts +2 -0
- package/lib/api/bootstrap/legacy-template.js +82 -0
- package/lib/api/context.d.ts +40 -0
- package/lib/api/context.js +82 -0
- package/lib/api/cxapp/cloud-assembly.d.ts +150 -0
- package/lib/api/cxapp/cloud-assembly.js +305 -0
- package/lib/api/cxapp/cloud-executable.d.ts +44 -0
- package/lib/api/cxapp/cloud-executable.js +90 -0
- package/lib/api/cxapp/environments.d.ts +9 -0
- package/lib/api/cxapp/environments.js +66 -0
- package/lib/api/cxapp/exec.d.ts +56 -0
- package/lib/api/cxapp/exec.js +275 -0
- package/lib/api/deployments/asset-manifest-builder.d.ts +8 -0
- package/lib/api/deployments/asset-manifest-builder.js +35 -0
- package/lib/api/deployments/asset-publishing.d.ts +77 -0
- package/lib/api/deployments/asset-publishing.js +163 -0
- package/lib/api/deployments/assets.d.ts +10 -0
- package/lib/api/deployments/assets.js +111 -0
- package/lib/api/deployments/checks.d.ts +8 -0
- package/lib/api/deployments/checks.js +73 -0
- package/lib/api/deployments/cloudformation.d.ts +235 -0
- package/lib/api/deployments/cloudformation.js +598 -0
- package/lib/api/deployments/deploy-stack.d.ts +177 -0
- package/lib/api/deployments/deploy-stack.js +484 -0
- package/lib/api/deployments/deployment-method.d.ts +24 -0
- package/lib/api/deployments/deployment-method.js +3 -0
- package/lib/api/deployments/deployment-result.d.ts +21 -0
- package/lib/api/deployments/deployment-result.js +10 -0
- package/lib/api/deployments/deployments.d.ts +340 -0
- package/lib/api/deployments/deployments.js +369 -0
- package/lib/api/deployments/hotswap-deployments.d.ts +14 -0
- package/lib/api/deployments/hotswap-deployments.js +357 -0
- package/lib/api/deployments/index.d.ts +6 -0
- package/lib/api/deployments/index.js +23 -0
- package/lib/api/deployments/nested-stack-helpers.d.ts +25 -0
- package/lib/api/deployments/nested-stack-helpers.js +88 -0
- package/lib/api/environment-access.d.ts +138 -0
- package/lib/api/environment-access.js +203 -0
- package/lib/api/environment-resources.d.ts +73 -0
- package/lib/api/environment-resources.js +208 -0
- package/lib/api/evaluate-cloudformation-template.d.ts +84 -0
- package/lib/api/evaluate-cloudformation-template.js +443 -0
- package/lib/api/garbage-collection/garbage-collector.d.ts +152 -0
- package/lib/api/garbage-collection/garbage-collector.js +607 -0
- package/lib/api/garbage-collection/progress-printer.d.ts +21 -0
- package/lib/api/garbage-collection/progress-printer.js +69 -0
- package/lib/api/garbage-collection/stack-refresh.d.ts +44 -0
- package/lib/api/garbage-collection/stack-refresh.js +154 -0
- package/lib/api/hotswap/appsync-mapping-templates.d.ts +3 -0
- package/lib/api/hotswap/appsync-mapping-templates.js +157 -0
- package/lib/api/hotswap/code-build-projects.d.ts +3 -0
- package/lib/api/hotswap/code-build-projects.js +55 -0
- package/lib/api/hotswap/common.d.ts +126 -0
- package/lib/api/hotswap/common.js +170 -0
- package/lib/api/hotswap/ecs-services.d.ts +3 -0
- package/lib/api/hotswap/ecs-services.js +140 -0
- package/lib/api/hotswap/lambda-functions.d.ts +3 -0
- package/lib/api/hotswap/lambda-functions.js +309 -0
- package/lib/api/hotswap/s3-bucket-deployments.d.ts +9 -0
- package/lib/api/hotswap/s3-bucket-deployments.js +112 -0
- package/lib/api/hotswap/stepfunctions-state-machines.d.ts +3 -0
- package/lib/api/hotswap/stepfunctions-state-machines.js +42 -0
- package/lib/api/index.d.ts +5 -0
- package/lib/api/index.js +22 -0
- package/lib/api/logs/find-cloudwatch-logs.d.ts +24 -0
- package/lib/api/logs/find-cloudwatch-logs.js +97 -0
- package/lib/api/logs/logs-monitor.d.ts +53 -0
- package/lib/api/logs/logs-monitor.js +169 -0
- package/lib/api/plugin/context-provider-plugin.d.ts +6 -0
- package/lib/api/plugin/context-provider-plugin.js +7 -0
- package/lib/api/plugin/index.d.ts +3 -0
- package/lib/api/plugin/index.js +20 -0
- package/lib/api/plugin/mode.d.ts +4 -0
- package/lib/api/plugin/mode.js +9 -0
- package/lib/api/plugin/plugin.d.ts +63 -0
- package/lib/api/plugin/plugin.js +106 -0
- package/lib/api/settings.d.ts +29 -0
- package/lib/api/settings.js +141 -0
- package/lib/api/tags.d.ts +9 -0
- package/lib/api/tags.js +10 -0
- package/lib/api/toolkit-info.d.ts +51 -0
- package/lib/api/toolkit-info.js +156 -0
- package/lib/api/util/cloudformation/stack-activity-monitor.d.ts +237 -0
- package/lib/api/util/cloudformation/stack-activity-monitor.js +550 -0
- package/lib/api/util/cloudformation/stack-event-poller.d.ts +63 -0
- package/lib/api/util/cloudformation/stack-event-poller.js +129 -0
- package/lib/api/util/cloudformation/stack-status.d.ts +42 -0
- package/lib/api/util/cloudformation/stack-status.js +88 -0
- package/lib/api/util/display.d.ts +13 -0
- package/lib/api/util/display.js +80 -0
- package/lib/api/util/placeholders.d.ts +10 -0
- package/lib/api/util/placeholders.js +24 -0
- package/lib/api/util/rwlock.d.ts +65 -0
- package/lib/api/util/rwlock.js +179 -0
- package/lib/api/util/string-manipulation.d.ts +10 -0
- package/lib/api/util/string-manipulation.js +33 -0
- package/lib/api/util/template-body-parameter.d.ts +21 -0
- package/lib/api/util/template-body-parameter.js +104 -0
- package/lib/cli/cdk-toolkit.d.ts +594 -0
- package/lib/cli/cdk-toolkit.js +1019 -0
- package/lib/cli/cli-config.d.ts +10 -0
- package/lib/cli/cli-config.js +406 -0
- package/lib/cli/cli.d.ts +4 -0
- package/lib/cli/cli.js +538 -0
- package/lib/cli/convert-to-user-input.d.ts +3 -0
- package/lib/cli/convert-to-user-input.js +434 -0
- package/lib/cli/parse-command-line-arguments.d.ts +1 -0
- package/lib/cli/parse-command-line-arguments.js +806 -0
- package/lib/cli/platform-warnings.d.ts +2 -0
- package/lib/cli/platform-warnings.js +45 -0
- package/lib/cli/user-configuration.d.ts +90 -0
- package/lib/cli/user-configuration.js +272 -0
- package/lib/cli/user-input.d.ts +1163 -0
- package/lib/cli/user-input.js +3 -0
- package/lib/cli/util/console-formatters.d.ts +18 -0
- package/lib/cli/util/console-formatters.js +42 -0
- package/lib/cli/util/npm.d.ts +1 -0
- package/lib/cli/util/npm.js +22 -0
- package/lib/cli/util/yargs-helpers.d.ts +22 -0
- package/lib/cli/util/yargs-helpers.js +49 -0
- package/lib/cli/version.d.ts +13 -0
- package/lib/cli/version.js +120 -0
- package/lib/commands/context.d.ts +35 -0
- package/lib/commands/context.js +156 -0
- package/lib/commands/docs.d.ts +13 -0
- package/lib/commands/docs.js +32 -0
- package/lib/commands/doctor.d.ts +1 -0
- package/lib/commands/doctor.js +69 -0
- package/lib/commands/migrate.d.ts +327 -0
- package/lib/commands/migrate.js +804 -0
- package/lib/context-providers/ami.d.ts +11 -0
- package/lib/context-providers/ami.js +50 -0
- package/lib/context-providers/availability-zones.d.ts +11 -0
- package/lib/context-providers/availability-zones.js +27 -0
- package/lib/context-providers/endpoint-service-availability-zones.d.ts +11 -0
- package/lib/context-providers/endpoint-service-availability-zones.js +33 -0
- package/lib/context-providers/hosted-zones.d.ts +10 -0
- package/lib/context-providers/hosted-zones.js +67 -0
- package/lib/context-providers/index.d.ts +30 -0
- package/lib/context-providers/index.js +109 -0
- package/lib/context-providers/keys.d.ts +11 -0
- package/lib/context-providers/keys.js +52 -0
- package/lib/context-providers/load-balancers.d.ts +20 -0
- package/lib/context-providers/load-balancers.js +159 -0
- package/lib/context-providers/security-groups.d.ts +9 -0
- package/lib/context-providers/security-groups.js +70 -0
- package/lib/context-providers/ssm-parameters.d.ts +23 -0
- package/lib/context-providers/ssm-parameters.js +59 -0
- package/lib/context-providers/vpcs.d.ts +11 -0
- package/lib/context-providers/vpcs.js +288 -0
- package/lib/diff.d.ts +28 -0
- package/lib/diff.js +165 -0
- package/lib/import.d.ts +182 -0
- package/lib/import.js +335 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +348304 -0
- package/lib/index_bg.wasm +0 -0
- package/lib/init-hooks.d.ts +40 -0
- package/lib/init-hooks.js +64 -0
- package/lib/init-templates/.init-version.json +1 -0
- package/lib/init-templates/.no-packagejson-validator +0 -0
- package/lib/init-templates/.recommended-feature-flags.json +68 -0
- package/lib/init-templates/LICENSE +16 -0
- package/lib/init-templates/app/csharp/.template.gitignore +342 -0
- package/lib/init-templates/app/csharp/README.md +14 -0
- package/lib/init-templates/app/csharp/cdk.template.json +15 -0
- package/lib/init-templates/app/csharp/src/%name.PascalCased%/%name.PascalCased%.template.csproj +20 -0
- package/lib/init-templates/app/csharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.cs +13 -0
- package/lib/init-templates/app/csharp/src/%name.PascalCased%/GlobalSuppressions.cs +1 -0
- package/lib/init-templates/app/csharp/src/%name.PascalCased%/Program.template.cs +44 -0
- package/lib/init-templates/app/csharp/src/%name.PascalCased%.template.sln +18 -0
- package/lib/init-templates/app/fsharp/.template.gitignore +342 -0
- package/lib/init-templates/app/fsharp/README.md +18 -0
- package/lib/init-templates/app/fsharp/cdk.template.json +14 -0
- package/lib/init-templates/app/fsharp/src/%name.PascalCased%/%name.PascalCased%.template.fsproj +25 -0
- package/lib/init-templates/app/fsharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.fs +8 -0
- package/lib/init-templates/app/fsharp/src/%name.PascalCased%/Program.template.fs +11 -0
- package/lib/init-templates/app/fsharp/src/%name.PascalCased%.template.sln +18 -0
- package/lib/init-templates/app/go/%name%.template.go +70 -0
- package/lib/init-templates/app/go/%name%_test.template.go +26 -0
- package/lib/init-templates/app/go/.template.gitignore +19 -0
- package/lib/init-templates/app/go/README.md +12 -0
- package/lib/init-templates/app/go/cdk.template.json +13 -0
- package/lib/init-templates/app/go/go.template.mod +9 -0
- package/lib/init-templates/app/info.json +4 -0
- package/lib/init-templates/app/java/.template.gitignore +13 -0
- package/lib/init-templates/app/java/README.md +18 -0
- package/lib/init-templates/app/java/cdk.json +13 -0
- package/lib/init-templates/app/java/pom.xml +60 -0
- package/lib/init-templates/app/java/src/main/java/com/myorg/%name.PascalCased%App.template.java +42 -0
- package/lib/init-templates/app/java/src/main/java/com/myorg/%name.PascalCased%Stack.template.java +24 -0
- package/lib/init-templates/app/java/src/test/java/com/myorg/%name.PascalCased%Test.template.java +26 -0
- package/lib/init-templates/app/javascript/.template.gitignore +5 -0
- package/lib/init-templates/app/javascript/.template.npmignore +3 -0
- package/lib/init-templates/app/javascript/README.md +12 -0
- package/lib/init-templates/app/javascript/bin/%name%.template.js +21 -0
- package/lib/init-templates/app/javascript/cdk.template.json +15 -0
- package/lib/init-templates/app/javascript/jest.config.js +3 -0
- package/lib/init-templates/app/javascript/lib/%name%-stack.template.js +23 -0
- package/lib/init-templates/app/javascript/package.json +20 -0
- package/lib/init-templates/app/javascript/test/%name%.test.template.js +17 -0
- package/lib/init-templates/app/python/%name.PythonModule%/%name.PythonModule%_stack.template.py +19 -0
- package/lib/init-templates/app/python/%name.PythonModule%/__init__.py +0 -0
- package/lib/init-templates/app/python/.template.gitignore +10 -0
- package/lib/init-templates/app/python/README.template.md +58 -0
- package/lib/init-templates/app/python/app.template.py +28 -0
- package/lib/init-templates/app/python/cdk.template.json +15 -0
- package/lib/init-templates/app/python/requirements-dev.txt +1 -0
- package/lib/init-templates/app/python/requirements.txt +2 -0
- package/lib/init-templates/app/python/source.bat +13 -0
- package/lib/init-templates/app/python/tests/__init__.py +0 -0
- package/lib/init-templates/app/python/tests/unit/__init__.py +0 -0
- package/lib/init-templates/app/python/tests/unit/test_%name.PythonModule%_stack.template.py +15 -0
- package/lib/init-templates/app/typescript/.template.gitignore +8 -0
- package/lib/init-templates/app/typescript/.template.npmignore +6 -0
- package/lib/init-templates/app/typescript/README.md +14 -0
- package/lib/init-templates/app/typescript/bin/%name%.template.ts +20 -0
- package/lib/init-templates/app/typescript/cdk.template.json +17 -0
- package/lib/init-templates/app/typescript/jest.config.js +8 -0
- package/lib/init-templates/app/typescript/lib/%name%-stack.template.ts +16 -0
- package/lib/init-templates/app/typescript/package.json +26 -0
- package/lib/init-templates/app/typescript/test/%name%.test.template.ts +17 -0
- package/lib/init-templates/app/typescript/tsconfig.json +31 -0
- package/lib/init-templates/lib/info.json +4 -0
- package/lib/init-templates/lib/typescript/.template.gitignore +8 -0
- package/lib/init-templates/lib/typescript/.template.npmignore +6 -0
- package/lib/init-templates/lib/typescript/README.template.md +12 -0
- package/lib/init-templates/lib/typescript/jest.config.js +8 -0
- package/lib/init-templates/lib/typescript/lib/index.template.ts +21 -0
- package/lib/init-templates/lib/typescript/package.json +24 -0
- package/lib/init-templates/lib/typescript/test/%name%.test.template.ts +18 -0
- package/lib/init-templates/lib/typescript/tsconfig.json +31 -0
- package/lib/init-templates/sample-app/csharp/.template.gitignore +342 -0
- package/lib/init-templates/sample-app/csharp/README.template.md +19 -0
- package/lib/init-templates/sample-app/csharp/cdk.template.json +15 -0
- package/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/%name.PascalCased%.template.csproj +20 -0
- package/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.cs +24 -0
- package/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/GlobalSuppressions.cs +1 -0
- package/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/Program.template.cs +15 -0
- package/lib/init-templates/sample-app/csharp/src/%name.PascalCased%.template.sln +18 -0
- package/lib/init-templates/sample-app/fsharp/.template.gitignore +342 -0
- package/lib/init-templates/sample-app/fsharp/README.template.md +20 -0
- package/lib/init-templates/sample-app/fsharp/cdk.template.json +14 -0
- package/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%/%name.PascalCased%.template.fsproj +25 -0
- package/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.fs +14 -0
- package/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%/Program.template.fs +11 -0
- package/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%.template.sln +18 -0
- package/lib/init-templates/sample-app/go/%name%.template.go +73 -0
- package/lib/init-templates/sample-app/go/%name%_test.template.go +25 -0
- package/lib/init-templates/sample-app/go/.template.gitignore +19 -0
- package/lib/init-templates/sample-app/go/README.md +12 -0
- package/lib/init-templates/sample-app/go/cdk.template.json +13 -0
- package/lib/init-templates/sample-app/go/go.template.mod +9 -0
- package/lib/init-templates/sample-app/info.json +4 -0
- package/lib/init-templates/sample-app/java/.template.gitignore +13 -0
- package/lib/init-templates/sample-app/java/README.template.md +19 -0
- package/lib/init-templates/sample-app/java/cdk.json +13 -0
- package/lib/init-templates/sample-app/java/pom.xml +55 -0
- package/lib/init-templates/sample-app/java/src/main/java/com/myorg/%name.PascalCased%App.template.java +13 -0
- package/lib/init-templates/sample-app/java/src/main/java/com/myorg/%name.PascalCased%Stack.template.java +29 -0
- package/lib/init-templates/sample-app/java/src/test/java/com/myorg/%name.PascalCased%StackTest.template.java +27 -0
- package/lib/init-templates/sample-app/javascript/.template.gitignore +5 -0
- package/lib/init-templates/sample-app/javascript/.template.npmignore +3 -0
- package/lib/init-templates/sample-app/javascript/README.template.md +13 -0
- package/lib/init-templates/sample-app/javascript/bin/%name%.template.js +6 -0
- package/lib/init-templates/sample-app/javascript/cdk.template.json +15 -0
- package/lib/init-templates/sample-app/javascript/jest.config.js +3 -0
- package/lib/init-templates/sample-app/javascript/lib/%name%-stack.template.js +25 -0
- package/lib/init-templates/sample-app/javascript/package.json +20 -0
- package/lib/init-templates/sample-app/javascript/test/%name%.test.template.js +16 -0
- package/lib/init-templates/sample-app/javascript/tsconfig.json +34 -0
- package/lib/init-templates/sample-app/python/%name.PythonModule%/%name.PythonModule%_stack.template.py +26 -0
- package/lib/init-templates/sample-app/python/%name.PythonModule%/__init__.py +0 -0
- package/lib/init-templates/sample-app/python/.template.gitignore +22 -0
- package/lib/init-templates/sample-app/python/README.template.md +65 -0
- package/lib/init-templates/sample-app/python/app.template.py +11 -0
- package/lib/init-templates/sample-app/python/cdk.template.json +15 -0
- package/lib/init-templates/sample-app/python/requirements-dev.txt +1 -0
- package/lib/init-templates/sample-app/python/requirements.txt +2 -0
- package/lib/init-templates/sample-app/python/source.bat +13 -0
- package/lib/init-templates/sample-app/python/tests/__init__.py +0 -0
- package/lib/init-templates/sample-app/python/tests/unit/__init__.py +0 -0
- package/lib/init-templates/sample-app/python/tests/unit/test_%name.PythonModule%_stack.template.py +21 -0
- package/lib/init-templates/sample-app/typescript/.template.gitignore +8 -0
- package/lib/init-templates/sample-app/typescript/.template.npmignore +6 -0
- package/lib/init-templates/sample-app/typescript/README.template.md +15 -0
- package/lib/init-templates/sample-app/typescript/bin/%name%.template.ts +6 -0
- package/lib/init-templates/sample-app/typescript/cdk.template.json +17 -0
- package/lib/init-templates/sample-app/typescript/jest.config.js +8 -0
- package/lib/init-templates/sample-app/typescript/lib/%name%-stack.template.ts +19 -0
- package/lib/init-templates/sample-app/typescript/package.json +26 -0
- package/lib/init-templates/sample-app/typescript/test/%name%.test.template.ts +17 -0
- package/lib/init-templates/sample-app/typescript/tsconfig.json +31 -0
- package/lib/init.d.ts +52 -0
- package/lib/init.js +430 -0
- package/lib/legacy-exports-source.d.ts +27 -0
- package/lib/legacy-exports-source.js +88 -0
- package/lib/legacy-exports.d.ts +10 -0
- package/lib/legacy-exports.js +28 -0
- package/lib/legacy-logging-source.d.ts +32 -0
- package/lib/legacy-logging-source.js +107 -0
- package/lib/list-stacks.d.ts +22 -0
- package/lib/list-stacks.js +23 -0
- package/lib/logging.d.ts +109 -0
- package/lib/logging.js +159 -0
- package/lib/migrator.d.ts +25 -0
- package/lib/migrator.js +67 -0
- package/lib/notices.d.ts +156 -0
- package/lib/notices.js +373 -0
- package/lib/os.d.ts +7 -0
- package/lib/os.js +92 -0
- package/lib/serialize.d.ts +27 -0
- package/lib/serialize.js +86 -0
- package/lib/toolkit/cli-io-host.d.ts +208 -0
- package/lib/toolkit/cli-io-host.js +282 -0
- package/lib/toolkit/error.d.ts +44 -0
- package/lib/toolkit/error.js +78 -0
- package/lib/tree.d.ts +31 -0
- package/lib/tree.js +40 -0
- package/lib/util/archive.d.ts +1 -0
- package/lib/util/archive.js +86 -0
- package/lib/util/arrays.d.ts +14 -0
- package/lib/util/arrays.js +36 -0
- package/lib/util/bool.d.ts +7 -0
- package/lib/util/bool.js +13 -0
- package/lib/util/bytes.d.ts +8 -0
- package/lib/util/bytes.js +21 -0
- package/lib/util/content-hash.d.ts +5 -0
- package/lib/util/content-hash.js +43 -0
- package/lib/util/directories.d.ts +23 -0
- package/lib/util/directories.js +57 -0
- package/lib/util/error.d.ts +9 -0
- package/lib/util/error.js +22 -0
- package/lib/util/index.d.ts +5 -0
- package/lib/util/index.js +22 -0
- package/lib/util/objects.d.ts +52 -0
- package/lib/util/objects.js +183 -0
- package/lib/util/parallel.d.ts +6 -0
- package/lib/util/parallel.js +44 -0
- package/lib/util/tables.d.ts +1 -0
- package/lib/util/tables.js +10 -0
- package/lib/util/type-brands.d.ts +39 -0
- package/lib/util/type-brands.js +38 -0
- package/lib/util/types.d.ts +27 -0
- package/lib/util/types.js +25 -0
- package/lib/util/validate-notification-arn.d.ts +4 -0
- package/lib/util/validate-notification-arn.js +10 -0
- package/lib/util/version-range.d.ts +2 -0
- package/lib/util/version-range.js +36 -0
- package/lib/util/work-graph-builder.d.ts +32 -0
- package/lib/util/work-graph-builder.js +167 -0
- package/lib/util/work-graph-types.d.ts +50 -0
- package/lib/util/work-graph-types.js +14 -0
- package/lib/util/work-graph.d.ts +70 -0
- package/lib/util/work-graph.js +344 -0
- package/lib/util/yaml-cfn.d.ts +15 -0
- package/lib/util/yaml-cfn.js +56 -0
- package/package.json +197 -0
- package/scripts/user-input-gen +2 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1pbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInVzZXItaW5wdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEdFTkVSQVRFRCBGUk9NIHBhY2thZ2VzL2F3cy1jZGsvbGliL2NsaS9jbGktY29uZmlnLnRzLlxuLy8gRG8gbm90IGVkaXQgYnkgaGFuZDsgYWxsIGNoYW5nZXMgd2lsbCBiZSBvdmVyd3JpdHRlbiBhdCBidWlsZCB0aW1lIGZyb20gdGhlIGNvbmZpZyBmaWxlLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLyogZXNsaW50LWRpc2FibGUgQHN0eWxpc3RpYy9tYXgtbGVuICovXG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnLi91c2VyLWNvbmZpZ3VyYXRpb24nO1xuXG4vKipcbiAqIFRoZSBzdHJ1Y3R1cmUgb2YgdGhlIHVzZXIgaW5wdXQgLS0gZWl0aGVyIENMSSBvcHRpb25zIG9yIGNkay5qc29uIC0tIGdlbmVyYXRlZCBmcm9tIHBhY2thZ2VzL2F3cy1jZGsvbGliL2NvbmZpZy50c1xuICpcbiAqIEBzdHJ1Y3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVc2VySW5wdXQge1xuICAvKipcbiAgICogVGhlIENMSSBjb21tYW5kIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IGNvbW1hbmQ/OiBDb21tYW5kO1xuXG4gIC8qKlxuICAgKiBHbG9iYWwgb3B0aW9ucyBhdmFpbGFibGUgdG8gYWxsIENMSSBjb21tYW5kc1xuICAgKi9cbiAgcmVhZG9ubHkgZ2xvYmFsT3B0aW9ucz86IEdsb2JhbE9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIExpc3RzIGFsbCBzdGFja3MgaW4gdGhlIGFwcFxuICAgKlxuICAgKiBhbGlhc2VzOiBsc1xuICAgKi9cbiAgcmVhZG9ubHkgbGlzdD86IExpc3RPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBTeW50aGVzaXplcyBhbmQgcHJpbnRzIHRoZSBDbG91ZEZvcm1hdGlvbiB0ZW1wbGF0ZSBmb3IgdGhpcyBzdGFja1xuICAgKlxuICAgKiBhbGlhc2VzOiBzeW50aGVzaXplXG4gICAqL1xuICByZWFkb25seSBzeW50aD86IFN5bnRoT3B0aW9ucztcblxuICAvKipcbiAgICogRGVwbG95cyB0aGUgQ0RLIHRvb2xraXQgc3RhY2sgaW50byBhbiBBV1MgZW52aXJvbm1lbnRcbiAgICovXG4gIHJlYWRvbmx5IGJvb3RzdHJhcD86IEJvb3RzdHJhcE9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIEdhcmJhZ2UgY29sbGVjdCBhc3NldHMuIE9wdGlvbnMgZGV0YWlsZWQgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvbWFpbi9wYWNrYWdlcy9hd3MtY2RrL1JFQURNRS5tZCNjZGstZ2NcbiAgICovXG4gIHJlYWRvbmx5IGdjPzogR2NPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBEZXBsb3lzIHRoZSBzdGFjayhzKSBuYW1lZCBTVEFDS1MgaW50byB5b3VyIEFXUyBhY2NvdW50XG4gICAqL1xuICByZWFkb25seSBkZXBsb3k/OiBEZXBsb3lPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBSb2xscyBiYWNrIHRoZSBzdGFjayhzKSBuYW1lZCBTVEFDS1MgdG8gdGhlaXIgbGFzdCBzdGFibGUgc3RhdGVcbiAgICovXG4gIHJlYWRvbmx5IHJvbGxiYWNrPzogUm9sbGJhY2tPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBJbXBvcnQgZXhpc3RpbmcgcmVzb3VyY2UocykgaW50byB0aGUgZ2l2ZW4gU1RBQ0tcbiAgICovXG4gIHJlYWRvbmx5IGltcG9ydD86IEltcG9ydE9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFNob3J0Y3V0IGZvciAnZGVwbG95IC0td2F0Y2gnXG4gICAqL1xuICByZWFkb25seSB3YXRjaD86IFdhdGNoT3B0aW9ucztcblxuICAvKipcbiAgICogRGVzdHJveSB0aGUgc3RhY2socykgbmFtZWQgU1RBQ0tTXG4gICAqL1xuICByZWFkb25seSBkZXN0cm95PzogRGVzdHJveU9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIENvbXBhcmVzIHRoZSBzcGVjaWZpZWQgc3RhY2sgd2l0aCB0aGUgZGVwbG95ZWQgc3RhY2sgb3IgYSBsb2NhbCB0ZW1wbGF0ZSBmaWxlLCBhbmQgcmV0dXJucyB3aXRoIHN0YXR1cyAxIGlmIGFueSBkaWZmZXJlbmNlIGlzIGZvdW5kXG4gICAqL1xuICByZWFkb25seSBkaWZmPzogRGlmZk9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYWxsIG1ldGFkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHN0YWNrXG4gICAqL1xuICByZWFkb25seSBtZXRhZGF0YT86IE1ldGFkYXRhT3B0aW9ucztcblxuICAvKipcbiAgICogQWNrbm93bGVkZ2UgYSBub3RpY2Ugc28gdGhhdCBpdCBkb2VzIG5vdCBzaG93IHVwIGFueW1vcmVcbiAgICpcbiAgICogYWxpYXNlczogYWNrXG4gICAqL1xuICByZWFkb25seSBhY2tub3dsZWRnZT86IEFja25vd2xlZGdlT3B0aW9ucztcblxuICAvKipcbiAgICogUmV0dXJucyBhIGxpc3Qgb2YgcmVsZXZhbnQgbm90aWNlc1xuICAgKi9cbiAgcmVhZG9ubHkgbm90aWNlcz86IE5vdGljZXNPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcsIGVtcHR5IENESyBwcm9qZWN0IGZyb20gYSB0ZW1wbGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGluaXQ/OiBJbml0T3B0aW9ucztcblxuICAvKipcbiAgICogTWlncmF0ZSBleGlzdGluZyBBV1MgcmVzb3VyY2VzIGludG8gYSBDREsgYXBwXG4gICAqL1xuICByZWFkb25seSBtaWdyYXRlPzogTWlncmF0ZU9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIE1hbmFnZSBjYWNoZWQgY29udGV4dCB2YWx1ZXNcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRleHQ/OiBDb250ZXh0T3B0aW9ucztcblxuICAvKipcbiAgICogT3BlbnMgdGhlIHJlZmVyZW5jZSBkb2N1bWVudGF0aW9uIGluIGEgYnJvd3NlclxuICAgKlxuICAgKiBhbGlhc2VzOiBkb2NcbiAgICovXG4gIHJlYWRvbmx5IGRvY3M/OiBEb2NzT3B0aW9ucztcblxuICAvKipcbiAgICogQ2hlY2sgeW91ciBzZXQtdXAgZm9yIHBvdGVudGlhbCBwcm9ibGVtc1xuICAgKi9cbiAgcmVhZG9ubHkgZG9jdG9yPzogRG9jdG9yT3B0aW9ucztcbn1cblxuLyoqXG4gKiBHbG9iYWwgb3B0aW9ucyBhdmFpbGFibGUgdG8gYWxsIENMSSBjb21tYW5kc1xuICpcbiAqIEBzdHJ1Y3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHbG9iYWxPcHRpb25zIHtcbiAgLyoqXG4gICAqIFJFUVVJUkVEIFdIRU4gUlVOTklORyBBUFA6IGNvbW1hbmQtbGluZSBmb3IgZXhlY3V0aW5nIHlvdXIgYXBwIG9yIGEgY2xvdWQgYXNzZW1ibHkgZGlyZWN0b3J5IChlLmcuIFwibm9kZSBiaW4vbXktYXBwLmpzXCIpLiBDYW4gYWxzbyBiZSBzcGVjaWZpZWQgaW4gY2RrLmpzb24gb3Igfi8uY2RrLmpzb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGFwcD86IHN0cmluZztcblxuICAvKipcbiAgICogQ29tbWFuZC1saW5lIGZvciBhIHByZS1zeW50aCBidWlsZFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFkZCBjb250ZXh0dWFsIHN0cmluZyBwYXJhbWV0ZXIgKEtFWT1WQUxVRSlcbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRleHQ/OiBBcnJheTxzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBOYW1lIG9yIHBhdGggb2YgYSBub2RlIHBhY2thZ2UgdGhhdCBleHRlbmQgdGhlIENESyBmZWF0dXJlcy4gQ2FuIGJlIHNwZWNpZmllZCBtdWx0aXBsZSB0aW1lc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luPzogQXJyYXk8c3RyaW5nPjtcblxuICAvKipcbiAgICogUHJpbnQgdHJhY2UgZm9yIHN0YWNrIHdhcm5pbmdzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSB0cmFjZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERvIG5vdCBjb25zdHJ1Y3Qgc3RhY2tzIHdpdGggd2FybmluZ3NcbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHN0cmljdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBlcmZvcm0gY29udGV4dCBsb29rdXBzIChzeW50aGVzaXMgZmFpbHMgaWYgdGhpcyBpcyBkaXNhYmxlZCBhbmQgY29udGV4dCBsb29rdXBzIG5lZWQgdG8gYmUgcGVyZm9ybWVkKVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZ25vcmVzIHN5bnRoZXNpcyBlcnJvcnMsIHdoaWNoIHdpbGwgbGlrZWx5IHByb2R1Y2UgYW4gaW52YWxpZCBvdXRwdXRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgaWdub3JlRXJyb3JzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVXNlIEpTT04gb3V0cHV0IGluc3RlYWQgb2YgWUFNTCB3aGVuIHRlbXBsYXRlcyBhcmUgcHJpbnRlZCB0byBTVERPVVRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkganNvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNob3cgZGVidWcgbG9ncyAoc3BlY2lmeSBtdWx0aXBsZSB0aW1lcyB0byBpbmNyZWFzZSB2ZXJib3NpdHkpXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHZlcmJvc2U/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIERlYnVnIHRoZSBDREsgYXBwLiBMb2cgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBkdXJpbmcgc3ludGhlc2lzLCBzdWNoIGFzIGNyZWF0aW9uIHN0YWNrIHRyYWNlcyBvZiB0b2tlbnMgKHNldHMgQ0RLX0RFQlVHLCB3aWxsIHNsb3cgZG93biBzeW50aGVzaXMpXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRlYnVnPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVXNlIHRoZSBpbmRpY2F0ZWQgQVdTIHByb2ZpbGUgYXMgdGhlIGRlZmF1bHQgZW52aXJvbm1lbnRcbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHByb2ZpbGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVzZSB0aGUgaW5kaWNhdGVkIHByb3h5LiBXaWxsIHJlYWQgZnJvbSBIVFRQU19QUk9YWSBlbnZpcm9ubWVudCB2YXJpYWJsZSBpZiBub3Qgc3BlY2lmaWVkXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBwcm94eT86IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byBDQSBjZXJ0aWZpY2F0ZSB0byB1c2Ugd2hlbiB2YWxpZGF0aW5nIEhUVFBTIHJlcXVlc3RzLiBXaWxsIHJlYWQgZnJvbSBBV1NfQ0FfQlVORExFIGVudmlyb25tZW50IHZhcmlhYmxlIGlmIG5vdCBzcGVjaWZpZWRcbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGNhQnVuZGxlUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogRm9yY2UgdHJ5aW5nIHRvIGZldGNoIEVDMiBpbnN0YW5jZSBjcmVkZW50aWFscy4gRGVmYXVsdDogZ3Vlc3MgRUMyIGluc3RhbmNlIHN0YXR1c1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgZWMyY3JlZHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmNsdWRlIHRoZSBcIkFXUzo6Q0RLOjpNZXRhZGF0YVwiIHJlc291cmNlIGluIHN5bnRoZXNpemVkIHRlbXBsYXRlcyAoZW5hYmxlZCBieSBkZWZhdWx0KVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvblJlcG9ydGluZz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluY2x1ZGUgXCJhd3M6Y2RrOnBhdGhcIiBDbG91ZEZvcm1hdGlvbiBtZXRhZGF0YSBmb3IgZWFjaCByZXNvdXJjZSAoZW5hYmxlZCBieSBkZWZhdWx0KVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgcGF0aE1ldGFkYXRhPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5jbHVkZSBcImF3czphc3NldDoqXCIgQ2xvdWRGb3JtYXRpb24gbWV0YWRhdGEgZm9yIHJlc291cmNlcyB0aGF0IHVzZXMgYXNzZXRzIChlbmFibGVkIGJ5IGRlZmF1bHQpXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBhc3NldE1ldGFkYXRhPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQVJOIG9mIFJvbGUgdG8gdXNlIHdoZW4gaW52b2tpbmcgQ2xvdWRGb3JtYXRpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHJvbGVBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvcHkgYXNzZXRzIHRvIHRoZSBvdXRwdXQgZGlyZWN0b3J5ICh1c2UgLS1uby1zdGFnaW5nIHRvIGRpc2FibGUgdGhlIGNvcHkgb2YgYXNzZXRzIHdoaWNoIGFsbG93cyBsb2NhbCBkZWJ1Z2dpbmcgdmlhIHRoZSBTQU0gQ0xJIHRvIHJlZmVyZW5jZSB0aGUgb3JpZ2luYWwgc291cmNlIGZpbGVzKVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHN0YWdpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgc3ludGhlc2l6ZWQgY2xvdWQgYXNzZW1ibHkgaW50byBhIGRpcmVjdG9yeSAoZGVmYXVsdDogY2RrLm91dClcbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IG91dHB1dD86IHN0cmluZztcblxuICAvKipcbiAgICogU2hvdyByZWxldmFudCBub3RpY2VzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBub3RpY2VzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmVtb3ZlcyBjb2xvcnMgYW5kIG90aGVyIHN0eWxlIGZyb20gY29uc29sZSBvdXRwdXRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgbm9Db2xvcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEZvcmNlIENJIGRldGVjdGlvbi4gSWYgQ0k9dHJ1ZSB0aGVuIGxvZ3Mgd2lsbCBiZSBzZW50IHRvIHN0ZG91dCBpbnN0ZWFkIG9mIHN0ZGVyclxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgY2k/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBPcHQgaW4gdG8gdW5zdGFibGUgZmVhdHVyZXMuIFRoZSBmbGFnIGluZGljYXRlcyB0aGF0IHRoZSBzY29wZSBhbmQgQVBJIG9mIGEgZmVhdHVyZSBtaWdodCBzdGlsbCBjaGFuZ2UuIE90aGVyd2lzZSB0aGUgZmVhdHVyZSBpcyBnZW5lcmFsbHkgcHJvZHVjdGlvbiByZWFkeSBhbmQgZnVsbHkgc3VwcG9ydGVkLiBDYW4gYmUgc3BlY2lmaWVkIG11bHRpcGxlIHRpbWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFtdXG4gICAqL1xuICByZWFkb25seSB1bnN0YWJsZT86IEFycmF5PHN0cmluZz47XG59XG5cbi8qKlxuICogTGlzdHMgYWxsIHN0YWNrcyBpbiB0aGUgYXBwXG4gKlxuICogYWxpYXNlczogbHNcbiAqXG4gKiBAc3RydWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdE9wdGlvbnMge1xuICAvKipcbiAgICogRGlzcGxheSBlbnZpcm9ubWVudCBpbmZvcm1hdGlvbiBmb3IgZWFjaCBzdGFja1xuICAgKlxuICAgKiBhbGlhc2VzOiBsXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEaXNwbGF5IHN0YWNrIGRlcGVuZGVuY3kgaW5mb3JtYXRpb24gZm9yIGVhY2ggc3RhY2tcbiAgICpcbiAgICogYWxpYXNlczogZFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzaG93RGVwZW5kZW5jaWVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUG9zaXRpb25hbCBhcmd1bWVudCBmb3IgbGlzdFxuICAgKi9cbiAgcmVhZG9ubHkgU1RBQ0tTPzogQXJyYXk8c3RyaW5nPjtcbn1cblxuLyoqXG4gKiBTeW50aGVzaXplcyBhbmQgcHJpbnRzIHRoZSBDbG91ZEZvcm1hdGlvbiB0ZW1wbGF0ZSBmb3IgdGhpcyBzdGFja1xuICpcbiAqIGFsaWFzZXM6IHN5bnRoZXNpemVcbiAqXG4gKiBAc3RydWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3ludGhPcHRpb25zIHtcbiAgLyoqXG4gICAqIE9ubHkgc3ludGhlc2l6ZSByZXF1ZXN0ZWQgc3RhY2tzLCBkb24ndCBpbmNsdWRlIGRlcGVuZGVuY2llc1xuICAgKlxuICAgKiBhbGlhc2VzOiBlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBleGNsdXNpdmVseT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFmdGVyIHN5bnRoZXNpcywgdmFsaWRhdGUgc3RhY2tzIHdpdGggdGhlIFwidmFsaWRhdGVPblN5bnRoXCIgYXR0cmlidXRlIHNldCAoY2FuIGFsc28gYmUgY29udHJvbGxlZCB3aXRoIENES19WQUxJREFUSU9OKVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHZhbGlkYXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEbyBub3Qgb3V0cHV0IENsb3VkRm9ybWF0aW9uIFRlbXBsYXRlIHRvIHN0ZG91dFxuICAgKlxuICAgKiBhbGlhc2VzOiBxXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHF1aWV0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUG9zaXRpb25hbCBhcmd1bWVudCBmb3Igc3ludGhcbiAgICovXG4gIHJlYWRvbmx5IFNUQUNLUz86IEFycmF5PHN0cmluZz47XG59XG5cbi8qKlxuICogRGVwbG95cyB0aGUgQ0RLIHRvb2xraXQgc3RhY2sgaW50byBhbiBBV1MgZW52aXJvbm1lbnRcbiAqXG4gKiBAc3RydWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQm9vdHN0cmFwT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgQ0RLIHRvb2xraXQgYnVja2V0OyBidWNrZXQgd2lsbCBiZSBjcmVhdGVkIGFuZCBtdXN0IG5vdCBleGlzdFxuICAgKlxuICAgKiBhbGlhc2VzOiBiIHRvb2xraXQtYnVja2V0LW5hbWVcbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGJvb3RzdHJhcEJ1Y2tldE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFXUyBLTVMgbWFzdGVyIGtleSBJRCB1c2VkIGZvciB0aGUgU1NFLUtNUyBlbmNyeXB0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBib290c3RyYXBLbXNLZXlJZD86IHN0cmluZztcblxuICAvKipcbiAgICogVXNlIHRoZSBleGFtcGxlIHBlcm1pc3Npb25zIGJvdW5kYXJ5LlxuICAgKlxuICAgKiBhbGlhc2VzOiBlcGJcbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGV4YW1wbGVQZXJtaXNzaW9uc0JvdW5kYXJ5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVXNlIHRoZSBwZXJtaXNzaW9ucyBib3VuZGFyeSBzcGVjaWZpZWQgYnkgbmFtZS5cbiAgICpcbiAgICogYWxpYXNlczogY3BiXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBjdXN0b21QZXJtaXNzaW9uc0JvdW5kYXJ5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBDdXN0b21lciBNYXN0ZXIgS2V5IChDTUspIGZvciB0aGUgYm9vdHN0cmFwIGJ1Y2tldCAoeW91IHdpbGwgYmUgY2hhcmdlZCBidXQgY2FuIGN1c3RvbWl6ZSBwZXJtaXNzaW9ucywgbW9kZXJuIGJvb3RzdHJhcHBpbmcgb25seSlcbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGJvb3RzdHJhcEN1c3RvbWVyS2V5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU3RyaW5nIHdoaWNoIG11c3QgYmUgdW5pcXVlIGZvciBlYWNoIGJvb3RzdHJhcCBzdGFjay4gWW91IG11c3QgY29uZmlndXJlIGl0IG9uIHlvdXIgQ0RLIGFwcCBpZiB5b3UgY2hhbmdlIHRoaXMgZnJvbSB0aGUgZGVmYXVsdC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHF1YWxpZmllcj86IHN0cmluZztcblxuICAvKipcbiAgICogQmxvY2sgcHVibGljIGFjY2VzcyBjb25maWd1cmF0aW9uIG9uIENESyB0b29sa2l0IGJ1Y2tldCAoZW5hYmxlZCBieSBkZWZhdWx0KVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljQWNjZXNzQmxvY2tDb25maWd1cmF0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGFncyB0byBhZGQgZm9yIHRoZSBzdGFjayAoS0VZPVZBTFVFKVxuICAgKlxuICAgKiBhbGlhc2VzOiB0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gW11cbiAgICovXG4gIHJlYWRvbmx5IHRhZ3M/OiBBcnJheTxzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGV4ZWN1dGUgQ2hhbmdlU2V0ICgtLW5vLWV4ZWN1dGUgd2lsbCBOT1QgZXhlY3V0ZSB0aGUgQ2hhbmdlU2V0KVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGV4ZWN1dGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIGFjY291bnQgSURzIHRoYXQgc2hvdWxkIGJlIHRydXN0ZWQgdG8gcGVyZm9ybSBkZXBsb3ltZW50cyBpbnRvIHRoaXMgZW52aXJvbm1lbnQgKG1heSBiZSByZXBlYXRlZCwgbW9kZXJuIGJvb3RzdHJhcHBpbmcgb25seSlcbiAgICpcbiAgICogQGRlZmF1bHQgLSBbXVxuICAgKi9cbiAgcmVhZG9ubHkgdHJ1c3Q/OiBBcnJheTxzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIGFjY291bnQgSURzIHRoYXQgc2hvdWxkIGJlIHRydXN0ZWQgdG8gbG9vayB1cCB2YWx1ZXMgaW4gdGhpcyBlbnZpcm9ubWVudCAobWF5IGJlIHJlcGVhdGVkLCBtb2Rlcm4gYm9vdHN0cmFwcGluZyBvbmx5KVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFtdXG4gICAqL1xuICByZWFkb25seSB0cnVzdEZvckxvb2t1cD86IEFycmF5PHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFRoZSBBV1MgYWNjb3VudCBJRHMgdGhhdCBzaG91bGQgbm90IGJlIHRydXN0ZWQgYnkgdGhpcyBlbnZpcm9ubWVudCAobWF5IGJlIHJlcGVhdGVkLCBtb2Rlcm4gYm9vdHN0cmFwcGluZyBvbmx5KVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFtdXG4gICAqL1xuICByZWFkb25seSB1bnRydXN0PzogQXJyYXk8c3RyaW5nPjtcblxuICAvKipcbiAgICogVGhlIE1hbmFnZWQgUG9saWN5IEFSTnMgdGhhdCBzaG91bGQgYmUgYXR0YWNoZWQgdG8gdGhlIHJvbGUgcGVyZm9ybWluZyBkZXBsb3ltZW50cyBpbnRvIHRoaXMgZW52aXJvbm1lbnQgKG1heSBiZSByZXBlYXRlZCwgbW9kZXJuIGJvb3RzdHJhcHBpbmcgb25seSlcbiAgICpcbiAgICogQGRlZmF1bHQgLSBbXVxuICAgKi9cbiAgcmVhZG9ubHkgY2xvdWRmb3JtYXRpb25FeGVjdXRpb25Qb2xpY2llcz86IEFycmF5PHN0cmluZz47XG5cbiAgLyoqXG4gICAqIEFsd2F5cyBib290c3RyYXAgZXZlbiBpZiBpdCB3b3VsZCBkb3duZ3JhZGUgdGVtcGxhdGUgdmVyc2lvblxuICAgKlxuICAgKiBhbGlhc2VzOiBmXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGZvcmNlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVG9nZ2xlIENsb3VkRm9ybWF0aW9uIHRlcm1pbmF0aW9uIHByb3RlY3Rpb24gb24gdGhlIGJvb3RzdHJhcCBzdGFja3NcbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHRlcm1pbmF0aW9uUHJvdGVjdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluc3RlYWQgb2YgYWN0dWFsIGJvb3RzdHJhcHBpbmcsIHByaW50IHRoZSBjdXJyZW50IENMSSdzIGJvb3RzdHJhcHBpbmcgdGVtcGxhdGUgdG8gc3Rkb3V0IGZvciBjdXN0b21pemF0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHNob3dUZW1wbGF0ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBDREsgdG9vbGtpdCBzdGFjayB0byBjcmVhdGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHRvb2xraXRTdGFja05hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVzZSB0aGUgdGVtcGxhdGUgZnJvbSB0aGUgZ2l2ZW4gZmlsZSBpbnN0ZWFkIG9mIHRoZSBidWlsdC1pbiBvbmUgKHVzZSAtLXNob3ctdGVtcGxhdGUgdG8gb2J0YWluIGFuIGV4YW1wbGUpXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSB0ZW1wbGF0ZT86IHN0cmluZztcblxuICAvKipcbiAgICogVXNlIHByZXZpb3VzIHZhbHVlcyBmb3IgZXhpc3RpbmcgcGFyYW1ldGVycyAoeW91IG11c3Qgc3BlY2lmeSBhbGwgcGFyYW1ldGVycyBvbiBldmVyeSBkZXBsb3ltZW50IGlmIHRoaXMgaXMgZGlzYWJsZWQpXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJldmlvdXNQYXJhbWV0ZXJzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUG9zaXRpb25hbCBhcmd1bWVudCBmb3IgYm9vdHN0cmFwXG4gICAqL1xuICByZWFkb25seSBFTlZJUk9OTUVOVFM/OiBBcnJheTxzdHJpbmc+O1xufVxuXG4vKipcbiAqIEdhcmJhZ2UgY29sbGVjdCBhc3NldHMuIE9wdGlvbnMgZGV0YWlsZWQgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvbWFpbi9wYWNrYWdlcy9hd3MtY2RrL1JFQURNRS5tZCNjZGstZ2NcbiAqXG4gKiBAc3RydWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2NPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBhY3Rpb24gKG9yIHN1Yi1hY3Rpb24pIHlvdSB3YW50IHRvIHBlcmZvcm0uIFZhbGlkIGVudGlyZXMgYXJlIFwicHJpbnRcIiwgXCJ0YWdcIiwgXCJkZWxldGUtdGFnZ2VkXCIsIFwiZnVsbFwiLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFwiZnVsbFwiXG4gICAqL1xuICByZWFkb25seSBhY3Rpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgZWl0aGVyIGVjciwgczMsIG9yIGFsbFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFwiYWxsXCJcbiAgICovXG4gIHJlYWRvbmx5IHR5cGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBhc3NldHMgdGhhdCBoYXZlIGJlZW4gbWFya2VkIGFzIGlzb2xhdGVkIGZvciB0aGlzIG1hbnkgZGF5c1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIDBcbiAgICovXG4gIHJlYWRvbmx5IHJvbGxiYWNrQnVmZmVyRGF5cz86IG51bWJlcjtcblxuICAvKipcbiAgICogTmV2ZXIgZGVsZXRlIGFzc2V0cyB5b3VuZ2VyIHRoYW4gdGhpcyAoaW4gZGF5cylcbiAgICpcbiAgICogQGRlZmF1bHQgLSAxXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVkQnVmZmVyRGF5cz86IG51bWJlcjtcblxuICAvKipcbiAgICogQ29uZmlybSB2aWEgbWFudWFsIHByb21wdCBiZWZvcmUgZGVsZXRpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqL1xuICByZWFkb25seSBjb25maXJtPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIENESyB0b29sa2l0IHN0YWNrLCBpZiBkaWZmZXJlbnQgZnJvbSB0aGUgZGVmYXVsdCBcIkNES1Rvb2xraXRcIlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgYm9vdHN0cmFwU3RhY2tOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbmFsIGFyZ3VtZW50IGZvciBnY1xuICAgKi9cbiAgcmVhZG9ubHkgRU5WSVJPTk1FTlRTPzogQXJyYXk8c3RyaW5nPjtcbn1cblxuLyoqXG4gKiBEZXBsb3lzIHRoZSBzdGFjayhzKSBuYW1lZCBTVEFDS1MgaW50byB5b3VyIEFXUyBhY2NvdW50XG4gKlxuICogQHN0cnVjdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlcGxveU9wdGlvbnMge1xuICAvKipcbiAgICogRGVwbG95IGFsbCBhdmFpbGFibGUgc3RhY2tzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFsbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERvIG5vdCByZWJ1aWxkIGFzc2V0IHdpdGggdGhlIGdpdmVuIElELiBDYW4gYmUgc3BlY2lmaWVkIG11bHRpcGxlIHRpbWVzXG4gICAqXG4gICAqIGFsaWFzZXM6IEVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBbXVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRFeGNsdWRlPzogQXJyYXk8c3RyaW5nPjtcblxuICAvKipcbiAgICogT25seSBkZXBsb3kgcmVxdWVzdGVkIHN0YWNrcywgZG9uJ3QgaW5jbHVkZSBkZXBlbmRlbmNpZXNcbiAgICpcbiAgICogYWxpYXNlczogZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgZXhjbHVzaXZlbHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGF0IHNlY3VyaXR5LXNlbnNpdGl2ZSBjaGFuZ2VzIG5lZWQgbWFudWFsIGFwcHJvdmFsXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSByZXF1aXJlQXBwcm92YWw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFSTnMgb2YgU05TIHRvcGljcyB0aGF0IENsb3VkRm9ybWF0aW9uIHdpbGwgbm90aWZ5IHdpdGggc3RhY2sgcmVsYXRlZCBldmVudHMuIFRoZXNlIHdpbGwgYmUgYWRkZWQgdG8gQVJOcyBzcGVjaWZpZWQgd2l0aCB0aGUgJ25vdGlmaWNhdGlvbkFybnMnIHN0YWNrIHByb3BlcnR5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgbm90aWZpY2F0aW9uQXJucz86IEFycmF5PHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFRhZ3MgdG8gYWRkIHRvIHRoZSBzdGFjayAoS0VZPVZBTFVFKSwgb3ZlcnJpZGVzIHRhZ3MgZnJvbSBDbG91ZCBBc3NlbWJseSAoZGVwcmVjYXRlZClcbiAgICpcbiAgICogYWxpYXNlczogdFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgdGFncz86IEFycmF5PHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZXhlY3V0ZSBDaGFuZ2VTZXQgKC0tbm8tZXhlY3V0ZSB3aWxsIE5PVCBleGVjdXRlIHRoZSBDaGFuZ2VTZXQpIChkZXByZWNhdGVkKVxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCB0cnVlXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBleGVjdXRlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgQ2xvdWRGb3JtYXRpb24gY2hhbmdlIHNldCB0byBjcmVhdGUgKG9ubHkgaWYgbWV0aG9kIGlzIG5vdCBkaXJlY3QpXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBjaGFuZ2VTZXROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBIb3cgdG8gcGVyZm9ybSB0aGUgZGVwbG95bWVudC4gRGlyZWN0IGlzIGEgYml0IGZhc3RlciBidXQgbGFja3MgcHJvZ3Jlc3MgaW5mb3JtYXRpb25cbiAgICpcbiAgICogYWxpYXNlczogbVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgbWV0aG9kPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIHN0YWNrIHNldCBpbXBvcnRzIHJlc291cmNlcyB0aGF0IGFscmVhZHkgZXhpc3QuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGltcG9ydEV4aXN0aW5nUmVzb3VyY2VzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQWx3YXlzIGRlcGxveSBzdGFjayBldmVuIGlmIHRlbXBsYXRlcyBhcmUgaWRlbnRpY2FsXG4gICAqXG4gICAqIGFsaWFzZXM6IGZcbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZm9yY2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIHBhcmFtZXRlcnMgcGFzc2VkIHRvIENsb3VkRm9ybWF0aW9uIGF0IGRlcGxveSB0aW1lIChTVEFDSzpLRVk9VkFMVUUpXG4gICAqXG4gICAqIEBkZWZhdWx0IC0ge31cbiAgICovXG4gIHJlYWRvbmx5IHBhcmFtZXRlcnM/OiBBcnJheTxzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIGZpbGUgd2hlcmUgc3RhY2sgb3V0cHV0cyB3aWxsIGJlIHdyaXR0ZW4gYXMgSlNPTlxuICAgKlxuICAgKiBhbGlhc2VzOiBPXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBvdXRwdXRzRmlsZT86IHN0cmluZztcblxuICAvKipcbiAgICogVXNlIHByZXZpb3VzIHZhbHVlcyBmb3IgZXhpc3RpbmcgcGFyYW1ldGVycyAoeW91IG11c3Qgc3BlY2lmeSBhbGwgcGFyYW1ldGVycyBvbiBldmVyeSBkZXBsb3ltZW50IGlmIHRoaXMgaXMgZGlzYWJsZWQpXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJldmlvdXNQYXJhbWV0ZXJzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGV4aXN0aW5nIENESyB0b29sa2l0IHN0YWNrIChvbmx5IHVzZWQgZm9yIGFwcCB1c2luZyBsZWdhY3kgc3ludGhlc2lzKVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgdG9vbGtpdFN0YWNrTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogRGlzcGxheSBtb2RlIGZvciBzdGFjayBhY3Rpdml0eSBldmVudHNcbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHByb2dyZXNzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSb2xsYmFjayBzdGFjayB0byBzdGFibGUgc3RhdGUgb24gZmFpbHVyZS4gRGVmYXVsdHMgdG8gJ3RydWUnLCBpdGVyYXRlIG1vcmUgcmFwaWRseSB3aXRoIC0tbm8tcm9sbGJhY2sgb3IgLVIuIE5vdGU6IGRvICoqbm90KiogZGlzYWJsZSB0aGlzIGZsYWcgZm9yIGRlcGxveW1lbnRzIHdpdGggcmVzb3VyY2UgcmVwbGFjZW1lbnRzLCBhcyB0aGF0IHdpbGwgYWx3YXlzIGZhaWxcbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHJvbGxiYWNrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXR0ZW1wdHMgdG8gcGVyZm9ybSBhICdob3Rzd2FwJyBkZXBsb3ltZW50LCBidXQgZG9lcyBub3QgZmFsbCBiYWNrIHRvIGEgZnVsbCBkZXBsb3ltZW50IGlmIHRoYXQgaXMgbm90IHBvc3NpYmxlLiBJbnN0ZWFkLCBjaGFuZ2VzIHRvIGFueSBub24taG90c3dhcHBhYmxlIHByb3BlcnRpZXMgYXJlIGlnbm9yZWQuRG8gbm90IHVzZSB0aGlzIGluIHByb2R1Y3Rpb24gZW52aXJvbm1lbnRzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBob3Rzd2FwPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXR0ZW1wdHMgdG8gcGVyZm9ybSBhICdob3Rzd2FwJyBkZXBsb3ltZW50LCB3aGljaCBza2lwcyBDbG91ZEZvcm1hdGlvbiBhbmQgdXBkYXRlcyB0aGUgcmVzb3VyY2VzIGRpcmVjdGx5LCBhbmQgZmFsbHMgYmFjayB0byBhIGZ1bGwgZGVwbG95bWVudCBpZiB0aGF0IGlzIG5vdCBwb3NzaWJsZS4gRG8gbm90IHVzZSB0aGlzIGluIHByb2R1Y3Rpb24gZW52aXJvbm1lbnRzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBob3Rzd2FwRmFsbGJhY2s/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDb250aW51b3VzbHkgb2JzZXJ2ZSB0aGUgcHJvamVjdCBmaWxlcywgYW5kIGRlcGxveSB0aGUgZ2l2ZW4gc3RhY2socykgYXV0b21hdGljYWxseSB3aGVuIGNoYW5nZXMgYXJlIGRldGVjdGVkLiBJbXBsaWVzIC0taG90c3dhcCBieSBkZWZhdWx0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSB3YXRjaD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNob3cgQ2xvdWRXYXRjaCBsb2cgZXZlbnRzIGZyb20gYWxsIHJlc291cmNlcyBpbiB0aGUgc2VsZWN0ZWQgU3RhY2tzIGluIHRoZSB0ZXJtaW5hbC4gJ3RydWUnIGJ5IGRlZmF1bHQsIHVzZSAtLW5vLWxvZ3MgdG8gdHVybiBvZmYuIE9ubHkgaW4gZWZmZWN0IGlmIHNwZWNpZmllZCBhbG9uZ3NpZGUgdGhlICctLXdhdGNoJyBvcHRpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqL1xuICByZWFkb25seSBsb2dzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTWF4aW11bSBudW1iZXIgb2Ygc2ltdWx0YW5lb3VzIGRlcGxveW1lbnRzIChkZXBlbmRlbmN5IHBlcm1pdHRpbmcpIHRvIGV4ZWN1dGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gMVxuICAgKi9cbiAgcmVhZG9ubHkgY29uY3VycmVuY3k/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYnVpbGQvcHVibGlzaCBhc3NldHMgaW4gcGFyYWxsZWxcbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGFzc2V0UGFyYWxsZWxpc20/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGJ1aWxkIGFsbCBhc3NldHMgYmVmb3JlIGRlcGxveWluZyB0aGUgZmlyc3Qgc3RhY2sgKHVzZWZ1bCBmb3IgZmFpbGluZyBEb2NrZXIgYnVpbGRzKVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGFzc2V0UHJlYnVpbGQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRlcGxveSBpZiB0aGUgYXBwIGNvbnRhaW5zIG5vIHN0YWNrc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBpZ25vcmVOb1N0YWNrcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBvc2l0aW9uYWwgYXJndW1lbnQgZm9yIGRlcGxveVxuICAgKi9cbiAgcmVhZG9ubHkgU1RBQ0tTPzogQXJyYXk8c3RyaW5nPjtcbn1cblxuLyoqXG4gKiBSb2xscyBiYWNrIHRoZSBzdGFjayhzKSBuYW1lZCBTVEFDS1MgdG8gdGhlaXIgbGFzdCBzdGFibGUgc3RhdGVcbiAqXG4gKiBAc3RydWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUm9sbGJhY2tPcHRpb25zIHtcbiAgLyoqXG4gICAqIFJvbGwgYmFjayBhbGwgYXZhaWxhYmxlIHN0YWNrc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBhbGw/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgQ0RLIHRvb2xraXQgc3RhY2sgdGhlIGVudmlyb25tZW50IGlzIGJvb3RzdHJhcHBlZCB3aXRoXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSB0b29sa2l0U3RhY2tOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcnBoYW4gYWxsIHJlc291cmNlcyBmb3Igd2hpY2ggdGhlIHJvbGxiYWNrIG9wZXJhdGlvbiBmYWlscy5cbiAgICpcbiAgICogYWxpYXNlczogZlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgZm9yY2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHZhbGlkYXRlIHRoZSBib290c3RyYXAgc3RhY2sgdmVyc2lvbi4gRGVmYXVsdHMgdG8gJ3RydWUnLCBkaXNhYmxlIHdpdGggLS1uby12YWxpZGF0ZS1ib290c3RyYXAtdmVyc2lvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHZhbGlkYXRlQm9vdHN0cmFwVmVyc2lvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9ycGhhbiB0aGUgZ2l2ZW4gcmVzb3VyY2VzLCBpZGVudGlmaWVkIGJ5IHRoZWlyIGxvZ2ljYWwgSUQgKGNhbiBiZSBzcGVjaWZpZWQgbXVsdGlwbGUgdGltZXMpXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gW11cbiAgICovXG4gIHJlYWRvbmx5IG9ycGhhbj86IEFycmF5PHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFBvc2l0aW9uYWwgYXJndW1lbnQgZm9yIHJvbGxiYWNrXG4gICAqL1xuICByZWFkb25seSBTVEFDS1M/OiBBcnJheTxzdHJpbmc+O1xufVxuXG4vKipcbiAqIEltcG9ydCBleGlzdGluZyByZXNvdXJjZShzKSBpbnRvIHRoZSBnaXZlbiBTVEFDS1xuICpcbiAqIEBzdHJ1Y3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbXBvcnRPcHRpb25zIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZXhlY3V0ZSBDaGFuZ2VTZXQgKC0tbm8tZXhlY3V0ZSB3aWxsIE5PVCBleGVjdXRlIHRoZSBDaGFuZ2VTZXQpXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhlY3V0ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIENsb3VkRm9ybWF0aW9uIGNoYW5nZSBzZXQgdG8gY3JlYXRlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBjaGFuZ2VTZXROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgQ0RLIHRvb2xraXQgc3RhY2sgdG8gY3JlYXRlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSB0b29sa2l0U3RhY2tOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSb2xsYmFjayBzdGFjayB0byBzdGFibGUgc3RhdGUgb24gZmFpbHVyZS4gRGVmYXVsdHMgdG8gJ3RydWUnLCBpdGVyYXRlIG1vcmUgcmFwaWRseSB3aXRoIC0tbm8tcm9sbGJhY2sgb3IgLVIuIE5vdGU6IGRvICoqbm90KiogZGlzYWJsZSB0aGlzIGZsYWcgZm9yIGRlcGxveW1lbnRzIHdpdGggcmVzb3VyY2UgcmVwbGFjZW1lbnRzLCBhcyB0aGF0IHdpbGwgYWx3YXlzIGZhaWxcbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHJvbGxiYWNrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRG8gbm90IGFib3J0IGlmIHRoZSB0ZW1wbGF0ZSBkaWZmIGluY2x1ZGVzIHVwZGF0ZXMgb3IgZGVsZXRlcy4gVGhpcyBpcyBwcm9iYWJseSBzYWZlIGJ1dCB3ZSdyZSBub3Qgc3VyZSwgbGV0IHVzIGtub3cgaG93IGl0IGdvZXMuXG4gICAqXG4gICAqIGFsaWFzZXM6IGZcbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGZvcmNlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgc3BlY2lmaWVkLCBDREsgd2lsbCBnZW5lcmF0ZSBhIG1hcHBpbmcgb2YgZXhpc3RpbmcgcGh5c2ljYWwgcmVzb3VyY2VzIHRvIENESyByZXNvdXJjZXMgdG8gYmUgaW1wb3J0ZWQgYXMuIFRoZSBtYXBwaW5nIHdpbGwgYmUgd3JpdHRlbiBpbiB0aGUgZ2l2ZW4gZmlsZSBwYXRoLiBObyBhY3R1YWwgaW1wb3J0IG9wZXJhdGlvbiB3aWxsIGJlIHBlcmZvcm1lZFxuICAgKlxuICAgKiBhbGlhc2VzOiByXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSByZWNvcmRSZXNvdXJjZU1hcHBpbmc/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElmIHNwZWNpZmllZCwgQ0RLIHdpbGwgdXNlIHRoZSBnaXZlbiBmaWxlIHRvIG1hcCBwaHlzaWNhbCByZXNvdXJjZXMgdG8gQ0RLIHJlc291cmNlcyBmb3IgaW1wb3J0LCBpbnN0ZWFkIG9mIGludGVyYWN0aXZlbHkgYXNraW5nIHRoZSB1c2VyLiBDYW4gYmUgcnVuIGZyb20gc2NyaXB0c1xuICAgKlxuICAgKiBhbGlhc2VzOiBtXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZU1hcHBpbmc/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBvc2l0aW9uYWwgYXJndW1lbnQgZm9yIGltcG9ydFxuICAgKi9cbiAgcmVhZG9ubHkgU1RBQ0s/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogU2hvcnRjdXQgZm9yICdkZXBsb3kgLS13YXRjaCdcbiAqXG4gKiBAc3RydWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2F0Y2hPcHRpb25zIHtcbiAgLyoqXG4gICAqIERvIG5vdCByZWJ1aWxkIGFzc2V0IHdpdGggdGhlIGdpdmVuIElELiBDYW4gYmUgc3BlY2lmaWVkIG11bHRpcGxlIHRpbWVzXG4gICAqXG4gICAqIGFsaWFzZXM6IEVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBbXVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRFeGNsdWRlPzogQXJyYXk8c3RyaW5nPjtcblxuICAvKipcbiAgICogT25seSBkZXBsb3kgcmVxdWVzdGVkIHN0YWNrcywgZG9uJ3QgaW5jbHVkZSBkZXBlbmRlbmNpZXNcbiAgICpcbiAgICogYWxpYXNlczogZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgZXhjbHVzaXZlbHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBDbG91ZEZvcm1hdGlvbiBjaGFuZ2Ugc2V0IHRvIGNyZWF0ZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgY2hhbmdlU2V0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQWx3YXlzIGRlcGxveSBzdGFjayBldmVuIGlmIHRlbXBsYXRlcyBhcmUgaWRlbnRpY2FsXG4gICAqXG4gICAqIGFsaWFzZXM6IGZcbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZm9yY2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZXhpc3RpbmcgQ0RLIHRvb2xraXQgc3RhY2sgKG9ubHkgdXNlZCBmb3IgYXBwIHVzaW5nIGxlZ2FjeSBzeW50aGVzaXMpXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSB0b29sa2l0U3RhY2tOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEaXNwbGF5IG1vZGUgZm9yIHN0YWNrIGFjdGl2aXR5IGV2ZW50c1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgcHJvZ3Jlc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJvbGxiYWNrIHN0YWNrIHRvIHN0YWJsZSBzdGF0ZSBvbiBmYWlsdXJlLiBEZWZhdWx0cyB0byAndHJ1ZScsIGl0ZXJhdGUgbW9yZSByYXBpZGx5IHdpdGggLS1uby1yb2xsYmFjayBvciAtUi4gTm90ZTogZG8gKipub3QqKiBkaXNhYmxlIHRoaXMgZmxhZyBmb3IgZGVwbG95bWVudHMgd2l0aCByZXNvdXJjZSByZXBsYWNlbWVudHMsIGFzIHRoYXQgd2lsbCBhbHdheXMgZmFpbFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgcm9sbGJhY2s/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBdHRlbXB0cyB0byBwZXJmb3JtIGEgJ2hvdHN3YXAnIGRlcGxveW1lbnQsIGJ1dCBkb2VzIG5vdCBmYWxsIGJhY2sgdG8gYSBmdWxsIGRlcGxveW1lbnQgaWYgdGhhdCBpcyBub3QgcG9zc2libGUuIEluc3RlYWQsIGNoYW5nZXMgdG8gYW55IG5vbi1ob3Rzd2FwcGFibGUgcHJvcGVydGllcyBhcmUgaWdub3JlZC4ndHJ1ZScgYnkgZGVmYXVsdCwgdXNlIC0tbm8taG90c3dhcCB0byB0dXJuIG9mZlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgaG90c3dhcD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEF0dGVtcHRzIHRvIHBlcmZvcm0gYSAnaG90c3dhcCcgZGVwbG95bWVudCwgd2hpY2ggc2tpcHMgQ2xvdWRGb3JtYXRpb24gYW5kIHVwZGF0ZXMgdGhlIHJlc291cmNlcyBkaXJlY3RseSwgYW5kIGZhbGxzIGJhY2sgdG8gYSBmdWxsIGRlcGxveW1lbnQgaWYgdGhhdCBpcyBub3QgcG9zc2libGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBob3Rzd2FwRmFsbGJhY2s/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTaG93IENsb3VkV2F0Y2ggbG9nIGV2ZW50cyBmcm9tIGFsbCByZXNvdXJjZXMgaW4gdGhlIHNlbGVjdGVkIFN0YWNrcyBpbiB0aGUgdGVybWluYWwuICd0cnVlJyBieSBkZWZhdWx0LCB1c2UgLS1uby1sb2dzIHRvIHR1cm4gb2ZmXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9ncz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE1heGltdW0gbnVtYmVyIG9mIHNpbXVsdGFuZW91cyBkZXBsb3ltZW50cyAoZGVwZW5kZW5jeSBwZXJtaXR0aW5nKSB0byBleGVjdXRlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDFcbiAgICovXG4gIHJlYWRvbmx5IGNvbmN1cnJlbmN5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbmFsIGFyZ3VtZW50IGZvciB3YXRjaFxuICAgKi9cbiAgcmVhZG9ubHkgU1RBQ0tTPzogQXJyYXk8c3RyaW5nPjtcbn1cblxuLyoqXG4gKiBEZXN0cm95IHRoZSBzdGFjayhzKSBuYW1lZCBTVEFDS1NcbiAqXG4gKiBAc3RydWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVzdHJveU9wdGlvbnMge1xuICAvKipcbiAgICogRGVzdHJveSBhbGwgYXZhaWxhYmxlIHN0YWNrc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBhbGw/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBPbmx5IGRlc3Ryb3kgcmVxdWVzdGVkIHN0YWNrcywgZG9uJ3QgaW5jbHVkZSBkZXBlbmRlZXNcbiAgICpcbiAgICogYWxpYXNlczogZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgZXhjbHVzaXZlbHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEbyBub3QgYXNrIGZvciBjb25maXJtYXRpb24gYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIHN0YWNrc1xuICAgKlxuICAgKiBhbGlhc2VzOiBmXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBmb3JjZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBvc2l0aW9uYWwgYXJndW1lbnQgZm9yIGRlc3Ryb3lcbiAgICovXG4gIHJlYWRvbmx5IFNUQUNLUz86IEFycmF5PHN0cmluZz47XG59XG5cbi8qKlxuICogQ29tcGFyZXMgdGhlIHNwZWNpZmllZCBzdGFjayB3aXRoIHRoZSBkZXBsb3llZCBzdGFjayBvciBhIGxvY2FsIHRlbXBsYXRlIGZpbGUsIGFuZCByZXR1cm5zIHdpdGggc3RhdHVzIDEgaWYgYW55IGRpZmZlcmVuY2UgaXMgZm91bmRcbiAqXG4gKiBAc3RydWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlmZk9wdGlvbnMge1xuICAvKipcbiAgICogT25seSBkaWZmIHJlcXVlc3RlZCBzdGFja3MsIGRvbid0IGluY2x1ZGUgZGVwZW5kZW5jaWVzXG4gICAqXG4gICAqIGFsaWFzZXM6IGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGV4Y2x1c2l2ZWx5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIGNvbnRleHQgbGluZXMgdG8gaW5jbHVkZSBpbiBhcmJpdHJhcnkgSlNPTiBkaWZmIHJlbmRlcmluZ1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIDNcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRleHRMaW5lcz86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHBhdGggdG8gdGhlIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlIHRvIGNvbXBhcmUgd2l0aFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgdGVtcGxhdGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERvIG5vdCBmaWx0ZXIgb3V0IEFXUzo6Q0RLOjpNZXRhZGF0YSByZXNvdXJjZXMsIG1hbmdsZWQgbm9uLUFTQ0lJIGNoYXJhY3RlcnMsIG9yIHRoZSBDaGVja0Jvb3RzdHJhcFZlcnNpb25SdWxlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHN0cmljdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9ubHkgZGlmZiBmb3IgYnJvYWRlbmVkIHNlY3VyaXR5IGNoYW5nZXNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlPbmx5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRmFpbCB3aXRoIGV4aXQgY29kZSAxIGluIGNhc2Ugb2YgZGlmZlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgZmFpbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY29tcGFyZSBhZ2FpbnN0IHRoZSB0ZW1wbGF0ZSB3aXRoIFRyYW5zZm9ybXMgYWxyZWFkeSBwcm9jZXNzZWRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvY2Vzc2VkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRG8gbm90IHByaW50IHN0YWNrIG5hbWUgYW5kIGRlZmF1bHQgbWVzc2FnZSB3aGVuIHRoZXJlIGlzIG5vIGRpZmYgdG8gc3Rkb3V0XG4gICAqXG4gICAqIGFsaWFzZXM6IHFcbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcXVpZXQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNyZWF0ZSBhIGNoYW5nZXNldCB0byBhbmFseXplIHJlc291cmNlIHJlcGxhY2VtZW50cy4gSW4gdGhpcyBtb2RlLCBkaWZmIHdpbGwgdXNlIHRoZSBkZXBsb3kgcm9sZSBpbnN0ZWFkIG9mIHRoZSBsb29rdXAgcm9sZS5cbiAgICpcbiAgICogYWxpYXNlczogY2hhbmdlc2V0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgY2hhbmdlU2V0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUG9zaXRpb25hbCBhcmd1bWVudCBmb3IgZGlmZlxuICAgKi9cbiAgcmVhZG9ubHkgU1RBQ0tTPzogQXJyYXk8c3RyaW5nPjtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGFsbCBtZXRhZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhpcyBzdGFja1xuICpcbiAqIEBzdHJ1Y3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZXRhZGF0YU9wdGlvbnMge1xuICAvKipcbiAgICogUG9zaXRpb25hbCBhcmd1bWVudCBmb3IgbWV0YWRhdGFcbiAgICovXG4gIHJlYWRvbmx5IFNUQUNLPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFja25vd2xlZGdlIGEgbm90aWNlIHNvIHRoYXQgaXQgZG9lcyBub3Qgc2hvdyB1cCBhbnltb3JlXG4gKlxuICogYWxpYXNlczogYWNrXG4gKlxuICogQHN0cnVjdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFja25vd2xlZGdlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBQb3NpdGlvbmFsIGFyZ3VtZW50IGZvciBhY2tub3dsZWRnZVxuICAgKi9cbiAgcmVhZG9ubHkgSUQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGxpc3Qgb2YgcmVsZXZhbnQgbm90aWNlc1xuICpcbiAqIEBzdHJ1Y3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOb3RpY2VzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgbGlzdCBvZiB1bmFja25vd2xlZGdlZCBub3RpY2VzXG4gICAqXG4gICAqIGFsaWFzZXM6IHVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgdW5hY2tub3dsZWRnZWQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIG5ldywgZW1wdHkgQ0RLIHByb2plY3QgZnJvbSBhIHRlbXBsYXRlLlxuICpcbiAqIEBzdHJ1Y3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbml0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbGFuZ3VhZ2UgdG8gYmUgdXNlZCBmb3IgdGhlIG5ldyBwcm9qZWN0IChkZWZhdWx0IGNhbiBiZSBjb25maWd1cmVkIGluIH4vLmNkay5qc29uKVxuICAgKlxuICAgKiBhbGlhc2VzOiBsXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBsYW5ndWFnZT86IHN0cmluZztcblxuICAvKipcbiAgICogTGlzdCB0aGUgYXZhaWxhYmxlIHRlbXBsYXRlc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgbGlzdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIHRydWUsIG9ubHkgZ2VuZXJhdGVzIHByb2plY3QgZmlsZXMsIHdpdGhvdXQgZXhlY3V0aW5nIGFkZGl0aW9uYWwgb3BlcmF0aW9ucyBzdWNoIGFzIHNldHRpbmcgdXAgYSBnaXQgcmVwbywgaW5zdGFsbGluZyBkZXBlbmRlbmNpZXMgb3IgY29tcGlsaW5nIHRoZSBwcm9qZWN0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGdlbmVyYXRlT25seT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBvc2l0aW9uYWwgYXJndW1lbnQgZm9yIGluaXRcbiAgICovXG4gIHJlYWRvbmx5IFRFTVBMQVRFPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIE1pZ3JhdGUgZXhpc3RpbmcgQVdTIHJlc291cmNlcyBpbnRvIGEgQ0RLIGFwcFxuICpcbiAqIEBzdHJ1Y3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNaWdyYXRlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBhc3NpZ25lZCB0byB0aGUgc3RhY2sgY3JlYXRlZCBpbiB0aGUgbmV3IHByb2plY3QuIFRoZSBuYW1lIG9mIHRoZSBhcHAgd2lsbCBiZSBiYXNlZCBvZmYgdGhpcyBuYW1lIGFzIHdlbGwuXG4gICAqXG4gICAqIGFsaWFzZXM6IG5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxhbmd1YWdlIHRvIGJlIHVzZWQgZm9yIHRoZSBuZXcgcHJvamVjdFxuICAgKlxuICAgKiBhbGlhc2VzOiBsXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gXCJ0eXBlc2NyaXB0XCJcbiAgICovXG4gIHJlYWRvbmx5IGxhbmd1YWdlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYWNjb3VudCB0byByZXRyaWV2ZSB0aGUgQ2xvdWRGb3JtYXRpb24gc3RhY2sgdGVtcGxhdGUgZnJvbVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlZ2lvbiB0byByZXRyaWV2ZSB0aGUgQ2xvdWRGb3JtYXRpb24gc3RhY2sgdGVtcGxhdGUgZnJvbVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB0byB0aGUgQ2xvdWRGb3JtYXRpb24gdGVtcGxhdGUgdG8gbWlncmF0ZS4gVXNlIHRoaXMgZm9yIGxvY2FsbHkgc3RvcmVkIHRlbXBsYXRlc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgZnJvbVBhdGg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVzZSB0aGlzIGZsYWcgdG8gcmV0cmlldmUgdGhlIHRlbXBsYXRlIGZvciBhbiBleGlzdGluZyBDbG91ZEZvcm1hdGlvbiBzdGFja1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgZnJvbVN0YWNrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIG91dHB1dCBwYXRoIGZvciB0aGUgbWlncmF0ZWQgQ0RLIGFwcFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0UGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiBhIG5ldyBzY2FuIHNob3VsZCBiZSBjcmVhdGVkLCBvciB0aGUgbGFzdCBzdWNjZXNzZnVsIGV4aXN0aW5nIHNjYW4gc2hvdWxkIGJlIHVzZWRcbiAgICogIG9wdGlvbnMgYXJlIFwibmV3XCIgb3IgXCJtb3N0LXJlY2VudFwiXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBmcm9tU2Nhbj86IHN0cmluZztcblxuICAvKipcbiAgICogRmlsdGVycyB0aGUgcmVzb3VyY2Ugc2NhbiBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgY3JpdGVyaWEgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ6IFwia2V5MT12YWx1ZTEsa2V5Mj12YWx1ZTJcIlxuICAgKiAgVGhpcyBmaWVsZCBjYW4gYmUgcGFzc2VkIG11bHRpcGxlIHRpbWVzIGZvciBPUiBzdHlsZSBmaWx0ZXJpbmc6XG4gICAqICBmaWx0ZXJpbmcgb3B0aW9uczpcbiAgICogIHJlc291cmNlLWlkZW50aWZpZXI6IEEga2V5LXZhbHVlIHBhaXIgdGhhdCBpZGVudGlmaWVzIHRoZSB0YXJnZXQgcmVzb3VyY2UuIGkuZS4ge1wiQ2x1c3Rlck5hbWVcIiwgXCJteUNsdXN0ZXJcIn1cbiAgICogIHJlc291cmNlLXR5cGUtcHJlZml4OiBBIHN0cmluZyB0aGF0IHJlcHJlc2VudHMgYSB0eXBlLW5hbWUgcHJlZml4LiBpLmUuIFwiQVdTOjpEeW5hbW9EQjo6XCJcbiAgICogIHRhZy1rZXk6IGEgc3RyaW5nIHRoYXQgbWF0Y2hlcyByZXNvdXJjZXMgd2l0aCBhdCBsZWFzdCBvbmUgdGFnIHdpdGggdGhlIHByb3ZpZGVkIGtleS4gaS5lLiBcIm15VGFnS2V5XCJcbiAgICogIHRhZy12YWx1ZTogYSBzdHJpbmcgdGhhdCBtYXRjaGVzIHJlc291cmNlcyB3aXRoIGF0IGxlYXN0IG9uZSB0YWcgd2l0aCB0aGUgcHJvdmlkZWQgdmFsdWUuIGkuZS4gXCJteVRhZ1ZhbHVlXCJcbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGZpbHRlcj86IEFycmF5PHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFVzZSB0aGlzIGZsYWcgdG8gemlwIHRoZSBnZW5lcmF0ZWQgQ0RLIGFwcFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgY29tcHJlc3M/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIE1hbmFnZSBjYWNoZWQgY29udGV4dCB2YWx1ZXNcbiAqXG4gKiBAc3RydWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGNvbnRleHQga2V5IChvciBpdHMgaW5kZXgpIHRvIHJlc2V0XG4gICAqXG4gICAqIGFsaWFzZXM6IGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHJlc2V0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZ25vcmUgbWlzc2luZyBrZXkgZXJyb3JcbiAgICpcbiAgICogYWxpYXNlczogZlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBmb3JjZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENsZWFyIGFsbCBjb250ZXh0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNsZWFyPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBPcGVucyB0aGUgcmVmZXJlbmNlIGRvY3VtZW50YXRpb24gaW4gYSBicm93c2VyXG4gKlxuICogYWxpYXNlczogZG9jXG4gKlxuICogQHN0cnVjdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIERvY3NPcHRpb25zIHtcbiAgLyoqXG4gICAqIHRoZSBjb21tYW5kIHRvIHVzZSB0byBvcGVuIHRoZSBicm93c2VyLCB1c2luZyAldSBhcyBhIHBsYWNlaG9sZGVyIGZvciB0aGUgcGF0aCBvZiB0aGUgZmlsZSB0byBvcGVuXG4gICAqXG4gICAqIGFsaWFzZXM6IGJcbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGJyb3dzZXI/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ2hlY2sgeW91ciBzZXQtdXAgZm9yIHBvdGVudGlhbCBwcm9ibGVtc1xuICpcbiAqIEBzdHJ1Y3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEb2N0b3JPcHRpb25zIHt9XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns a set of strings when printed on the console produces a banner msg. The message is in the following format -
|
|
3
|
+
* ********************
|
|
4
|
+
* *** msg line x ***
|
|
5
|
+
* *** msg line xyz ***
|
|
6
|
+
* ********************
|
|
7
|
+
*
|
|
8
|
+
* Spec:
|
|
9
|
+
* - The width of every line is equal, dictated by the longest message string
|
|
10
|
+
* - The first and last lines are '*'s for the full length of the line
|
|
11
|
+
* - Each line in between is prepended with '*** ' and appended with ' ***'
|
|
12
|
+
* - The text is indented left, i.e. whitespace is right-padded when the length is shorter than the longest.
|
|
13
|
+
*
|
|
14
|
+
* @param msgs array of strings containing the message lines to be printed in the banner. Returns empty string if array
|
|
15
|
+
* is empty.
|
|
16
|
+
* @returns array of strings containing the message formatted as a banner
|
|
17
|
+
*/
|
|
18
|
+
export declare function formatAsBanner(msgs: string[]): string[];
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatAsBanner = formatAsBanner;
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
5
|
+
const stripAnsi = require('strip-ansi');
|
|
6
|
+
/**
|
|
7
|
+
* Returns a set of strings when printed on the console produces a banner msg. The message is in the following format -
|
|
8
|
+
* ********************
|
|
9
|
+
* *** msg line x ***
|
|
10
|
+
* *** msg line xyz ***
|
|
11
|
+
* ********************
|
|
12
|
+
*
|
|
13
|
+
* Spec:
|
|
14
|
+
* - The width of every line is equal, dictated by the longest message string
|
|
15
|
+
* - The first and last lines are '*'s for the full length of the line
|
|
16
|
+
* - Each line in between is prepended with '*** ' and appended with ' ***'
|
|
17
|
+
* - The text is indented left, i.e. whitespace is right-padded when the length is shorter than the longest.
|
|
18
|
+
*
|
|
19
|
+
* @param msgs array of strings containing the message lines to be printed in the banner. Returns empty string if array
|
|
20
|
+
* is empty.
|
|
21
|
+
* @returns array of strings containing the message formatted as a banner
|
|
22
|
+
*/
|
|
23
|
+
function formatAsBanner(msgs) {
|
|
24
|
+
const printLen = (str) => stripAnsi(str).length;
|
|
25
|
+
if (msgs.length === 0) {
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
28
|
+
const leftPad = '*** ';
|
|
29
|
+
const rightPad = ' ***';
|
|
30
|
+
const bannerWidth = printLen(leftPad) + printLen(rightPad) +
|
|
31
|
+
msgs.reduce((acc, msg) => Math.max(acc, printLen(msg)), 0);
|
|
32
|
+
const bannerLines = [];
|
|
33
|
+
bannerLines.push('*'.repeat(bannerWidth));
|
|
34
|
+
// Improvement: If any 'msg' is wider than the terminal width, wrap message across lines.
|
|
35
|
+
msgs.forEach((msg) => {
|
|
36
|
+
const padding = ' '.repeat(bannerWidth - (printLen(msg) + printLen(leftPad) + printLen(rightPad)));
|
|
37
|
+
bannerLines.push(''.concat(leftPad, msg, padding, rightPad));
|
|
38
|
+
});
|
|
39
|
+
bannerLines.push('*'.repeat(bannerWidth));
|
|
40
|
+
return bannerLines;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc29sZS1mb3JtYXR0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29uc29sZS1mb3JtYXR0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBb0JBLHdDQXVCQztBQTNDRCxpRUFBaUU7QUFDakUsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBRXhDOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsU0FBZ0IsY0FBYyxDQUFDLElBQWM7SUFDM0MsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFFeEQsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUN2QixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUM7SUFDeEIsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDeEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRTdELE1BQU0sV0FBVyxHQUFhLEVBQUUsQ0FBQztJQUNqQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUUxQyx5RkFBeUY7SUFDekYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ25CLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25HLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUMsQ0FBQyxDQUFDO0lBRUgsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDMUMsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG5jb25zdCBzdHJpcEFuc2kgPSByZXF1aXJlKCdzdHJpcC1hbnNpJyk7XG5cbi8qKlxuICogUmV0dXJucyBhIHNldCBvZiBzdHJpbmdzIHdoZW4gcHJpbnRlZCBvbiB0aGUgY29uc29sZSBwcm9kdWNlcyBhIGJhbm5lciBtc2cuIFRoZSBtZXNzYWdlIGlzIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0IC1cbiAqICoqKioqKioqKioqKioqKioqKioqXG4gKiAqKiogbXNnIGxpbmUgeCAgICoqKlxuICogKioqIG1zZyBsaW5lIHh5eiAqKipcbiAqICoqKioqKioqKioqKioqKioqKioqXG4gKlxuICogU3BlYzpcbiAqIC0gVGhlIHdpZHRoIG9mIGV2ZXJ5IGxpbmUgaXMgZXF1YWwsIGRpY3RhdGVkIGJ5IHRoZSBsb25nZXN0IG1lc3NhZ2Ugc3RyaW5nXG4gKiAtIFRoZSBmaXJzdCBhbmQgbGFzdCBsaW5lcyBhcmUgJyoncyBmb3IgdGhlIGZ1bGwgbGVuZ3RoIG9mIHRoZSBsaW5lXG4gKiAtIEVhY2ggbGluZSBpbiBiZXR3ZWVuIGlzIHByZXBlbmRlZCB3aXRoICcqKiogJyBhbmQgYXBwZW5kZWQgd2l0aCAnICoqKidcbiAqIC0gVGhlIHRleHQgaXMgaW5kZW50ZWQgbGVmdCwgaS5lLiB3aGl0ZXNwYWNlIGlzIHJpZ2h0LXBhZGRlZCB3aGVuIHRoZSBsZW5ndGggaXMgc2hvcnRlciB0aGFuIHRoZSBsb25nZXN0LlxuICpcbiAqIEBwYXJhbSBtc2dzIGFycmF5IG9mIHN0cmluZ3MgY29udGFpbmluZyB0aGUgbWVzc2FnZSBsaW5lcyB0byBiZSBwcmludGVkIGluIHRoZSBiYW5uZXIuIFJldHVybnMgZW1wdHkgc3RyaW5nIGlmIGFycmF5XG4gKiBpcyBlbXB0eS5cbiAqIEByZXR1cm5zIGFycmF5IG9mIHN0cmluZ3MgY29udGFpbmluZyB0aGUgbWVzc2FnZSBmb3JtYXR0ZWQgYXMgYSBiYW5uZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEFzQmFubmVyKG1zZ3M6IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICBjb25zdCBwcmludExlbiA9IChzdHI6IHN0cmluZykgPT4gc3RyaXBBbnNpKHN0cikubGVuZ3RoO1xuXG4gIGlmIChtc2dzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IGxlZnRQYWQgPSAnKioqICc7XG4gIGNvbnN0IHJpZ2h0UGFkID0gJyAqKionO1xuICBjb25zdCBiYW5uZXJXaWR0aCA9IHByaW50TGVuKGxlZnRQYWQpICsgcHJpbnRMZW4ocmlnaHRQYWQpICtcbiAgICBtc2dzLnJlZHVjZSgoYWNjLCBtc2cpID0+IE1hdGgubWF4KGFjYywgcHJpbnRMZW4obXNnKSksIDApO1xuXG4gIGNvbnN0IGJhbm5lckxpbmVzOiBzdHJpbmdbXSA9IFtdO1xuICBiYW5uZXJMaW5lcy5wdXNoKCcqJy5yZXBlYXQoYmFubmVyV2lkdGgpKTtcblxuICAvLyBJbXByb3ZlbWVudDogSWYgYW55ICdtc2cnIGlzIHdpZGVyIHRoYW4gdGhlIHRlcm1pbmFsIHdpZHRoLCB3cmFwIG1lc3NhZ2UgYWNyb3NzIGxpbmVzLlxuICBtc2dzLmZvckVhY2goKG1zZykgPT4ge1xuICAgIGNvbnN0IHBhZGRpbmcgPSAnICcucmVwZWF0KGJhbm5lcldpZHRoIC0gKHByaW50TGVuKG1zZykgKyBwcmludExlbihsZWZ0UGFkKSArIHByaW50TGVuKHJpZ2h0UGFkKSkpO1xuICAgIGJhbm5lckxpbmVzLnB1c2goJycuY29uY2F0KGxlZnRQYWQsIG1zZywgcGFkZGluZywgcmlnaHRQYWQpKTtcbiAgfSk7XG5cbiAgYmFubmVyTGluZXMucHVzaCgnKicucmVwZWF0KGJhbm5lcldpZHRoKSk7XG4gIHJldHVybiBiYW5uZXJMaW5lcztcbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getLatestVersionFromNpm(): Promise<string>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getLatestVersionFromNpm = getLatestVersionFromNpm;
|
|
4
|
+
const child_process_1 = require("child_process");
|
|
5
|
+
const util_1 = require("util");
|
|
6
|
+
const semver = require("semver");
|
|
7
|
+
const logging_1 = require("../../logging");
|
|
8
|
+
const error_1 = require("../../toolkit/error");
|
|
9
|
+
const exec = (0, util_1.promisify)(child_process_1.exec);
|
|
10
|
+
/* istanbul ignore next: not called during unit tests */
|
|
11
|
+
async function getLatestVersionFromNpm() {
|
|
12
|
+
const { stdout, stderr } = await exec('npm view aws-cdk version', { timeout: 3000 });
|
|
13
|
+
if (stderr && stderr.trim().length > 0) {
|
|
14
|
+
(0, logging_1.debug)(`The 'npm view' command generated an error stream with content [${stderr.trim()}]`);
|
|
15
|
+
}
|
|
16
|
+
const latestVersion = stdout.trim();
|
|
17
|
+
if (!semver.valid(latestVersion)) {
|
|
18
|
+
throw new error_1.ToolkitError(`npm returned an invalid semver ${latestVersion}`);
|
|
19
|
+
}
|
|
20
|
+
return latestVersion;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibnBtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBU0EsMERBV0M7QUFwQkQsaURBQThDO0FBQzlDLCtCQUFpQztBQUNqQyxpQ0FBaUM7QUFDakMsMkNBQXNDO0FBQ3RDLCtDQUFtRDtBQUVuRCxNQUFNLElBQUksR0FBRyxJQUFBLGdCQUFTLEVBQUMsb0JBQUssQ0FBQyxDQUFDO0FBRTlCLHdEQUF3RDtBQUNqRCxLQUFLLFVBQVUsdUJBQXVCO0lBQzNDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsMEJBQTBCLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNyRixJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3ZDLElBQUEsZUFBSyxFQUFDLGtFQUFrRSxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFDRCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUNqQyxNQUFNLElBQUksb0JBQVksQ0FBQyxrQ0FBa0MsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsT0FBTyxhQUFhLENBQUM7QUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWMgYXMgX2V4ZWMgfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCB7IHByb21pc2lmeSB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0ICogYXMgc2VtdmVyIGZyb20gJ3NlbXZlcic7XG5pbXBvcnQgeyBkZWJ1ZyB9IGZyb20gJy4uLy4uL2xvZ2dpbmcnO1xuaW1wb3J0IHsgVG9vbGtpdEVycm9yIH0gZnJvbSAnLi4vLi4vdG9vbGtpdC9lcnJvcic7XG5cbmNvbnN0IGV4ZWMgPSBwcm9taXNpZnkoX2V4ZWMpO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogbm90IGNhbGxlZCBkdXJpbmcgdW5pdCB0ZXN0cyAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldExhdGVzdFZlcnNpb25Gcm9tTnBtKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHsgc3Rkb3V0LCBzdGRlcnIgfSA9IGF3YWl0IGV4ZWMoJ25wbSB2aWV3IGF3cy1jZGsgdmVyc2lvbicsIHsgdGltZW91dDogMzAwMCB9KTtcbiAgaWYgKHN0ZGVyciAmJiBzdGRlcnIudHJpbSgpLmxlbmd0aCA+IDApIHtcbiAgICBkZWJ1ZyhgVGhlICducG0gdmlldycgY29tbWFuZCBnZW5lcmF0ZWQgYW4gZXJyb3Igc3RyZWFtIHdpdGggY29udGVudCBbJHtzdGRlcnIudHJpbSgpfV1gKTtcbiAgfVxuICBjb25zdCBsYXRlc3RWZXJzaW9uID0gc3Rkb3V0LnRyaW0oKTtcbiAgaWYgKCFzZW12ZXIudmFsaWQobGF0ZXN0VmVyc2lvbikpIHtcbiAgICB0aHJvdyBuZXcgVG9vbGtpdEVycm9yKGBucG0gcmV0dXJuZWQgYW4gaW52YWxpZCBzZW12ZXIgJHtsYXRlc3RWZXJzaW9ufWApO1xuICB9XG5cbiAgcmV0dXJuIGxhdGVzdFZlcnNpb247XG59XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export { isCI } from '../../toolkit/cli-io-host';
|
|
2
|
+
/**
|
|
3
|
+
* yargs middleware to negate an option if a negative alias is provided
|
|
4
|
+
* E.g. `-R` will imply `--rollback=false`
|
|
5
|
+
*
|
|
6
|
+
* @param optionToNegate The name of the option to negate, e.g. `rollback`
|
|
7
|
+
* @param negativeAlias The alias that should negate the option, e.g. `R`
|
|
8
|
+
* @returns a middleware function that can be passed to yargs
|
|
9
|
+
*/
|
|
10
|
+
export declare function yargsNegativeAlias<T extends {
|
|
11
|
+
[x in S | L]: boolean | undefined;
|
|
12
|
+
}, S extends string, L extends string>(negativeAlias: S, optionToNegate: L): (argv: T) => T;
|
|
13
|
+
/**
|
|
14
|
+
* Returns the current version of the CLI
|
|
15
|
+
* @returns the current version of the CLI
|
|
16
|
+
*/
|
|
17
|
+
export declare function cliVersion(): string;
|
|
18
|
+
/**
|
|
19
|
+
* Returns the default browser command for the current platform
|
|
20
|
+
* @returns the default browser command for the current platform
|
|
21
|
+
*/
|
|
22
|
+
export declare function browserForPlatform(): string;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isCI = void 0;
|
|
4
|
+
exports.yargsNegativeAlias = yargsNegativeAlias;
|
|
5
|
+
exports.cliVersion = cliVersion;
|
|
6
|
+
exports.browserForPlatform = browserForPlatform;
|
|
7
|
+
const version = require("../version");
|
|
8
|
+
var cli_io_host_1 = require("../../toolkit/cli-io-host");
|
|
9
|
+
Object.defineProperty(exports, "isCI", { enumerable: true, get: function () { return cli_io_host_1.isCI; } });
|
|
10
|
+
/**
|
|
11
|
+
* yargs middleware to negate an option if a negative alias is provided
|
|
12
|
+
* E.g. `-R` will imply `--rollback=false`
|
|
13
|
+
*
|
|
14
|
+
* @param optionToNegate The name of the option to negate, e.g. `rollback`
|
|
15
|
+
* @param negativeAlias The alias that should negate the option, e.g. `R`
|
|
16
|
+
* @returns a middleware function that can be passed to yargs
|
|
17
|
+
*/
|
|
18
|
+
function yargsNegativeAlias(negativeAlias, optionToNegate) {
|
|
19
|
+
return (argv) => {
|
|
20
|
+
// if R in argv && argv[R]
|
|
21
|
+
// then argv[rollback] = false
|
|
22
|
+
if (negativeAlias in argv && argv[negativeAlias]) {
|
|
23
|
+
argv[optionToNegate] = false;
|
|
24
|
+
}
|
|
25
|
+
return argv;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Returns the current version of the CLI
|
|
30
|
+
* @returns the current version of the CLI
|
|
31
|
+
*/
|
|
32
|
+
function cliVersion() {
|
|
33
|
+
return version.DISPLAY_VERSION;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Returns the default browser command for the current platform
|
|
37
|
+
* @returns the default browser command for the current platform
|
|
38
|
+
*/
|
|
39
|
+
function browserForPlatform() {
|
|
40
|
+
switch (process.platform) {
|
|
41
|
+
case 'darwin':
|
|
42
|
+
return 'open %u';
|
|
43
|
+
case 'win32':
|
|
44
|
+
return 'start %u';
|
|
45
|
+
default:
|
|
46
|
+
return 'xdg-open %u';
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFyZ3MtaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInlhcmdzLWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBWUEsZ0RBWUM7QUFNRCxnQ0FFQztBQU1ELGdEQVNDO0FBL0NELHNDQUFzQztBQUV0Qyx5REFBaUQ7QUFBeEMsbUdBQUEsSUFBSSxPQUFBO0FBRWI7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLGtCQUFrQixDQUNoQyxhQUFnQixFQUNoQixjQUFpQjtJQUVqQixPQUFPLENBQUMsSUFBTyxFQUFFLEVBQUU7UUFDakIsMEJBQTBCO1FBQzFCLDhCQUE4QjtRQUM5QixJQUFJLGFBQWEsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDaEQsSUFBWSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUN4QyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IsVUFBVTtJQUN4QixPQUFPLE9BQU8sQ0FBQyxlQUFlLENBQUM7QUFDakMsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLGtCQUFrQjtJQUNoQyxRQUFRLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixLQUFLLFFBQVE7WUFDWCxPQUFPLFNBQVMsQ0FBQztRQUNuQixLQUFLLE9BQU87WUFDVixPQUFPLFVBQVUsQ0FBQztRQUNwQjtZQUNFLE9BQU8sYUFBYSxDQUFDO0lBQ3pCLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdmVyc2lvbiBmcm9tICcuLi92ZXJzaW9uJztcblxuZXhwb3J0IHsgaXNDSSB9IGZyb20gJy4uLy4uL3Rvb2xraXQvY2xpLWlvLWhvc3QnO1xuXG4vKipcbiAqIHlhcmdzIG1pZGRsZXdhcmUgdG8gbmVnYXRlIGFuIG9wdGlvbiBpZiBhIG5lZ2F0aXZlIGFsaWFzIGlzIHByb3ZpZGVkXG4gKiBFLmcuIGAtUmAgd2lsbCBpbXBseSBgLS1yb2xsYmFjaz1mYWxzZWBcbiAqXG4gKiBAcGFyYW0gb3B0aW9uVG9OZWdhdGUgVGhlIG5hbWUgb2YgdGhlIG9wdGlvbiB0byBuZWdhdGUsIGUuZy4gYHJvbGxiYWNrYFxuICogQHBhcmFtIG5lZ2F0aXZlQWxpYXMgVGhlIGFsaWFzIHRoYXQgc2hvdWxkIG5lZ2F0ZSB0aGUgb3B0aW9uLCBlLmcuIGBSYFxuICogQHJldHVybnMgYSBtaWRkbGV3YXJlIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIHBhc3NlZCB0byB5YXJnc1xuICovXG5leHBvcnQgZnVuY3Rpb24geWFyZ3NOZWdhdGl2ZUFsaWFzPFQgZXh0ZW5kcyB7IFt4IGluIFMgfCBMXTogYm9vbGVhbiB8IHVuZGVmaW5lZCB9LCBTIGV4dGVuZHMgc3RyaW5nLCBMIGV4dGVuZHMgc3RyaW5nPihcbiAgbmVnYXRpdmVBbGlhczogUyxcbiAgb3B0aW9uVG9OZWdhdGU6IEwsXG4pOiAoYXJndjogVCkgPT4gVCB7XG4gIHJldHVybiAoYXJndjogVCkgPT4ge1xuICAgIC8vIGlmIFIgaW4gYXJndiAmJiBhcmd2W1JdXG4gICAgLy8gdGhlbiBhcmd2W3JvbGxiYWNrXSA9IGZhbHNlXG4gICAgaWYgKG5lZ2F0aXZlQWxpYXMgaW4gYXJndiAmJiBhcmd2W25lZ2F0aXZlQWxpYXNdKSB7XG4gICAgICAoYXJndiBhcyBhbnkpW29wdGlvblRvTmVnYXRlXSA9IGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gYXJndjtcbiAgfTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhlIENMSVxuICogQHJldHVybnMgdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgQ0xJXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbGlWZXJzaW9uKCk6IHN0cmluZyB7XG4gIHJldHVybiB2ZXJzaW9uLkRJU1BMQVlfVkVSU0lPTjtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBkZWZhdWx0IGJyb3dzZXIgY29tbWFuZCBmb3IgdGhlIGN1cnJlbnQgcGxhdGZvcm1cbiAqIEByZXR1cm5zIHRoZSBkZWZhdWx0IGJyb3dzZXIgY29tbWFuZCBmb3IgdGhlIGN1cnJlbnQgcGxhdGZvcm1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJyb3dzZXJGb3JQbGF0Zm9ybSgpOiBzdHJpbmcge1xuICBzd2l0Y2ggKHByb2Nlc3MucGxhdGZvcm0pIHtcbiAgICBjYXNlICdkYXJ3aW4nOlxuICAgICAgcmV0dXJuICdvcGVuICV1JztcbiAgICBjYXNlICd3aW4zMic6XG4gICAgICByZXR1cm4gJ3N0YXJ0ICV1JztcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuICd4ZGctb3BlbiAldSc7XG4gIH1cbn1cblxuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const DISPLAY_VERSION: string;
|
|
2
|
+
export declare function isDeveloperBuild(): boolean;
|
|
3
|
+
export declare function versionNumber(): string;
|
|
4
|
+
export declare class VersionCheckTTL {
|
|
5
|
+
static timestampFilePath(): string;
|
|
6
|
+
private readonly file;
|
|
7
|
+
private readonly ttlSecs;
|
|
8
|
+
constructor(file?: string, ttlSecs?: number);
|
|
9
|
+
hasExpired(): Promise<boolean>;
|
|
10
|
+
update(latestVersion?: string): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
export declare function latestVersionIfHigher(currentVersion: string, cacheFile: VersionCheckTTL): Promise<string | null>;
|
|
13
|
+
export declare function displayVersionMessage(currentVersion?: string, versionCheckCache?: VersionCheckTTL): Promise<void>;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VersionCheckTTL = exports.DISPLAY_VERSION = void 0;
|
|
4
|
+
exports.isDeveloperBuild = isDeveloperBuild;
|
|
5
|
+
exports.versionNumber = versionNumber;
|
|
6
|
+
exports.latestVersionIfHigher = latestVersionIfHigher;
|
|
7
|
+
exports.displayVersionMessage = displayVersionMessage;
|
|
8
|
+
/* istanbul ignore file */
|
|
9
|
+
const path = require("path");
|
|
10
|
+
const chalk = require("chalk");
|
|
11
|
+
const fs = require("fs-extra");
|
|
12
|
+
const semver = require("semver");
|
|
13
|
+
const logging_1 = require("../logging");
|
|
14
|
+
const error_1 = require("../toolkit/error");
|
|
15
|
+
const console_formatters_1 = require("./util/console-formatters");
|
|
16
|
+
const directories_1 = require("../util/directories");
|
|
17
|
+
const npm_1 = require("./util/npm");
|
|
18
|
+
const ONE_DAY_IN_SECONDS = 1 * 24 * 60 * 60;
|
|
19
|
+
const UPGRADE_DOCUMENTATION_LINKS = {
|
|
20
|
+
1: 'https://docs.aws.amazon.com/cdk/v2/guide/migrating-v2.html',
|
|
21
|
+
};
|
|
22
|
+
exports.DISPLAY_VERSION = `${versionNumber()} (build ${commit()})`;
|
|
23
|
+
function isDeveloperBuild() {
|
|
24
|
+
return versionNumber() === '0.0.0';
|
|
25
|
+
}
|
|
26
|
+
function versionNumber() {
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
28
|
+
return require(path.join((0, directories_1.rootDir)(), 'package.json')).version.replace(/\+[0-9a-f]+$/, '');
|
|
29
|
+
}
|
|
30
|
+
function commit() {
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
32
|
+
return require(path.join((0, directories_1.rootDir)(), 'build-info.json')).commit;
|
|
33
|
+
}
|
|
34
|
+
class VersionCheckTTL {
|
|
35
|
+
static timestampFilePath() {
|
|
36
|
+
// Using the same path from account-cache.ts
|
|
37
|
+
return path.join((0, directories_1.cdkCacheDir)(), 'repo-version-ttl');
|
|
38
|
+
}
|
|
39
|
+
constructor(file, ttlSecs) {
|
|
40
|
+
this.file = file || VersionCheckTTL.timestampFilePath();
|
|
41
|
+
try {
|
|
42
|
+
fs.mkdirsSync(path.dirname(this.file));
|
|
43
|
+
fs.accessSync(path.dirname(this.file), fs.constants.W_OK);
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
throw new error_1.ToolkitError(`Directory (${path.dirname(this.file)}) is not writable.`);
|
|
47
|
+
}
|
|
48
|
+
this.ttlSecs = ttlSecs || ONE_DAY_IN_SECONDS;
|
|
49
|
+
}
|
|
50
|
+
async hasExpired() {
|
|
51
|
+
try {
|
|
52
|
+
const lastCheckTime = (await fs.stat(this.file)).mtimeMs;
|
|
53
|
+
const today = new Date().getTime();
|
|
54
|
+
if ((today - lastCheckTime) / 1000 > this.ttlSecs) { // convert ms to sec
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
if (err.code === 'ENOENT') {
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
throw err;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
async update(latestVersion) {
|
|
69
|
+
if (!latestVersion) {
|
|
70
|
+
latestVersion = '';
|
|
71
|
+
}
|
|
72
|
+
await fs.writeFile(this.file, latestVersion);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.VersionCheckTTL = VersionCheckTTL;
|
|
76
|
+
// Export for unit testing only.
|
|
77
|
+
// Don't use directly, use displayVersionMessage() instead.
|
|
78
|
+
async function latestVersionIfHigher(currentVersion, cacheFile) {
|
|
79
|
+
if (!(await cacheFile.hasExpired())) {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
const latestVersion = await (0, npm_1.getLatestVersionFromNpm)();
|
|
83
|
+
const isNewer = semver.gt(latestVersion, currentVersion);
|
|
84
|
+
await cacheFile.update(latestVersion);
|
|
85
|
+
if (isNewer) {
|
|
86
|
+
return latestVersion;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
function getMajorVersionUpgradeMessage(currentVersion) {
|
|
93
|
+
const currentMajorVersion = semver.major(currentVersion);
|
|
94
|
+
if (UPGRADE_DOCUMENTATION_LINKS[currentMajorVersion]) {
|
|
95
|
+
return `Information about upgrading from version ${currentMajorVersion}.x to version ${currentMajorVersion + 1}.x is available here: ${UPGRADE_DOCUMENTATION_LINKS[currentMajorVersion]}`;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
function getVersionMessage(currentVersion, laterVersion) {
|
|
99
|
+
return [
|
|
100
|
+
`Newer version of CDK is available [${chalk.green(laterVersion)}]`,
|
|
101
|
+
getMajorVersionUpgradeMessage(currentVersion),
|
|
102
|
+
'Upgrade recommended (npm install -g aws-cdk)',
|
|
103
|
+
].filter(Boolean);
|
|
104
|
+
}
|
|
105
|
+
async function displayVersionMessage(currentVersion = versionNumber(), versionCheckCache) {
|
|
106
|
+
if (!process.stdout.isTTY || process.env.CDK_DISABLE_VERSION_CHECK) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
try {
|
|
110
|
+
const laterVersion = await latestVersionIfHigher(currentVersion, versionCheckCache !== null && versionCheckCache !== void 0 ? versionCheckCache : new VersionCheckTTL());
|
|
111
|
+
if (laterVersion) {
|
|
112
|
+
const bannerMsg = (0, console_formatters_1.formatAsBanner)(getVersionMessage(currentVersion, laterVersion));
|
|
113
|
+
bannerMsg.forEach((e) => (0, logging_1.info)(e));
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
catch (err) {
|
|
117
|
+
(0, logging_1.debug)(`Could not run version check - ${err.message}`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBbUJBLDRDQUVDO0FBRUQsc0NBR0M7QUF5REQsc0RBY0M7QUFpQkQsc0RBY0M7QUFoSUQsMEJBQTBCO0FBQzFCLDZCQUE2QjtBQUM3QiwrQkFBK0I7QUFDL0IsK0JBQStCO0FBQy9CLGlDQUFpQztBQUNqQyx3Q0FBeUM7QUFDekMsNENBQWdEO0FBQ2hELGtFQUEyRDtBQUMzRCxxREFBMkQ7QUFDM0Qsb0NBQXFEO0FBRXJELE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBRTVDLE1BQU0sMkJBQTJCLEdBQTJCO0lBQzFELENBQUMsRUFBRSw0REFBNEQ7Q0FDaEUsQ0FBQztBQUVXLFFBQUEsZUFBZSxHQUFHLEdBQUcsYUFBYSxFQUFFLFdBQVcsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUV4RSxTQUFnQixnQkFBZ0I7SUFDOUIsT0FBTyxhQUFhLEVBQUUsS0FBSyxPQUFPLENBQUM7QUFDckMsQ0FBQztBQUVELFNBQWdCLGFBQWE7SUFDM0IsaUVBQWlFO0lBQ2pFLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBQSxxQkFBTyxHQUFFLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUMzRixDQUFDO0FBRUQsU0FBUyxNQUFNO0lBQ2IsaUVBQWlFO0lBQ2pFLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBQSxxQkFBTyxHQUFFLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUNqRSxDQUFDO0FBRUQsTUFBYSxlQUFlO0lBQ25CLE1BQU0sQ0FBQyxpQkFBaUI7UUFDN0IsNENBQTRDO1FBQzVDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFBLHlCQUFXLEdBQUUsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFPRCxZQUFZLElBQWEsRUFBRSxPQUFnQjtRQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxlQUFlLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN4RCxJQUFJLENBQUM7WUFDSCxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDdkMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVELENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxNQUFNLElBQUksb0JBQVksQ0FBQyxjQUFjLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3BGLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQztJQUMvQyxDQUFDO0lBRU0sS0FBSyxDQUFDLFVBQVU7UUFDckIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ3pELE1BQU0sS0FBSyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsb0JBQW9CO2dCQUN2RSxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFBQyxPQUFPLEdBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDMUIsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxHQUFHLENBQUM7WUFDWixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTSxLQUFLLENBQUMsTUFBTSxDQUFDLGFBQXNCO1FBQ3hDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNuQixhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLENBQUM7UUFDRCxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQztJQUMvQyxDQUFDO0NBQ0Y7QUE5Q0QsMENBOENDO0FBRUQsZ0NBQWdDO0FBQ2hDLDJEQUEyRDtBQUNwRCxLQUFLLFVBQVUscUJBQXFCLENBQUMsY0FBc0IsRUFBRSxTQUEwQjtJQUM1RixJQUFJLENBQUMsQ0FBQyxNQUFNLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFBLDZCQUF1QixHQUFFLENBQUM7SUFDdEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDekQsTUFBTSxTQUFTLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRXRDLElBQUksT0FBTyxFQUFFLENBQUM7UUFDWixPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLDZCQUE2QixDQUFDLGNBQXNCO0lBQzNELE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6RCxJQUFJLDJCQUEyQixDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztRQUNyRCxPQUFPLDRDQUE0QyxtQkFBbUIsaUJBQWlCLG1CQUFtQixHQUFHLENBQUMseUJBQXlCLDJCQUEyQixDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztJQUM1TCxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsY0FBc0IsRUFBRSxZQUFvQjtJQUNyRSxPQUFPO1FBQ0wsc0NBQXNDLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBc0IsQ0FBQyxHQUFHO1FBQzVFLDZCQUE2QixDQUFDLGNBQWMsQ0FBQztRQUM3Qyw4Q0FBOEM7S0FDL0MsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFhLENBQUM7QUFDaEMsQ0FBQztBQUVNLEtBQUssVUFBVSxxQkFBcUIsQ0FBQyxjQUFjLEdBQUcsYUFBYSxFQUFFLEVBQUUsaUJBQW1DO0lBQy9HLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDbkUsT0FBTztJQUNULENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLFlBQVksR0FBRyxNQUFNLHFCQUFxQixDQUFDLGNBQWMsRUFBRSxpQkFBaUIsYUFBakIsaUJBQWlCLGNBQWpCLGlCQUFpQixHQUFJLElBQUksZUFBZSxFQUFFLENBQUMsQ0FBQztRQUM3RyxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLE1BQU0sU0FBUyxHQUFHLElBQUEsbUNBQWMsRUFBQyxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUNsRixTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFBLGNBQUksRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBQUMsT0FBTyxHQUFRLEVBQUUsQ0FBQztRQUNsQixJQUFBLGVBQUssRUFBQyxpQ0FBaUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBpc3RhbmJ1bCBpZ25vcmUgZmlsZSAqL1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCAqIGFzIHNlbXZlciBmcm9tICdzZW12ZXInO1xuaW1wb3J0IHsgZGVidWcsIGluZm8gfSBmcm9tICcuLi9sb2dnaW5nJztcbmltcG9ydCB7IFRvb2xraXRFcnJvciB9IGZyb20gJy4uL3Rvb2xraXQvZXJyb3InO1xuaW1wb3J0IHsgZm9ybWF0QXNCYW5uZXIgfSBmcm9tICcuL3V0aWwvY29uc29sZS1mb3JtYXR0ZXJzJztcbmltcG9ydCB7IGNka0NhY2hlRGlyLCByb290RGlyIH0gZnJvbSAnLi4vdXRpbC9kaXJlY3Rvcmllcyc7XG5pbXBvcnQgeyBnZXRMYXRlc3RWZXJzaW9uRnJvbU5wbSB9IGZyb20gJy4vdXRpbC9ucG0nO1xuXG5jb25zdCBPTkVfREFZX0lOX1NFQ09ORFMgPSAxICogMjQgKiA2MCAqIDYwO1xuXG5jb25zdCBVUEdSQURFX0RPQ1VNRU5UQVRJT05fTElOS1M6IFJlY29yZDxudW1iZXIsIHN0cmluZz4gPSB7XG4gIDE6ICdodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY2RrL3YyL2d1aWRlL21pZ3JhdGluZy12Mi5odG1sJyxcbn07XG5cbmV4cG9ydCBjb25zdCBESVNQTEFZX1ZFUlNJT04gPSBgJHt2ZXJzaW9uTnVtYmVyKCl9IChidWlsZCAke2NvbW1pdCgpfSlgO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNEZXZlbG9wZXJCdWlsZCgpOiBib29sZWFuIHtcbiAgcmV0dXJuIHZlcnNpb25OdW1iZXIoKSA9PT0gJzAuMC4wJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZlcnNpb25OdW1iZXIoKTogc3RyaW5nIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgcmV0dXJuIHJlcXVpcmUocGF0aC5qb2luKHJvb3REaXIoKSwgJ3BhY2thZ2UuanNvbicpKS52ZXJzaW9uLnJlcGxhY2UoL1xcK1swLTlhLWZdKyQvLCAnJyk7XG59XG5cbmZ1bmN0aW9uIGNvbW1pdCgpOiBzdHJpbmcge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICByZXR1cm4gcmVxdWlyZShwYXRoLmpvaW4ocm9vdERpcigpLCAnYnVpbGQtaW5mby5qc29uJykpLmNvbW1pdDtcbn1cblxuZXhwb3J0IGNsYXNzIFZlcnNpb25DaGVja1RUTCB7XG4gIHB1YmxpYyBzdGF0aWMgdGltZXN0YW1wRmlsZVBhdGgoKTogc3RyaW5nIHtcbiAgICAvLyBVc2luZyB0aGUgc2FtZSBwYXRoIGZyb20gYWNjb3VudC1jYWNoZS50c1xuICAgIHJldHVybiBwYXRoLmpvaW4oY2RrQ2FjaGVEaXIoKSwgJ3JlcG8tdmVyc2lvbi10dGwnKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgZmlsZTogc3RyaW5nO1xuXG4gIC8vIEZpbGUgbW9kaWZ5IHRpbWVzIGFyZSBhY2N1cmF0ZSBvbmx5IHRvIHRoZSBzZWNvbmRcbiAgcHJpdmF0ZSByZWFkb25seSB0dGxTZWNzOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoZmlsZT86IHN0cmluZywgdHRsU2Vjcz86IG51bWJlcikge1xuICAgIHRoaXMuZmlsZSA9IGZpbGUgfHwgVmVyc2lvbkNoZWNrVFRMLnRpbWVzdGFtcEZpbGVQYXRoKCk7XG4gICAgdHJ5IHtcbiAgICAgIGZzLm1rZGlyc1N5bmMocGF0aC5kaXJuYW1lKHRoaXMuZmlsZSkpO1xuICAgICAgZnMuYWNjZXNzU3luYyhwYXRoLmRpcm5hbWUodGhpcy5maWxlKSwgZnMuY29uc3RhbnRzLldfT0spO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdGhyb3cgbmV3IFRvb2xraXRFcnJvcihgRGlyZWN0b3J5ICgke3BhdGguZGlybmFtZSh0aGlzLmZpbGUpfSkgaXMgbm90IHdyaXRhYmxlLmApO1xuICAgIH1cbiAgICB0aGlzLnR0bFNlY3MgPSB0dGxTZWNzIHx8IE9ORV9EQVlfSU5fU0VDT05EUztcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBoYXNFeHBpcmVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBsYXN0Q2hlY2tUaW1lID0gKGF3YWl0IGZzLnN0YXQodGhpcy5maWxlKSkubXRpbWVNcztcbiAgICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG5cbiAgICAgIGlmICgodG9kYXkgLSBsYXN0Q2hlY2tUaW1lKSAvIDEwMDAgPiB0aGlzLnR0bFNlY3MpIHsgLy8gY29udmVydCBtcyB0byBzZWNcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICAgIGlmIChlcnIuY29kZSA9PT0gJ0VOT0VOVCcpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIHVwZGF0ZShsYXRlc3RWZXJzaW9uPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFsYXRlc3RWZXJzaW9uKSB7XG4gICAgICBsYXRlc3RWZXJzaW9uID0gJyc7XG4gICAgfVxuICAgIGF3YWl0IGZzLndyaXRlRmlsZSh0aGlzLmZpbGUsIGxhdGVzdFZlcnNpb24pO1xuICB9XG59XG5cbi8vIEV4cG9ydCBmb3IgdW5pdCB0ZXN0aW5nIG9ubHkuXG4vLyBEb24ndCB1c2UgZGlyZWN0bHksIHVzZSBkaXNwbGF5VmVyc2lvbk1lc3NhZ2UoKSBpbnN0ZWFkLlxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxhdGVzdFZlcnNpb25JZkhpZ2hlcihjdXJyZW50VmVyc2lvbjogc3RyaW5nLCBjYWNoZUZpbGU6IFZlcnNpb25DaGVja1RUTCk6IFByb21pc2U8c3RyaW5nfG51bGw+IHtcbiAgaWYgKCEoYXdhaXQgY2FjaGVGaWxlLmhhc0V4cGlyZWQoKSkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGxhdGVzdFZlcnNpb24gPSBhd2FpdCBnZXRMYXRlc3RWZXJzaW9uRnJvbU5wbSgpO1xuICBjb25zdCBpc05ld2VyID0gc2VtdmVyLmd0KGxhdGVzdFZlcnNpb24sIGN1cnJlbnRWZXJzaW9uKTtcbiAgYXdhaXQgY2FjaGVGaWxlLnVwZGF0ZShsYXRlc3RWZXJzaW9uKTtcblxuICBpZiAoaXNOZXdlcikge1xuICAgIHJldHVybiBsYXRlc3RWZXJzaW9uO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldE1ham9yVmVyc2lvblVwZ3JhZGVNZXNzYWdlKGN1cnJlbnRWZXJzaW9uOiBzdHJpbmcpOiBzdHJpbmcgfCB2b2lkIHtcbiAgY29uc3QgY3VycmVudE1ham9yVmVyc2lvbiA9IHNlbXZlci5tYWpvcihjdXJyZW50VmVyc2lvbik7XG4gIGlmIChVUEdSQURFX0RPQ1VNRU5UQVRJT05fTElOS1NbY3VycmVudE1ham9yVmVyc2lvbl0pIHtcbiAgICByZXR1cm4gYEluZm9ybWF0aW9uIGFib3V0IHVwZ3JhZGluZyBmcm9tIHZlcnNpb24gJHtjdXJyZW50TWFqb3JWZXJzaW9ufS54IHRvIHZlcnNpb24gJHtjdXJyZW50TWFqb3JWZXJzaW9uICsgMX0ueCBpcyBhdmFpbGFibGUgaGVyZTogJHtVUEdSQURFX0RPQ1VNRU5UQVRJT05fTElOS1NbY3VycmVudE1ham9yVmVyc2lvbl19YDtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRWZXJzaW9uTWVzc2FnZShjdXJyZW50VmVyc2lvbjogc3RyaW5nLCBsYXRlclZlcnNpb246IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIFtcbiAgICBgTmV3ZXIgdmVyc2lvbiBvZiBDREsgaXMgYXZhaWxhYmxlIFske2NoYWxrLmdyZWVuKGxhdGVyVmVyc2lvbiBhcyBzdHJpbmcpfV1gLFxuICAgIGdldE1ham9yVmVyc2lvblVwZ3JhZGVNZXNzYWdlKGN1cnJlbnRWZXJzaW9uKSxcbiAgICAnVXBncmFkZSByZWNvbW1lbmRlZCAobnBtIGluc3RhbGwgLWcgYXdzLWNkayknLFxuICBdLmZpbHRlcihCb29sZWFuKSBhcyBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRpc3BsYXlWZXJzaW9uTWVzc2FnZShjdXJyZW50VmVyc2lvbiA9IHZlcnNpb25OdW1iZXIoKSwgdmVyc2lvbkNoZWNrQ2FjaGU/OiBWZXJzaW9uQ2hlY2tUVEwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKCFwcm9jZXNzLnN0ZG91dC5pc1RUWSB8fCBwcm9jZXNzLmVudi5DREtfRElTQUJMRV9WRVJTSU9OX0NIRUNLKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBsYXRlclZlcnNpb24gPSBhd2FpdCBsYXRlc3RWZXJzaW9uSWZIaWdoZXIoY3VycmVudFZlcnNpb24sIHZlcnNpb25DaGVja0NhY2hlID8/IG5ldyBWZXJzaW9uQ2hlY2tUVEwoKSk7XG4gICAgaWYgKGxhdGVyVmVyc2lvbikge1xuICAgICAgY29uc3QgYmFubmVyTXNnID0gZm9ybWF0QXNCYW5uZXIoZ2V0VmVyc2lvbk1lc3NhZ2UoY3VycmVudFZlcnNpb24sIGxhdGVyVmVyc2lvbikpO1xuICAgICAgYmFubmVyTXNnLmZvckVhY2goKGUpID0+IGluZm8oZSkpO1xuICAgIH1cbiAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICBkZWJ1ZyhgQ291bGQgbm90IHJ1biB2ZXJzaW9uIGNoZWNrIC0gJHtlcnIubWVzc2FnZX1gKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Context } from '../api/context';
|
|
2
|
+
/**
|
|
3
|
+
* Options for the context command
|
|
4
|
+
*/
|
|
5
|
+
export interface ContextOptions {
|
|
6
|
+
/**
|
|
7
|
+
* The context object sourced from all context locations
|
|
8
|
+
*/
|
|
9
|
+
context: Context;
|
|
10
|
+
/**
|
|
11
|
+
* The context key (or its index) to reset
|
|
12
|
+
*
|
|
13
|
+
* @default undefined
|
|
14
|
+
*/
|
|
15
|
+
reset?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Ignore missing key error
|
|
18
|
+
*
|
|
19
|
+
* @default false
|
|
20
|
+
*/
|
|
21
|
+
force?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Clear all context
|
|
24
|
+
*
|
|
25
|
+
* @default false
|
|
26
|
+
*/
|
|
27
|
+
clear?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Use JSON output instead of YAML when templates are printed to STDOUT
|
|
30
|
+
*
|
|
31
|
+
* @default false
|
|
32
|
+
*/
|
|
33
|
+
json?: boolean;
|
|
34
|
+
}
|
|
35
|
+
export declare function contextHandler(options: ContextOptions): Promise<number>;
|