cdk-common 0.0.67 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitattributes +23 -21
- package/.jsii +2662 -552
- package/API.md +27 -64
- package/README.md +19 -2
- package/lib/integ-default.d.ts +3 -3
- package/lib/integ-default.js +6 -5
- package/lib/main.d.ts +4 -4
- package/lib/main.js +7 -6
- package/node_modules/@aws-cdk/assert/BUILD.md +15 -0
- package/node_modules/@aws-cdk/assert/LICENSE +201 -0
- package/node_modules/@aws-cdk/assert/NOTICE +2 -0
- package/node_modules/@aws-cdk/assert/README.md +229 -0
- package/node_modules/@aws-cdk/assert/clone.sh +29 -0
- package/node_modules/@aws-cdk/assert/jest.d.ts +14 -0
- package/node_modules/@aws-cdk/assert/jest.js +57 -0
- package/node_modules/@aws-cdk/assert/lib/assertion.d.ts +17 -0
- package/node_modules/@aws-cdk/assert/lib/assertion.js +31 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/and-assertion.d.ts +10 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/and-assertion.js +21 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/count-resources.d.ts +10 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/count-resources.js +54 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/exist.d.ts +3 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/exist.js +18 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/have-output.d.ts +29 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/have-output.js +78 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/have-resource-matchers.d.ts +123 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/have-resource-matchers.js +404 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/have-resource.d.ts +69 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/have-resource.js +131 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/have-type.d.ts +3 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/have-type.js +22 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/match-template.d.ts +19 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/match-template.js +98 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/negated-assertion.d.ts +8 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/negated-assertion.js +18 -0
- package/node_modules/@aws-cdk/assert/lib/canonicalize-assets.d.ts +11 -0
- package/node_modules/@aws-cdk/assert/lib/canonicalize-assets.js +70 -0
- package/node_modules/@aws-cdk/assert/lib/expect.d.ts +4 -0
- package/node_modules/@aws-cdk/assert/lib/expect.js +16 -0
- package/node_modules/@aws-cdk/assert/lib/index.d.ts +14 -0
- package/node_modules/@aws-cdk/assert/lib/index.js +27 -0
- package/node_modules/@aws-cdk/assert/lib/inspector.d.ts +31 -0
- package/node_modules/@aws-cdk/assert/lib/inspector.js +69 -0
- package/node_modules/@aws-cdk/assert/lib/synth-utils.d.ts +30 -0
- package/node_modules/@aws-cdk/assert/lib/synth-utils.js +93 -0
- package/node_modules/@aws-cdk/assert/package.json +77 -0
- package/node_modules/@aws-cdk/cfnspec/CHANGELOG.md +9353 -0
- package/node_modules/@aws-cdk/cfnspec/LICENSE +201 -0
- package/node_modules/@aws-cdk/cfnspec/NOTICE +2 -0
- package/node_modules/@aws-cdk/cfnspec/README.md +14 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/build.d.ts +1 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/build.js +83 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/create-missing-libraries.d.ts +6 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/create-missing-libraries.js +308 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/massage-spec.d.ts +14 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/massage-spec.js +130 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/scrutiny.d.ts +12 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/scrutiny.js +85 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/spec-diff.d.ts +1 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/spec-diff.js +237 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/template/LICENSE +201 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/template/NOTICE +2 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/update-cfnlint.sh +18 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/update-metrics.sh +13 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/update.sh +81 -0
- package/node_modules/@aws-cdk/cfnspec/cfn.version +1 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/base.css +224 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/block-navigation.js +79 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/index.html +126 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/massage-spec.ts.html +443 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/scrutiny.ts.html +344 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/favicon.png +0 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/index.html +156 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/junit.xml +31181 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/base.css +224 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/block-navigation.js +79 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/index.html +126 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/massage-spec.ts.html +443 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/scrutiny.ts.html +344 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/favicon.png +0 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/index.html +156 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/canned-metrics/canned-metrics-schema.ts.html +299 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/canned-metrics/index.html +111 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/canned-metrics.ts.html +440 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/index.html +126 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/index.ts.html +557 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/augmentation.ts.html +371 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/base-types.ts.html +167 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/index.html +186 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/index.ts.html +98 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/property.ts.html +965 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/resource-type.ts.html +572 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/specification.ts.html +248 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/prettify.css +1 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/prettify.js +2 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/sorter.js +170 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov.info +709 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/canned-metrics/canned-metrics-schema.ts.html +299 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/canned-metrics/index.html +111 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/canned-metrics.ts.html +440 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/index.html +126 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/index.ts.html +557 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/augmentation.ts.html +371 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/base-types.ts.html +167 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/index.html +186 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/index.ts.html +98 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/property.ts.html +965 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/resource-type.ts.html +572 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/specification.ts.html +248 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/prettify.css +1 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/prettify.js +2 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/sort-arrow-sprite.png +0 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/sorter.js +170 -0
- package/node_modules/@aws-cdk/cfnspec/lib/_private_schema/cfn-lint.d.ts +24 -0
- package/node_modules/@aws-cdk/cfnspec/lib/_private_schema/cfn-lint.js +3 -0
- package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_EC2_VPNConnection.json +27 -0
- package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_Lambda_Function.json +27 -0
- package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_RDS_DBCluster.json +70 -0
- package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_RDS_DBInstance.json +37 -0
- package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_SNS_Topic.json +52 -0
- package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_SQS_Queue.json +53 -0
- package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics/README.md +163 -0
- package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics/canned-metrics-schema.d.ts +60 -0
- package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics/canned-metrics-schema.js +12 -0
- package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics/services.json +22175 -0
- package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics.d.ts +41 -0
- package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics.js +77 -0
- package/node_modules/@aws-cdk/cfnspec/lib/index.d.ts +55 -0
- package/node_modules/@aws-cdk/cfnspec/lib/index.js +171 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/augmentation.d.ts +87 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/augmentation.js +28 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/base-types.d.ts +14 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/base-types.js +29 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/cfn-lint.d.ts +13 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/cfn-lint.js +3 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/index.d.ts +6 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/index.js +19 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/property.d.ts +174 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/property.js +161 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/resource-type.d.ts +117 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/resource-type.js +99 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/specification.d.ts +56 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/specification.js +11 -0
- package/node_modules/@aws-cdk/cfnspec/package.json +61 -0
- package/node_modules/@aws-cdk/cfnspec/spec/cfn-lint.json +34 -0
- package/node_modules/@aws-cdk/cfnspec/spec/specification.json +110800 -0
- package/node_modules/@aws-cdk/cfnspec/tsconfig.json +24 -0
- package/node_modules/@aws-cdk/cfnspec/tsconfig.tsbuildinfo +4584 -0
- package/node_modules/@aws-cdk/cloudformation-diff/LICENSE +201 -0
- package/node_modules/@aws-cdk/cloudformation-diff/NOTICE +2 -0
- package/node_modules/@aws-cdk/cloudformation-diff/README.md +12 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/index.d.ts +9 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/index.js +94 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/types.d.ts +326 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/types.js +456 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/util.d.ts +41 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/util.js +165 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/diff-template.d.ts +21 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/diff-template.js +166 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/diffable.d.ts +22 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/diffable.js +47 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/format-table.d.ts +6 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/format-table.js +109 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/format.d.ts +23 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/format.js +414 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/iam-changes.d.ts +62 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/iam-changes.js +246 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/managed-policy.d.ts +18 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/managed-policy.js +29 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/statement.d.ts +127 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/statement.js +266 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/index.d.ts +4 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/index.js +18 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/network/security-group-changes.d.ts +32 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/network/security-group-changes.js +95 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/network/security-group-rule.d.ts +50 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/network/security-group-rule.js +91 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/render-intrinsics.d.ts +21 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/render-intrinsics.js +79 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/util.d.ts +7 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/util.js +63 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/LICENSE +21 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/README.md +16 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/assert.d.ts +99 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/async_hooks.d.ts +144 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/base.d.ts +19 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/buffer.d.ts +16 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/child_process.d.ts +369 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/cluster.d.ts +260 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/console.d.ts +3 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/constants.d.ts +449 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/crypto.d.ts +613 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/dgram.d.ts +97 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/dns.d.ts +366 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/domain.d.ts +16 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/events.d.ts +30 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/fs.d.ts +2302 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/globals.d.ts +1066 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/http.d.ts +274 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/http2.d.ts +859 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/https.d.ts +51 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/index.d.ts +41 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/inspector.d.ts +3162 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/module.d.ts +3 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/net.d.ts +251 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/os.d.ts +254 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/package.json +181 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/path.d.ts +159 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/perf_hooks.d.ts +169 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/process.d.ts +3 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/punycode.d.ts +68 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/querystring.d.ts +17 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/readline.d.ts +143 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/repl.d.ts +380 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/stream.d.ts +313 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/string_decoder.d.ts +9 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/timers.d.ts +16 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/tls.d.ts +459 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/trace_events.d.ts +61 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/ts3.6/assert.d.ts +73 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/ts3.6/base.d.ts +54 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/ts3.6/index.d.ts +6 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/tty.d.ts +17 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/url.d.ts +104 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/util.d.ts +187 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/v8.d.ts +28 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/vm.d.ts +81 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/worker_threads.d.ts +124 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/zlib.d.ts +327 -0
- package/node_modules/@aws-cdk/cloudformation-diff/package.json +61 -0
- package/node_modules/@types/concat-stream/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/concat-stream/node_modules/@types/node/http.d.ts +1 -1
- package/node_modules/@types/concat-stream/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/form-data/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/form-data/node_modules/@types/node/http.d.ts +1 -1
- package/node_modules/@types/form-data/node_modules/@types/node/package.json +2 -2
- package/node_modules/ansi-regex/index.d.ts +37 -0
- package/node_modules/ansi-regex/index.js +10 -0
- package/node_modules/ansi-regex/license +9 -0
- package/node_modules/ansi-regex/package.json +55 -0
- package/node_modules/ansi-regex/readme.md +78 -0
- package/node_modules/ansi-styles/index.d.ts +345 -0
- package/node_modules/ansi-styles/index.js +163 -0
- package/node_modules/ansi-styles/license +9 -0
- package/node_modules/ansi-styles/package.json +56 -0
- package/node_modules/ansi-styles/readme.md +152 -0
- package/node_modules/astral-regex/index.d.ts +28 -0
- package/node_modules/astral-regex/index.js +6 -0
- package/node_modules/astral-regex/license +9 -0
- package/node_modules/astral-regex/package.json +33 -0
- package/node_modules/astral-regex/readme.md +46 -0
- package/node_modules/at-least-node/LICENSE +6 -0
- package/node_modules/at-least-node/README.md +25 -0
- package/node_modules/at-least-node/index.js +5 -0
- package/node_modules/at-least-node/package.json +32 -0
- package/node_modules/charenc/LICENSE.mkd +27 -0
- package/node_modules/charenc/README.js +1 -0
- package/node_modules/charenc/charenc.js +33 -0
- package/node_modules/charenc/package.json +24 -0
- package/node_modules/color-convert/CHANGELOG.md +54 -0
- package/node_modules/color-convert/LICENSE +21 -0
- package/node_modules/color-convert/README.md +68 -0
- package/node_modules/color-convert/conversions.js +839 -0
- package/node_modules/color-convert/index.js +81 -0
- package/node_modules/color-convert/package.json +48 -0
- package/node_modules/color-convert/route.js +97 -0
- package/node_modules/color-name/LICENSE +8 -0
- package/node_modules/color-name/README.md +11 -0
- package/node_modules/color-name/index.js +152 -0
- package/node_modules/color-name/package.json +28 -0
- package/node_modules/colors/LICENSE +25 -0
- package/node_modules/colors/README.md +221 -0
- package/node_modules/colors/examples/normal-usage.js +82 -0
- package/node_modules/colors/examples/safe-string.js +79 -0
- package/node_modules/colors/index.d.ts +136 -0
- package/node_modules/colors/lib/colors.js +211 -0
- package/node_modules/colors/lib/custom/trap.js +46 -0
- package/node_modules/colors/lib/custom/zalgo.js +110 -0
- package/node_modules/colors/lib/extendStringPrototype.js +110 -0
- package/node_modules/colors/lib/index.js +13 -0
- package/node_modules/colors/lib/maps/america.js +10 -0
- package/node_modules/colors/lib/maps/rainbow.js +12 -0
- package/node_modules/colors/lib/maps/random.js +11 -0
- package/node_modules/colors/lib/maps/zebra.js +5 -0
- package/node_modules/colors/lib/styles.js +95 -0
- package/node_modules/colors/lib/system/has-flag.js +35 -0
- package/node_modules/colors/lib/system/supports-colors.js +151 -0
- package/node_modules/colors/package.json +45 -0
- package/node_modules/colors/safe.d.ts +48 -0
- package/node_modules/colors/safe.js +10 -0
- package/node_modules/colors/themes/generic-logging.js +12 -0
- package/node_modules/crypt/LICENSE.mkd +27 -0
- package/node_modules/crypt/README.mkd +1 -0
- package/node_modules/crypt/crypt.js +96 -0
- package/node_modules/crypt/package.json +22 -0
- package/node_modules/diff/CONTRIBUTING.md +39 -0
- package/node_modules/diff/LICENSE +31 -0
- package/node_modules/diff/README.md +208 -0
- package/node_modules/diff/dist/diff.js +1582 -0
- package/node_modules/diff/lib/convert/dmp.js +32 -0
- package/node_modules/diff/lib/convert/xml.js +42 -0
- package/node_modules/diff/lib/diff/array.js +45 -0
- package/node_modules/diff/lib/diff/base.js +304 -0
- package/node_modules/diff/lib/diff/character.js +37 -0
- package/node_modules/diff/lib/diff/css.js +41 -0
- package/node_modules/diff/lib/diff/json.js +163 -0
- package/node_modules/diff/lib/diff/line.js +89 -0
- package/node_modules/diff/lib/diff/sentence.js +41 -0
- package/node_modules/diff/lib/diff/word.js +108 -0
- package/node_modules/diff/lib/index.es6.js +1553 -0
- package/node_modules/diff/lib/index.js +216 -0
- package/node_modules/diff/lib/index.mjs +1553 -0
- package/node_modules/diff/lib/patch/apply.js +238 -0
- package/node_modules/diff/lib/patch/create.js +267 -0
- package/node_modules/diff/lib/patch/merge.js +613 -0
- package/node_modules/diff/lib/patch/parse.js +167 -0
- package/node_modules/diff/lib/util/array.js +32 -0
- package/node_modules/diff/lib/util/distance-iterator.js +57 -0
- package/node_modules/diff/lib/util/params.js +24 -0
- package/node_modules/diff/package.json +87 -0
- package/node_modules/diff/release-notes.md +303 -0
- package/node_modules/diff/runtime.js +3 -0
- package/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
- package/node_modules/emoji-regex/README.md +73 -0
- package/node_modules/emoji-regex/es2015/index.js +6 -0
- package/node_modules/emoji-regex/es2015/text.js +6 -0
- package/node_modules/emoji-regex/index.d.ts +23 -0
- package/node_modules/emoji-regex/index.js +6 -0
- package/node_modules/emoji-regex/package.json +50 -0
- package/node_modules/emoji-regex/text.js +6 -0
- package/node_modules/fast-deep-equal/LICENSE +21 -0
- package/node_modules/fast-deep-equal/README.md +96 -0
- package/node_modules/fast-deep-equal/es6/index.d.ts +2 -0
- package/node_modules/fast-deep-equal/es6/index.js +72 -0
- package/node_modules/fast-deep-equal/es6/react.d.ts +2 -0
- package/node_modules/fast-deep-equal/es6/react.js +79 -0
- package/node_modules/fast-deep-equal/index.d.ts +4 -0
- package/node_modules/fast-deep-equal/index.js +46 -0
- package/node_modules/fast-deep-equal/package.json +61 -0
- package/node_modules/fast-deep-equal/react.d.ts +2 -0
- package/node_modules/fast-deep-equal/react.js +53 -0
- package/node_modules/fs-extra/CHANGELOG.md +902 -0
- package/node_modules/fs-extra/LICENSE +15 -0
- package/node_modules/fs-extra/README.md +264 -0
- package/node_modules/fs-extra/lib/copy/copy.js +232 -0
- package/node_modules/fs-extra/lib/copy/index.js +6 -0
- package/node_modules/fs-extra/lib/copy-sync/copy-sync.js +166 -0
- package/node_modules/fs-extra/lib/copy-sync/index.js +5 -0
- package/node_modules/fs-extra/lib/empty/index.js +48 -0
- package/node_modules/fs-extra/lib/ensure/file.js +69 -0
- package/node_modules/fs-extra/lib/ensure/index.js +23 -0
- package/node_modules/fs-extra/lib/ensure/link.js +61 -0
- package/node_modules/fs-extra/lib/ensure/symlink-paths.js +99 -0
- package/node_modules/fs-extra/lib/ensure/symlink-type.js +31 -0
- package/node_modules/fs-extra/lib/ensure/symlink.js +63 -0
- package/node_modules/fs-extra/lib/fs/index.js +130 -0
- package/node_modules/fs-extra/lib/index.js +27 -0
- package/node_modules/fs-extra/lib/json/index.js +16 -0
- package/node_modules/fs-extra/lib/json/jsonfile.js +11 -0
- package/node_modules/fs-extra/lib/json/output-json-sync.js +12 -0
- package/node_modules/fs-extra/lib/json/output-json.js +12 -0
- package/node_modules/fs-extra/lib/mkdirs/index.js +14 -0
- package/node_modules/fs-extra/lib/mkdirs/make-dir.js +141 -0
- package/node_modules/fs-extra/lib/move/index.js +6 -0
- package/node_modules/fs-extra/lib/move/move.js +65 -0
- package/node_modules/fs-extra/lib/move-sync/index.js +5 -0
- package/node_modules/fs-extra/lib/move-sync/move-sync.js +47 -0
- package/node_modules/fs-extra/lib/output/index.js +40 -0
- package/node_modules/fs-extra/lib/path-exists/index.js +12 -0
- package/node_modules/fs-extra/lib/remove/index.js +9 -0
- package/node_modules/fs-extra/lib/remove/rimraf.js +302 -0
- package/node_modules/fs-extra/lib/util/stat.js +139 -0
- package/node_modules/fs-extra/lib/util/utimes.js +26 -0
- package/node_modules/fs-extra/package.json +70 -0
- package/node_modules/graceful-fs/LICENSE +15 -0
- package/node_modules/graceful-fs/README.md +143 -0
- package/node_modules/graceful-fs/clone.js +23 -0
- package/node_modules/graceful-fs/graceful-fs.js +429 -0
- package/node_modules/graceful-fs/legacy-streams.js +118 -0
- package/node_modules/graceful-fs/package.json +50 -0
- package/node_modules/graceful-fs/polyfills.js +346 -0
- package/node_modules/is-buffer/LICENSE +21 -0
- package/node_modules/is-buffer/README.md +53 -0
- package/node_modules/is-buffer/index.js +21 -0
- package/node_modules/is-buffer/package.json +51 -0
- package/node_modules/is-buffer/test/basic.js +24 -0
- package/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
- package/node_modules/is-fullwidth-code-point/index.js +50 -0
- package/node_modules/is-fullwidth-code-point/license +9 -0
- package/node_modules/is-fullwidth-code-point/package.json +42 -0
- package/node_modules/is-fullwidth-code-point/readme.md +39 -0
- package/node_modules/jsonfile/CHANGELOG.md +171 -0
- package/node_modules/jsonfile/LICENSE +15 -0
- package/node_modules/jsonfile/README.md +230 -0
- package/node_modules/jsonfile/index.js +88 -0
- package/node_modules/jsonfile/package.json +40 -0
- package/node_modules/jsonfile/utils.js +14 -0
- package/node_modules/lodash.truncate/LICENSE +47 -0
- package/node_modules/lodash.truncate/README.md +18 -0
- package/node_modules/lodash.truncate/index.js +632 -0
- package/node_modules/lodash.truncate/package.json +17 -0
- package/node_modules/md5/.travis.yml +7 -0
- package/node_modules/md5/LICENSE +27 -0
- package/node_modules/md5/README.md +111 -0
- package/node_modules/md5/demo/index.html +48 -0
- package/node_modules/md5/dist/md5.min.js +7 -0
- package/node_modules/md5/md5.js +160 -0
- package/node_modules/md5/package.json +38 -0
- package/node_modules/md5/test.js +75 -0
- package/node_modules/md5/webpack.config.js +13 -0
- package/node_modules/punycode/LICENSE-MIT.txt +20 -0
- package/node_modules/punycode/README.md +122 -0
- package/node_modules/punycode/package.json +58 -0
- package/node_modules/punycode/punycode.es6.js +441 -0
- package/node_modules/punycode/punycode.js +440 -0
- package/node_modules/require-from-string/index.js +34 -0
- package/node_modules/require-from-string/license +21 -0
- package/node_modules/require-from-string/package.json +28 -0
- package/node_modules/require-from-string/readme.md +56 -0
- package/node_modules/slice-ansi/index.js +103 -0
- package/node_modules/slice-ansi/license +10 -0
- package/node_modules/slice-ansi/package.json +52 -0
- package/node_modules/slice-ansi/readme.md +66 -0
- package/node_modules/string-width/index.d.ts +29 -0
- package/node_modules/string-width/index.js +47 -0
- package/node_modules/string-width/license +9 -0
- package/node_modules/string-width/package.json +56 -0
- package/node_modules/string-width/readme.md +50 -0
- package/node_modules/strip-ansi/index.d.ts +17 -0
- package/node_modules/strip-ansi/index.js +4 -0
- package/node_modules/strip-ansi/license +9 -0
- package/node_modules/strip-ansi/package.json +54 -0
- package/node_modules/strip-ansi/readme.md +46 -0
- package/node_modules/table/LICENSE +24 -0
- package/node_modules/table/README.md +759 -0
- package/node_modules/table/dist/src/alignString.d.ts +6 -0
- package/node_modules/table/dist/src/alignString.js +60 -0
- package/node_modules/table/dist/src/alignTableData.d.ts +2 -0
- package/node_modules/table/dist/src/alignTableData.js +14 -0
- package/node_modules/table/dist/src/calculateCellHeight.d.ts +4 -0
- package/node_modules/table/dist/src/calculateCellHeight.js +12 -0
- package/node_modules/table/dist/src/calculateCellWidths.d.ts +5 -0
- package/node_modules/table/dist/src/calculateCellWidths.js +17 -0
- package/node_modules/table/dist/src/calculateColumnWidths.d.ts +6 -0
- package/node_modules/table/dist/src/calculateColumnWidths.js +17 -0
- package/node_modules/table/dist/src/calculateRowHeights.d.ts +5 -0
- package/node_modules/table/dist/src/calculateRowHeights.js +19 -0
- package/node_modules/table/dist/src/createStream.d.ts +2 -0
- package/node_modules/table/dist/src/createStream.js +73 -0
- package/node_modules/table/dist/src/drawBorder.d.ts +26 -0
- package/node_modules/table/dist/src/drawBorder.js +101 -0
- package/node_modules/table/dist/src/drawContent.d.ts +9 -0
- package/node_modules/table/dist/src/drawContent.js +27 -0
- package/node_modules/table/dist/src/drawHeader.d.ts +2 -0
- package/node_modules/table/dist/src/drawHeader.js +30 -0
- package/node_modules/table/dist/src/drawRow.d.ts +6 -0
- package/node_modules/table/dist/src/drawRow.js +21 -0
- package/node_modules/table/dist/src/drawTable.d.ts +2 -0
- package/node_modules/table/dist/src/drawTable.js +39 -0
- package/node_modules/table/dist/src/generated/validators.d.ts +13 -0
- package/node_modules/table/dist/src/generated/validators.js +2171 -0
- package/node_modules/table/dist/src/getBorderCharacters.d.ts +2 -0
- package/node_modules/table/dist/src/getBorderCharacters.js +89 -0
- package/node_modules/table/dist/src/index.d.ts +5 -0
- package/node_modules/table/dist/src/index.js +21 -0
- package/node_modules/table/dist/src/makeStreamConfig.d.ts +7 -0
- package/node_modules/table/dist/src/makeStreamConfig.js +43 -0
- package/node_modules/table/dist/src/makeTableConfig.d.ts +7 -0
- package/node_modules/table/dist/src/makeTableConfig.js +65 -0
- package/node_modules/table/dist/src/mapDataUsingRowHeights.d.ts +2 -0
- package/node_modules/table/dist/src/mapDataUsingRowHeights.js +45 -0
- package/node_modules/table/dist/src/padTableData.d.ts +3 -0
- package/node_modules/table/dist/src/padTableData.js +17 -0
- package/node_modules/table/dist/src/stringifyTableData.d.ts +2 -0
- package/node_modules/table/dist/src/stringifyTableData.js +13 -0
- package/node_modules/table/dist/src/table.d.ts +2 -0
- package/node_modules/table/dist/src/table.js +27 -0
- package/node_modules/table/dist/src/truncateTableData.d.ts +6 -0
- package/node_modules/table/dist/src/truncateTableData.js +24 -0
- package/node_modules/table/dist/src/types/api.d.ts +114 -0
- package/node_modules/table/dist/src/types/api.js +3 -0
- package/node_modules/table/dist/src/types/internal.d.ts +1 -0
- package/node_modules/table/dist/src/types/internal.js +3 -0
- package/node_modules/table/dist/src/utils.d.ts +1 -0
- package/node_modules/table/dist/src/utils.js +93 -0
- package/node_modules/table/dist/src/validateConfig.d.ts +2 -0
- package/node_modules/table/dist/src/validateConfig.js +27 -0
- package/node_modules/table/dist/src/validateTableData.d.ts +1 -0
- package/node_modules/table/dist/src/validateTableData.js +32 -0
- package/node_modules/table/dist/src/wrapCell.d.ts +8 -0
- package/node_modules/table/dist/src/wrapCell.js +33 -0
- package/node_modules/table/dist/src/wrapString.d.ts +9 -0
- package/node_modules/table/dist/src/wrapString.js +27 -0
- package/node_modules/table/dist/src/wrapWord.d.ts +1 -0
- package/node_modules/table/dist/src/wrapWord.js +42 -0
- package/node_modules/table/node_modules/ajv/.runkit_example.js +23 -0
- package/node_modules/table/node_modules/ajv/LICENSE +22 -0
- package/node_modules/table/node_modules/ajv/README.md +192 -0
- package/node_modules/table/node_modules/ajv/dist/2019.d.ts +17 -0
- package/node_modules/table/node_modules/ajv/dist/2019.js +55 -0
- package/node_modules/table/node_modules/ajv/dist/2019.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/2020.d.ts +17 -0
- package/node_modules/table/node_modules/ajv/dist/2020.js +49 -0
- package/node_modules/table/node_modules/ajv/dist/2020.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/ajv.d.ts +16 -0
- package/node_modules/table/node_modules/ajv/dist/ajv.js +44 -0
- package/node_modules/table/node_modules/ajv/dist/ajv.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/codegen/code.d.ts +39 -0
- package/node_modules/table/node_modules/ajv/dist/compile/codegen/code.js +147 -0
- package/node_modules/table/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/codegen/index.d.ts +79 -0
- package/node_modules/table/node_modules/ajv/dist/compile/codegen/index.js +697 -0
- package/node_modules/table/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/codegen/scope.d.ts +79 -0
- package/node_modules/table/node_modules/ajv/dist/compile/codegen/scope.js +143 -0
- package/node_modules/table/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/errors.d.ts +13 -0
- package/node_modules/table/node_modules/ajv/dist/compile/errors.js +123 -0
- package/node_modules/table/node_modules/ajv/dist/compile/errors.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/index.d.ts +80 -0
- package/node_modules/table/node_modules/ajv/dist/compile/index.js +243 -0
- package/node_modules/table/node_modules/ajv/dist/compile/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/jtd/parse.d.ts +4 -0
- package/node_modules/table/node_modules/ajv/dist/compile/jtd/parse.js +350 -0
- package/node_modules/table/node_modules/ajv/dist/compile/jtd/parse.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/jtd/serialize.d.ts +4 -0
- package/node_modules/table/node_modules/ajv/dist/compile/jtd/serialize.js +218 -0
- package/node_modules/table/node_modules/ajv/dist/compile/jtd/serialize.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/jtd/types.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/compile/jtd/types.js +14 -0
- package/node_modules/table/node_modules/ajv/dist/compile/jtd/types.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/names.d.ts +20 -0
- package/node_modules/table/node_modules/ajv/dist/compile/names.js +28 -0
- package/node_modules/table/node_modules/ajv/dist/compile/names.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/ref_error.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/compile/ref_error.js +12 -0
- package/node_modules/table/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/resolve.d.ts +12 -0
- package/node_modules/table/node_modules/ajv/dist/compile/resolve.js +153 -0
- package/node_modules/table/node_modules/ajv/dist/compile/resolve.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/rules.d.ts +28 -0
- package/node_modules/table/node_modules/ajv/dist/compile/rules.js +26 -0
- package/node_modules/table/node_modules/ajv/dist/compile/rules.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/util.d.ts +40 -0
- package/node_modules/table/node_modules/ajv/dist/compile/util.js +178 -0
- package/node_modules/table/node_modules/ajv/dist/compile/util.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/applicability.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/applicability.js +19 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/boolSchema.d.ts +4 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/boolSchema.js +50 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/dataType.d.ts +17 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/dataType.js +202 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/defaults.d.ts +2 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/defaults.js +35 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/index.d.ts +42 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/index.js +510 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/keyword.d.ts +8 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/keyword.js +124 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/subschema.d.ts +47 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/subschema.js +81 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/core.d.ts +171 -0
- package/node_modules/table/node_modules/ajv/dist/core.js +614 -0
- package/node_modules/table/node_modules/ajv/dist/core.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/jtd.d.ts +45 -0
- package/node_modules/table/node_modules/ajv/dist/jtd.js +66 -0
- package/node_modules/table/node_modules/ajv/dist/jtd.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/refs/data.json +13 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/index.d.ts +2 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/index.js +28 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/applicator.json +53 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/content.json +17 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/core.json +57 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/format.json +14 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/meta-data.json +37 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/validation.json +90 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/schema.json +39 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/index.d.ts +2 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/index.js +30 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json +48 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json +17 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json +51 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json +37 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json +90 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/schema.json +55 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-draft-06.json +137 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-draft-07.json +151 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-secure.json +88 -0
- package/node_modules/table/node_modules/ajv/dist/refs/jtd-schema.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/refs/jtd-schema.js +118 -0
- package/node_modules/table/node_modules/ajv/dist/refs/jtd-schema.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/equal.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/equal.js +7 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/equal.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/parseJson.d.ts +18 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/parseJson.js +184 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/parseJson.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/quote.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/quote.js +30 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/quote.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/re2.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/re2.js +6 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/re2.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/timestamp.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/timestamp.js +42 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/timestamp.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/ucs2length.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/ucs2length.js +24 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/validation_error.d.ts +7 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/validation_error.js +11 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/standalone/index.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/standalone/index.js +83 -0
- package/node_modules/table/node_modules/ajv/dist/standalone/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/standalone/instance.d.ts +12 -0
- package/node_modules/table/node_modules/ajv/dist/standalone/instance.js +35 -0
- package/node_modules/table/node_modules/ajv/dist/standalone/instance.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/types/index.d.ts +177 -0
- package/node_modules/table/node_modules/ajv/dist/types/index.js +3 -0
- package/node_modules/table/node_modules/ajv/dist/types/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/types/json-schema.d.ts +124 -0
- package/node_modules/table/node_modules/ajv/dist/types/json-schema.js +3 -0
- package/node_modules/table/node_modules/ajv/dist/types/json-schema.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/types/jtd-schema.d.ts +168 -0
- package/node_modules/table/node_modules/ajv/dist/types/jtd-schema.js +3 -0
- package/node_modules/table/node_modules/ajv/dist/types/jtd-schema.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalItems.d.ts +8 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +49 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +106 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/allOf.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/allOf.js +23 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/anyOf.d.ts +4 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +12 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/contains.d.ts +7 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/contains.js +95 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependencies.d.ts +21 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +85 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js +11 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/if.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/if.js +66 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/index.d.ts +13 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/index.js +44 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items.js +52 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items2020.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items2020.js +30 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/not.d.ts +4 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/not.js +26 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/oneOf.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +60 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/patternProperties.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +75 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/prefixItems.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +12 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/properties.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/properties.js +54 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/propertyNames.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +38 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/thenElse.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +13 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/code.d.ts +17 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/code.js +131 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/core/id.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/core/id.js +10 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/core/index.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/core/index.js +16 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/core/ref.d.ts +8 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/core/ref.js +122 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/index.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/index.js +93 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/types.d.ts +10 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/types.js +9 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/draft2020.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/draft2020.js +23 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/draft2020.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/draft7.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/draft7.js +17 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +30 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js +51 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/index.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/index.js +9 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +16 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js +10 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/errors.d.ts +9 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/errors.js +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/errors.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/format/format.d.ts +8 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/format/format.js +92 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/format/index.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/format/index.js +6 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/discriminator.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/discriminator.js +71 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/discriminator.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/elements.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/elements.js +24 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/elements.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/enum.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/enum.js +43 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/enum.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/error.d.ts +9 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/error.js +20 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/error.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/index.d.ts +10 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/index.js +29 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/metadata.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/metadata.js +25 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/metadata.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/nullable.d.ts +4 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/nullable.js +22 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/nullable.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js +15 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/properties.d.ts +22 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/properties.js +146 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/properties.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/ref.d.ts +4 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/ref.js +66 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/ref.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/type.d.ts +10 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/type.js +69 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/type.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/union.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/union.js +12 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/union.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/values.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/values.js +48 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/values.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/metadata.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/metadata.js +18 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/next.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/next.js +8 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/next.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/index.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/index.js +7 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +40 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +65 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/const.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/const.js +25 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/dependentRequired.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js +12 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/enum.d.ts +8 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/enum.js +47 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/index.d.ts +16 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/index.js +33 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitContains.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitContains.js +15 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitContains.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitItems.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitItems.js +24 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitLength.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitLength.js +27 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitNumber.d.ts +11 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +27 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitProperties.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +24 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/multipleOf.d.ts +8 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +26 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/pattern.d.ts +8 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/pattern.js +24 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/required.d.ts +8 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/required.js +79 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/uniqueItems.d.ts +9 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +64 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
- package/node_modules/table/node_modules/ajv/lib/2019.ts +78 -0
- package/node_modules/table/node_modules/ajv/lib/2020.ts +72 -0
- package/node_modules/table/node_modules/ajv/lib/ajv.ts +67 -0
- package/node_modules/table/node_modules/ajv/lib/compile/codegen/code.ts +160 -0
- package/node_modules/table/node_modules/ajv/lib/compile/codegen/index.ts +832 -0
- package/node_modules/table/node_modules/ajv/lib/compile/codegen/scope.ts +215 -0
- package/node_modules/table/node_modules/ajv/lib/compile/errors.ts +184 -0
- package/node_modules/table/node_modules/ajv/lib/compile/index.ts +324 -0
- package/node_modules/table/node_modules/ajv/lib/compile/jtd/parse.ts +411 -0
- package/node_modules/table/node_modules/ajv/lib/compile/jtd/serialize.ts +260 -0
- package/node_modules/table/node_modules/ajv/lib/compile/jtd/types.ts +16 -0
- package/node_modules/table/node_modules/ajv/lib/compile/names.ts +27 -0
- package/node_modules/table/node_modules/ajv/lib/compile/ref_error.ts +12 -0
- package/node_modules/table/node_modules/ajv/lib/compile/resolve.ts +146 -0
- package/node_modules/table/node_modules/ajv/lib/compile/rules.ts +50 -0
- package/node_modules/table/node_modules/ajv/lib/compile/util.ts +213 -0
- package/node_modules/table/node_modules/ajv/lib/compile/validate/applicability.ts +22 -0
- package/node_modules/table/node_modules/ajv/lib/compile/validate/boolSchema.ts +47 -0
- package/node_modules/table/node_modules/ajv/lib/compile/validate/dataType.ts +229 -0
- package/node_modules/table/node_modules/ajv/lib/compile/validate/defaults.ts +32 -0
- package/node_modules/table/node_modules/ajv/lib/compile/validate/index.ts +573 -0
- package/node_modules/table/node_modules/ajv/lib/compile/validate/keyword.ts +171 -0
- package/node_modules/table/node_modules/ajv/lib/compile/validate/subschema.ts +135 -0
- package/node_modules/table/node_modules/ajv/lib/core.ts +880 -0
- package/node_modules/table/node_modules/ajv/lib/jtd.ts +129 -0
- package/node_modules/table/node_modules/ajv/lib/refs/data.json +13 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/index.ts +28 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/applicator.json +53 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/content.json +17 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/core.json +57 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/format.json +14 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/meta-data.json +37 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/validation.json +90 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/schema.json +39 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/index.ts +30 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/applicator.json +48 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/content.json +17 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/core.json +51 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/meta-data.json +37 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/validation.json +90 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/schema.json +55 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-draft-06.json +137 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-draft-07.json +151 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-secure.json +88 -0
- package/node_modules/table/node_modules/ajv/lib/refs/jtd-schema.ts +130 -0
- package/node_modules/table/node_modules/ajv/lib/runtime/equal.ts +7 -0
- package/node_modules/table/node_modules/ajv/lib/runtime/parseJson.ts +176 -0
- package/node_modules/table/node_modules/ajv/lib/runtime/quote.ts +31 -0
- package/node_modules/table/node_modules/ajv/lib/runtime/re2.ts +6 -0
- package/node_modules/table/node_modules/ajv/lib/runtime/timestamp.ts +46 -0
- package/node_modules/table/node_modules/ajv/lib/runtime/ucs2length.ts +20 -0
- package/node_modules/table/node_modules/ajv/lib/runtime/validation_error.ts +13 -0
- package/node_modules/table/node_modules/ajv/lib/standalone/index.ts +93 -0
- package/node_modules/table/node_modules/ajv/lib/standalone/instance.ts +36 -0
- package/node_modules/table/node_modules/ajv/lib/types/index.ts +233 -0
- package/node_modules/table/node_modules/ajv/lib/types/json-schema.ts +189 -0
- package/node_modules/table/node_modules/ajv/lib/types/jtd-schema.ts +264 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/additionalItems.ts +56 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/additionalProperties.ts +118 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/allOf.ts +22 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/anyOf.ts +14 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/contains.ts +109 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/dependencies.ts +112 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/dependentSchemas.ts +11 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/if.ts +80 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/index.ts +53 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/items.ts +59 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/items2020.ts +36 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/not.ts +38 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/oneOf.ts +82 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/patternProperties.ts +91 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/prefixItems.ts +12 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/properties.ts +57 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/propertyNames.ts +50 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/thenElse.ts +13 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/code.ts +168 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/core/id.ts +10 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/core/index.ts +16 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/core/ref.ts +129 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/discriminator/index.ts +102 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/discriminator/types.ts +12 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/draft2020.ts +23 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/draft7.ts +17 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/dynamic/dynamicAnchor.ts +31 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/dynamic/dynamicRef.ts +51 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/dynamic/index.ts +9 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/dynamic/recursiveAnchor.ts +14 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/dynamic/recursiveRef.ts +10 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/errors.ts +18 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/format/format.ts +120 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/format/index.ts +6 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/discriminator.ts +89 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/elements.ts +32 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/enum.ts +45 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/error.ts +23 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/index.ts +37 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/metadata.ts +24 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/nullable.ts +21 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/optionalProperties.ts +15 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/properties.ts +177 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/ref.ts +74 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/type.ts +75 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/union.ts +12 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/values.ts +55 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/metadata.ts +17 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/next.ts +8 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/unevaluated/index.ts +7 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedItems.ts +47 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedProperties.ts +85 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/const.ts +28 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/dependentRequired.ts +23 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/enum.ts +52 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/index.ts +49 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/limitContains.ts +16 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/limitItems.ts +26 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/limitLength.ts +30 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/limitNumber.ts +42 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/limitProperties.ts +26 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/multipleOf.ts +34 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/pattern.ts +28 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/required.ts +98 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/uniqueItems.ts +79 -0
- package/node_modules/table/node_modules/ajv/package.json +124 -0
- package/node_modules/table/node_modules/json-schema-traverse/.eslintrc.yml +27 -0
- package/node_modules/table/node_modules/json-schema-traverse/.github/FUNDING.yml +2 -0
- package/node_modules/table/node_modules/json-schema-traverse/.github/workflows/build.yml +28 -0
- package/node_modules/table/node_modules/json-schema-traverse/.github/workflows/publish.yml +27 -0
- package/node_modules/table/node_modules/json-schema-traverse/LICENSE +21 -0
- package/node_modules/table/node_modules/json-schema-traverse/README.md +95 -0
- package/node_modules/table/node_modules/json-schema-traverse/index.d.ts +40 -0
- package/node_modules/table/node_modules/json-schema-traverse/index.js +93 -0
- package/node_modules/table/node_modules/json-schema-traverse/package.json +43 -0
- package/node_modules/table/node_modules/json-schema-traverse/spec/.eslintrc.yml +6 -0
- package/node_modules/table/node_modules/json-schema-traverse/spec/fixtures/schema.js +125 -0
- package/node_modules/table/node_modules/json-schema-traverse/spec/index.spec.js +171 -0
- package/node_modules/table/package.json +78 -0
- package/node_modules/universalify/LICENSE +20 -0
- package/node_modules/universalify/README.md +76 -0
- package/node_modules/universalify/index.js +24 -0
- package/node_modules/universalify/package.json +34 -0
- package/node_modules/uri-js/LICENSE +11 -0
- package/node_modules/uri-js/README.md +203 -0
- package/node_modules/uri-js/dist/es5/uri.all.d.ts +59 -0
- package/node_modules/uri-js/dist/es5/uri.all.js +1443 -0
- package/node_modules/uri-js/dist/es5/uri.all.js.map +1 -0
- package/node_modules/uri-js/dist/es5/uri.all.min.d.ts +59 -0
- package/node_modules/uri-js/dist/es5/uri.all.min.js +3 -0
- package/node_modules/uri-js/dist/es5/uri.all.min.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/index.d.ts +1 -0
- package/node_modules/uri-js/dist/esnext/index.js +17 -0
- package/node_modules/uri-js/dist/esnext/index.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/regexps-iri.d.ts +3 -0
- package/node_modules/uri-js/dist/esnext/regexps-iri.js +3 -0
- package/node_modules/uri-js/dist/esnext/regexps-iri.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/regexps-uri.d.ts +4 -0
- package/node_modules/uri-js/dist/esnext/regexps-uri.js +42 -0
- package/node_modules/uri-js/dist/esnext/regexps-uri.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/schemes/http.d.ts +3 -0
- package/node_modules/uri-js/dist/esnext/schemes/http.js +28 -0
- package/node_modules/uri-js/dist/esnext/schemes/http.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/schemes/https.d.ts +3 -0
- package/node_modules/uri-js/dist/esnext/schemes/https.js +9 -0
- package/node_modules/uri-js/dist/esnext/schemes/https.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/schemes/mailto.d.ts +12 -0
- package/node_modules/uri-js/dist/esnext/schemes/mailto.js +148 -0
- package/node_modules/uri-js/dist/esnext/schemes/mailto.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/schemes/urn-uuid.d.ts +7 -0
- package/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js +23 -0
- package/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/schemes/urn.d.ts +10 -0
- package/node_modules/uri-js/dist/esnext/schemes/urn.js +49 -0
- package/node_modules/uri-js/dist/esnext/schemes/urn.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/schemes/ws.d.ts +7 -0
- package/node_modules/uri-js/dist/esnext/schemes/ws.js +41 -0
- package/node_modules/uri-js/dist/esnext/schemes/ws.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/schemes/wss.d.ts +3 -0
- package/node_modules/uri-js/dist/esnext/schemes/wss.js +9 -0
- package/node_modules/uri-js/dist/esnext/schemes/wss.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/uri.d.ts +59 -0
- package/node_modules/uri-js/dist/esnext/uri.js +480 -0
- package/node_modules/uri-js/dist/esnext/uri.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/util.d.ts +6 -0
- package/node_modules/uri-js/dist/esnext/util.js +36 -0
- package/node_modules/uri-js/dist/esnext/util.js.map +1 -0
- package/node_modules/uri-js/package.json +77 -0
- package/node_modules/uri-js/yarn.lock +2558 -0
- package/package.json +11 -19
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* automatically creates a module for any CloudFormation namespaces that do not
|
|
5
|
+
* have an AWS construct library.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
const path = require("path");
|
|
9
|
+
const pkglint = require("@aws-cdk/pkglint");
|
|
10
|
+
const fs = require("fs-extra");
|
|
11
|
+
const cfnspec = require("../lib");
|
|
12
|
+
// don't be a prude:
|
|
13
|
+
/* eslint-disable no-console */
|
|
14
|
+
/* eslint-disable quote-props */
|
|
15
|
+
async function main() {
|
|
16
|
+
const root = path.join(__dirname, '..', '..');
|
|
17
|
+
if (path.basename(root) !== '@aws-cdk') {
|
|
18
|
+
throw new Error(`Something went wrong. We expected ${root} to be the "packages/@aws-cdk" directory. Did you move me?`);
|
|
19
|
+
}
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
21
|
+
const version = require('../package.json').version;
|
|
22
|
+
// iterate over all cloudformation namespaces
|
|
23
|
+
for (const namespace of cfnspec.namespaces()) {
|
|
24
|
+
const module = pkglint.createModuleDefinitionFromCfnNamespace(namespace);
|
|
25
|
+
const lowcaseModuleName = module.moduleName.toLocaleLowerCase();
|
|
26
|
+
const packagePath = path.join(root, module.moduleName);
|
|
27
|
+
// we already have a module for this namesapce, move on.
|
|
28
|
+
if (await fs.pathExists(packagePath)) {
|
|
29
|
+
const packageJsonPath = path.join(packagePath, 'package.json');
|
|
30
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
31
|
+
const packageJson = require(packageJsonPath);
|
|
32
|
+
let scopes = packageJson['cdk-build'].cloudformation;
|
|
33
|
+
if (typeof scopes === 'string') {
|
|
34
|
+
scopes = [scopes];
|
|
35
|
+
}
|
|
36
|
+
if (scopes.indexOf(namespace) !== -1) {
|
|
37
|
+
// V2-style module is already modeled in the root package, nothing to be done!
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
else if (await fs.pathExists(path.join(root, `${module.moduleFamily}-${module.moduleBaseName}`.toLocaleLowerCase()))) {
|
|
41
|
+
// V2-style package already has it's own package (legacy behavior), nothing to be done!
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
// V2-style package needs to be added to it's "V1" package... Get down to business!
|
|
46
|
+
console.error(`Adding ${namespace} to ${module.packageName}`);
|
|
47
|
+
scopes.push(namespace);
|
|
48
|
+
packageJson['cdk-build'].cloudformation = scopes;
|
|
49
|
+
await fs.writeJson(packageJsonPath, packageJson, { encoding: 'utf-8', spaces: 2 });
|
|
50
|
+
const indexTsPath = path.join(packagePath, 'lib', 'index.ts');
|
|
51
|
+
const indexTs = [
|
|
52
|
+
(await fs.readFile(indexTsPath, { encoding: 'utf8' })).trimRight(),
|
|
53
|
+
`// ${namespace} CloudFormation Resources:`,
|
|
54
|
+
`export * from './${lowcaseModuleName}.generated';`,
|
|
55
|
+
].join('\n');
|
|
56
|
+
await fs.writeFile(indexTsPath, indexTs, { encoding: 'utf8' });
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
async function write(relativePath, contents) {
|
|
61
|
+
const fullPath = path.join(packagePath, relativePath);
|
|
62
|
+
const dir = path.dirname(fullPath);
|
|
63
|
+
await fs.mkdirp(dir);
|
|
64
|
+
let data;
|
|
65
|
+
if (typeof contents === 'string') {
|
|
66
|
+
data = contents.trimLeft(); // trim first newline
|
|
67
|
+
}
|
|
68
|
+
else if (Array.isArray(contents)) {
|
|
69
|
+
data = contents.join('\n');
|
|
70
|
+
}
|
|
71
|
+
else if (typeof contents === 'object') {
|
|
72
|
+
data = JSON.stringify(contents, undefined, 2);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
throw new Error('Invalid type of contents: ' + contents);
|
|
76
|
+
}
|
|
77
|
+
await fs.writeFile(fullPath, data + '\n');
|
|
78
|
+
}
|
|
79
|
+
console.log(`generating module for ${module.packageName}...`);
|
|
80
|
+
const description = `${namespace} Construct Library`;
|
|
81
|
+
await write('package.json', {
|
|
82
|
+
name: module.packageName,
|
|
83
|
+
version,
|
|
84
|
+
description,
|
|
85
|
+
main: 'lib/index.js',
|
|
86
|
+
types: 'lib/index.d.ts',
|
|
87
|
+
jsii: {
|
|
88
|
+
outdir: 'dist',
|
|
89
|
+
projectReferences: true,
|
|
90
|
+
targets: {
|
|
91
|
+
dotnet: {
|
|
92
|
+
namespace: module.dotnetPackage,
|
|
93
|
+
packageId: module.dotnetPackage,
|
|
94
|
+
signAssembly: true,
|
|
95
|
+
assemblyOriginatorKeyFile: '../../key.snk',
|
|
96
|
+
iconUrl: 'https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png',
|
|
97
|
+
},
|
|
98
|
+
java: {
|
|
99
|
+
package: `${module.javaGroupId}.${module.javaPackage}`,
|
|
100
|
+
maven: {
|
|
101
|
+
groupId: module.javaGroupId,
|
|
102
|
+
artifactId: module.javaArtifactId,
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
python: {
|
|
106
|
+
classifiers: [
|
|
107
|
+
'Framework :: AWS CDK',
|
|
108
|
+
'Framework :: AWS CDK :: 1',
|
|
109
|
+
],
|
|
110
|
+
distName: module.pythonDistName,
|
|
111
|
+
module: module.pythonModuleName,
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
metadata: {
|
|
115
|
+
jsii: {
|
|
116
|
+
rosetta: {
|
|
117
|
+
strict: true,
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
repository: {
|
|
123
|
+
type: 'git',
|
|
124
|
+
url: 'https://github.com/aws/aws-cdk.git',
|
|
125
|
+
directory: `packages/${module.packageName}`,
|
|
126
|
+
},
|
|
127
|
+
homepage: 'https://github.com/aws/aws-cdk',
|
|
128
|
+
scripts: {
|
|
129
|
+
build: 'cdk-build',
|
|
130
|
+
watch: 'cdk-watch',
|
|
131
|
+
lint: 'cdk-lint',
|
|
132
|
+
test: 'cdk-test',
|
|
133
|
+
integ: 'cdk-integ',
|
|
134
|
+
pkglint: 'pkglint -f',
|
|
135
|
+
package: 'cdk-package',
|
|
136
|
+
awslint: 'cdk-awslint',
|
|
137
|
+
cfn2ts: 'cfn2ts',
|
|
138
|
+
'build+test': 'yarn build && yarn test',
|
|
139
|
+
'build+test+package': 'yarn build+test && yarn package',
|
|
140
|
+
compat: 'cdk-compat',
|
|
141
|
+
gen: 'cfn2ts',
|
|
142
|
+
'rosetta:extract': 'yarn --silent jsii-rosetta extract',
|
|
143
|
+
'build+extract': 'yarn build && yarn rosetta:extract',
|
|
144
|
+
'build+test+extract': 'yarn build+test && yarn rosetta:extract',
|
|
145
|
+
},
|
|
146
|
+
'cdk-build': {
|
|
147
|
+
cloudformation: namespace,
|
|
148
|
+
jest: true,
|
|
149
|
+
env: {
|
|
150
|
+
AWSLINT_BASE_CONSTRUCT: 'true',
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
keywords: [
|
|
154
|
+
'aws',
|
|
155
|
+
'cdk',
|
|
156
|
+
'constructs',
|
|
157
|
+
namespace,
|
|
158
|
+
module.moduleName,
|
|
159
|
+
],
|
|
160
|
+
author: {
|
|
161
|
+
name: 'Amazon Web Services',
|
|
162
|
+
url: 'https://aws.amazon.com',
|
|
163
|
+
organization: true,
|
|
164
|
+
},
|
|
165
|
+
license: 'Apache-2.0',
|
|
166
|
+
devDependencies: {
|
|
167
|
+
'@aws-cdk/assertions': version,
|
|
168
|
+
'@aws-cdk/cdk-build-tools': version,
|
|
169
|
+
'@aws-cdk/cfn2ts': version,
|
|
170
|
+
'@aws-cdk/pkglint': version,
|
|
171
|
+
'@types/jest': '^26.0.22',
|
|
172
|
+
},
|
|
173
|
+
dependencies: {
|
|
174
|
+
'@aws-cdk/core': version,
|
|
175
|
+
},
|
|
176
|
+
peerDependencies: {
|
|
177
|
+
'@aws-cdk/core': version,
|
|
178
|
+
},
|
|
179
|
+
engines: {
|
|
180
|
+
node: '>= 10.13.0 <13 || >=13.7.0',
|
|
181
|
+
},
|
|
182
|
+
stability: 'experimental',
|
|
183
|
+
maturity: 'cfn-only',
|
|
184
|
+
awscdkio: {
|
|
185
|
+
announce: false,
|
|
186
|
+
},
|
|
187
|
+
publishConfig: {
|
|
188
|
+
tag: 'latest',
|
|
189
|
+
},
|
|
190
|
+
});
|
|
191
|
+
await write('.gitignore', [
|
|
192
|
+
'*.js',
|
|
193
|
+
'*.js.map',
|
|
194
|
+
'*.d.ts',
|
|
195
|
+
'tsconfig.json',
|
|
196
|
+
'node_modules',
|
|
197
|
+
'*.generated.ts',
|
|
198
|
+
'dist',
|
|
199
|
+
'.jsii',
|
|
200
|
+
'',
|
|
201
|
+
'.LAST_BUILD',
|
|
202
|
+
'.nyc_output',
|
|
203
|
+
'coverage',
|
|
204
|
+
'.nycrc',
|
|
205
|
+
'.LAST_PACKAGE',
|
|
206
|
+
'*.snk',
|
|
207
|
+
'nyc.config.js',
|
|
208
|
+
'!.eslintrc.js',
|
|
209
|
+
'!jest.config.js',
|
|
210
|
+
'junit.xml',
|
|
211
|
+
]);
|
|
212
|
+
await write('.npmignore', [
|
|
213
|
+
'# Don\'t include original .ts files when doing `npm pack`',
|
|
214
|
+
'*.ts',
|
|
215
|
+
'!*.d.ts',
|
|
216
|
+
'coverage',
|
|
217
|
+
'.nyc_output',
|
|
218
|
+
'*.tgz',
|
|
219
|
+
'',
|
|
220
|
+
'dist',
|
|
221
|
+
'.LAST_PACKAGE',
|
|
222
|
+
'.LAST_BUILD',
|
|
223
|
+
'!*.js',
|
|
224
|
+
'',
|
|
225
|
+
'# Include .jsii',
|
|
226
|
+
'!.jsii',
|
|
227
|
+
'',
|
|
228
|
+
'*.snk',
|
|
229
|
+
'',
|
|
230
|
+
'*.tsbuildinfo',
|
|
231
|
+
'',
|
|
232
|
+
'tsconfig.json',
|
|
233
|
+
'',
|
|
234
|
+
'.eslintrc.js',
|
|
235
|
+
'jest.config.js',
|
|
236
|
+
'',
|
|
237
|
+
'# exclude cdk artifacts',
|
|
238
|
+
'**/cdk.out',
|
|
239
|
+
'junit.xml',
|
|
240
|
+
'test/',
|
|
241
|
+
'!*.lit.ts',
|
|
242
|
+
]);
|
|
243
|
+
await write('lib/index.ts', [
|
|
244
|
+
`// ${namespace} CloudFormation Resources:`,
|
|
245
|
+
`export * from './${lowcaseModuleName}.generated';`,
|
|
246
|
+
]);
|
|
247
|
+
await write(`test/${lowcaseModuleName}.test.ts`, [
|
|
248
|
+
"import '@aws-cdk/assertions';",
|
|
249
|
+
"import {} from '../lib';",
|
|
250
|
+
'',
|
|
251
|
+
"test('No tests are specified for this package', () => {",
|
|
252
|
+
' expect(true).toBe(true);',
|
|
253
|
+
'});',
|
|
254
|
+
]);
|
|
255
|
+
await pkglint.createLibraryReadme(namespace, path.join(packagePath, 'README.md'));
|
|
256
|
+
await write('.eslintrc.js', [
|
|
257
|
+
"const baseConfig = require('@aws-cdk/cdk-build-tools/config/eslintrc');",
|
|
258
|
+
"baseConfig.parserOptions.project = __dirname + '/tsconfig.json';",
|
|
259
|
+
'module.exports = baseConfig;',
|
|
260
|
+
]);
|
|
261
|
+
await write('jest.config.js', [
|
|
262
|
+
"const baseConfig = require('@aws-cdk/cdk-build-tools/config/jest.config');",
|
|
263
|
+
'module.exports = baseConfig;',
|
|
264
|
+
]);
|
|
265
|
+
await write('rosetta/default.ts-fixture', [
|
|
266
|
+
"import { Construct } from 'constructs';",
|
|
267
|
+
"import { Stack } from '@aws-cdk/core';",
|
|
268
|
+
'',
|
|
269
|
+
'class MyStack extends Stack {',
|
|
270
|
+
' constructor(scope: Construct, id: string) {',
|
|
271
|
+
' /// here',
|
|
272
|
+
' }',
|
|
273
|
+
'}',
|
|
274
|
+
]);
|
|
275
|
+
const templateDir = path.join(__dirname, 'template');
|
|
276
|
+
for (const file of await fs.readdir(templateDir)) {
|
|
277
|
+
await fs.copy(path.join(templateDir, file), path.join(packagePath, file));
|
|
278
|
+
}
|
|
279
|
+
await addDependencyToMegaPackage(path.join('@aws-cdk', 'cloudformation-include'), module.packageName, version, ['dependencies', 'peerDependencies']);
|
|
280
|
+
await addDependencyToMegaPackage('aws-cdk-lib', module.packageName, version, ['devDependencies']);
|
|
281
|
+
await addDependencyToMegaPackage('monocdk', module.packageName, version, ['devDependencies']);
|
|
282
|
+
await addDependencyToMegaPackage('decdk', module.packageName, version, ['dependencies']);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* A few of our packages (e.g., decdk, aws-cdk-lib) require a dependency on every service package.
|
|
287
|
+
* This automates adding the dependency (and peer dependency) to the package.json.
|
|
288
|
+
*/
|
|
289
|
+
async function addDependencyToMegaPackage(megaPackageName, packageName, version, dependencyTypes) {
|
|
290
|
+
const packageJsonPath = path.join(__dirname, '..', '..', '..', megaPackageName, 'package.json');
|
|
291
|
+
const packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf8'));
|
|
292
|
+
dependencyTypes.forEach(dependencyType => {
|
|
293
|
+
const unorderedDeps = {
|
|
294
|
+
...packageJson[dependencyType],
|
|
295
|
+
[packageName]: version,
|
|
296
|
+
};
|
|
297
|
+
packageJson[dependencyType] = {};
|
|
298
|
+
Object.keys(unorderedDeps).sort().forEach(k => {
|
|
299
|
+
packageJson[dependencyType][k] = unorderedDeps[k];
|
|
300
|
+
});
|
|
301
|
+
});
|
|
302
|
+
await fs.writeFile(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\n');
|
|
303
|
+
}
|
|
304
|
+
main().catch(e => {
|
|
305
|
+
console.error(e);
|
|
306
|
+
process.exit(1);
|
|
307
|
+
});
|
|
308
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1pc3NpbmctbGlicmFyaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY3JlYXRlLW1pc3NpbmctbGlicmFyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUE7OztHQUdHOztBQUVILDZCQUE2QjtBQUM3Qiw0Q0FBNEM7QUFDNUMsK0JBQStCO0FBQy9CLGtDQUFrQztBQUVsQyxvQkFBb0I7QUFDcEIsK0JBQStCO0FBQy9CLGdDQUFnQztBQUVoQyxLQUFLLFVBQVUsSUFBSTtJQUNqQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsRUFBRTtRQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxJQUFJLDREQUE0RCxDQUFDLENBQUM7S0FDeEg7SUFFRCxpRUFBaUU7SUFDakUsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxDQUFDO0lBRW5ELDZDQUE2QztJQUM3QyxLQUFLLE1BQU0sU0FBUyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUM1QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsc0NBQXNDLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekUsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDaEUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXZELHdEQUF3RDtRQUN4RCxJQUFJLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNwQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxjQUFjLENB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Q0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDNUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDbkYsQ0FBQztBQUVELElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtJQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcblxuLyoqXG4gKiBhdXRvbWF0aWNhbGx5IGNyZWF0ZXMgYSBtb2R1bGUgZm9yIGFueSBDbG91ZEZvcm1hdGlvbiBuYW1lc3BhY2VzIHRoYXQgZG8gbm90XG4gKiBoYXZlIGFuIEFXUyBjb25zdHJ1Y3QgbGlicmFyeS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgcGtnbGludCBmcm9tICdAYXdzLWNkay9wa2dsaW50JztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCAqIGFzIGNmbnNwZWMgZnJvbSAnLi4vbGliJztcblxuLy8gZG9uJ3QgYmUgYSBwcnVkZTpcbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbi8qIGVzbGludC1kaXNhYmxlIHF1b3RlLXByb3BzICovXG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKSB7XG4gIGNvbnN0IHJvb3QgPSBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4nLCAnLi4nKTtcbiAgaWYgKHBhdGguYmFzZW5hbWUocm9vdCkgIT09ICdAYXdzLWNkaycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFNvbWV0aGluZyB3ZW50IHdyb25nLiBXZSBleHBlY3RlZCAke3Jvb3R9IHRvIGJlIHRoZSBcInBhY2thZ2VzL0Bhd3MtY2RrXCIgZGlyZWN0b3J5LiBEaWQgeW91IG1vdmUgbWU/YCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICBjb25zdCB2ZXJzaW9uID0gcmVxdWlyZSgnLi4vcGFja2FnZS5qc29uJykudmVyc2lvbjtcblxuICAvLyBpdGVyYXRlIG92ZXIgYWxsIGNsb3VkZm9ybWF0aW9uIG5hbWVzcGFjZXNcbiAgZm9yIChjb25zdCBuYW1lc3BhY2Ugb2YgY2Zuc3BlYy5uYW1lc3BhY2VzKCkpIHtcbiAgICBjb25zdCBtb2R1bGUgPSBwa2dsaW50LmNyZWF0ZU1vZHVsZURlZmluaXRpb25Gcm9tQ2ZuTmFtZXNwYWNlKG5hbWVzcGFjZSk7XG4gICAgY29uc3QgbG93Y2FzZU1vZHVsZU5hbWUgPSBtb2R1bGUubW9kdWxlTmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IHBhY2thZ2VQYXRoID0gcGF0aC5qb2luKHJvb3QsIG1vZHVsZS5tb2R1bGVOYW1lKTtcblxuICAgIC8vIHdlIGFscmVhZHkgaGF2ZSBhIG1vZHVsZSBmb3IgdGhpcyBuYW1lc2FwY2UsIG1vdmUgb24uXG4gICAgaWYgKGF3YWl0IGZzLnBhdGhFeGlzdHMocGFja2FnZVBhdGgpKSB7XG4gICAgICBjb25zdCBwYWNrYWdlSnNvblBhdGggPSBwYXRoLmpvaW4ocGFja2FnZVBhdGgsICdwYWNrYWdlLmpzb24nKTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgICBjb25zdCBwYWNrYWdlSnNvbiA9IHJlcXVpcmUocGFja2FnZUpzb25QYXRoKTtcbiAgICAgIGxldCBzY29wZXM6IHN0cmluZyB8IHN0cmluZ1tdID0gcGFja2FnZUpzb25bJ2Nkay1idWlsZCddLmNsb3VkZm9ybWF0aW9uO1xuICAgICAgaWYgKHR5cGVvZiBzY29wZXMgPT09ICdzdHJpbmcnKSB7IHNjb3BlcyA9IFtzY29wZXNdOyB9XG4gICAgICBpZiAoc2NvcGVzLmluZGV4T2YobmFtZXNwYWNlKSAhPT0gLTEpIHtcbiAgICAgICAgLy8gVjItc3R5bGUgbW9kdWxlIGlzIGFscmVhZHkgbW9kZWxlZCBpbiB0aGUgcm9vdCBwYWNrYWdlLCBub3RoaW5nIHRvIGJlIGRvbmUhXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfSBlbHNlIGlmIChhd2FpdCBmcy5wYXRoRXhpc3RzKHBhdGguam9pbihyb290LCBgJHttb2R1bGUubW9kdWxlRmFtaWx5fS0ke21vZHVsZS5tb2R1bGVCYXNlTmFtZX1gLnRvTG9jYWxlTG93ZXJDYXNlKCkpKSkge1xuICAgICAgICAvLyBWMi1zdHlsZSBwYWNrYWdlIGFscmVhZHkgaGFzIGl0J3Mgb3duIHBhY2thZ2UgKGxlZ2FjeSBiZWhhdmlvciksIG5vdGhpbmcgdG8gYmUgZG9uZSFcbiAgICAgICAgY29udGludWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBWMi1zdHlsZSBwYWNrYWdlIG5lZWRzIHRvIGJlIGFkZGVkIHRvIGl0J3MgXCJWMVwiIHBhY2thZ2UuLi4gR2V0IGRvd24gdG8gYnVzaW5lc3MhXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYEFkZGluZyAke25hbWVzcGFjZX0gdG8gJHttb2R1bGUucGFja2FnZU5hbWV9YCk7XG4gICAgICAgIHNjb3Blcy5wdXNoKG5hbWVzcGFjZSk7XG4gICAgICAgIHBhY2thZ2VKc29uWydjZGstYnVpbGQnXS5jbG91ZGZvcm1hdGlvbiA9IHNjb3BlcztcbiAgICAgICAgYXdhaXQgZnMud3JpdGVKc29uKHBhY2thZ2VKc29uUGF0aCwgcGFja2FnZUpzb24sIHsgZW5jb2Rpbmc6ICd1dGYtOCcsIHNwYWNlczogMiB9KTtcbiAgICAgICAgY29uc3QgaW5kZXhUc1BhdGggPSBwYXRoLmpvaW4ocGFja2FnZVBhdGgsICdsaWInLCAnaW5kZXgudHMnKTtcbiAgICAgICAgY29uc3QgaW5kZXhUcyA9IFtcbiAgICAgICAgICAoYXdhaXQgZnMucmVhZEZpbGUoaW5kZXhUc1BhdGgsIHsgZW5jb2Rpbmc6ICd1dGY4JyB9KSkudHJpbVJpZ2h0KCksXG4gICAgICAgICAgYC8vICR7bmFtZXNwYWNlfSBDbG91ZEZvcm1hdGlvbiBSZXNvdXJjZXM6YCxcbiAgICAgICAgICBgZXhwb3J0ICogZnJvbSAnLi8ke2xvd2Nhc2VNb2R1bGVOYW1lfS5nZW5lcmF0ZWQnO2AsXG4gICAgICAgIF0uam9pbignXFxuJyk7XG4gICAgICAgIGF3YWl0IGZzLndyaXRlRmlsZShpbmRleFRzUGF0aCwgaW5kZXhUcywgeyBlbmNvZGluZzogJ3V0ZjgnIH0pO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBmdW5jdGlvbiB3cml0ZShyZWxhdGl2ZVBhdGg6IHN0cmluZywgY29udGVudHM6IHN0cmluZ1tdIHwgc3RyaW5nIHwgb2JqZWN0KSB7XG4gICAgICBjb25zdCBmdWxsUGF0aCA9IHBhdGguam9pbihwYWNrYWdlUGF0aCwgcmVsYXRpdmVQYXRoKTtcbiAgICAgIGNvbnN0IGRpciA9IHBhdGguZGlybmFtZShmdWxsUGF0aCk7XG4gICAgICBhd2FpdCBmcy5ta2RpcnAoZGlyKTtcblxuICAgICAgbGV0IGRhdGE7XG4gICAgICBpZiAodHlwZW9mIGNvbnRlbnRzID09PSAnc3RyaW5nJykge1xuICAgICAgICBkYXRhID0gY29udGVudHMudHJpbUxlZnQoKTsgLy8gdHJpbSBmaXJzdCBuZXdsaW5lXG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoY29udGVudHMpKSB7XG4gICAgICAgIGRhdGEgPSBjb250ZW50cy5qb2luKCdcXG4nKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGNvbnRlbnRzID09PSAnb2JqZWN0Jykge1xuICAgICAgICBkYXRhID0gSlNPTi5zdHJpbmdpZnkoY29udGVudHMsIHVuZGVmaW5lZCwgMik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdHlwZSBvZiBjb250ZW50czogJyArIGNvbnRlbnRzKTtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgZnMud3JpdGVGaWxlKGZ1bGxQYXRoLCBkYXRhICsgJ1xcbicpO1xuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKGBnZW5lcmF0aW5nIG1vZHVsZSBmb3IgJHttb2R1bGUucGFja2FnZU5hbWV9Li4uYCk7XG5cbiAgICBjb25zdCBkZXNjcmlwdGlvbiA9IGAke25hbWVzcGFjZX0gQ29uc3RydWN0IExpYnJhcnlgO1xuXG4gICAgYXdhaXQgd3JpdGUoJ3BhY2thZ2UuanNvbicsIHtcbiAgICAgIG5hbWU6IG1vZHVsZS5wYWNrYWdlTmFtZSxcbiAgICAgIHZlcnNpb24sXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICAgIG1haW46ICdsaWIvaW5kZXguanMnLFxuICAgICAgdHlwZXM6ICdsaWIvaW5kZXguZC50cycsXG4gICAgICBqc2lpOiB7XG4gICAgICAgIG91dGRpcjogJ2Rpc3QnLFxuICAgICAgICBwcm9qZWN0UmVmZXJlbmNlczogdHJ1ZSxcbiAgICAgICAgdGFyZ2V0czoge1xuICAgICAgICAgIGRvdG5ldDoge1xuICAgICAgICAgICAgbmFtZXNwYWNlOiBtb2R1bGUuZG90bmV0UGFja2FnZSxcbiAgICAgICAgICAgIHBhY2thZ2VJZDogbW9kdWxlLmRvdG5ldFBhY2thZ2UsXG4gICAgICAgICAgICBzaWduQXNzZW1ibHk6IHRydWUsXG4gICAgICAgICAgICBhc3NlbWJseU9yaWdpbmF0b3JLZXlGaWxlOiAnLi4vLi4va2V5LnNuaycsXG4gICAgICAgICAgICBpY29uVXJsOiAnaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2F3cy9hd3MtY2RrL21hc3Rlci9sb2dvL2RlZmF1bHQtMjU2LWRhcmsucG5nJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGphdmE6IHtcbiAgICAgICAgICAgIHBhY2thZ2U6IGAke21vZHVsZS5qYXZhR3JvdXBJZH0uJHttb2R1bGUuamF2YVBhY2thZ2V9YCxcbiAgICAgICAgICAgIG1hdmVuOiB7XG4gICAgICAgICAgICAgIGdyb3VwSWQ6IG1vZHVsZS5qYXZhR3JvdXBJZCxcbiAgICAgICAgICAgICAgYXJ0aWZhY3RJZDogbW9kdWxlLmphdmFBcnRpZmFjdElkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHB5dGhvbjoge1xuICAgICAgICAgICAgY2xhc3NpZmllcnM6IFtcbiAgICAgICAgICAgICAgJ0ZyYW1ld29yayA6OiBBV1MgQ0RLJyxcbiAgICAgICAgICAgICAgJ0ZyYW1ld29yayA6OiBBV1MgQ0RLIDo6IDEnLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGRpc3ROYW1lOiBtb2R1bGUucHl0aG9uRGlzdE5hbWUsXG4gICAgICAgICAgICBtb2R1bGU6IG1vZHVsZS5weXRob25Nb2R1bGVOYW1lLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAganNpaToge1xuICAgICAgICAgICAgcm9zZXR0YToge1xuICAgICAgICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcmVwb3NpdG9yeToge1xuICAgICAgICB0eXBlOiAnZ2l0JyxcbiAgICAgICAgdXJsOiAnaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrLmdpdCcsXG4gICAgICAgIGRpcmVjdG9yeTogYHBhY2thZ2VzLyR7bW9kdWxlLnBhY2thZ2VOYW1lfWAsXG4gICAgICB9LFxuICAgICAgaG9tZXBhZ2U6ICdodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsnLFxuICAgICAgc2NyaXB0czoge1xuICAgICAgICBidWlsZDogJ2Nkay1idWlsZCcsXG4gICAgICAgIHdhdGNoOiAnY2RrLXdhdGNoJyxcbiAgICAgICAgbGludDogJ2Nkay1saW50JyxcbiAgICAgICAgdGVzdDogJ2Nkay10ZXN0JyxcbiAgICAgICAgaW50ZWc6ICdjZGstaW50ZWcnLFxuICAgICAgICBwa2dsaW50OiAncGtnbGludCAtZicsXG4gICAgICAgIHBhY2thZ2U6ICdjZGstcGFja2FnZScsXG4gICAgICAgIGF3c2xpbnQ6ICdjZGstYXdzbGludCcsXG4gICAgICAgIGNmbjJ0czogJ2NmbjJ0cycsXG4gICAgICAgICdidWlsZCt0ZXN0JzogJ3lhcm4gYnVpbGQgJiYgeWFybiB0ZXN0JyxcbiAgICAgICAgJ2J1aWxkK3Rlc3QrcGFja2FnZSc6ICd5YXJuIGJ1aWxkK3Rlc3QgJiYgeWFybiBwYWNrYWdlJyxcbiAgICAgICAgY29tcGF0OiAnY2RrLWNvbXBhdCcsXG4gICAgICAgIGdlbjogJ2NmbjJ0cycsXG4gICAgICAgICdyb3NldHRhOmV4dHJhY3QnOiAneWFybiAtLXNpbGVudCBqc2lpLXJvc2V0dGEgZXh0cmFjdCcsXG4gICAgICAgICdidWlsZCtleHRyYWN0JzogJ3lhcm4gYnVpbGQgJiYgeWFybiByb3NldHRhOmV4dHJhY3QnLFxuICAgICAgICAnYnVpbGQrdGVzdCtleHRyYWN0JzogJ3lhcm4gYnVpbGQrdGVzdCAmJiB5YXJuIHJvc2V0dGE6ZXh0cmFjdCcsXG4gICAgICB9LFxuICAgICAgJ2Nkay1idWlsZCc6IHtcbiAgICAgICAgY2xvdWRmb3JtYXRpb246IG5hbWVzcGFjZSxcbiAgICAgICAgamVzdDogdHJ1ZSxcbiAgICAgICAgZW52OiB7XG4gICAgICAgICAgQVdTTElOVF9CQVNFX0NPTlNUUlVDVDogJ3RydWUnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGtleXdvcmRzOiBbXG4gICAgICAgICdhd3MnLFxuICAgICAgICAnY2RrJyxcbiAgICAgICAgJ2NvbnN0cnVjdHMnLFxuICAgICAgICBuYW1lc3BhY2UsXG4gICAgICAgIG1vZHVsZS5tb2R1bGVOYW1lLFxuICAgICAgXSxcbiAgICAgIGF1dGhvcjoge1xuICAgICAgICBuYW1lOiAnQW1hem9uIFdlYiBTZXJ2aWNlcycsXG4gICAgICAgIHVybDogJ2h0dHBzOi8vYXdzLmFtYXpvbi5jb20nLFxuICAgICAgICBvcmdhbml6YXRpb246IHRydWUsXG4gICAgICB9LFxuICAgICAgbGljZW5zZTogJ0FwYWNoZS0yLjAnLFxuICAgICAgZGV2RGVwZW5kZW5jaWVzOiB7XG4gICAgICAgICdAYXdzLWNkay9hc3NlcnRpb25zJzogdmVyc2lvbixcbiAgICAgICAgJ0Bhd3MtY2RrL2Nkay1idWlsZC10b29scyc6IHZlcnNpb24sXG4gICAgICAgICdAYXdzLWNkay9jZm4ydHMnOiB2ZXJzaW9uLFxuICAgICAgICAnQGF3cy1jZGsvcGtnbGludCc6IHZlcnNpb24sXG4gICAgICAgICdAdHlwZXMvamVzdCc6ICdeMjYuMC4yMicsXG4gICAgICB9LFxuICAgICAgZGVwZW5kZW5jaWVzOiB7XG4gICAgICAgICdAYXdzLWNkay9jb3JlJzogdmVyc2lvbixcbiAgICAgIH0sXG4gICAgICBwZWVyRGVwZW5kZW5jaWVzOiB7XG4gICAgICAgICdAYXdzLWNkay9jb3JlJzogdmVyc2lvbixcbiAgICAgIH0sXG4gICAgICBlbmdpbmVzOiB7XG4gICAgICAgIG5vZGU6ICc+PSAxMC4xMy4wIDwxMyB8fCA+PTEzLjcuMCcsXG4gICAgICB9LFxuICAgICAgc3RhYmlsaXR5OiAnZXhwZXJpbWVudGFsJyxcbiAgICAgIG1hdHVyaXR5OiAnY2ZuLW9ubHknLFxuICAgICAgYXdzY2RraW86IHtcbiAgICAgICAgYW5ub3VuY2U6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHB1Ymxpc2hDb25maWc6IHtcbiAgICAgICAgdGFnOiAnbGF0ZXN0JyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBhd2FpdCB3cml0ZSgnLmdpdGlnbm9yZScsIFtcbiAgICAgICcqLmpzJyxcbiAgICAgICcqLmpzLm1hcCcsXG4gICAgICAnKi5kLnRzJyxcbiAgICAgICd0c2NvbmZpZy5qc29uJyxcbiAgICAgICdub2RlX21vZHVsZXMnLFxuICAgICAgJyouZ2VuZXJhdGVkLnRzJyxcbiAgICAgICdkaXN0JyxcbiAgICAgICcuanNpaScsXG4gICAgICAnJyxcbiAgICAgICcuTEFTVF9CVUlMRCcsXG4gICAgICAnLm55Y19vdXRwdXQnLFxuICAgICAgJ2NvdmVyYWdlJyxcbiAgICAgICcubnljcmMnLFxuICAgICAgJy5MQVNUX1BBQ0tBR0UnLFxuICAgICAgJyouc25rJyxcbiAgICAgICdueWMuY29uZmlnLmpzJyxcbiAgICAgICchLmVzbGludHJjLmpzJyxcbiAgICAgICchamVzdC5jb25maWcuanMnLFxuICAgICAgJ2p1bml0LnhtbCcsXG4gICAgXSk7XG5cbiAgICBhd2FpdCB3cml0ZSgnLm5wbWlnbm9yZScsIFtcbiAgICAgICcjIERvblxcJ3QgaW5jbHVkZSBvcmlnaW5hbCAudHMgZmlsZXMgd2hlbiBkb2luZyBgbnBtIHBhY2tgJyxcbiAgICAgICcqLnRzJyxcbiAgICAgICchKi5kLnRzJyxcbiAgICAgICdjb3ZlcmFnZScsXG4gICAgICAnLm55Y19vdXRwdXQnLFxuICAgICAgJyoudGd6JyxcbiAgICAgICcnLFxuICAgICAgJ2Rpc3QnLFxuICAgICAgJy5MQVNUX1BBQ0tBR0UnLFxuICAgICAgJy5MQVNUX0JVSUxEJyxcbiAgICAgICchKi5qcycsXG4gICAgICAnJyxcbiAgICAgICcjIEluY2x1ZGUgLmpzaWknLFxuICAgICAgJyEuanNpaScsXG4gICAgICAnJyxcbiAgICAgICcqLnNuaycsXG4gICAgICAnJyxcbiAgICAgICcqLnRzYnVpbGRpbmZvJyxcbiAgICAgICcnLFxuICAgICAgJ3RzY29uZmlnLmpzb24nLFxuICAgICAgJycsXG4gICAgICAnLmVzbGludHJjLmpzJyxcbiAgICAgICdqZXN0LmNvbmZpZy5qcycsXG4gICAgICAnJyxcbiAgICAgICcjIGV4Y2x1ZGUgY2RrIGFydGlmYWN0cycsXG4gICAgICAnKiovY2RrLm91dCcsXG4gICAgICAnanVuaXQueG1sJyxcbiAgICAgICd0ZXN0LycsXG4gICAgICAnISoubGl0LnRzJyxcbiAgICBdKTtcblxuICAgIGF3YWl0IHdyaXRlKCdsaWIvaW5kZXgudHMnLCBbXG4gICAgICBgLy8gJHtuYW1lc3BhY2V9IENsb3VkRm9ybWF0aW9uIFJlc291cmNlczpgLFxuICAgICAgYGV4cG9ydCAqIGZyb20gJy4vJHtsb3djYXNlTW9kdWxlTmFtZX0uZ2VuZXJhdGVkJztgLFxuICAgIF0pO1xuXG4gICAgYXdhaXQgd3JpdGUoYHRlc3QvJHtsb3djYXNlTW9kdWxlTmFtZX0udGVzdC50c2AsIFtcbiAgICAgIFwiaW1wb3J0ICdAYXdzLWNkay9hc3NlcnRpb25zJztcIixcbiAgICAgIFwiaW1wb3J0IHt9IGZyb20gJy4uL2xpYic7XCIsXG4gICAgICAnJyxcbiAgICAgIFwidGVzdCgnTm8gdGVzdHMgYXJlIHNwZWNpZmllZCBmb3IgdGhpcyBwYWNrYWdlJywgKCkgPT4ge1wiLFxuICAgICAgJyAgZXhwZWN0KHRydWUpLnRvQmUodHJ1ZSk7JyxcbiAgICAgICd9KTsnLFxuICAgIF0pO1xuXG4gICAgYXdhaXQgcGtnbGludC5jcmVhdGVMaWJyYXJ5UmVhZG1lKG5hbWVzcGFjZSwgcGF0aC5qb2luKHBhY2thZ2VQYXRoLCAnUkVBRE1FLm1kJykpO1xuXG4gICAgYXdhaXQgd3JpdGUoJy5lc2xpbnRyYy5qcycsIFtcbiAgICAgIFwiY29uc3QgYmFzZUNvbmZpZyA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2Nkay1idWlsZC10b29scy9jb25maWcvZXNsaW50cmMnKTtcIixcbiAgICAgIFwiYmFzZUNvbmZpZy5wYXJzZXJPcHRpb25zLnByb2plY3QgPSBfX2Rpcm5hbWUgKyAnL3RzY29uZmlnLmpzb24nO1wiLFxuICAgICAgJ21vZHVsZS5leHBvcnRzID0gYmFzZUNvbmZpZzsnLFxuICAgIF0pO1xuXG4gICAgYXdhaXQgd3JpdGUoJ2plc3QuY29uZmlnLmpzJywgW1xuICAgICAgXCJjb25zdCBiYXNlQ29uZmlnID0gcmVxdWlyZSgnQGF3cy1jZGsvY2RrLWJ1aWxkLXRvb2xzL2NvbmZpZy9qZXN0LmNvbmZpZycpO1wiLFxuICAgICAgJ21vZHVsZS5leHBvcnRzID0gYmFzZUNvbmZpZzsnLFxuICAgIF0pO1xuXG4gICAgYXdhaXQgd3JpdGUoJ3Jvc2V0dGEvZGVmYXVsdC50cy1maXh0dXJlJywgW1xuICAgICAgXCJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcIixcbiAgICAgIFwiaW1wb3J0IHsgU3RhY2sgfSBmcm9tICdAYXdzLWNkay9jb3JlJztcIixcbiAgICAgICcnLFxuICAgICAgJ2NsYXNzIE15U3RhY2sgZXh0ZW5kcyBTdGFjayB7JyxcbiAgICAgICcgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHsnLFxuICAgICAgJyAgICAvLy8gaGVyZScsXG4gICAgICAnICB9JyxcbiAgICAgICd9JyxcbiAgICBdKTtcblxuICAgIGNvbnN0IHRlbXBsYXRlRGlyID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJ3RlbXBsYXRlJyk7XG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGF3YWl0IGZzLnJlYWRkaXIodGVtcGxhdGVEaXIpKSB7XG4gICAgICBhd2FpdCBmcy5jb3B5KHBhdGguam9pbih0ZW1wbGF0ZURpciwgZmlsZSksIHBhdGguam9pbihwYWNrYWdlUGF0aCwgZmlsZSkpO1xuICAgIH1cblxuICAgIGF3YWl0IGFkZERlcGVuZGVuY3lUb01lZ2FQYWNrYWdlKHBhdGguam9pbignQGF3cy1jZGsnLCAnY2xvdWRmb3JtYXRpb24taW5jbHVkZScpLCBtb2R1bGUucGFja2FnZU5hbWUsIHZlcnNpb24sIFsnZGVwZW5kZW5jaWVzJywgJ3BlZXJEZXBlbmRlbmNpZXMnXSk7XG4gICAgYXdhaXQgYWRkRGVwZW5kZW5jeVRvTWVnYVBhY2thZ2UoJ2F3cy1jZGstbGliJywgbW9kdWxlLnBhY2thZ2VOYW1lLCB2ZXJzaW9uLCBbJ2RldkRlcGVuZGVuY2llcyddKTtcbiAgICBhd2FpdCBhZGREZXBlbmRlbmN5VG9NZWdhUGFja2FnZSgnbW9ub2NkaycsIG1vZHVsZS5wYWNrYWdlTmFtZSwgdmVyc2lvbiwgWydkZXZEZXBlbmRlbmNpZXMnXSk7XG4gICAgYXdhaXQgYWRkRGVwZW5kZW5jeVRvTWVnYVBhY2thZ2UoJ2RlY2RrJywgbW9kdWxlLnBhY2thZ2VOYW1lLCB2ZXJzaW9uLCBbJ2RlcGVuZGVuY2llcyddKTtcbiAgfVxufVxuXG4vKipcbiAqIEEgZmV3IG9mIG91ciBwYWNrYWdlcyAoZS5nLiwgZGVjZGssIGF3cy1jZGstbGliKSByZXF1aXJlIGEgZGVwZW5kZW5jeSBvbiBldmVyeSBzZXJ2aWNlIHBhY2thZ2UuXG4gKiBUaGlzIGF1dG9tYXRlcyBhZGRpbmcgdGhlIGRlcGVuZGVuY3kgKGFuZCBwZWVyIGRlcGVuZGVuY3kpIHRvIHRoZSBwYWNrYWdlLmpzb24uXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGFkZERlcGVuZGVuY3lUb01lZ2FQYWNrYWdlKG1lZ2FQYWNrYWdlTmFtZTogc3RyaW5nLCBwYWNrYWdlTmFtZTogc3RyaW5nLCB2ZXJzaW9uOiBzdHJpbmcsIGRlcGVuZGVuY3lUeXBlczogc3RyaW5nW10pIHtcbiAgY29uc3QgcGFja2FnZUpzb25QYXRoID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJy4uJywgJy4uJywgbWVnYVBhY2thZ2VOYW1lLCAncGFja2FnZS5qc29uJyk7XG4gIGNvbnN0IHBhY2thZ2VKc29uID0gSlNPTi5wYXJzZShhd2FpdCBmcy5yZWFkRmlsZShwYWNrYWdlSnNvblBhdGgsICd1dGY4JykpO1xuICBkZXBlbmRlbmN5VHlwZXMuZm9yRWFjaChkZXBlbmRlbmN5VHlwZSA9PiB7XG4gICAgY29uc3QgdW5vcmRlcmVkRGVwcyA9IHtcbiAgICAgIC4uLnBhY2thZ2VKc29uW2RlcGVuZGVuY3lUeXBlXSxcbiAgICAgIFtwYWNrYWdlTmFtZV06IHZlcnNpb24sXG4gICAgfTtcbiAgICBwYWNrYWdlSnNvbltkZXBlbmRlbmN5VHlwZV0gPSB7fTtcbiAgICBPYmplY3Qua2V5cyh1bm9yZGVyZWREZXBzKS5zb3J0KCkuZm9yRWFjaChrID0+IHtcbiAgICAgIHBhY2thZ2VKc29uW2RlcGVuZGVuY3lUeXBlXVtrXSA9IHVub3JkZXJlZERlcHNba107XG4gICAgfSk7XG4gIH0pO1xuICBhd2FpdCBmcy53cml0ZUZpbGUocGFja2FnZUpzb25QYXRoLCBKU09OLnN0cmluZ2lmeShwYWNrYWdlSnNvbiwgbnVsbCwgMikgKyAnXFxuJyk7XG59XG5cbm1haW4oKS5jYXRjaChlID0+IHtcbiAgY29uc29sZS5lcnJvcihlKTtcbiAgcHJvY2Vzcy5leGl0KDEpO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { schema } from '../lib';
|
|
2
|
+
export declare function massageSpec(spec: schema.Specification): void;
|
|
3
|
+
export declare function forEachSection(spec: schema.Specification, data: any, cb: (spec: any, fragment: any, path: string[]) => void): void;
|
|
4
|
+
export declare function decorateResourceTypes(data: any): void;
|
|
5
|
+
export declare function merge(spec: any, fragment: any, jsonPath: string[]): void;
|
|
6
|
+
export declare function patch(spec: any, fragment: any): void;
|
|
7
|
+
/**
|
|
8
|
+
* Modifies the provided specification so that ``ResourceTypes`` and ``PropertyTypes`` are listed in alphabetical order.
|
|
9
|
+
*
|
|
10
|
+
* @param spec an AWS CloudFormation Resource Specification document.
|
|
11
|
+
*
|
|
12
|
+
* @returns ``spec``, after having sorted the ``ResourceTypes`` and ``PropertyTypes`` sections alphabetically.
|
|
13
|
+
*/
|
|
14
|
+
export declare function normalize(spec: schema.Specification): schema.Specification;
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalize = exports.patch = exports.merge = exports.decorateResourceTypes = exports.forEachSection = exports.massageSpec = void 0;
|
|
4
|
+
const fastJsonPatch = require("fast-json-patch");
|
|
5
|
+
const lib_1 = require("../lib");
|
|
6
|
+
const scrutiny_1 = require("./scrutiny");
|
|
7
|
+
function massageSpec(spec) {
|
|
8
|
+
scrutiny_1.detectScrutinyTypes(spec);
|
|
9
|
+
replaceIncompleteTypes(spec);
|
|
10
|
+
dropTypelessAttributes(spec);
|
|
11
|
+
}
|
|
12
|
+
exports.massageSpec = massageSpec;
|
|
13
|
+
function forEachSection(spec, data, cb) {
|
|
14
|
+
cb(spec.PropertyTypes, data.PropertyTypes, ['PropertyTypes']);
|
|
15
|
+
cb(spec.ResourceTypes, data.ResourceTypes, ['ResourceTypes']);
|
|
16
|
+
// Per-resource specs are keyed on ResourceType (singular), but we want it in ResourceTypes (plural)
|
|
17
|
+
cb(spec.ResourceTypes, data.ResourceType, ['ResourceType']);
|
|
18
|
+
}
|
|
19
|
+
exports.forEachSection = forEachSection;
|
|
20
|
+
function decorateResourceTypes(data) {
|
|
21
|
+
const requiredTransform = data.ResourceSpecificationTransform;
|
|
22
|
+
if (!requiredTransform) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const resourceTypes = data.ResourceTypes || data.ResourceType;
|
|
26
|
+
for (const name of Object.keys(resourceTypes)) {
|
|
27
|
+
resourceTypes[name].RequiredTransform = requiredTransform;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.decorateResourceTypes = decorateResourceTypes;
|
|
31
|
+
/**
|
|
32
|
+
* Fix incomplete type definitions in PropertyTypes
|
|
33
|
+
*
|
|
34
|
+
* Some user-defined types are defined to not have any properties, and not
|
|
35
|
+
* be a collection of other types either. They have no definition at all.
|
|
36
|
+
*
|
|
37
|
+
* Add a property object type with empty properties.
|
|
38
|
+
*/
|
|
39
|
+
function replaceIncompleteTypes(spec) {
|
|
40
|
+
for (const [name, definition] of Object.entries(spec.PropertyTypes)) {
|
|
41
|
+
if (!lib_1.schema.isRecordType(definition)
|
|
42
|
+
&& !lib_1.schema.isCollectionProperty(definition)
|
|
43
|
+
&& !lib_1.schema.isScalarProperty(definition)
|
|
44
|
+
&& !lib_1.schema.isPrimitiveProperty(definition)) {
|
|
45
|
+
// eslint-disable-next-line no-console
|
|
46
|
+
console.log(`[${name}] Incomplete type, adding empty "Properties" field`);
|
|
47
|
+
definition.Properties = {};
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Drop Attributes specified with the different ResourceTypes that have
|
|
53
|
+
* no type specified.
|
|
54
|
+
*/
|
|
55
|
+
function dropTypelessAttributes(spec) {
|
|
56
|
+
const resourceTypes = spec.ResourceTypes;
|
|
57
|
+
Object.values(resourceTypes).forEach((resourceType) => {
|
|
58
|
+
var _a;
|
|
59
|
+
const attributes = (_a = resourceType.Attributes) !== null && _a !== void 0 ? _a : {};
|
|
60
|
+
Object.keys(attributes).forEach((attrKey) => {
|
|
61
|
+
const attrVal = attributes[attrKey];
|
|
62
|
+
if (Object.keys(attrVal).length === 0) {
|
|
63
|
+
delete attributes[attrKey];
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
function merge(spec, fragment, jsonPath) {
|
|
69
|
+
if (!fragment) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
for (const key of Object.keys(fragment)) {
|
|
73
|
+
if (key in spec) {
|
|
74
|
+
const specVal = spec[key];
|
|
75
|
+
const fragVal = fragment[key];
|
|
76
|
+
if (typeof specVal !== typeof fragVal) {
|
|
77
|
+
// eslint-disable-next-line max-len
|
|
78
|
+
throw new Error(`Attempted to merge ${JSON.stringify(fragVal)} into incompatible ${JSON.stringify(specVal)} at path ${jsonPath.join('/')}/${key}`);
|
|
79
|
+
}
|
|
80
|
+
if (typeof specVal !== 'object') {
|
|
81
|
+
// eslint-disable-next-line max-len
|
|
82
|
+
throw new Error(`Conflict when attempting to merge ${JSON.stringify(fragVal)} into ${JSON.stringify(specVal)} at path ${jsonPath.join('/')}/${key}`);
|
|
83
|
+
}
|
|
84
|
+
merge(specVal, fragVal, [...jsonPath, key]);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
spec[key] = fragment[key];
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.merge = merge;
|
|
92
|
+
function patch(spec, fragment) {
|
|
93
|
+
if (!fragment) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
if ('patch' in fragment) {
|
|
97
|
+
// eslint-disable-next-line no-console
|
|
98
|
+
console.log(`Applying patch: ${fragment.patch.description}`);
|
|
99
|
+
fastJsonPatch.applyPatch(spec, fragment.patch.operations);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
for (const key of Object.keys(fragment)) {
|
|
103
|
+
patch(spec[key], fragment[key]);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
exports.patch = patch;
|
|
108
|
+
/**
|
|
109
|
+
* Modifies the provided specification so that ``ResourceTypes`` and ``PropertyTypes`` are listed in alphabetical order.
|
|
110
|
+
*
|
|
111
|
+
* @param spec an AWS CloudFormation Resource Specification document.
|
|
112
|
+
*
|
|
113
|
+
* @returns ``spec``, after having sorted the ``ResourceTypes`` and ``PropertyTypes`` sections alphabetically.
|
|
114
|
+
*/
|
|
115
|
+
function normalize(spec) {
|
|
116
|
+
spec.ResourceTypes = normalizeSection(spec.ResourceTypes);
|
|
117
|
+
if (spec.PropertyTypes) {
|
|
118
|
+
spec.PropertyTypes = normalizeSection(spec.PropertyTypes);
|
|
119
|
+
}
|
|
120
|
+
return spec;
|
|
121
|
+
function normalizeSection(section) {
|
|
122
|
+
const result = {};
|
|
123
|
+
for (const key of Object.keys(section).sort()) {
|
|
124
|
+
result[key] = section[key];
|
|
125
|
+
}
|
|
126
|
+
return result;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
exports.normalize = normalize;
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzc2FnZS1zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibWFzc2FnZS1zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUFpRDtBQUNqRCxnQ0FBZ0M7QUFDaEMseUNBQWlEO0FBRWpELFNBQWdCLFdBQVcsQ0FBQyxJQUEwQjtJQUNwRCw4QkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMvQixDQUFDO0FBSkQsa0NBSUM7QUFFRCxTQUFnQixjQUFjLENBQUMsSUFBMEIsRUFBRSxJQUFTLEVBQUUsRUFBc0Q7SUFDMUgsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDOUQsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDOUQsb0dBQW9HO0lBQ3BHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFMRCx3Q0FLQztBQUVELFNBQWdCLHFCQUFxQixDQUFDLElBQVM7SUFDN0MsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsOEJBQW9ELENBQUM7SUFDcEYsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1FBQUUsT0FBTztLQUFFO0lBQ25DLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM5RCxLQUFLLE1BQU0sSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUU7UUFDN0MsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLGlCQUFpQixH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O1NBQzVCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztBQUNILENBQUM7QUFkRCw4QkFjQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZhc3RKc29uUGF0Y2ggZnJvbSAnZmFzdC1qc29uLXBhdGNoJztcbmltcG9ydCB7IHNjaGVtYSB9IGZyb20gJy4uL2xpYic7XG5pbXBvcnQgeyBkZXRlY3RTY3J1dGlueVR5cGVzIH0gZnJvbSAnLi9zY3J1dGlueSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXNzYWdlU3BlYyhzcGVjOiBzY2hlbWEuU3BlY2lmaWNhdGlvbikge1xuICBkZXRlY3RTY3J1dGlueVR5cGVzKHNwZWMpO1xuICByZXBsYWNlSW5jb21wbGV0ZVR5cGVzKHNwZWMpO1xuICBkcm9wVHlwZWxlc3NBdHRyaWJ1dGVzKHNwZWMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yRWFjaFNlY3Rpb24oc3BlYzogc2NoZW1hLlNwZWNpZmljYXRpb24sIGRhdGE6IGFueSwgY2I6IChzcGVjOiBhbnksIGZyYWdtZW50OiBhbnksIHBhdGg6IHN0cmluZ1tdKSA9PiB2b2lkKSB7XG4gIGNiKHNwZWMuUHJvcGVydHlUeXBlcywgZGF0YS5Qcm9wZXJ0eVR5cGVzLCBbJ1Byb3BlcnR5VHlwZXMnXSk7XG4gIGNiKHNwZWMuUmVzb3VyY2VUeXBlcywgZGF0YS5SZXNvdXJjZVR5cGVzLCBbJ1Jlc291cmNlVHlwZXMnXSk7XG4gIC8vIFBlci1yZXNvdXJjZSBzcGVjcyBhcmUga2V5ZWQgb24gUmVzb3VyY2VUeXBlIChzaW5ndWxhciksIGJ1dCB3ZSB3YW50IGl0IGluIFJlc291cmNlVHlwZXMgKHBsdXJhbClcbiAgY2Ioc3BlYy5SZXNvdXJjZVR5cGVzLCBkYXRhLlJlc291cmNlVHlwZSwgWydSZXNvdXJjZVR5cGUnXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWNvcmF0ZVJlc291cmNlVHlwZXMoZGF0YTogYW55KSB7XG4gIGNvbnN0IHJlcXVpcmVkVHJhbnNmb3JtID0gZGF0YS5SZXNvdXJjZVNwZWNpZmljYXRpb25UcmFuc2Zvcm0gYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBpZiAoIXJlcXVpcmVkVHJhbnNmb3JtKSB7IHJldHVybjsgfVxuICBjb25zdCByZXNvdXJjZVR5cGVzID0gZGF0YS5SZXNvdXJjZVR5cGVzIHx8IGRhdGEuUmVzb3VyY2VUeXBlO1xuICBmb3IgKGNvbnN0IG5hbWUgb2YgT2JqZWN0LmtleXMocmVzb3VyY2VUeXBlcykpIHtcbiAgICByZXNvdXJjZVR5cGVzW25hbWVdLlJlcXVpcmVkVHJhbnNmb3JtID0gcmVxdWlyZWRUcmFuc2Zvcm07XG4gIH1cbn1cblxuLyoqXG4gKiBGaXggaW5jb21wbGV0ZSB0eXBlIGRlZmluaXRpb25zIGluIFByb3BlcnR5VHlwZXNcbiAqXG4gKiBTb21lIHVzZXItZGVmaW5lZCB0eXBlcyBhcmUgZGVmaW5lZCB0byBub3QgaGF2ZSBhbnkgcHJvcGVydGllcywgYW5kIG5vdFxuICogYmUgYSBjb2xsZWN0aW9uIG9mIG90aGVyIHR5cGVzIGVpdGhlci4gVGhleSBoYXZlIG5vIGRlZmluaXRpb24gYXQgYWxsLlxuICpcbiAqIEFkZCBhIHByb3BlcnR5IG9iamVjdCB0eXBlIHdpdGggZW1wdHkgcHJvcGVydGllcy5cbiAqL1xuZnVuY3Rpb24gcmVwbGFjZUluY29tcGxldGVUeXBlcyhzcGVjOiBzY2hlbWEuU3BlY2lmaWNhdGlvbikge1xuICBmb3IgKGNvbnN0IFtuYW1lLCBkZWZpbml0aW9uXSBvZiBPYmplY3QuZW50cmllcyhzcGVjLlByb3BlcnR5VHlwZXMpKSB7XG4gICAgaWYgKCFzY2hlbWEuaXNSZWNvcmRUeXBlKGRlZmluaXRpb24pXG4gICAgJiYgIXNjaGVtYS5pc0NvbGxlY3Rpb25Qcm9wZXJ0eShkZWZpbml0aW9uKVxuICAgICYmICFzY2hlbWEuaXNTY2FsYXJQcm9wZXJ0eShkZWZpbml0aW9uKVxuICAgICYmICFzY2hlbWEuaXNQcmltaXRpdmVQcm9wZXJ0eShkZWZpbml0aW9uKSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgIGNvbnNvbGUubG9nKGBbJHtuYW1lfV0gSW5jb21wbGV0ZSB0eXBlLCBhZGRpbmcgZW1wdHkgXCJQcm9wZXJ0aWVzXCIgZmllbGRgKTtcblxuICAgICAgKGRlZmluaXRpb24gYXMgdW5rbm93biBhcyBzY2hlbWEuUmVjb3JkUHJvcGVydHkpLlByb3BlcnRpZXMgPSB7fTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBEcm9wIEF0dHJpYnV0ZXMgc3BlY2lmaWVkIHdpdGggdGhlIGRpZmZlcmVudCBSZXNvdXJjZVR5cGVzIHRoYXQgaGF2ZVxuICogbm8gdHlwZSBzcGVjaWZpZWQuXG4gKi9cbmZ1bmN0aW9uIGRyb3BUeXBlbGVzc0F0dHJpYnV0ZXMoc3BlYzogc2NoZW1hLlNwZWNpZmljYXRpb24pIHtcbiAgY29uc3QgcmVzb3VyY2VUeXBlcyA9IHNwZWMuUmVzb3VyY2VUeXBlcztcbiAgT2JqZWN0LnZhbHVlcyhyZXNvdXJjZVR5cGVzKS5mb3JFYWNoKChyZXNvdXJjZVR5cGUpID0+IHtcbiAgICBjb25zdCBhdHRyaWJ1dGVzID0gcmVzb3VyY2VUeXBlLkF0dHJpYnV0ZXMgPz8ge307XG4gICAgT2JqZWN0LmtleXMoYXR0cmlidXRlcykuZm9yRWFjaCgoYXR0cktleSkgPT4ge1xuICAgICAgY29uc3QgYXR0clZhbCA9IGF0dHJpYnV0ZXNbYXR0cktleV07XG4gICAgICBpZiAoT2JqZWN0LmtleXMoYXR0clZhbCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGRlbGV0ZSBhdHRyaWJ1dGVzW2F0dHJLZXldO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlKHNwZWM6IGFueSwgZnJhZ21lbnQ6IGFueSwganNvblBhdGg6IHN0cmluZ1tdKSB7XG4gIGlmICghZnJhZ21lbnQpIHsgcmV0dXJuOyB9XG4gIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGZyYWdtZW50KSkge1xuICAgIGlmIChrZXkgaW4gc3BlYykge1xuICAgICAgY29uc3Qgc3BlY1ZhbCA9IHNwZWNba2V5XTtcbiAgICAgIGNvbnN0IGZyYWdWYWwgPSBmcmFnbWVudFtrZXldO1xuICAgICAgaWYgKHR5cGVvZiBzcGVjVmFsICE9PSB0eXBlb2YgZnJhZ1ZhbCkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEF0dGVtcHRlZCB0byBtZXJnZSAke0pTT04uc3RyaW5naWZ5KGZyYWdWYWwpfSBpbnRvIGluY29tcGF0aWJsZSAke0pTT04uc3RyaW5naWZ5KHNwZWNWYWwpfSBhdCBwYXRoICR7anNvblBhdGguam9pbignLycpfS8ke2tleX1gKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2Ygc3BlY1ZhbCAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb25mbGljdCB3aGVuIGF0dGVtcHRpbmcgdG8gbWVyZ2UgJHtKU09OLnN0cmluZ2lmeShmcmFnVmFsKX0gaW50byAke0pTT04uc3RyaW5naWZ5KHNwZWNWYWwpfSBhdCBwYXRoICR7anNvblBhdGguam9pbignLycpfS8ke2tleX1gKTtcbiAgICAgIH1cbiAgICAgIG1lcmdlKHNwZWNWYWwsIGZyYWdWYWwsIFsuLi5qc29uUGF0aCwga2V5XSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNwZWNba2V5XSA9IGZyYWdtZW50W2tleV07XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXRjaChzcGVjOiBhbnksIGZyYWdtZW50OiBhbnkpIHtcbiAgaWYgKCFmcmFnbWVudCkgeyByZXR1cm47IH1cbiAgaWYgKCdwYXRjaCcgaW4gZnJhZ21lbnQpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgIGNvbnNvbGUubG9nKGBBcHBseWluZyBwYXRjaDogJHtmcmFnbWVudC5wYXRjaC5kZXNjcmlwdGlvbn1gKTtcbiAgICBmYXN0SnNvblBhdGNoLmFwcGx5UGF0Y2goc3BlYywgZnJhZ21lbnQucGF0Y2gub3BlcmF0aW9ucyk7XG4gIH0gZWxzZSB7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoZnJhZ21lbnQpKSB7XG4gICAgICBwYXRjaChzcGVjW2tleV0sIGZyYWdtZW50W2tleV0pO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIE1vZGlmaWVzIHRoZSBwcm92aWRlZCBzcGVjaWZpY2F0aW9uIHNvIHRoYXQgYGBSZXNvdXJjZVR5cGVzYGAgYW5kIGBgUHJvcGVydHlUeXBlc2BgIGFyZSBsaXN0ZWQgaW4gYWxwaGFiZXRpY2FsIG9yZGVyLlxuICpcbiAqIEBwYXJhbSBzcGVjIGFuIEFXUyBDbG91ZEZvcm1hdGlvbiBSZXNvdXJjZSBTcGVjaWZpY2F0aW9uIGRvY3VtZW50LlxuICpcbiAqIEByZXR1cm5zIGBgc3BlY2BgLCBhZnRlciBoYXZpbmcgc29ydGVkIHRoZSBgYFJlc291cmNlVHlwZXNgYCBhbmQgYGBQcm9wZXJ0eVR5cGVzYGAgc2VjdGlvbnMgYWxwaGFiZXRpY2FsbHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemUoc3BlYzogc2NoZW1hLlNwZWNpZmljYXRpb24pOiBzY2hlbWEuU3BlY2lmaWNhdGlvbiB7XG4gIHNwZWMuUmVzb3VyY2VUeXBlcyA9IG5vcm1hbGl6ZVNlY3Rpb24oc3BlYy5SZXNvdXJjZVR5cGVzKTtcbiAgaWYgKHNwZWMuUHJvcGVydHlUeXBlcykge1xuICAgIHNwZWMuUHJvcGVydHlUeXBlcyA9IG5vcm1hbGl6ZVNlY3Rpb24oc3BlYy5Qcm9wZXJ0eVR5cGVzKTtcbiAgfVxuICByZXR1cm4gc3BlYztcblxuICBmdW5jdGlvbiBub3JtYWxpemVTZWN0aW9uPFQ+KHNlY3Rpb246IHsgW25hbWU6IHN0cmluZ106IFQgfSk6IHsgW25hbWU6IHN0cmluZ106IFQgfSB7XG4gICAgY29uc3QgcmVzdWx0OiB7IFtuYW1lOiBzdHJpbmddOiBUIH0gPSB7fTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhzZWN0aW9uKS5zb3J0KCkpIHtcbiAgICAgIHJlc3VsdFtrZXldID0gc2VjdGlvbltrZXldO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { schema } from '../lib';
|
|
2
|
+
/**
|
|
3
|
+
* Auto-detect common properties to apply scrutiny to by using heuristics
|
|
4
|
+
*
|
|
5
|
+
* Manually enhancing scrutiny attributes for each property does not scale
|
|
6
|
+
* well. Fortunately, the most important ones follow a common naming scheme and
|
|
7
|
+
* we tag all of them at once in this way.
|
|
8
|
+
*
|
|
9
|
+
* If the heuristic scheme gets it wrong in some individual cases, those can be
|
|
10
|
+
* fixed using schema patches.
|
|
11
|
+
*/
|
|
12
|
+
export declare function detectScrutinyTypes(spec: schema.Specification): void;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.detectScrutinyTypes = void 0;
|
|
4
|
+
const lib_1 = require("../lib");
|
|
5
|
+
const schema_1 = require("../lib/schema");
|
|
6
|
+
/**
|
|
7
|
+
* Auto-detect common properties to apply scrutiny to by using heuristics
|
|
8
|
+
*
|
|
9
|
+
* Manually enhancing scrutiny attributes for each property does not scale
|
|
10
|
+
* well. Fortunately, the most important ones follow a common naming scheme and
|
|
11
|
+
* we tag all of them at once in this way.
|
|
12
|
+
*
|
|
13
|
+
* If the heuristic scheme gets it wrong in some individual cases, those can be
|
|
14
|
+
* fixed using schema patches.
|
|
15
|
+
*/
|
|
16
|
+
function detectScrutinyTypes(spec) {
|
|
17
|
+
for (const [typeName, typeSpec] of Object.entries(spec.ResourceTypes)) {
|
|
18
|
+
if (typeSpec.ScrutinyType !== undefined) {
|
|
19
|
+
continue;
|
|
20
|
+
} // Already assigned
|
|
21
|
+
detectResourceScrutiny(typeName, typeSpec);
|
|
22
|
+
// If a resource scrutiny is set by now, we don't need to look at the properties anymore
|
|
23
|
+
if (typeSpec.ScrutinyType !== undefined) {
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
for (const [propertyName, propertySpec] of Object.entries(typeSpec.Properties || {})) {
|
|
27
|
+
if (propertySpec.ScrutinyType !== undefined) {
|
|
28
|
+
continue;
|
|
29
|
+
} // Already assigned
|
|
30
|
+
detectPropertyScrutiny(typeName, propertyName, propertySpec);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.detectScrutinyTypes = detectScrutinyTypes;
|
|
35
|
+
/**
|
|
36
|
+
* Detect and assign a scrutiny type for the resource
|
|
37
|
+
*/
|
|
38
|
+
function detectResourceScrutiny(typeName, typeSpec) {
|
|
39
|
+
const properties = Object.entries(typeSpec.Properties || {});
|
|
40
|
+
// If this resource is named like *Policy and has a PolicyDocument property
|
|
41
|
+
if (typeName.endsWith('Policy') && properties.some(apply2(isPolicyDocumentProperty))) {
|
|
42
|
+
typeSpec.ScrutinyType = isIamType(typeName) ? schema_1.ResourceScrutinyType.IdentityPolicyResource : schema_1.ResourceScrutinyType.ResourcePolicyResource;
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Detect and assign a scrutiny type for the property
|
|
48
|
+
*/
|
|
49
|
+
function detectPropertyScrutiny(_typeName, propertyName, propertySpec) {
|
|
50
|
+
// Detect fields named like ManagedPolicyArns
|
|
51
|
+
if (propertyName === 'ManagedPolicyArns') {
|
|
52
|
+
propertySpec.ScrutinyType = schema_1.PropertyScrutinyType.ManagedPolicies;
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
if (propertyName === 'Policies' && lib_1.schema.isComplexListProperty(propertySpec) && propertySpec.ItemType === 'Policy') {
|
|
56
|
+
propertySpec.ScrutinyType = schema_1.PropertyScrutinyType.InlineIdentityPolicies;
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
if (isPolicyDocumentProperty(propertyName, propertySpec)) {
|
|
60
|
+
propertySpec.ScrutinyType = schema_1.PropertyScrutinyType.InlineResourcePolicy;
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function isIamType(typeName) {
|
|
65
|
+
return typeName.indexOf('::IAM::') > 1;
|
|
66
|
+
}
|
|
67
|
+
function isPolicyDocumentProperty(propertyName, propertySpec) {
|
|
68
|
+
const nameContainsPolicy = propertyName.indexOf('Policy') > -1;
|
|
69
|
+
const primitiveType = lib_1.schema.isPrimitiveProperty(propertySpec) && propertySpec.PrimitiveType;
|
|
70
|
+
if (nameContainsPolicy && primitiveType === 'Json') {
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Make a function that takes 2 arguments take an array of 2 elements instead
|
|
77
|
+
*
|
|
78
|
+
* Makes it possible to map it over an array of arrays. TypeScript won't allow
|
|
79
|
+
* me to overload this type declaration so we need a different function for
|
|
80
|
+
* every # of arguments.
|
|
81
|
+
*/
|
|
82
|
+
function apply2(fn) {
|
|
83
|
+
return (as) => fn.apply(fn, as);
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NydXRpbnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzY3J1dGlueS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnQ0FBZ0M7QUFDaEMsMENBQTJFO0FBRTNFOzs7Ozs7Ozs7R0FTRztBQUNILFNBQWdCLG1CQUFtQixDQUFDLElBQTBCO0lBQzVELEtBQUssTUFBTSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRTtRQUNyRSxJQUFJLFFBQVEsQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFO1lBQUUsU0FBUztTQUFFLENBQUMsbUJBQW1CO1FBRTFFLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUUzQyx3RkFBd0Y7UUFDeEYsSUFBSSxRQUFRLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtZQUFFLFNBQVM7U0FBRTtRQUV0RCxLQUFLLE1BQU0sQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxFQUFFO1lBQ3BGLElBQUksWUFBWSxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUU7Z0JBQUUsU0FBUzthQUFFLENBQUMsbUJBQW1CO1lBRTlFLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FFOUQ7S0FDRjtBQUNILENBQUM7QUFoQkQsa0RBZ0JDO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLHNCQUFzQixDQUFDLFFBQWdCLEVBQUUsUUFBNkI7SUFDN0UsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRTdELDJFQUEyRTtJQUMzRSxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxFQUFFO1FBQ3BGLFFBQVEsQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyw2QkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsNkJBQW9CLENBQUMsc0JBQXNCLENBQUM7UUFDeEksT0FBTztLQUNSO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBUyxzQkFBc0IsQ0FBQyxTQUFpQixFQUFFLFlBQW9CLEVBQUUsWUFBNkI7SUFDcEcsNkNBQTZDO0lBQzdDLElBQUksWUFBWSxLQUFLLG1CQUFtQixFQUFFO1FBQ3hDLFlBQVksQ0FBQyxZQUFZLEdBQUcsNkJBQW9CLENBQUMsZUFBZSxDQUFDO1FBQ2pFLE9BQU87S0FDUjtJQUVELElBQUksWUFBWSxLQUFLLFVBQVUsSUFBSSxZQUFNLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDLElBQUksWUFBWSxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7UUFDbkgsWUFBWSxDQUFDLFlBQVksR0FBRyw2QkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQztRQUN4RSxPQUFPO0tBQ1I7SUFFRCxJQUFJLHdCQUF3QixDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsRUFBRTtRQUN4RCxZQUFZLENBQUMsWUFBWSxHQUFHLDZCQUFvQixDQUFDLG9CQUFvQixDQUFDO1FBQ3RFLE9BQU87S0FDUjtBQUNILENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBQyxRQUFnQjtJQUNqQyxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxTQUFTLHdCQUF3QixDQUFDLFlBQW9CLEVBQUUsWUFBNkI7SUFDbkYsTUFBTSxrQkFBa0IsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sYUFBYSxHQUFHLFlBQU0sQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxZQUFZLENBQUMsYUFBYSxDQUFDO0lBRTdGLElBQUksa0JBQWtCLElBQUksYUFBYSxLQUFLLE1BQU0sRUFBRTtRQUNsRCxPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBUyxNQUFNLENBQVksRUFBeUI7SUFDbEQsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNjaGVtYSB9IGZyb20gJy4uL2xpYic7XG5pbXBvcnQgeyBQcm9wZXJ0eVNjcnV0aW55VHlwZSwgUmVzb3VyY2VTY3J1dGlueVR5cGUgfSBmcm9tICcuLi9saWIvc2NoZW1hJztcblxuLyoqXG4gKiBBdXRvLWRldGVjdCBjb21tb24gcHJvcGVydGllcyB0byBhcHBseSBzY3J1dGlueSB0byBieSB1c2luZyBoZXVyaXN0aWNzXG4gKlxuICogTWFudWFsbHkgZW5oYW5jaW5nIHNjcnV0aW55IGF0dHJpYnV0ZXMgZm9yIGVhY2ggcHJvcGVydHkgZG9lcyBub3Qgc2NhbGVcbiAqIHdlbGwuIEZvcnR1bmF0ZWx5LCB0aGUgbW9zdCBpbXBvcnRhbnQgb25lcyBmb2xsb3cgYSBjb21tb24gbmFtaW5nIHNjaGVtZSBhbmRcbiAqIHdlIHRhZyBhbGwgb2YgdGhlbSBhdCBvbmNlIGluIHRoaXMgd2F5LlxuICpcbiAqIElmIHRoZSBoZXVyaXN0aWMgc2NoZW1lIGdldHMgaXQgd3JvbmcgaW4gc29tZSBpbmRpdmlkdWFsIGNhc2VzLCB0aG9zZSBjYW4gYmVcbiAqIGZpeGVkIHVzaW5nIHNjaGVtYSBwYXRjaGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0U2NydXRpbnlUeXBlcyhzcGVjOiBzY2hlbWEuU3BlY2lmaWNhdGlvbikge1xuICBmb3IgKGNvbnN0IFt0eXBlTmFtZSwgdHlwZVNwZWNdIG9mIE9iamVjdC5lbnRyaWVzKHNwZWMuUmVzb3VyY2VUeXBlcykpIHtcbiAgICBpZiAodHlwZVNwZWMuU2NydXRpbnlUeXBlICE9PSB1bmRlZmluZWQpIHsgY29udGludWU7IH0gLy8gQWxyZWFkeSBhc3NpZ25lZFxuXG4gICAgZGV0ZWN0UmVzb3VyY2VTY3J1dGlueSh0eXBlTmFtZSwgdHlwZVNwZWMpO1xuXG4gICAgLy8gSWYgYSByZXNvdXJjZSBzY3J1dGlueSBpcyBzZXQgYnkgbm93LCB3ZSBkb24ndCBuZWVkIHRvIGxvb2sgYXQgdGhlIHByb3BlcnRpZXMgYW55bW9yZVxuICAgIGlmICh0eXBlU3BlYy5TY3J1dGlueVR5cGUgIT09IHVuZGVmaW5lZCkgeyBjb250aW51ZTsgfVxuXG4gICAgZm9yIChjb25zdCBbcHJvcGVydHlOYW1lLCBwcm9wZXJ0eVNwZWNdIG9mIE9iamVjdC5lbnRyaWVzKHR5cGVTcGVjLlByb3BlcnRpZXMgfHwge30pKSB7XG4gICAgICBpZiAocHJvcGVydHlTcGVjLlNjcnV0aW55VHlwZSAhPT0gdW5kZWZpbmVkKSB7IGNvbnRpbnVlOyB9IC8vIEFscmVhZHkgYXNzaWduZWRcblxuICAgICAgZGV0ZWN0UHJvcGVydHlTY3J1dGlueSh0eXBlTmFtZSwgcHJvcGVydHlOYW1lLCBwcm9wZXJ0eVNwZWMpO1xuXG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogRGV0ZWN0IGFuZCBhc3NpZ24gYSBzY3J1dGlueSB0eXBlIGZvciB0aGUgcmVzb3VyY2VcbiAqL1xuZnVuY3Rpb24gZGV0ZWN0UmVzb3VyY2VTY3J1dGlueSh0eXBlTmFtZTogc3RyaW5nLCB0eXBlU3BlYzogc2NoZW1hLlJlc291cmNlVHlwZSkge1xuICBjb25zdCBwcm9wZXJ0aWVzID0gT2JqZWN0LmVudHJpZXModHlwZVNwZWMuUHJvcGVydGllcyB8fCB7fSk7XG5cbiAgLy8gSWYgdGhpcyByZXNvdXJjZSBpcyBuYW1lZCBsaWtlICpQb2xpY3kgYW5kIGhhcyBhIFBvbGljeURvY3VtZW50IHByb3BlcnR5XG4gIGlmICh0eXBlTmFtZS5lbmRzV2l0aCgnUG9saWN5JykgJiYgcHJvcGVydGllcy5zb21lKGFwcGx5Mihpc1BvbGljeURvY3VtZW50UHJvcGVydHkpKSkge1xuICAgIHR5cGVTcGVjLlNjcnV0aW55VHlwZSA9IGlzSWFtVHlwZSh0eXBlTmFtZSkgPyBSZXNvdXJjZVNjcnV0aW55VHlwZS5JZGVudGl0eVBvbGljeVJlc291cmNlIDogUmVzb3VyY2VTY3J1dGlueVR5cGUuUmVzb3VyY2VQb2xpY3lSZXNvdXJjZTtcbiAgICByZXR1cm47XG4gIH1cbn1cblxuLyoqXG4gKiBEZXRlY3QgYW5kIGFzc2lnbiBhIHNjcnV0aW55IHR5cGUgZm9yIHRoZSBwcm9wZXJ0eVxuICovXG5mdW5jdGlvbiBkZXRlY3RQcm9wZXJ0eVNjcnV0aW55KF90eXBlTmFtZTogc3RyaW5nLCBwcm9wZXJ0eU5hbWU6IHN0cmluZywgcHJvcGVydHlTcGVjOiBzY2hlbWEuUHJvcGVydHkpIHtcbiAgLy8gRGV0ZWN0IGZpZWxkcyBuYW1lZCBsaWtlIE1hbmFnZWRQb2xpY3lBcm5zXG4gIGlmIChwcm9wZXJ0eU5hbWUgPT09ICdNYW5hZ2VkUG9saWN5QXJucycpIHtcbiAgICBwcm9wZXJ0eVNwZWMuU2NydXRpbnlUeXBlID0gUHJvcGVydHlTY3J1dGlueVR5cGUuTWFuYWdlZFBvbGljaWVzO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChwcm9wZXJ0eU5hbWUgPT09ICdQb2xpY2llcycgJiYgc2NoZW1hLmlzQ29tcGxleExpc3RQcm9wZXJ0eShwcm9wZXJ0eVNwZWMpICYmIHByb3BlcnR5U3BlYy5JdGVtVHlwZSA9PT0gJ1BvbGljeScpIHtcbiAgICBwcm9wZXJ0eVNwZWMuU2NydXRpbnlUeXBlID0gUHJvcGVydHlTY3J1dGlueVR5cGUuSW5saW5lSWRlbnRpdHlQb2xpY2llcztcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoaXNQb2xpY3lEb2N1bWVudFByb3BlcnR5KHByb3BlcnR5TmFtZSwgcHJvcGVydHlTcGVjKSkge1xuICAgIHByb3BlcnR5U3BlYy5TY3J1dGlueVR5cGUgPSBQcm9wZXJ0eVNjcnV0aW55VHlwZS5JbmxpbmVSZXNvdXJjZVBvbGljeTtcbiAgICByZXR1cm47XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNJYW1UeXBlKHR5cGVOYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHR5cGVOYW1lLmluZGV4T2YoJzo6SUFNOjonKSA+IDE7XG59XG5cbmZ1bmN0aW9uIGlzUG9saWN5RG9jdW1lbnRQcm9wZXJ0eShwcm9wZXJ0eU5hbWU6IHN0cmluZywgcHJvcGVydHlTcGVjOiBzY2hlbWEuUHJvcGVydHkpIHtcbiAgY29uc3QgbmFtZUNvbnRhaW5zUG9saWN5ID0gcHJvcGVydHlOYW1lLmluZGV4T2YoJ1BvbGljeScpID4gLTE7XG4gIGNvbnN0IHByaW1pdGl2ZVR5cGUgPSBzY2hlbWEuaXNQcmltaXRpdmVQcm9wZXJ0eShwcm9wZXJ0eVNwZWMpICYmIHByb3BlcnR5U3BlYy5QcmltaXRpdmVUeXBlO1xuXG4gIGlmIChuYW1lQ29udGFpbnNQb2xpY3kgJiYgcHJpbWl0aXZlVHlwZSA9PT0gJ0pzb24nKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vKipcbiAqIE1ha2UgYSBmdW5jdGlvbiB0aGF0IHRha2VzIDIgYXJndW1lbnRzIHRha2UgYW4gYXJyYXkgb2YgMiBlbGVtZW50cyBpbnN0ZWFkXG4gKlxuICogTWFrZXMgaXQgcG9zc2libGUgdG8gbWFwIGl0IG92ZXIgYW4gYXJyYXkgb2YgYXJyYXlzLiBUeXBlU2NyaXB0IHdvbid0IGFsbG93XG4gKiBtZSB0byBvdmVybG9hZCB0aGlzIHR5cGUgZGVjbGFyYXRpb24gc28gd2UgbmVlZCBhIGRpZmZlcmVudCBmdW5jdGlvbiBmb3JcbiAqIGV2ZXJ5ICMgb2YgYXJndW1lbnRzLlxuICovXG5mdW5jdGlvbiBhcHBseTI8VDEsIFQyLCBSPihmbjogKGExOiBUMSwgYTI6IFQyKSA9PiBSKTogKGFzOiBbVDEsIFQyXSkgPT4gUiB7XG4gIHJldHVybiAoYXMpID0+IGZuLmFwcGx5KGZuLCBhcyk7XG59Il19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|