{"_id":"@awboost/cfn-template-builder","_rev":"12-c524723dfd7e88b41f0102a984bba7d0","name":"@awboost/cfn-template-builder","dist-tags":{"latest":"0.4.3"},"versions":{"0.1.0":{"name":"@awboost/cfn-template-builder","version":"0.1.0","type":"module","description":"Zero-dependency package for building AWS CloudFormation Templates","repository":{"type":"git","url":"git+https://github.com/awboost/cfn-template-builder.git"},"publishConfig":{"access":"public"},"license":"MIT","author":{"name":"Gordon Leigh"},"scripts":{"build":"npm run clean && npm run compile && npm run test && npm run lint","clean":"rm -rf lib/ *.tsbuildinfo","compile":"tsc","generate":"node --enable-source-maps --import=./swc.js src/generate/main.ts src/resources.generated","lint":"eslint src/ --ext=ts","test":"node --enable-source-maps --import=./swc.js --test src/**/*.test.ts","watch:compile":"tsc --watch --incremental","watch:test":"node --enable-source-maps --watch --import=./swc.js --test src/**/*.test.ts"},"exports":{"./resources/*":{"types":"./lib/resources.generated/*.d.ts","default":"./lib/resources.generated/*.js"},"./template/*":{"types":"./lib/template/*.d.ts","default":"./lib/template/*.js"},"./util/*":{"types":"./lib/util/*.d.ts","default":"./lib/util/*.js"},"./builder":{"types":"./lib/builder.d.ts","default":"./lib/util/builder.js"},"./emitter":{"types":"./lib/emitter.d.ts","default":"./lib/util/emitter.js"},"./intrinsics":{"types":"./lib/intrinsics.d.ts","default":"./lib/util/intrinsics.js"},"./policy":{"types":"./lib/policy.d.ts","default":"./lib/util/policy.js"},"./pseudo":{"types":"./lib/pseudo.d.ts","default":"./lib/util/pseudo.js"},"./stack":{"types":"./lib/stack.d.ts","default":"./lib/util/stack.js"},"./template":{"types":"./lib/template.d.ts","default":"./lib/util/template.js"}},"devDependencies":{"@awboost/cfn-resource-schemas-db":"^0.1.9","@swc-node/register":"^1.6.8","@types/node":"^18.18.13","@typescript-eslint/eslint-plugin":"^6.13.1","@typescript-eslint/parser":"^6.13.1","eslint":"^8.54.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","prettier":"^3.1.0","typescript":"^5.3.2"},"_id":"@awboost/cfn-template-builder@0.1.0","gitHead":"1ecb6e913c61503aad31b201c3d117371f2b42c0","bugs":{"url":"https://github.com/awboost/cfn-template-builder/issues"},"homepage":"https://github.com/awboost/cfn-template-builder#readme","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-sybSPqaDDltiWr5A1gtSzJb1GPZ5UcYYZLHyVBsqg/oL37IkDZwxFT36RiOSrYbJ08EsymusQBSH/+idspEIqQ==","shasum":"f792fd37f61528b7156d38a79a754979b8d3b3bd","tarball":"https://registry.npmjs.org/@awboost/cfn-template-builder/-/cfn-template-builder-0.1.0.tgz","fileCount":2417,"unpackedSize":7307205,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICJr9dvnprEpSSp5Y6NPIKFIMecZrJjlGDsA8jihldp7AiBfH7RQsJDzWT9UtOq1BqXfCE1GOHjlhK6FRtNFMLbfKg=="}]},"_npmUser":{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"},"directories":{},"maintainers":[{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cfn-template-builder_0.1.0_1703431719141_0.09882795349935569"},"_hasShrinkwrap":false},"0.1.1":{"name":"@awboost/cfn-template-builder","version":"0.1.1","type":"module","description":"Zero-dependency package for building AWS CloudFormation Templates","repository":{"type":"git","url":"git+https://github.com/awboost/cfn-template-builder.git"},"publishConfig":{"access":"public"},"license":"MIT","author":{"name":"Gordon Leigh"},"scripts":{"build":"npm run clean && npm run compile && npm run test && npm run lint","clean":"rm -rf lib/ *.tsbuildinfo","compile":"tsc","generate":"node --enable-source-maps --import=./swc.js src/generate/main.ts src/resources.generated","lint":"eslint src/ --ext=ts","test":"node --enable-source-maps --import=./swc.js --test src/**/*.test.ts","watch:compile":"tsc --watch --incremental","watch:test":"node --enable-source-maps --watch --import=./swc.js --test src/**/*.test.ts"},"exports":{"./resources/*":{"types":"./lib/resources.generated/*.d.ts","default":"./lib/resources.generated/*.js"},"./template/*":{"types":"./lib/template/*.d.ts","default":"./lib/template/*.js"},"./util/*":{"types":"./lib/util/*.d.ts","default":"./lib/util/*.js"},"./builder":{"types":"./lib/builder.d.ts","default":"./lib/builder.js"},"./emitter":{"types":"./lib/emitter.d.ts","default":"./lib/emitter.js"},"./intrinsics":{"types":"./lib/intrinsics.d.ts","default":"./lib/intrinsics.js"},"./policy":{"types":"./lib/policy.d.ts","default":"./lib/policy.js"},"./pseudo":{"types":"./lib/pseudo.d.ts","default":"./lib/pseudo.js"},"./stack":{"types":"./lib/stack.d.ts","default":"./lib/stack.js"},"./template":{"types":"./lib/template.d.ts","default":"./lib/template.js"}},"devDependencies":{"@awboost/cfn-resource-schemas-db":"^0.1.9","@swc-node/register":"^1.6.8","@types/node":"^18.18.13","@typescript-eslint/eslint-plugin":"^6.13.1","@typescript-eslint/parser":"^6.13.1","eslint":"^8.54.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","prettier":"^3.1.0","typescript":"^5.3.2"},"_id":"@awboost/cfn-template-builder@0.1.1","gitHead":"f7f0c3fb1f1b37b158f9fcb06364451e67c51ef9","bugs":{"url":"https://github.com/awboost/cfn-template-builder/issues"},"homepage":"https://github.com/awboost/cfn-template-builder#readme","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-Xv6NC6sXcjZA2dWdYBsc1SqWOmj0DW8Mdcxl+DgLals98juTlIwRNusbTacCVCdJxwBQ5RVyT3UWg7xU1VjZxQ==","shasum":"ccf32e66ebb0ecf2a9d140d6d13edeaf97ca24e1","tarball":"https://registry.npmjs.org/@awboost/cfn-template-builder/-/cfn-template-builder-0.1.1.tgz","fileCount":2417,"unpackedSize":7307170,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHe8ABiau+NTH/ry31AtF0y1EHkyiNs1PAyTp2fgxAQMAiBcj5yqiJgdq/t44eJ+uWXsrNzIfI39YBhonD+SfWACJg=="}]},"_npmUser":{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"},"directories":{},"maintainers":[{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cfn-template-builder_0.1.1_1703438922502_0.3920888381062586"},"_hasShrinkwrap":false},"0.2.0":{"name":"@awboost/cfn-template-builder","version":"0.2.0","type":"module","description":"Zero-dependency package for building AWS CloudFormation Templates","repository":{"type":"git","url":"git+https://github.com/awboost/cfn-template-builder.git"},"publishConfig":{"access":"public"},"license":"MIT","author":{"name":"Gordon Leigh"},"scripts":{"build":"npm run clean && npm run compile && npm run test && npm run lint","clean":"rm -rf lib/ *.tsbuildinfo","compile":"tsc","lint":"eslint src/ --ext=ts","test":"node --enable-source-maps --import=./swc.js --test src/**/*.test.ts","watch:compile":"tsc --watch --incremental","watch:test":"node --enable-source-maps --watch --import=./swc.js --test src/**/*.test.ts"},"exports":{"./template/*":{"types":"./lib/template/*.d.ts","default":"./lib/template/*.js"},"./util/*":{"types":"./lib/util/*.d.ts","default":"./lib/util/*.js"},"./builder":{"types":"./lib/builder.d.ts","default":"./lib/builder.js"},"./emitter":{"types":"./lib/emitter.d.ts","default":"./lib/emitter.js"},"./intrinsics":{"types":"./lib/intrinsics.d.ts","default":"./lib/intrinsics.js"},"./policy":{"types":"./lib/policy.d.ts","default":"./lib/policy.js"},"./pseudo":{"types":"./lib/pseudo.d.ts","default":"./lib/pseudo.js"},"./stack":{"types":"./lib/stack.d.ts","default":"./lib/stack.js"},"./template":{"types":"./lib/template.d.ts","default":"./lib/template.js"}},"devDependencies":{"@swc-node/register":"^1.6.8","@types/node":"^18.18.13","@typescript-eslint/eslint-plugin":"^6.13.1","@typescript-eslint/parser":"^6.13.1","eslint":"^8.54.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","prettier":"^3.1.0","typescript":"^5.3.2"},"_id":"@awboost/cfn-template-builder@0.2.0","gitHead":"15149d666e6cfdb0db4f0e01c5dc9e910c899f02","bugs":{"url":"https://github.com/awboost/cfn-template-builder/issues"},"homepage":"https://github.com/awboost/cfn-template-builder#readme","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-/W5jeZ5ZfA7K7fNFTFbg0RUDLoxd4nzHDAycmUB8cG+/eFPIVPA/REATrRW4DRYBTre2IX626jFWCCWQOpt/KA==","shasum":"e2675bef2ba07263d70e74f45158c337cbafa6aa","tarball":"https://registry.npmjs.org/@awboost/cfn-template-builder/-/cfn-template-builder-0.2.0.tgz","fileCount":107,"unpackedSize":336222,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDeczcP1KnqiFD7hvqlFKQ6exv5F3xqCBJU4joWA/8+SAIhAOdLoUBzU/Zgi9pOtAJZNsQ7CbBbwjHorLdUeP3VTYlG"}]},"_npmUser":{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"},"directories":{},"maintainers":[{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cfn-template-builder_0.2.0_1703965220313_0.23233684994237147"},"_hasShrinkwrap":false},"0.3.0":{"name":"@awboost/cfn-template-builder","version":"0.3.0","type":"module","description":"Zero-dependency package for building AWS CloudFormation Templates","repository":{"type":"git","url":"git+https://github.com/awboost/cfn-template-builder.git"},"publishConfig":{"access":"public"},"license":"MIT","author":{"name":"Gordon Leigh"},"scripts":{"build":"npm run clean && npm run compile && npm run test && npm run lint","clean":"rm -rf lib/ *.tsbuildinfo","compile":"tsc","lint":"eslint src/ --ext=ts","test":"node --enable-source-maps --import=./swc.js --test src/**/*.test.ts","watch:compile":"tsc --watch --incremental","watch:test":"node --enable-source-maps --watch --import=./swc.js --test src/**/*.test.ts"},"exports":{"./template/*":{"types":"./lib/template/*.d.ts","default":"./lib/template/*.js"},"./util/*":{"types":"./lib/util/*.d.ts","default":"./lib/util/*.js"},"./builder":{"types":"./lib/builder.d.ts","default":"./lib/builder.js"},"./emitter":{"types":"./lib/emitter.d.ts","default":"./lib/emitter.js"},"./intrinsics":{"types":"./lib/intrinsics.d.ts","default":"./lib/intrinsics.js"},"./policy":{"types":"./lib/policy.d.ts","default":"./lib/policy.js"},"./pseudo":{"types":"./lib/pseudo.d.ts","default":"./lib/pseudo.js"},"./stack":{"types":"./lib/stack.d.ts","default":"./lib/stack.js"},"./template":{"types":"./lib/template.d.ts","default":"./lib/template.js"}},"devDependencies":{"@swc-node/register":"^1.6.8","@types/node":"^18.18.13","@typescript-eslint/eslint-plugin":"^6.13.1","@typescript-eslint/parser":"^6.13.1","eslint":"^8.54.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","prettier":"^3.1.0","typescript":"^5.3.2"},"_id":"@awboost/cfn-template-builder@0.3.0","gitHead":"720f7d0f533530bbb69b7f3da667d83d49994cc4","bugs":{"url":"https://github.com/awboost/cfn-template-builder/issues"},"homepage":"https://github.com/awboost/cfn-template-builder#readme","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-YY3BNvQueB5HAc5zpkW6bHQB+EIQz1Cfb3jHZNtpOwDTSUrNFgQ8Ks1/9mOilJ/8FrolcDoH0sh4+rvEKRxeRA==","shasum":"71cd18ce6d427e154bce7212d9d29c1852f8aaec","tarball":"https://registry.npmjs.org/@awboost/cfn-template-builder/-/cfn-template-builder-0.3.0.tgz","fileCount":106,"unpackedSize":336009,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICnHZ7zylxpf/TkJnW/NELJhe6ULUtd5ZsDRTZpZqD0ZAiEA7GiKidyewX7VlePV1FFRC6nEQNFguwXZ7ObugAmbsGo="}]},"_npmUser":{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"},"directories":{},"maintainers":[{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cfn-template-builder_0.3.0_1705776529088_0.006185334709106982"},"_hasShrinkwrap":false},"0.3.1":{"name":"@awboost/cfn-template-builder","version":"0.3.1","type":"module","description":"Zero-dependency package for building AWS CloudFormation Templates","repository":{"type":"git","url":"git+https://github.com/awboost/cfn-template-builder.git"},"publishConfig":{"access":"public"},"license":"MIT","author":{"name":"Gordon Leigh"},"scripts":{"build":"npm run clean && npm run compile && npm run test && npm run lint","clean":"rm -rf lib/ *.tsbuildinfo","compile":"tsc","lint":"eslint src/ --ext=ts","test":"node --enable-source-maps --import=./swc.js --test src/**/*.test.ts","watch:compile":"tsc --watch --incremental","watch:test":"node --enable-source-maps --watch --import=./swc.js --test src/**/*.test.ts"},"exports":{"./template/*":{"types":"./lib/template/*.d.ts","default":"./lib/template/*.js"},"./util/*":{"types":"./lib/util/*.d.ts","default":"./lib/util/*.js"},"./builder":{"types":"./lib/builder.d.ts","default":"./lib/builder.js"},"./emitter":{"types":"./lib/emitter.d.ts","default":"./lib/emitter.js"},"./intrinsics":{"types":"./lib/intrinsics.d.ts","default":"./lib/intrinsics.js"},"./policy":{"types":"./lib/policy.d.ts","default":"./lib/policy.js"},"./pseudo":{"types":"./lib/pseudo.d.ts","default":"./lib/pseudo.js"},"./stack":{"types":"./lib/stack.d.ts","default":"./lib/stack.js"},"./template":{"types":"./lib/template.d.ts","default":"./lib/template.js"}},"devDependencies":{"@swc-node/register":"^1.6.8","@types/node":"^18.18.13","@typescript-eslint/eslint-plugin":"^6.13.1","@typescript-eslint/parser":"^6.13.1","eslint":"^8.54.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","prettier":"^3.1.0","typescript":"^5.3.2"},"_id":"@awboost/cfn-template-builder@0.3.1","gitHead":"62c93c23e80280bedb70f5a715a56ec50f5c3712","bugs":{"url":"https://github.com/awboost/cfn-template-builder/issues"},"homepage":"https://github.com/awboost/cfn-template-builder#readme","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-Vs7O8LBbnznUy3E1Qb3bJ+6QWwiBLSbXcG6+ARk9gAnJw9nf5652g9Jq/MTtN85F1AB1FnMr6Gf+U8UP/hvJnA==","shasum":"b46392f731c4a27f6d4ec9541b914516bc1b687e","tarball":"https://registry.npmjs.org/@awboost/cfn-template-builder/-/cfn-template-builder-0.3.1.tgz","fileCount":102,"unpackedSize":335059,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGkDN686kbOdosyqOoyQxnxoOc4F8FIp2JQVikxJ3AM1AiBccYWWyTV/0gNw2V2JbWFSqSQg+s2Tf/aj0stJT8g9lQ=="}]},"_npmUser":{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"},"directories":{},"maintainers":[{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cfn-template-builder_0.3.1_1706297760920_0.6067564170029387"},"_hasShrinkwrap":false},"0.3.2":{"name":"@awboost/cfn-template-builder","version":"0.3.2","type":"module","description":"Zero-dependency package for building AWS CloudFormation Templates","repository":{"type":"git","url":"git+https://github.com/awboost/cfn-template-builder.git"},"publishConfig":{"access":"public"},"license":"MIT","author":{"name":"Gordon Leigh"},"scripts":{"build":"npm run clean && npm run compile && npm run test && npm run lint","clean":"rm -rf lib/ *.tsbuildinfo","compile":"tsc","lint":"eslint src/ --ext=ts","test":"node --enable-source-maps --import=./swc.js --test src/**/*.test.ts","watch:compile":"tsc --watch --incremental","watch:test":"node --enable-source-maps --watch --import=./swc.js --test src/**/*.test.ts"},"exports":{"./template/*":{"types":"./lib/template/*.d.ts","default":"./lib/template/*.js"},"./util/*":{"types":"./lib/util/*.d.ts","default":"./lib/util/*.js"},"./builder":{"types":"./lib/builder.d.ts","default":"./lib/builder.js"},"./emitter":{"types":"./lib/emitter.d.ts","default":"./lib/emitter.js"},"./intrinsics":{"types":"./lib/intrinsics.d.ts","default":"./lib/intrinsics.js"},"./policy":{"types":"./lib/policy.d.ts","default":"./lib/policy.js"},"./pseudo":{"types":"./lib/pseudo.d.ts","default":"./lib/pseudo.js"},"./stack":{"types":"./lib/stack.d.ts","default":"./lib/stack.js"},"./template":{"types":"./lib/template.d.ts","default":"./lib/template.js"}},"devDependencies":{"@swc-node/register":"^1.6.8","@types/node":"^18.18.13","@typescript-eslint/eslint-plugin":"^6.13.1","@typescript-eslint/parser":"^6.13.1","eslint":"^8.54.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","prettier":"^3.1.0","typescript":"^5.3.2"},"_id":"@awboost/cfn-template-builder@0.3.2","gitHead":"a57966d47e0a0d488032acfe6e07ef83140e3c4e","bugs":{"url":"https://github.com/awboost/cfn-template-builder/issues"},"homepage":"https://github.com/awboost/cfn-template-builder#readme","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-fit1FDgSXHASrATGr2p9z7kRmSjoqLzc4TqgIFa/yIBwVs74LR9uAN2g+rHXbqdXp9RRBaMXQ0d2o7IAHT60DQ==","shasum":"6939e1d4d802bf1462a1590978611dbf3deac7be","tarball":"https://registry.npmjs.org/@awboost/cfn-template-builder/-/cfn-template-builder-0.3.2.tgz","fileCount":102,"unpackedSize":335115,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsTqZB6di0Pn8y3nky7MniiCagMzePIuRqfDNHws6lggIhAJ7lEgFT2ru8TrghILvrsBcfa3oDJTXMRfxHmWzUqNBq"}]},"_npmUser":{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"},"directories":{},"maintainers":[{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cfn-template-builder_0.3.2_1706466675462_0.16444133750102408"},"_hasShrinkwrap":false},"0.3.3":{"name":"@awboost/cfn-template-builder","version":"0.3.3","type":"module","description":"Zero-dependency package for building AWS CloudFormation Templates","repository":{"type":"git","url":"git+https://github.com/awboost/cfn-template-builder.git"},"publishConfig":{"access":"public"},"license":"MIT","author":{"name":"Gordon Leigh"},"scripts":{"build":"npm run clean && npm run compile && npm run test && npm run lint","clean":"rm -rf lib/ *.tsbuildinfo","compile":"tsc","lint":"eslint src/ --ext=ts","test":"node --enable-source-maps --import=./swc.js --test src/**/*.test.ts","watch:compile":"tsc --watch --incremental","watch:test":"node --enable-source-maps --watch --import=./swc.js --test src/**/*.test.ts"},"exports":{"./template/*":{"types":"./lib/template/*.d.ts","default":"./lib/template/*.js"},"./util/*":{"types":"./lib/util/*.d.ts","default":"./lib/util/*.js"},"./builder":{"types":"./lib/builder.d.ts","default":"./lib/builder.js"},"./emitter":{"types":"./lib/emitter.d.ts","default":"./lib/emitter.js"},"./intrinsics":{"types":"./lib/intrinsics.d.ts","default":"./lib/intrinsics.js"},"./policy":{"types":"./lib/policy.d.ts","default":"./lib/policy.js"},"./pseudo":{"types":"./lib/pseudo.d.ts","default":"./lib/pseudo.js"},"./stack":{"types":"./lib/stack.d.ts","default":"./lib/stack.js"},"./template":{"types":"./lib/template.d.ts","default":"./lib/template.js"}},"devDependencies":{"@swc-node/register":"^1.6.8","@types/node":"^18.18.13","@typescript-eslint/eslint-plugin":"^6.13.1","@typescript-eslint/parser":"^6.13.1","eslint":"^8.54.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","prettier":"^3.1.0","typescript":"^5.3.2"},"_id":"@awboost/cfn-template-builder@0.3.3","gitHead":"be2ac9d5e632be810ff7f4b59c0fb5d97238be39","bugs":{"url":"https://github.com/awboost/cfn-template-builder/issues"},"homepage":"https://github.com/awboost/cfn-template-builder#readme","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-tcTGfviAknpAaxBl2xCbT7/9eBiIY8p/vTzM2qERY870AXoPJqLlpENHqE5ceo6lseoTZ+ktDxFhK3BZ0IFfXA==","shasum":"b71acfef145bf58d6e469e1093a58c255eac68ea","tarball":"https://registry.npmjs.org/@awboost/cfn-template-builder/-/cfn-template-builder-0.3.3.tgz","fileCount":102,"unpackedSize":335239,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCxU3GO8oOlC6kg/JtvIEni2sjOecjeV+hZsAs6sIKD5AIhAL9NlCFYu9dSOJ/jXQDmTegJRt5ivEJ7DL5ekODpqk0Y"}]},"_npmUser":{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"},"directories":{},"maintainers":[{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cfn-template-builder_0.3.3_1706467914994_0.7073726009336412"},"_hasShrinkwrap":false},"0.3.4":{"name":"@awboost/cfn-template-builder","version":"0.3.4","type":"module","description":"Zero-dependency package for building AWS CloudFormation Templates","repository":{"type":"git","url":"git+https://github.com/awboost/cfn-template-builder.git"},"publishConfig":{"access":"public"},"license":"MIT","author":{"name":"Gordon Leigh"},"scripts":{"build":"npm run clean && npm run compile && npm run test && npm run lint","clean":"rm -rf lib/ *.tsbuildinfo","compile":"tsc","lint":"eslint src/ --ext=ts","test":"node --enable-source-maps --import=./swc.js --test src/**/*.test.ts","watch:compile":"tsc --watch --incremental","watch:test":"node --enable-source-maps --watch --import=./swc.js --test src/**/*.test.ts"},"exports":{"./template/*":{"types":"./lib/template/*.d.ts","default":"./lib/template/*.js"},"./util/*":{"types":"./lib/util/*.d.ts","default":"./lib/util/*.js"},"./builder":{"types":"./lib/builder.d.ts","default":"./lib/builder.js"},"./compatibility":{"types":"./lib/compatibility.d.ts","default":"./lib/compatibility.js"},"./emitter":{"types":"./lib/emitter.d.ts","default":"./lib/emitter.js"},"./intrinsics":{"types":"./lib/intrinsics.d.ts","default":"./lib/intrinsics.js"},"./policy":{"types":"./lib/policy.d.ts","default":"./lib/policy.js"},"./pseudo":{"types":"./lib/pseudo.d.ts","default":"./lib/pseudo.js"},"./stack":{"types":"./lib/stack.d.ts","default":"./lib/stack.js"},"./template":{"types":"./lib/template.d.ts","default":"./lib/template.js"}},"devDependencies":{"@swc-node/register":"^1.6.8","@types/node":"^18.18.13","@typescript-eslint/eslint-plugin":"^6.13.1","@typescript-eslint/parser":"^6.13.1","eslint":"^8.54.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","prettier":"^3.1.0","typescript":"^5.3.2"},"_id":"@awboost/cfn-template-builder@0.3.4","gitHead":"7d63eb3f48e7ee2ae190494dcd0fed1d3d369670","bugs":{"url":"https://github.com/awboost/cfn-template-builder/issues"},"homepage":"https://github.com/awboost/cfn-template-builder#readme","_nodeVersion":"18.19.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-OawVW7xkaf/0Fj9T4ECaP7M4CWILXWxNYCFNc5U1QBAv9kohGwxLrEXw30o/gNpKPTbR0ayB/E/IMXeLQVHisg==","shasum":"3bfae2983a0e650c58d0240215429c2d9463ffca","tarball":"https://registry.npmjs.org/@awboost/cfn-template-builder/-/cfn-template-builder-0.3.4.tgz","fileCount":117,"unpackedSize":358929,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEVVlutkI03RUG6g+KeY7DBfxg9o13N5cj+ipOHW9T1HAiBaTgEJmCRfex4jeFoK4l0FkTm7qvibwJ1XVsSzqor2qw=="}]},"_npmUser":{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"},"directories":{},"maintainers":[{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cfn-template-builder_0.3.4_1707811460567_0.33257273273808896"},"_hasShrinkwrap":false},"0.3.5":{"name":"@awboost/cfn-template-builder","version":"0.3.5","type":"module","description":"Zero-dependency package for building AWS CloudFormation Templates","repository":{"type":"git","url":"git+https://github.com/awboost/cfn-template-builder.git"},"publishConfig":{"access":"public"},"license":"MIT","author":{"name":"Gordon Leigh"},"scripts":{"build":"npm run clean && npm run compile && npm run test && npm run lint","clean":"rm -rf lib/ *.tsbuildinfo","compile":"tsc","lint":"eslint src/ --ext=ts","preversion":"npm run build","test":"node --enable-source-maps --import=./swc.js --test src/**/*.test.ts","watch:compile":"tsc --watch --incremental","watch:test":"node --enable-source-maps --watch --import=./swc.js --test src/**/*.test.ts"},"exports":{"./template/*":{"types":"./lib/template/*.d.ts","default":"./lib/template/*.js"},"./util/*":{"types":"./lib/util/*.d.ts","default":"./lib/util/*.js"},"./builder":{"types":"./lib/builder.d.ts","default":"./lib/builder.js"},"./compatibility":{"types":"./lib/compatibility.d.ts","default":"./lib/compatibility.js"},"./emitter":{"types":"./lib/emitter.d.ts","default":"./lib/emitter.js"},"./intrinsics":{"types":"./lib/intrinsics.d.ts","default":"./lib/intrinsics.js"},"./policy":{"types":"./lib/policy.d.ts","default":"./lib/policy.js"},"./pseudo":{"types":"./lib/pseudo.d.ts","default":"./lib/pseudo.js"},"./stack":{"types":"./lib/stack.d.ts","default":"./lib/stack.js"},"./template":{"types":"./lib/template.d.ts","default":"./lib/template.js"}},"devDependencies":{"@swc-node/register":"^1.6.8","@types/node":"^18.18.13","@typescript-eslint/eslint-plugin":"^6.13.1","@typescript-eslint/parser":"^6.13.1","eslint":"^8.54.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","prettier":"^3.1.0","typescript":"^5.3.2"},"_id":"@awboost/cfn-template-builder@0.3.5","gitHead":"a0349e1f736936c62f160b249be0e4150fcefea2","bugs":{"url":"https://github.com/awboost/cfn-template-builder/issues"},"homepage":"https://github.com/awboost/cfn-template-builder#readme","_nodeVersion":"18.19.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-KVUWG2kHCXlA43LppKxq1QHh7W76XHDA7OQlKfK2nrqX6SOdCjCe9Pb9dmVp6hBEJ7D5XQkQiHjaOcQyjbKHbQ==","shasum":"dccd014f0494bac424e2d5147bab97f35a8f3c64","tarball":"https://registry.npmjs.org/@awboost/cfn-template-builder/-/cfn-template-builder-0.3.5.tgz","fileCount":117,"unpackedSize":358546,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDjiZMB7eGx9t8eGHKUXqrvIzp13JAonkih1D8xcZz2FAiEAwmoWziGa9p5zY1Y4sghj0Mm8fLv4wsKnEr4dUZij3/Y="}]},"_npmUser":{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"},"directories":{},"maintainers":[{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cfn-template-builder_0.3.5_1707856660496_0.5121536594775327"},"_hasShrinkwrap":false},"0.4.0":{"name":"@awboost/cfn-template-builder","version":"0.4.0","type":"module","description":"Zero-dependency package for building AWS CloudFormation Templates","repository":{"type":"git","url":"git+https://github.com/awboost/cfn-template-builder.git"},"publishConfig":{"access":"public"},"license":"MIT","author":{"name":"Gordon Leigh"},"scripts":{"build":"npm run clean && npm run compile && npm run test && npm run lint","clean":"rm -rf lib/ *.tsbuildinfo","compile":"tsc","coverage":"c8 --src src/ --all -r text -r lcovonly node --import=@swc-node/register/esm-register --test-reporter=dot --test 'src/**/*.test.ts'","lint":"eslint src/ --ext=ts","preversion":"npm run build","test":"node --enable-source-maps --import=@swc-node/register/esm-register --test 'src/**/*.test.ts'","watch:compile":"tsc --watch --incremental","watch:test":"node --enable-source-maps --watch --import=@swc-node/register/esm-register --test 'src/**/*.test.ts'"},"exports":{"./template/*":{"types":"./lib/template/*.d.ts","default":"./lib/template/*.js"},"./util/*":{"types":"./lib/util/*.d.ts","default":"./lib/util/*.js"},"./builder":{"types":"./lib/builder.d.ts","default":"./lib/builder.js"},"./compatibility":{"types":"./lib/compatibility.d.ts","default":"./lib/compatibility.js"},"./emitter":{"types":"./lib/emitter.d.ts","default":"./lib/emitter.js"},"./intrinsics":{"types":"./lib/intrinsics.d.ts","default":"./lib/intrinsics.js"},"./policy":{"types":"./lib/policy.d.ts","default":"./lib/policy.js"},"./pseudo":{"types":"./lib/pseudo.d.ts","default":"./lib/pseudo.js"},"./stack":{"types":"./lib/stack.d.ts","default":"./lib/stack.js"},"./template":{"types":"./lib/template.d.ts","default":"./lib/template.js"}},"devDependencies":{"@swc-node/register":"^1.9.0","@types/node":"^18.18.13","@types/ssri":"^7.1.5","@typescript-eslint/eslint-plugin":"^6.13.1","@typescript-eslint/parser":"^6.13.1","c8":"^9.1.0","eslint":"^8.54.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","prettier":"^3.1.0","typescript":"^5.3.2"},"dependencies":{"ssri":"^10.0.5"},"_id":"@awboost/cfn-template-builder@0.4.0","gitHead":"260ef66447bed077437ee7ba3fccd702325a8168","bugs":{"url":"https://github.com/awboost/cfn-template-builder/issues"},"homepage":"https://github.com/awboost/cfn-template-builder#readme","_nodeVersion":"21.7.1","_npmVersion":"10.5.0","dist":{"integrity":"sha512-tBxTdmAiAFmbywboiqYYMkflWtg7qIvMUUPROWNisUIVmHN5pjOiBw+9ILDnVd+JWmHc1Z+Y/Gg5wr2clonO1Q==","shasum":"e000eb5e5e152b85af4bfcdee68b01c3b9cae9a2","tarball":"https://registry.npmjs.org/@awboost/cfn-template-builder/-/cfn-template-builder-0.4.0.tgz","fileCount":122,"unpackedSize":365920,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFdpB454d4s2x1ldw6gPopu+X2BrmxLY8wPg388KqFbxAiEAo4QqVVSJx0mUljBw7JayOu/fduqWZCmDyrUVW4f4n1I="}]},"_npmUser":{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"},"directories":{},"maintainers":[{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cfn-template-builder_0.4.0_1711704939879_0.26956566152611083"},"_hasShrinkwrap":false},"0.4.1":{"name":"@awboost/cfn-template-builder","version":"0.4.1","type":"module","description":"Zero-dependency package for building AWS CloudFormation Templates","repository":{"type":"git","url":"git+https://github.com/awboost/cfn-template-builder.git"},"publishConfig":{"access":"public"},"license":"MIT","author":{"name":"Gordon Leigh"},"scripts":{"build":"npm run clean && npm run compile && npm run test && npm run lint","clean":"rm -rf lib/ *.tsbuildinfo","compile":"tsc","coverage":"c8 --src src/ --all -r text -r lcovonly node --import=@swc-node/register/esm-register --test-reporter=dot --test 'src/**/*.test.ts'","lint":"eslint src/ --ext=ts","preversion":"npm run build","test":"node --enable-source-maps --import=@swc-node/register/esm-register --test 'src/**/*.test.ts'","watch:compile":"tsc --watch --incremental","watch:test":"node --enable-source-maps --watch --import=@swc-node/register/esm-register --test 'src/**/*.test.ts'"},"exports":{"./template/*":{"types":"./lib/template/*.d.ts","default":"./lib/template/*.js"},"./util/*":{"types":"./lib/util/*.d.ts","default":"./lib/util/*.js"},"./builder":{"types":"./lib/builder.d.ts","default":"./lib/builder.js"},"./compatibility":{"types":"./lib/compatibility.d.ts","default":"./lib/compatibility.js"},"./emitter":{"types":"./lib/emitter.d.ts","default":"./lib/emitter.js"},"./intrinsics":{"types":"./lib/intrinsics.d.ts","default":"./lib/intrinsics.js"},"./policy":{"types":"./lib/policy.d.ts","default":"./lib/policy.js"},"./pseudo":{"types":"./lib/pseudo.d.ts","default":"./lib/pseudo.js"},"./stack":{"types":"./lib/stack.d.ts","default":"./lib/stack.js"},"./template":{"types":"./lib/template.d.ts","default":"./lib/template.js"}},"devDependencies":{"@swc-node/register":"^1.9.0","@types/node":"^18.18.13","@types/ssri":"^7.1.5","@typescript-eslint/eslint-plugin":"^6.13.1","@typescript-eslint/parser":"^6.13.1","c8":"^9.1.0","eslint":"^8.54.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","prettier":"^3.1.0","typescript":"^5.3.2"},"dependencies":{"ssri":"^10.0.5"},"_id":"@awboost/cfn-template-builder@0.4.1","gitHead":"e83dd0fd90c7a2f0f608fa7fbf51956cc9743356","bugs":{"url":"https://github.com/awboost/cfn-template-builder/issues"},"homepage":"https://github.com/awboost/cfn-template-builder#readme","_nodeVersion":"21.7.1","_npmVersion":"10.5.0","dist":{"integrity":"sha512-vto5W7lTMAnnqoC23i51+/DqdvHjaVkFO0yx7YoXOvmrgwZWJtynVD8rlJnVHbGEiqqMODq0AZ+ywW6E/zx4Ow==","shasum":"7a3224cedad0dbac1c2c07bb41b2ca5c6b3be334","tarball":"https://registry.npmjs.org/@awboost/cfn-template-builder/-/cfn-template-builder-0.4.1.tgz","fileCount":127,"unpackedSize":368867,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFG1Dl2tzElr0pHK9skWd3Jm89CaU7mbJ+V4T+9nzQ9WAiBuJJR15HsMOtCFeDsXieCSNR6XZfjm/FGvqZXmgKP+Kw=="}]},"_npmUser":{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"},"directories":{},"maintainers":[{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cfn-template-builder_0.4.1_1711823537010_0.7912850673403606"},"_hasShrinkwrap":false},"0.4.2":{"name":"@awboost/cfn-template-builder","version":"0.4.2","type":"module","description":"Zero-dependency package for building AWS CloudFormation Templates","repository":{"type":"git","url":"git+https://github.com/awboost/cfn-template-builder.git"},"publishConfig":{"access":"public"},"license":"MIT","author":{"name":"Gordon Leigh"},"scripts":{"build":"npm run clean && npm run compile && npm run test && npm run lint","clean":"rm -rf lib/ *.tsbuildinfo","compile":"tsc","coverage":"c8 --src src/ --all -r text -r lcovonly node --import=@swc-node/register/esm-register --test-reporter=dot --test 'src/**/*.test.ts'","lint":"eslint src/ --ext=ts","preversion":"npm run build","test":"node --enable-source-maps --import=@swc-node/register/esm-register --test 'src/**/*.test.ts'","watch:compile":"tsc --watch --incremental","watch:test":"node --enable-source-maps --watch --import=@swc-node/register/esm-register --test 'src/**/*.test.ts'"},"exports":{"./template/*":{"types":"./lib/template/*.d.ts","default":"./lib/template/*.js"},"./util/*":{"types":"./lib/util/*.d.ts","default":"./lib/util/*.js"},"./builder":{"types":"./lib/builder.d.ts","default":"./lib/builder.js"},"./compatibility":{"types":"./lib/compatibility.d.ts","default":"./lib/compatibility.js"},"./emitter":{"types":"./lib/emitter.d.ts","default":"./lib/emitter.js"},"./intrinsics":{"types":"./lib/intrinsics.d.ts","default":"./lib/intrinsics.js"},"./policy":{"types":"./lib/policy.d.ts","default":"./lib/policy.js"},"./pseudo":{"types":"./lib/pseudo.d.ts","default":"./lib/pseudo.js"},"./stack":{"types":"./lib/stack.d.ts","default":"./lib/stack.js"},"./template":{"types":"./lib/template.d.ts","default":"./lib/template.js"}},"devDependencies":{"@swc-node/register":"^1.9.0","@types/node":"^18.18.13","@types/ssri":"^7.1.5","@typescript-eslint/eslint-plugin":"^6.13.1","@typescript-eslint/parser":"^6.13.1","c8":"^9.1.0","eslint":"^8.54.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","prettier":"^3.1.0","typescript":"^5.3.2"},"dependencies":{"ssri":"^10.0.5"},"_id":"@awboost/cfn-template-builder@0.4.2","gitHead":"1261f4dd1247e30ca7f53be9e6d658cd48d0463f","bugs":{"url":"https://github.com/awboost/cfn-template-builder/issues"},"homepage":"https://github.com/awboost/cfn-template-builder#readme","_nodeVersion":"21.7.1","_npmVersion":"10.5.0","dist":{"integrity":"sha512-0KXgbS84KCAJAQPvH44ZXDw9T9oW1aIAYZkNej1eB0ICajSjWPrApGFXc+azekMOwr+ajPivL/izEee4YBuIAA==","shasum":"9a0a4e81ced6e2aeb26d29fa00e470c5aa05e3d3","tarball":"https://registry.npmjs.org/@awboost/cfn-template-builder/-/cfn-template-builder-0.4.2.tgz","fileCount":127,"unpackedSize":369470,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGk9T7N5cPqB9nDbbe8r/bAEhGFz4tyPHIXoZ9IeZa75AiAIig4Yr+x1ukwf7Ew5oc5gaCrI7BOp5L6J5v/ZufroBw=="}]},"_npmUser":{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"},"directories":{},"maintainers":[{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cfn-template-builder_0.4.2_1711893233133_0.5870393405964398"},"_hasShrinkwrap":false},"0.4.3":{"name":"@awboost/cfn-template-builder","version":"0.4.3","engines":{"node":">=18.0.0"},"type":"module","description":"Zero-dependency package for building AWS CloudFormation Templates","repository":{"type":"git","url":"git+https://github.com/awboost/cfn-template-builder.git"},"publishConfig":{"access":"public"},"license":"MIT","author":{"name":"Gordon Leigh"},"scripts":{"build":"npm run clean && npm run compile && npm run test && npm run lint","clean":"rm -rf lib/ *.tsbuildinfo","compile":"tsc","coverage":"c8 --src src/ --all -r text -r lcovonly node --import=@swc-node/register/esm-register --test-reporter=dot --test 'src/**/*.test.ts'","lint":"eslint 'src/**/*.ts'","preversion":"npm run build","test":"node --enable-source-maps --import=@swc-node/register/esm-register --test 'src/**/*.test.ts'","watch:compile":"tsc --watch --incremental","watch:test":"node --enable-source-maps --watch --import=@swc-node/register/esm-register --test 'src/**/*.test.ts'"},"exports":{"./template/*":{"types":"./lib/template/*.d.ts","default":"./lib/template/*.js"},"./util/*":{"types":"./lib/util/*.d.ts","default":"./lib/util/*.js"},"./builder":{"types":"./lib/builder.d.ts","default":"./lib/builder.js"},"./compatibility":{"types":"./lib/compatibility.d.ts","default":"./lib/compatibility.js"},"./emitter":{"types":"./lib/emitter.d.ts","default":"./lib/emitter.js"},"./intrinsics":{"types":"./lib/intrinsics.d.ts","default":"./lib/intrinsics.js"},"./policy":{"types":"./lib/policy.d.ts","default":"./lib/policy.js"},"./pseudo":{"types":"./lib/pseudo.d.ts","default":"./lib/pseudo.js"},"./stack":{"types":"./lib/stack.d.ts","default":"./lib/stack.js"},"./template":{"types":"./lib/template.d.ts","default":"./lib/template.js"}},"devDependencies":{"@awboost/eslint-config":"^0.1.0","@swc-node/register":"^1.9.0","@types/node":"^18.18.13","@types/ssri":"^7.1.5","c8":"^9.1.0","eslint":"^8.57.0","prettier":"^3.1.0"},"dependencies":{"ssri":"^10.0.5"},"_id":"@awboost/cfn-template-builder@0.4.3","gitHead":"5b97ecfb5d7fdb87a4af8f18f29552b4a892145c","bugs":{"url":"https://github.com/awboost/cfn-template-builder/issues"},"homepage":"https://github.com/awboost/cfn-template-builder#readme","_nodeVersion":"21.7.1","_npmVersion":"10.5.0","dist":{"integrity":"sha512-zLmE/j+atg1p8hU9PIw8kTLcV24aHqw+NSJgYUsW1Dj0d8J8s+apNqFuxHBDAu1tM3WM8GH+G/A22AyjpO2/dA==","shasum":"b20cae67349c2cdf11d11b5769a1a37f2c875c3a","tarball":"https://registry.npmjs.org/@awboost/cfn-template-builder/-/cfn-template-builder-0.4.3.tgz","fileCount":127,"unpackedSize":370210,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC73OAOHEv7DCT4K5pS/lZKSL+YdCZJ4gygsyGTaJgUtAIgGPbuJl8hATtPwEZHBqmAhfdOINQAlQYEuTd5PfNHN9g="}]},"_npmUser":{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"},"directories":{},"maintainers":[{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cfn-template-builder_0.4.3_1714151897842_0.6666182607677724"},"_hasShrinkwrap":false}},"time":{"created":"2023-12-24T15:28:39.020Z","0.1.0":"2023-12-24T15:28:39.484Z","modified":"2024-04-26T17:18:18.277Z","0.1.1":"2023-12-24T17:28:42.763Z","0.2.0":"2023-12-30T19:40:20.532Z","0.3.0":"2024-01-20T18:48:49.283Z","0.3.1":"2024-01-26T19:36:01.086Z","0.3.2":"2024-01-28T18:31:15.638Z","0.3.3":"2024-01-28T18:51:55.138Z","0.3.4":"2024-02-13T08:04:20.779Z","0.3.5":"2024-02-13T20:37:40.746Z","0.4.0":"2024-03-29T09:35:40.024Z","0.4.1":"2024-03-30T18:32:17.205Z","0.4.2":"2024-03-31T13:53:53.309Z","0.4.3":"2024-04-26T17:18:18.048Z"},"maintainers":[{"name":"gordonmleigh","email":"gordonmleigh@gmail.com"}],"description":"Zero-dependency package for building AWS CloudFormation Templates","homepage":"https://github.com/awboost/cfn-template-builder#readme","repository":{"type":"git","url":"git+https://github.com/awboost/cfn-template-builder.git"},"author":{"name":"Gordon Leigh"},"bugs":{"url":"https://github.com/awboost/cfn-template-builder/issues"},"license":"MIT","readme":"# @awboost/cfn-template-builder\n\nZero-dependency package for building [AWS CloudFormation Templates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-formats.html).\n\n## Raw Template Types\n\nTypeScript types are available for the plain [AWS CloudFormation Template](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-formats.html) by importing from `@awboost/cfn-template-builder/template`. For performance reasons (there are thousands of resource types), the resource properties are not strongly typed. Strong types for resources are available from [`@awboost/cfn-resource-types`](https://www.npmjs.com/package/@awboost/cfn-resource-types).\n\n```typescript\nimport { Template } from \"@awboost/cfn-template-builder/template\";\n\nconst template: Template = {\n  Resources: {\n    MyFunction: {\n      // resource types are not strongly typed here\n      Type: \"AWS::Lambda::Function\",\n      Properties: {\n        Code: {\n          S3Bucket: \"my-bucket\",\n          S3Key: \"code\",\n        },\n        Role: \"arn:etc:...:...\",\n      },\n    },\n  },\n};\n```\n\n## Building a Stack\n\nA template can be constructed by combining one or more template items using the `Stack` class:\n\n```typescript\nimport { Stack } from \"@awboost/cfn-template-builder/stack\";\nimport { Parameter } from \"@awboost/cfn-template-builder/template/Parameter\";\nimport { LambdaFunction } from \"@awboost/cfn-resource-types/AWS-Lambda-Function\";\n\nconst stack = new Stack();\n\nconst bucketParam = stack.use(new Parameter(\"CodeBucket\", \"String\"));\nconst objectParam = stack.use(new Parameter(\"CodeKey\", \"String\"));\n\nconst lambda = stack.use(\n  new LambdaFunction(\"MyFunction\", {\n    // properties have accurate types now\n    Code: {\n      S3Bucket: bucketParam.ref,\n      S3Key: objectParam.ref,\n    },\n    Role: \"arn:etc:...:...\",\n  }),\n);\n\n// now write the JSON template to the given path\nconst emitter = new FileSystemAssetEmitter({\n  outputDirectory: \"/path/to/output\",\n});\n\nawait stack.build(emitter, { templateFileName: \"template.json\" });\n```\n\n## Using Assets\n\nAdditional files can be used by the stack by using the `Asset` class. These will automatically be output alongside the template when the stack is emitted.\n\n```typescript\nimport { Stack } from \"@awboost/cfn-template-builder/stack\";\nimport { Asset } from \"@awboost/cfn-template-builder/template/Asset\";\nimport { LambdaFunction } from \"@awboost/cfn-resource-types/AWS-Lambda-Function\";\n\nconst stack = new Stack();\n\nconst codeAsset = Asset.fromFile(\"LambdaCode\", \"my-code.zip\");\n\nconst lambda = stack.use(\n  new LambdaFunction(\"MyFunction\", {\n    // properties have accurate types now\n    Code: codeAsset.ref,\n    Role: \"arn:etc:...:...\",\n  }),\n);\n```\n\n## Intrinsic Functions and Pseudo Parameters\n\n[Intrinsic Functions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference.html) and [Pseudo Parameters](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html) are available via `Fn` and `AwsParam` classes respectively.\n\nAdditionally the `Fn` class has a `join$` method which can construct a value via a [tagged template](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#tagged_templates) string. This uses the [`Fn::Join` function](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-join.html) under the hood to construct a string from the input.\n\n```typescript\nimport { Fn } from \"@awboost/cfn-template-builder/intrinsics\";\nimport { AwsParam } from \"@awboost/cfn-template-builder/pseudo\";\nimport { Template } from \"@awboost/cfn-template-builder/template\";\n\nconst template: Template = {\n  Parameters: {\n    CodeBucket: { Type: \"String\" },\n    CodeObject: { Type: \"String\" },\n  },\n  Resources: {\n    MyFunction: {\n      Type: \"AWS::Lambda::Function\",\n      Properties: {\n        Code: {\n          S3Bucket: Fn.ref(\"CodeBucket\"),\n          S3Key: Fn.ref(\"CodeObject\"),\n        },\n        Role: \"arn:etc:...:...\",\n        FunctionName: Fn.join$`${AwsParam.StackName}-MyFunction`,\n      },\n    },\n  },\n};\n```\n\nHere the `Fn.join$` call is equivalent to:\n\n```typescript\nFn.join(\"\", [AwsParam.StackName, \"-MyFunction\"]);\n```\n\nThis ultimately outputs the following JSON in the template:\n\n```json\n{\n  \"Fn::Join\": [\"\", [{ \"Ref\": \"AWS::StackName\" }, \"-MyFunction\"]]\n}\n```\n","readmeFilename":"README.md"}