{"_id":"destroyable-bucket","_rev":"31-5a76b73344bd47e4c7285bbe6aadd0db","time":{"0.9.0-RC":"2019-10-14T22:03:29.282Z","created":"2019-10-15T22:14:18.939Z","1.13.0":"2019-10-15T22:14:19.124Z","modified":"2022-09-15T16:26:54.479Z","1.13.1":"2019-10-16T16:20:15.969Z","1.13.2":"2019-10-16T16:25:47.080Z","1.15.0":"2019-10-28T16:22:24.726Z","1.70.0-pre":"2020-10-29T00:04:21.802Z","1.70.0-pre2":"2020-10-29T16:06:11.817Z","1.70.0-pre3":"2020-10-29T16:17:28.783Z","1.70.0-pre4":"2020-10-29T16:36:34.179Z","1.70.0-pre5":"2020-10-29T16:58:52.381Z","1.70.0":"2020-10-29T17:28:37.264Z","1.70.1-pre":"2020-10-29T18:25:46.827Z","1.70.1-pre2":"2020-10-29T21:55:51.410Z","1.70.1":"2020-10-29T23:03:23.455Z","1.72.0-pre":"2020-11-06T18:30:20.745Z","1.72.0-pre2":"2020-11-06T19:13:08.533Z","1.72.0-pre3":"2020-11-06T22:10:29.617Z","1.72.0-pre4":"2020-11-08T18:45:49.883Z","1.72.0-pre5":"2020-11-08T19:23:39.472Z","1.72.0-pre6":"2020-11-08T20:24:41.195Z","1.72.0":"2020-11-08T21:14:28.040Z"},"name":"destroyable-bucket","dist-tags":{"latest":"1.72.0","next":"1.72.0-pre6"},"versions":{"1.13.0":{"name":"destroyable-bucket","version":"1.13.0","description":"Construct that allows the CDK to destroy a non-empty bucket when employing the `cdk destroy` command. This is accomplised by emptying the bucket before destroying it.","main":"dist/src/resource/destroyable-bucket.js","types":"dist/src/resource/destroyable-bucket.d.ts","keywords":["aws","s3","cloudformation","bucket","delete","destroy","cdk","construct","non-empty"],"homepage":"https://github.com/mobileposse/auto-delete-bucket","scripts":{"test":"jest --silent","local:create":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/create.json","local:delete":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/delete.json","bump:patch":"npm version patch -m 'Bump version'","bump:minor":"npm version minor -m 'Bump version'","bump:major":"npm version major -m 'Bump version'","build":"tsc && webpack","cdk":"npm compile && cdk","cdk:list":"npm compile && cdk list","cdk:synth":"npm compile && cdk synth","cdk:deploy":"npm compile && cdk deploy","cdk:destroy":"npm compile && cdk destroy","cdk:version":"npm compile && cdk --version"},"author":{"name":"Eric Rushing"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/mobileposse/auto-delete-bucket.git"},"dependencies":{"aws-sdk":"^2.550.0","axios":"^0.19.0"},"devDependencies":{"@aws-cdk/aws-cloudformation":"^1.13.0","@aws-cdk/aws-lambda":"^1.13.0","@aws-cdk/aws-s3":"^1.13.0","@aws-cdk/core":"^1.13.0","@types/jest":"^24.0.11","@types/node":"^11.12.2","@types/uuid":"^3.4.4","aws-cdk":"^1.13.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.5","babel-plugin-transform-async-generator-functions":"^6.24.1","babel-preset-env":"^1.7.0","eslint":"^5.16.0","eslint-plugin-jest":"^22.4.1","jest":"^24.6.0","lambda-local":"^1.5.2","node-fixtures":"^0.0.1","typescript":"^3.4.2","webpack":"^4.41.2","webpack-cli":"^3.3.0","webpack-node-externals":"^1.7.2"},"prettier":{"semi":false,"singleQuote":true},"eslintConfig":{"parser":"babel-eslint","plugins":["jest"],"env":{"es6":true,"node":true},"extends":["eslint:recommended","plugin:jest/recommended"],"parserOptions":{"sourceType":"module"},"rules":{"no-console":0,"semi":[2,"never"]}},"gitHead":"449c96068c94765e80abfb1e08c475d31b3fa21b","bugs":{"url":"https://github.com/mobileposse/auto-delete-bucket/issues"},"_id":"destroyable-bucket@1.13.0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-ftY2ydPzxRN06Sq+2E/f2TLk65Eme6b37iftI7GAhQSCFFmuOK4C6/vsJWC1CoegMtHlZXl+k1lrCkI7wQLbLA==","shasum":"25ba50c88f19d04fc7df9790ceb4b0e43475b5e9","tarball":"https://registry.npmjs.org/destroyable-bucket/-/destroyable-bucket-1.13.0.tgz","fileCount":12,"unpackedSize":2178075,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpkS7CRA9TVsSAnZWagAA3k8P/1QibpFJAIoO6WiunmTY\nR7hTSDNvb4C6TRiIMh/1FgV5EVPW4K1VfPZf/3IlNucuSrqG8h4WrAhmdaul\nR5X9R/hHD9RxmlT0CV6H7bTxL5YFt+BGGKkCQqbVAsEqbrDVEdgdCfhi2j34\nOD+zKdV9ph6pLPQqcIZssdA3ltyeDcGn5wcQZUUc8B+i5XklwnTVvPLvnE7E\nxQhdGJk6qEExmgr2AqoBf8HyXJ9CztfvOXDDROIJCviKjvQg+3ebjSlxi4y1\nW7/vyaBkclgSRK9LsbJN8l1qf0XAGLxAybkDNCdMBFaN547PJGrd72rBVERx\nLxWzEKlkhzmPKYV8O6Ko57aaqu4ofH5rswKeae0osrBcSmKWLKkL89c9nEoN\nyx+AnsMNQpaEAtRQ0XpPgnm11TEmraKVFSGiFlOW0mmLcHF+tSoC083gVdyi\nWgPMigdVcNWcdHtHm6intLGE6LK0Aj+aJRstIF9mX/0bMhRFiHOtF0dX3W5A\nCtAYyl3ZpGUoIF2/RfANrQUKCwwc+ksm19T1pPm2CGgdzMLyFAMBsJPARwSx\nyMJeBtkwG8TGuM35ev4YbMD3uw/PgW/4A6KeqMLarpVwVlP3k/5fMYTT2AvU\n6jW5pdKhPq/fcVP62SLqEUhxKJAedtHYPdp4pQY0OIyVyGmAcmcI6KF5zVbW\nG3zo\r\n=AfFL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCswTOFnnSRouoghrBbOWElfAUhDhfX4EYum4ib3mOwXAIgEC4FMfJZ/jTQkaljf640flyG8FI7qMve2HEb4nR22qk="}]},"maintainers":[{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"}],"_npmUser":{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/destroyable-bucket_1.13.0_1571177658943_0.6524478360254176"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.13.1":{"name":"destroyable-bucket","version":"1.13.1","description":"Construct that allows the CDK to destroy a non-empty bucket when employing the `cdk destroy` command. This is accomplised by emptying the bucket before destroying it.","main":"dist/src/resource/destroyable-bucket.js","types":"dist/src/resource/destroyable-bucket.d.ts","keywords":["aws","s3","cloudformation","bucket","delete","destroy","cdk","construct","non-empty"],"homepage":"https://github.com/NightWatchman/destroyable-bucket","scripts":{"test":"jest --silent","local:create":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/create.json","local:delete":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/delete.json","bump:patch":"npm version patch -m 'Bump version'","bump:minor":"npm version minor -m 'Bump version'","bump:major":"npm version major -m 'Bump version'","build":"tsc && webpack","cdk":"npm compile && cdk","cdk:list":"npm compile && cdk list","cdk:synth":"npm compile && cdk synth","cdk:deploy":"npm compile && cdk deploy","cdk:destroy":"npm compile && cdk destroy","cdk:version":"npm compile && cdk --version"},"author":{"name":"Eric Rushing"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/NightWatchman/destroyable-bucket.git"},"dependencies":{"aws-sdk":"^2.550.0","axios":"^0.19.0"},"devDependencies":{"@aws-cdk/aws-cloudformation":"^1.13.0","@aws-cdk/aws-lambda":"^1.13.0","@aws-cdk/aws-s3":"^1.13.0","@aws-cdk/core":"^1.13.0","@types/jest":"^24.0.11","@types/node":"^11.12.2","@types/uuid":"^3.4.4","aws-cdk":"^1.13.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.5","babel-plugin-transform-async-generator-functions":"^6.24.1","babel-preset-env":"^1.7.0","eslint":"^5.16.0","eslint-plugin-jest":"^22.4.1","jest":"^24.6.0","lambda-local":"^1.5.2","node-fixtures":"^0.0.1","typescript":"^3.4.2","webpack":"^4.41.2","webpack-cli":"^3.3.0","webpack-node-externals":"^1.7.2"},"prettier":{"semi":false,"singleQuote":true},"eslintConfig":{"parser":"babel-eslint","plugins":["jest"],"env":{"es6":true,"node":true},"extends":["eslint:recommended","plugin:jest/recommended"],"parserOptions":{"sourceType":"module"},"rules":{"no-console":0,"semi":[2,"never"]}},"gitHead":"62df36c518e3830a815e841c345e5b025cad523e","bugs":{"url":"https://github.com/NightWatchman/destroyable-bucket/issues"},"_id":"destroyable-bucket@1.13.1","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-ImxNlYKuWCXGxzbnN++XwVVJiAtMUzU4U7xPl0EbzML9J43Qm0qwwTNriQrYrH4V5slOWeih75D/W4wqZp7dlA==","shasum":"115b43ec56dce443139300b472e3104507d9e7ed","tarball":"https://registry.npmjs.org/destroyable-bucket/-/destroyable-bucket-1.13.1.tgz","fileCount":12,"unpackedSize":2178093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdp0NACRA9TVsSAnZWagAAkpYP/i7pgwtqR6BMV+6Z6A31\nTuDa4RdetSZPxtO8kWVHO7jckNcpV4k+1BLoWIYsrTl2ePlIvQP40uKIOPBk\nnxFB3QmKR5P4jmS3p/V7d14zFHy6/9aj8hAD9yfZASdFxHmIaLl/e5A6F+jV\nRSW+L/kFC+JOw0bsQK3ZZxmdD0sdAtRjEDDoFGmsyHX8JgTVccqa3p7EzqNg\niEk+IlFdHZphCI7XNSqnQlomNToEfSEv9OGzSPfKhf6GXhl/gshDCBwTUlip\nt9gg+bM5GOdMw+UZqYn1t4HJPYzOdYql97rMIHP6IjZ/ZR6jSKTMdg/cwziB\nJ3Rai018zdA5fybZ9wAeC3kiE87LNY983AvzkQqze9ljliy6I8m7g9KnTBn+\ncr7DilwViSXPbsm7GTxlKu966B/WCXn8Efb7Lhd9nLmYEwNfxG54VQ6EJIet\nj/inKHYLRYKrGeMKtuTSjlupSrzqp/xlSfPJzhLEW7AosdxRtHWWZOjoHApO\nTJgH6Ud9SSjia63zGW8o1EVR62vhzFZnL1KX0EC7gACEi55CQ7MkZ0nQHBEv\n002DSjK17mrBiwNSmHQfJ7JAzin8/mAVGCVrfM477V4NsjcA8eQyYEBHS3DX\nfkc/OAqxwFMoD9Fr3u7onJsO1AWWIzzvzKgVf36MZdTitcpITgLQrG9G1NEm\n1nOg\r\n=TvCQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDwUY7yZmkXQtFp8ROXeCVP+YFT06sakLWA8YLmeAGKmAiEApUpYDKeIw1uZ0xxuRjWnbcD1TnuM9Fr0LlULqoMvV68="}]},"maintainers":[{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"}],"_npmUser":{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/destroyable-bucket_1.13.1_1571242815711_0.7885343951247741"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.13.2":{"name":"destroyable-bucket","version":"1.13.2","description":"Construct that allows the CDK to destroy a non-empty bucket when employing the `cdk destroy` command. This is accomplised by emptying the bucket before destroying it.","main":"dist/src/resource/destroyable-bucket.js","types":"dist/src/resource/destroyable-bucket.d.ts","keywords":["aws","s3","cloudformation","bucket","delete","destroy","cdk","construct","non-empty"],"homepage":"https://github.com/NightWatchman/destroyable-bucket","scripts":{"test":"jest --silent","local:create":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/create.json","local:delete":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/delete.json","bump:patch":"npm version patch -m 'Bump version'","bump:minor":"npm version minor -m 'Bump version'","bump:major":"npm version major -m 'Bump version'","build":"tsc && webpack","cdk":"npm compile && cdk","cdk:list":"npm compile && cdk list","cdk:synth":"npm compile && cdk synth","cdk:deploy":"npm compile && cdk deploy","cdk:destroy":"npm compile && cdk destroy","cdk:version":"npm compile && cdk --version"},"author":{"name":"Eric Rushing"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/NightWatchman/destroyable-bucket.git"},"dependencies":{"aws-sdk":"^2.550.0","axios":"^0.19.0"},"devDependencies":{"@aws-cdk/aws-cloudformation":"^1.13.0","@aws-cdk/aws-lambda":"^1.13.0","@aws-cdk/aws-s3":"^1.13.0","@aws-cdk/core":"^1.13.0","@types/jest":"^24.0.11","@types/node":"^11.12.2","@types/uuid":"^3.4.4","aws-cdk":"^1.13.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.5","babel-plugin-transform-async-generator-functions":"^6.24.1","babel-preset-env":"^1.7.0","eslint":"^5.16.0","eslint-plugin-jest":"^22.4.1","jest":"^24.6.0","lambda-local":"^1.5.2","node-fixtures":"^0.0.1","typescript":"^3.4.2","webpack":"^4.41.2","webpack-cli":"^3.3.0","webpack-node-externals":"^1.7.2"},"prettier":{"semi":false,"singleQuote":true},"eslintConfig":{"parser":"babel-eslint","plugins":["jest"],"env":{"es6":true,"node":true},"extends":["eslint:recommended","plugin:jest/recommended"],"parserOptions":{"sourceType":"module"},"rules":{"no-console":0,"semi":[2,"never"]}},"gitHead":"bdeb639fef974eecb1171ed095e288ab5e56c9e2","bugs":{"url":"https://github.com/NightWatchman/destroyable-bucket/issues"},"_id":"destroyable-bucket@1.13.2","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-Ww/fiPDpo0qDM5qpWyhE5eGiwzBrI5RrPC4jyTrduupiBo0/DzqNMzi4hnkBSCSIVc4+m6yg4hYKkLgMmUUWnA==","shasum":"e6c9185d25e06205b3c692305214752faac8fb7b","tarball":"https://registry.npmjs.org/destroyable-bucket/-/destroyable-bucket-1.13.2.tgz","fileCount":12,"unpackedSize":2177963,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdp0SLCRA9TVsSAnZWagAAbSYQAJPUtc5/Q100kYzEm56i\nj0LyI8JZeIQVcsOW2olkeYt/n8lmmSJEVmBWh+226OZQobgcHPYGS7fbG6xL\nNAgTk04ryyjNagslMLHX2objeNoQWvwDCuhSNeAyiBCqoATtd7mVhKjKWRmF\n9cATfyKcK+Iem2ye+fR4bl4l/D9A49esDRZg6YzYuBxdjGDZOqLSiz6T8mHG\n0tx5AcKG9HqXo8aU/v894j2cEHZ1BcrfgDvI8WVpCzskens7o1bcC+vlSg3S\nXPWq5y3x1n5EJwOxc08QOW12ZgcwbxDvY6S3AjR1YHwpAQcY30ZSQ1BB4ZDT\nGyy4SZQ1WYTfZ9cs9f+cjytE52Z51wqDw2S4qrsvFJmt6Do040hHPDl6tzog\nssuChH+DPf318qxoR3i2jH0yaViSMP8BpQ7g9kRQ/s8mzcr6G9DpWb5ICGC3\nhi5xLNBkXTog/yuYKWS8/oIHEkRrL6ZSctFwYxQ9JUU+kBvH8kypLVX0lxul\nozRrs/BzLaFKCBbIS2vsGDtuU1pQSnwSYPcbdV3c2WLvEokR8c8kLhXWnvXI\nSj+6lF6QN+ce6v3mfjGMQCNj94jBwEYehxpuXZTqFJEPiVTPULcjWkXPbbIf\nK0Ipi3mm0LmbXGBzVO+VOZZLpkqThjHhdZX5+EFrzWxS8ELlJgTeYyzis94Q\ns3ng\r\n=5tC+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAnaYevzCaZurJh8yU5Ou/RqHae+pADK4kVZp5YW51xCAiBeIDZUXFpDBjIyA82yeePfjDcbis3ey5brHl6K+LXl3Q=="}]},"maintainers":[{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"}],"_npmUser":{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/destroyable-bucket_1.13.2_1571243146906_0.3306735549027162"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.15.0":{"name":"destroyable-bucket","version":"1.15.0","description":"Construct that allows the CDK to destroy a non-empty bucket when employing the `cdk destroy` command. This is accomplised by emptying the bucket before destroying it.","main":"dist/src/resource/destroyable-bucket.js","types":"dist/src/resource/destroyable-bucket.d.ts","keywords":["aws","s3","cloudformation","bucket","delete","destroy","cdk","construct","non-empty"],"homepage":"https://github.com/NightWatchman/destroyable-bucket","scripts":{"test":"jest --silent","local:create":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/create.json","local:delete":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/delete.json","bump:patch":"npm version patch -m 'Version %s'","bump:minor":"npm version minor -m 'Version %s'","bump:major":"npm version major -m 'Version %s'","build":"tsc && webpack","cdk":"npm compile && cdk","cdk:list":"npm compile && cdk list","cdk:synth":"npm compile && cdk synth","cdk:deploy":"npm compile && cdk deploy","cdk:destroy":"npm compile && cdk destroy","cdk:version":"npm compile && cdk --version"},"author":{"name":"Eric Rushing"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/NightWatchman/destroyable-bucket.git"},"dependencies":{"aws-sdk":"^2.556.0","axios":"^0.19.0"},"devDependencies":{"@aws-cdk/aws-cloudformation":"^1.15.0","@aws-cdk/aws-lambda":"^1.15.0","@aws-cdk/aws-s3":"^1.15.0","@aws-cdk/core":"^1.15.0","@types/jest":"^24.0.20","@types/node":"^10.17.0","@types/uuid":"^3.4.4","aws-cdk":"^1.15.0","babel-loader":"^8.0.5","babel-plugin-transform-async-generator-functions":"^6.24.1","babel-preset-env":"^1.7.0","eslint":"^6.6.0","eslint-plugin-jest":"^23.0.1","jest":"^24.6.0","lambda-local":"^1.5.2","node-fixtures":"^0.0.1","typescript":"^3.4.2","webpack":"^4.41.2","webpack-cli":"^3.3.0"},"prettier":{"semi":false,"singleQuote":true},"eslintConfig":{"parser":"babel-eslint","plugins":["jest"],"env":{"es6":true,"node":true},"extends":["eslint:recommended","plugin:jest/recommended"],"parserOptions":{"sourceType":"module"},"rules":{"no-console":0,"semi":[2,"never"]}},"gitHead":"49b460fd7f7fdf134548770e502c11a8dd3c4bc5","bugs":{"url":"https://github.com/NightWatchman/destroyable-bucket/issues"},"_id":"destroyable-bucket@1.15.0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-yeALpTCC5kFBPXZnxp9JPXtnxLjj/tBICUBCvfg3uic2jZ8eiHPHCJ8OfJHhfT5TIgwOP6vp7f1Ym+mNcrQldg==","shasum":"cb79fcbed9c2a1b9b9435d2ac5828dfb5dfb9553","tarball":"https://registry.npmjs.org/destroyable-bucket/-/destroyable-bucket-1.15.0.tgz","fileCount":12,"unpackedSize":2181513,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdtxXBCRA9TVsSAnZWagAABmcP/i7TK2ZhzGMIYAWKO7DU\nSPwPDS7P/+xeyo/QNFkzlu+mBYev0oBW2NpZ7GKpZb/hhXAhntbqHHvHN6kG\nGQf8clTGEmsQIvOX54T/6Lmell3EHG7S90/NSvIAzjotllEEKeAVvo8HZCjb\nfFnUTmJpofROG/c9XugBLfQpnpm85tnGsB7Ds/ek401X64Puy8DzaMfCAHrD\njntY/7w9JjrarZ43dZc0yLYl0j7vD+JwFExWtur7SjFh9NA22WuO1dUN/nQq\nCi2vuoQ06yonwtIKmkyooF48UcPNe88eJWHKDLlgVfbjCu9TvAP3q9dAKqRl\nzi59XpdNuyFcWu7m75lWzC5ZTpqBEhLFXDjnxuiarZVB2ZZ65KasBI/pWpNF\nMz8N8f8uEwgHJm+76cZ/sOPe5y+VNgeYAqwo+jaRBp+RX/zuw/YT2r4G/GUe\nzTlEI5se4WP8MHJnadLYqBUG+7FswhdGnTo4HGP5WOxQ7AUOsqOowM5ryGK2\ncNVVEUr8YK6NHKggLKCvSrKsnCQFF9z8EhXHMFDhAI1+5QA2iFGiLSgr+dsv\n716dRHiqYRuncwNNSQM+oasY1KeLAImZjwp1Jkf3IzPDW8CkLevLsHlU3y9W\nikF9xUhkXprgwMEZ7o5zaJp8IecV9DzTH+e0nlrTPBjClts87s+mhfHZLPNL\nxeMq\r\n=Ye9U\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDC9pTEAmlQQXOVctdGaO+FOGYsIUKsNeWI4cpdcBi1YAiB3Pn4jcYW/MdqGOQH0CiZx4cVHPcbERl5foc1cTpUALA=="}]},"maintainers":[{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"}],"_npmUser":{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/destroyable-bucket_1.15.0_1572279744467_0.7070646140550763"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.70.1":{"name":"destroyable-bucket","version":"1.70.1","description":"Construct that allows the CDK to destroy a non-empty bucket when employing the `cdk destroy` command. This is accomplised by emptying the bucket before destroying it.","main":"dist/src/resource/destroyable-bucket.js","types":"dist/src/resource/destroyable-bucket.d.ts","keywords":["aws","s3","cloudformation","bucket","delete","destroy","cdk","construct","non-empty"],"homepage":"https://github.com/NightWatchman/destroyable-bucket","scripts":{"test":"jest --silent","local:create":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/create.json","local:delete":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/delete.json","bump:patch":"npm version patch -m 'Version %s'","bump:minor":"npm version minor -m 'Version %s'","bump:major":"npm version major -m 'Version %s'","build":"tsc && webpack","cdk":"npm compile && cdk","cdk:list":"npm compile && cdk list","cdk:synth":"npm compile && cdk synth","cdk:deploy":"npm compile && cdk deploy","cdk:destroy":"npm compile && cdk destroy","cdk:version":"npm compile && cdk --version"},"author":{"name":"Eric Rushing"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/NightWatchman/destroyable-bucket.git"},"dependencies":{"aws-sdk":"^2.781.0"},"devDependencies":{"@aws-cdk/aws-s3":"^1.70.0","@aws-cdk/core":"^1.70.0","@types/jest":"^26.0.15","@types/node":"^12.19.3","aws-cdk":"^1.70.0","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","babel-plugin-transform-async-generator-functions":"^6.24.1","babel-preset-env":"^1.7.0","eslint":"^7.12.1","eslint-plugin-jest":"^24.1.0","jest":"^26.6.1","lambda-local":"^1.7.4","node-fixtures":"^0.0.1","request":"^2.88.2","typescript":"^4.0.5","webpack":"^4.44.2","webpack-cli":"^3.3.12"},"prettier":{"semi":false,"singleQuote":true},"eslintConfig":{"parser":"babel-eslint","plugins":["jest"],"env":{"es6":true,"node":true},"extends":["eslint:recommended","plugin:jest/recommended"],"parserOptions":{"sourceType":"module"},"rules":{"no-console":0,"semi":[2,"never"]}},"_resolved":"","_integrity":"","_from":"file:destroyable-bucket-1.70.1.tgz","bugs":{"url":"https://github.com/NightWatchman/destroyable-bucket/issues"},"_id":"destroyable-bucket@1.70.1","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-BQdgqf/eXChbWnUOnY4i8OAqwPjHStXxgF0uYxNQvU68+KDq/Cj7qTD90WvLzYBOXPnmTUSTQxhze1RVCZ9J4w==","shasum":"22597e4f0677908a5ddc56a7bccadfef2f3a4440","tarball":"https://registry.npmjs.org/destroyable-bucket/-/destroyable-bucket-1.70.1.tgz","fileCount":12,"unpackedSize":5123085,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfm0o7CRA9TVsSAnZWagAAQcEP/2PuOduVPKiXwjRduk7j\nMllsKpHFrjPuIQq5kK+W3WaxMpv4jg4uFD6g1vtUwvDBEdLBNfwwtguwT3KI\n1FTZwbQotAl6lh7NycEls49KS1usJ4aA7RaqfCX/BVS8QbwZY0zUWhmCThWU\nyQtkXQWSpdAaDnsCKUuhIeGzUWdsyhTrrVg8w5qvzI06VbvyPpARx2t2JqM1\ndFIQ5gmrhByIjz4nmFWE9iKJLWKUJxiEFa0FROeeNULnPjvMHWOYO0JG/l/p\ncDo09DXPN10LIxFMSVlsHMqlosuZJK6Q0Sx0bbMyc8cgGOrufFYy3+0m7Xck\ncHhmPfcrS3T8jINSiSajNU+EkC/UcW+KDxY514iKgRdvjCNvaaYtQYSm0dSW\nEr2vmq9NqZJFmkBKAW8MFJbNBbPzkHEVJW8iOqecTvH5vkyLcmahIau6kPC+\nI89K7OxPnSCQBqBXpxC7uXCZyLRxFv9GjbPg7s8iomcdvedJkLwK673l6Vhh\n2AvRxFmOHU7Iy8Nn/GXzPE6ubVzrqtV4YiAOzRHH5ZARd6x2P4xoR+uf5zk6\n85QBFrGcJDl3L4xA2TMiwcKBKaEipoCiU4FJfCJ3LC3AW+I6yy0dILw99/n1\nOz/Kmhigi0nkjCRviD9b7EocGITvoqkZtUrcjOZJPQXLB+L2Kixp2t4agget\ndtaM\r\n=nl4+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFu62/28mtn0cdqV2naa5J4UPiuBgvpClNe3PAhmmSwEAiA0WYB9KiJHnOyjmIKc4TQLOiVb/g3qtRTTdBVgTZeFgA=="}]},"maintainers":[{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"}],"_npmUser":{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/destroyable-bucket_1.70.1_1604012603181_0.3838071573952391"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.72.0-pre":{"name":"destroyable-bucket","version":"1.72.0-pre","description":"Construct that allows the CDK to destroy a non-empty bucket when employing the `cdk destroy` command. This is accomplished by emptying the bucket before destroying it.","main":"dist/src/resource/destroyable-bucket.js","types":"dist/src/resource/destroyable-bucket.d.ts","keywords":["aws","s3","cloudformation","bucket","delete","destroy","cdk","construct","non-empty"],"homepage":"https://github.com/NightWatchman/destroyable-bucket","scripts":{"test":"jest --silent","local:create":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/create.json","local:delete":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/delete.json","bump:patch":"npm version patch -m 'Version %s'","bump:minor":"npm version minor -m 'Version %s'","bump:major":"npm version major -m 'Version %s'","build":"tsc && webpack","cdk":"npm compile && cdk","cdk:list":"npm compile && cdk list","cdk:synth":"npm compile && cdk synth","cdk:deploy":"npm compile && cdk deploy","cdk:destroy":"npm compile && cdk destroy","cdk:version":"npm compile && cdk --version"},"author":{"name":"Eric Rushing"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/NightWatchman/destroyable-bucket.git"},"dependencies":{"aws-sdk":"^2.786.0"},"devDependencies":{"@aws-cdk/aws-s3":"^1.72.0","@aws-cdk/core":"^1.72.0","@types/jest":"^26.0.15","@types/node":"^12.19.3","aws-cdk":"^1.72.0","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","babel-plugin-transform-async-generator-functions":"^6.24.1","babel-preset-env":"^1.7.0","eslint":"^7.12.1","eslint-plugin-jest":"^24.1.0","jest":"^26.6.3","lambda-local":"^1.7.4","node-fixtures":"^0.0.1","request":"^2.88.2","typescript":"^4.0.5","webpack":"^4.44.2","webpack-cli":"^3.3.12"},"prettier":{"semi":false,"singleQuote":true},"eslintConfig":{"parser":"babel-eslint","plugins":["jest"],"env":{"es6":true,"node":true},"extends":["eslint:recommended","plugin:jest/recommended"],"parserOptions":{"sourceType":"module"},"rules":{"no-console":0,"semi":[2,"never"]}},"_resolved":"","_integrity":"","_from":"file:destroyable-bucket-1.72.0-pre.tgz","readme":"## What it does\r\n\r\nCreates an S3 bucket in Cloud Formation that, when used with `removalPolicy: RemovalPolicy.DESTROY`, can destroy the bucket even if it's not empty.\r\n\r\n## How to use it\r\n\r\nThis is an [AWS CDK Construct](https://docs.aws.amazon.com/CDK/latest/userguide/constructs.html) which makes it dead simple to use in your CDK code.\r\n\r\nJust install with npm:\r\n\r\n```\r\nnpm install destroyable-bucket\r\n```\r\n\r\nThen require the construct and use it in your stack like any standard CDK resource!\r\n\r\n```js\r\nimport { DestroyableBucket } from 'destroyable-bucket'\r\n\r\nexport class ExampleStack extends Stack {\r\n  constructor(scope: App, id: string, props?: StackProps) {\r\n    super(scope, id, props)\r\n\r\n    /**\r\n     * NOTE: S3 requires bucket names to be globally unique across accounts so\r\n     * you will need to change the bucketName to something that nobody else is\r\n     * using.\r\n     */\r\n    new DestroyableBucket(this, 'example-autobucket-1', {\r\n      bucketName: 'autoexample-bucket1'\r\n    })\r\n  }\r\n}\r\n```\r\n\r\nSee the example directory for a complete CDK example. Be sure to change the `bucketNames` so they are unique.\r\n\r\nThe bucket can be configured with any of the [standard CDK Bucket Properties](https://awslabs.github.io/aws-cdk/refs/_aws-cdk_aws-s3.html#bucketprops-interface).\r\n\r\n- If `removalPolicy: RemovalPolicy.DESTROY` is used, the bucket will be emptied and deleted when the stack is destroyed.\r\n- if `removalPolicy: RemovalPolicy.RETAIN` is used, the bucket will not be emptied, and will be orphaned when the stack is destroyed.\r\n\r\n## Requirements\r\n\r\n- This is designed to work with AWS CDK but feel free to borrow the code if you want to create the custom CF resource some other way.\r\n- Does not yet work with versioned buckets but it can be easily adapted to do so (pull requests welcome.)\r\n\r\n## Versioning\r\n\r\nVersion numbers are consistent with the major and minor version numbers of the corresponding AWS CDK version that this module is compatible with. In other words, version 1.1.X would be compatiable with aws-cdk 1.1.X. Patch versions will inevitably vary between the two projects.\r\n\r\n## Motivation\r\n\r\nCloud Formation will often fail to actually delete your S3 Bucket resources when you destroy your stack. This happens whenever the bucket is not empty as the Cloud Formation documentation clearly states:\r\n\r\n> You can only delete empty buckets. Deletion fails for buckets that have contents.\r\n\r\nWe find that in our use cases, we want to be able to delete the bucket and it's contents whenever the stack is deleted,\r\nor alternatively to leave the bucket and it's contents in place, and orphan it when the stack is deleted.\r\n\r\n## How it Works\r\n\r\nCreate a [custom resource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html) that will automatically delete your bucket contents before attempting bucket deletion.\r\n\r\n## Running Tests\r\n\r\n```\r\nnpm test\r\n```\r\n\r\n## Building the Example Stack\r\n\r\nThe source code includes a reference CDK project inside the `example` directory which consists of a single `destroyable-bucket`.\r\n\r\nYou can build the stack with:\r\n\r\n```\r\nnpm run cdk:deploy\r\n```\r\n\r\nGo ahead and test this bucket out by adding some files to it. You can then test that everything will delete properly by destroying the stack (and bucket) with:\r\n\r\n```\r\nnpm run cdk:destroy\r\n```\r\n\r\n## More Information\r\n\r\nSee the [AWS documentation](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-or-empty-bucket.html) for more information on S3 and deleting bucket contents.\r\n\r\n## Acknowledgements\r\n\r\nThis implementation was derived from the excellent https://github.com/mobileposse/auto-delete-bucket, with changes\r\nthat make it possible to selectively retain the bucket and it's contents when the stack is destroyed, rather than always deleting it.\r\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/NightWatchman/destroyable-bucket/issues"},"_id":"destroyable-bucket@1.72.0-pre","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-jicwYNGSta8iwtGXkYb1T9bJKorc/mUM278PAosHfQGcLfKkek1SnOrtIq0LmskU2BJ4qJ8f1+3r9d4wj+MCmA==","shasum":"4fddee8801b6f1462291ab20d3820728501afa87","tarball":"https://registry.npmjs.org/destroyable-bucket/-/destroyable-bucket-1.72.0-pre.tgz","fileCount":12,"unpackedSize":5182543,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpZY9CRA9TVsSAnZWagAADH0P/ih9HZuU1NHsyOaBUNJK\nn2y6mYkd4ZjcX3k9BLlN/9VO1YaRrorMdubcuL8VdmH+L9Ql13bz1C2Mengg\nHQLrDf0SfqO8nYNHgSnBjR4ITzyVXiB5a+3+NBvVMbk+sGz6RRYDCp5h7v0H\nUDePP67R9ZLKl1/oGAdgfyqFzFbG8otX9sxBt78XYmIIQ13GYb46eor0vB2H\n4T9+Y3IlHyiu4ukcpB4rcKyk5sLKs143doZg85r5QNJDD/MZ+lRM4kbcapvZ\ntnd4yS9MW7Eo5pPYlVBEb0h9oNFJzVbFw1Kqehx81aQcn6IawcvS981Bwgor\ndzO1XqTge5NX+lXfL8sOARXwDWkBAbBwxPQVpja/0+0eq0OpiAG1z7Dcz2xB\nL5fYOn2YOk6H0TO1ZjY0mBQHipe1uzgVNxF3JSg+va4Aj1v7I3Z/lneHS3ma\nSGn+R+L5zWHqV6bIYdflKFc5XaGSnwpMGXesMzTY4DFgm+rd0NEKo5a/meFo\nXfse2FQ9ziFYIP1OXWCoz1XoKhxW6vedOlfOOcsUUnFuNNBI516/70EuSOzP\nx1ScoTeXrf6RBoRjCThdmeKr1a+GLjU+5n2GZJfgzGKWprOcJ3wDao0m7aAV\nzt9a06keJTTtEDRKsj+1p7ME2yhhSe/GPz17iN6f98ugYBIlIYfyJyjOj2Ab\n2vR4\r\n=+BQR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZ7RC4hritmUQ2Pk+9sDYmW5GbebYU/iMVnpCveJhHnwIgL6KYiq6hhXjTBoRmerCUzJJtdATBXco3us/MfwyHJxQ="}]},"_npmUser":{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"},"directories":{},"maintainers":[{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/destroyable-bucket_1.72.0-pre_1604687420568_0.6119879292141621"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.72.0-pre2":{"name":"destroyable-bucket","version":"1.72.0-pre2","description":"Construct that allows the CDK to destroy a non-empty bucket when employing the `cdk destroy` command. This is accomplished by emptying the bucket before destroying it.","main":"dist/src/resource/destroyable-bucket.js","types":"dist/src/resource/destroyable-bucket.d.ts","keywords":["aws","s3","cloudformation","bucket","delete","destroy","cdk","construct","non-empty"],"homepage":"https://github.com/NightWatchman/destroyable-bucket","scripts":{"test":"jest --silent","local:create":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/create.json","local:delete":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/delete.json","bump:patch":"npm version patch -m 'Version %s'","bump:minor":"npm version minor -m 'Version %s'","bump:major":"npm version major -m 'Version %s'","build":"tsc && webpack","cdk":"npm compile && cdk","cdk:list":"npm compile && cdk list","cdk:synth":"npm compile && cdk synth","cdk:deploy":"npm compile && cdk deploy","cdk:destroy":"npm compile && cdk destroy","cdk:version":"npm compile && cdk --version"},"author":{"name":"Eric Rushing"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/NightWatchman/destroyable-bucket.git"},"dependencies":{"aws-sdk":"^2.786.0"},"devDependencies":{"@aws-cdk/aws-s3":"^1.72.0","@aws-cdk/core":"^1.72.0","@types/jest":"^26.0.15","@types/node":"^12.19.3","aws-cdk":"^1.72.0","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","babel-plugin-transform-async-generator-functions":"^6.24.1","babel-preset-env":"^1.7.0","eslint":"^7.12.1","eslint-plugin-jest":"^24.1.0","jest":"^26.6.3","lambda-local":"^1.7.4","node-fixtures":"^0.0.1","request":"^2.88.2","typescript":"^4.0.5","webpack":"^4.44.2","webpack-cli":"^3.3.12"},"prettier":{"semi":false,"singleQuote":true},"eslintConfig":{"parser":"babel-eslint","plugins":["jest"],"env":{"es6":true,"node":true},"extends":["eslint:recommended","plugin:jest/recommended"],"parserOptions":{"sourceType":"module"},"rules":{"no-console":0,"semi":[2,"never"]}},"_resolved":"","_integrity":"","_from":"file:destroyable-bucket-1.72.0-pre2.tgz","readme":"## What it does\r\n\r\nCreates an S3 bucket in Cloud Formation that, when used with `removalPolicy: RemovalPolicy.DESTROY`, can destroy the bucket even if it's not empty.\r\n\r\n## How to use it\r\n\r\nThis is an [AWS CDK Construct](https://docs.aws.amazon.com/CDK/latest/userguide/constructs.html) which makes it dead simple to use in your CDK code.\r\n\r\nJust install with npm:\r\n\r\n```\r\nnpm install destroyable-bucket\r\n```\r\n\r\nThen require the construct and use it in your stack like any standard CDK resource!\r\n\r\n```js\r\nimport { DestroyableBucket } from 'destroyable-bucket'\r\n\r\nexport class ExampleStack extends Stack {\r\n  constructor(scope: App, id: string, props?: StackProps) {\r\n    super(scope, id, props)\r\n\r\n    /**\r\n     * NOTE: S3 requires bucket names to be globally unique across accounts so\r\n     * you will need to change the bucketName to something that nobody else is\r\n     * using.\r\n     */\r\n    new DestroyableBucket(this, 'example-autobucket-1', {\r\n      bucketName: 'autoexample-bucket1'\r\n    })\r\n  }\r\n}\r\n```\r\n\r\nSee the example directory for a complete CDK example. Be sure to change the `bucketNames` so they are unique.\r\n\r\nThe bucket can be configured with any of the [standard CDK Bucket Properties](https://awslabs.github.io/aws-cdk/refs/_aws-cdk_aws-s3.html#bucketprops-interface).\r\n\r\n- If `removalPolicy: RemovalPolicy.DESTROY` is used, the bucket will be emptied and deleted when the stack is destroyed.\r\n- if `removalPolicy: RemovalPolicy.RETAIN` is used, the bucket will not be emptied, and will be orphaned when the stack is destroyed.\r\n\r\n## Requirements\r\n\r\n- This is designed to work with AWS CDK but feel free to borrow the code if you want to create the custom CF resource some other way.\r\n- Does not yet work with versioned buckets but it can be easily adapted to do so (pull requests welcome.)\r\n\r\n## Versioning\r\n\r\nVersion numbers are consistent with the major and minor version numbers of the corresponding AWS CDK version that this module is compatible with. In other words, version 1.1.X would be compatiable with aws-cdk 1.1.X. Patch versions will inevitably vary between the two projects.\r\n\r\n## Motivation\r\n\r\nCloud Formation will often fail to actually delete your S3 Bucket resources when you destroy your stack. This happens whenever the bucket is not empty as the Cloud Formation documentation clearly states:\r\n\r\n> You can only delete empty buckets. Deletion fails for buckets that have contents.\r\n\r\nWe find that in our use cases, we want to be able to delete the bucket and it's contents whenever the stack is deleted,\r\nor alternatively to leave the bucket and it's contents in place, and orphan it when the stack is deleted.\r\n\r\n## How it Works\r\n\r\nCreate a [custom resource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html) that will automatically delete your bucket contents before attempting bucket deletion.\r\n\r\n## Running Tests\r\n\r\n```\r\nnpm test\r\n```\r\n\r\n## Building the Example Stack\r\n\r\nThe source code includes a reference CDK project inside the `example` directory which consists of a single `destroyable-bucket`.\r\n\r\nYou can build the stack with:\r\n\r\n```\r\nnpm run cdk:deploy\r\n```\r\n\r\nGo ahead and test this bucket out by adding some files to it. You can then test that everything will delete properly by destroying the stack (and bucket) with:\r\n\r\n```\r\nnpm run cdk:destroy\r\n```\r\n\r\n## More Information\r\n\r\nSee the [AWS documentation](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-or-empty-bucket.html) for more information on S3 and deleting bucket contents.\r\n\r\n## Acknowledgements\r\n\r\nThis implementation was derived from the excellent https://github.com/mobileposse/auto-delete-bucket, with changes\r\nthat make it possible to selectively retain the bucket and it's contents when the stack is destroyed, rather than always deleting it.\r\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/NightWatchman/destroyable-bucket/issues"},"_id":"destroyable-bucket@1.72.0-pre2","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-x7eJA0JRbv92sqjJRJpTnueWs1vj2HeOunAxTybAeXt0sQNBJo4OXu38zEqXkH4c0BOwi8mhuWs+Lf1CRmbcKg==","shasum":"76a23a339ad0c096dbc6d5e1d22dbe03e97351f6","tarball":"https://registry.npmjs.org/destroyable-bucket/-/destroyable-bucket-1.72.0-pre2.tgz","fileCount":12,"unpackedSize":5183063,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpaBECRA9TVsSAnZWagAAiWAP/ioMUBBWyWKJL7vnlV30\nsGCnxWGvDgop0bMJSFZTyk00AR/+xZ+6ImUafz1FYnWJl3Rju3wzBETN2TDF\nStZj9MQ0bh4+US3wgmoLCjhnI9SB4Olr6A8mY57YtyCxgVf338VqMAeJt0jQ\nUixmjJ3/km7TAfPyYDq8IvybwnEo6pa/JSEFJ9jZGKuTXwGKWBw9ieVDCmmi\noMJtL2iXFB1e6ERubXS+2nqYtzXzNHaXELdS/Xu6P3zSU1R1ugqPCuX+G727\nj8ulQKoxSN/DjzWzweeQ3FETCpJvSEKlFdLyGR/dD9GW/yBvNOEZ/KIUkoNI\nWspnolL2aMTKHLC/BFZLuEUBlDleK9okaKnH7oUkzxfNVGOAliEirychgzoZ\nHKTrUj6YNuFsD6QGcizlKj+RArMG/en4oIsQBzwveW4t3ehQWRjd7U2UBOxF\noqTgJClUHycaU7Mp1/wRCIRNVGhr1MgINpB2XfOCXhR8m4sPR9Ec8vBtouhh\nRQGJ1DWOzcRVyCVaaXo0pgz261JflJrJ/wzpmg1ghAHPhbzJxidOfKja1wgX\nzN3iZ1UI2mEGvdjXjN/fMHade5z9wGWrm68PTy8b86Cxwcg5jukCL/bxp3uA\nsrNSGatFJnJxFLgN0PpMWsxFBMR7yohYqN9EVdzJ6lMt5pOFbYPwdaUzbL0Z\nGYj5\r\n=lTTt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFRaCRQjf4jIf1MW0C49cV4GEzaBEx6LJkB05fLxMwvtAiB+0rMLKlKiKpHbvgzqKXtAPfmI6CjIlNM9mzbz8MUGfw=="}]},"_npmUser":{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"},"directories":{},"maintainers":[{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/destroyable-bucket_1.72.0-pre2_1604689988313_0.9382838540495113"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.72.0-pre3":{"name":"destroyable-bucket","version":"1.72.0-pre3","description":"Construct that allows the CDK to destroy a non-empty bucket when employing the `cdk destroy` command. This is accomplished by emptying the bucket before destroying it.","main":"dist/src/resource/destroyable-bucket.js","types":"dist/src/resource/destroyable-bucket.d.ts","keywords":["aws","s3","cloudformation","bucket","delete","destroy","cdk","construct","non-empty"],"homepage":"https://github.com/NightWatchman/destroyable-bucket","scripts":{"test":"jest --silent","local:create":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/create.json","local:delete":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/delete.json","bump:patch":"npm version patch -m 'Version %s'","bump:minor":"npm version minor -m 'Version %s'","bump:major":"npm version major -m 'Version %s'","build":"tsc && webpack","cdk":"npm compile && cdk","cdk:list":"npm compile && cdk list","cdk:synth":"npm compile && cdk synth","cdk:deploy":"npm compile && cdk deploy","cdk:destroy":"npm compile && cdk destroy","cdk:version":"npm compile && cdk --version"},"author":{"name":"Eric Rushing"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/NightWatchman/destroyable-bucket.git"},"dependencies":{"aws-sdk":"^2.786.0"},"devDependencies":{"@aws-cdk/aws-s3":"^1.72.0","@aws-cdk/core":"^1.72.0","@types/jest":"^26.0.15","@types/node":"^12.19.3","aws-cdk":"^1.72.0","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","babel-plugin-transform-async-generator-functions":"^6.24.1","babel-preset-env":"^1.7.0","eslint":"^7.12.1","eslint-plugin-jest":"^24.1.0","jest":"^26.6.3","lambda-local":"^1.7.4","node-fixtures":"^0.0.1","request":"^2.88.2","typescript":"^4.0.5","webpack":"^4.44.2","webpack-cli":"^3.3.12"},"prettier":{"semi":false,"singleQuote":true},"eslintConfig":{"parser":"babel-eslint","plugins":["jest"],"env":{"es6":true,"node":true},"extends":["eslint:recommended","plugin:jest/recommended"],"parserOptions":{"sourceType":"module"},"rules":{"no-console":0,"semi":[2,"never"]}},"_resolved":"","_integrity":"","_from":"file:destroyable-bucket-1.72.0-pre3.tgz","readme":"## What it does\r\n\r\nCreates an S3 bucket in Cloud Formation that, when used with `removalPolicy: RemovalPolicy.DESTROY`, can destroy the bucket even if it's not empty.\r\n\r\n## How to use it\r\n\r\nThis is an [AWS CDK Construct](https://docs.aws.amazon.com/CDK/latest/userguide/constructs.html) which makes it dead simple to use in your CDK code.\r\n\r\nJust install with npm:\r\n\r\n```\r\nnpm install destroyable-bucket\r\n```\r\n\r\nThen require the construct and use it in your stack like any standard CDK resource!\r\n\r\n```js\r\nimport { DestroyableBucket } from 'destroyable-bucket'\r\n\r\nexport class ExampleStack extends Stack {\r\n  constructor(scope: App, id: string, props?: StackProps) {\r\n    super(scope, id, props)\r\n\r\n    /**\r\n     * NOTE: S3 requires bucket names to be globally unique across accounts so\r\n     * you will need to change the bucketName to something that nobody else is\r\n     * using.\r\n     */\r\n    new DestroyableBucket(this, 'example-autobucket-1', {\r\n      bucketName: 'autoexample-bucket1'\r\n    })\r\n  }\r\n}\r\n```\r\n\r\nSee the example directory for a complete CDK example. Be sure to change the `bucketNames` so they are unique.\r\n\r\nThe bucket can be configured with any of the [standard CDK Bucket Properties](https://awslabs.github.io/aws-cdk/refs/_aws-cdk_aws-s3.html#bucketprops-interface).\r\n\r\n- If `removalPolicy: RemovalPolicy.DESTROY` is used, the bucket will be emptied and deleted when the stack is destroyed.\r\n- if `removalPolicy: RemovalPolicy.RETAIN` is used, the bucket will not be emptied, and will be orphaned when the stack is destroyed.\r\n\r\n## Requirements\r\n\r\n- This is designed to work with AWS CDK but feel free to borrow the code if you want to create the custom CF resource some other way.\r\n- Does not yet work with versioned buckets but it can be easily adapted to do so (pull requests welcome.)\r\n\r\n## Versioning\r\n\r\nVersion numbers are consistent with the major and minor version numbers of the corresponding AWS CDK version that this module is compatible with. In other words, version 1.1.X would be compatiable with aws-cdk 1.1.X. Patch versions will inevitably vary between the two projects.\r\n\r\n## Motivation\r\n\r\nCloud Formation will often fail to actually delete your S3 Bucket resources when you destroy your stack. This happens whenever the bucket is not empty as the Cloud Formation documentation clearly states:\r\n\r\n> You can only delete empty buckets. Deletion fails for buckets that have contents.\r\n\r\nWe find that in our use cases, we want to be able to delete the bucket and it's contents whenever the stack is deleted,\r\nor alternatively to leave the bucket and it's contents in place, and orphan it when the stack is deleted.\r\n\r\n## How it Works\r\n\r\nCreate a [custom resource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html) that will automatically delete your bucket contents before attempting bucket deletion.\r\n\r\n## Running Tests\r\n\r\n```\r\nnpm test\r\n```\r\n\r\n## Building the Example Stack\r\n\r\nThe source code includes a reference CDK project inside the `example` directory which consists of a single `destroyable-bucket`.\r\n\r\nYou can build the stack with:\r\n\r\n```\r\nnpm run cdk:deploy\r\n```\r\n\r\nGo ahead and test this bucket out by adding some files to it. You can then test that everything will delete properly by destroying the stack (and bucket) with:\r\n\r\n```\r\nnpm run cdk:destroy\r\n```\r\n\r\n## More Information\r\n\r\nSee the [AWS documentation](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-or-empty-bucket.html) for more information on S3 and deleting bucket contents.\r\n\r\n## Acknowledgements\r\n\r\nThis implementation was derived from the excellent https://github.com/mobileposse/auto-delete-bucket, with changes\r\nthat make it possible to selectively retain the bucket and it's contents when the stack is destroyed, rather than always deleting it.\r\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/NightWatchman/destroyable-bucket/issues"},"_id":"destroyable-bucket@1.72.0-pre3","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-DHsjp7qLyexyJXql0WQZn6bl1vYJgOhJCrQZclB27j0GTOrogwx4xT5e8nGRjd5eW0sTw/NXy/V/zzfWl2IUJw==","shasum":"e815e3041a3eef5f5afc77940ea380e117bddca2","tarball":"https://registry.npmjs.org/destroyable-bucket/-/destroyable-bucket-1.72.0-pre3.tgz","fileCount":12,"unpackedSize":5183319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpcnVCRA9TVsSAnZWagAASjYQAJYY32N/pUyLlxFOBlGh\nX/WHHbxUQK9Ax+K1/Ti8vVHEL9uDGNacoBcSkrR9YhQb1gTPQOP+kCQ2qaor\nol+KMzF4YuQrjt1juL09mK8OJqVixBBmpr4mWaJVoHmeIcAq6ufRt8lDvwjQ\nE/I7qozUlizzHDG2FPqbJ71SxQ/5/Qio36Z+y62BqCBZYfcn4OdyAzx8QWga\nQFeDtcvB2diubPi59Reb+h12kyYRwu0hzrwppYOgjOJy7lGau/pQRJCtrwGj\nnowiAdu7vWNhb+4JT3nnJHXNEed3oVWCApkSqYUdj265LTWo2+sYOLc38Ekw\n0BgHQcHMgAJfrlo6N82ZtXd5G7Rdvqjfz7oZZlRl1s74g6i+XboOocL25ODv\nySy3lfPxLIjM19sHkt5J9OJ8UInI7InP6eST20sMfqP4JjInMVcmqk8AnNSJ\nAT06vltuRYZ3YTqezTRGICY0bX4plJ9nuknfvey4YUf02q216l07sC7zKeWR\noxNHSnLwHHUoyfKc8zYpH/4qXlVEvK7JK56P3ISD23KB/q/M+HXYqQYDZ/Hq\nBy/u1tRsjrnjIigcmnlPRNGhv1jEgkU/3GBeHDngbO+O8rwOged9GkQJkjFb\n/84LR3sxpXisSiA8ywvvsqrQy35xtjy5Ckb6S5HaEFaqd4z4FYBtJPbSkk32\n+ac8\r\n=J4Ha\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFKEZHKHjAJCmFQ47+IHauNWY2sv1873raNYb2rSd/E0AiEA95xX/a90ufUfkAtc09cINoOA3uAwTt/HXrSjhjm78C4="}]},"_npmUser":{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"},"directories":{},"maintainers":[{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/destroyable-bucket_1.72.0-pre3_1604700629409_0.5899010589577391"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.72.0-pre4":{"name":"destroyable-bucket","version":"1.72.0-pre4","description":"Construct that allows the CDK to destroy a non-empty bucket when employing the `cdk destroy` command. This is accomplished by emptying the bucket before destroying it.","main":"dist/src/resource/destroyable-bucket.js","types":"dist/src/resource/destroyable-bucket.d.ts","keywords":["aws","s3","cloudformation","bucket","delete","destroy","cdk","construct","non-empty"],"homepage":"https://github.com/NightWatchman/destroyable-bucket","scripts":{"test":"jest --silent","local:create":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/create.json","local:delete":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/delete.json","bump:patch":"npm version patch -m 'Version %s'","bump:minor":"npm version minor -m 'Version %s'","bump:major":"npm version major -m 'Version %s'","build":"tsc && webpack","cdk":"npm compile && cdk","cdk:list":"npm compile && cdk list","cdk:synth":"npm compile && cdk synth","cdk:deploy":"npm compile && cdk deploy","cdk:destroy":"npm compile && cdk destroy","cdk:version":"npm compile && cdk --version"},"author":{"name":"Eric Rushing"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/NightWatchman/destroyable-bucket.git"},"dependencies":{"aws-sdk":"^2.786.0"},"devDependencies":{"@aws-cdk/aws-s3":"^1.72.0","@aws-cdk/core":"^1.72.0","@types/jest":"^26.0.15","@types/node":"^12.19.3","aws-cdk":"^1.72.0","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","babel-plugin-transform-async-generator-functions":"^6.24.1","babel-preset-env":"^1.7.0","eslint":"^7.12.1","eslint-plugin-jest":"^24.1.0","jest":"^26.6.3","lambda-local":"^1.7.4","node-fixtures":"^0.0.1","request":"^2.88.2","typescript":"^4.0.5","webpack":"^4.44.2","webpack-cli":"^3.3.12"},"prettier":{"semi":false,"singleQuote":true},"eslintConfig":{"parser":"babel-eslint","plugins":["jest"],"env":{"es6":true,"node":true},"extends":["eslint:recommended","plugin:jest/recommended"],"parserOptions":{"sourceType":"module"},"rules":{"no-console":0,"semi":[2,"never"]}},"_resolved":"","_integrity":"","_from":"file:destroyable-bucket-1.72.0-pre4.tgz","readme":"## What it does\r\n\r\nCreates an S3 bucket in Cloud Formation that, when used with `removalPolicy: RemovalPolicy.DESTROY`, can destroy the bucket even if it's not empty.\r\n\r\n## How to use it\r\n\r\nThis is an [AWS CDK Construct](https://docs.aws.amazon.com/CDK/latest/userguide/constructs.html) which makes it dead simple to use in your CDK code.\r\n\r\nJust install with npm:\r\n\r\n```\r\nnpm install destroyable-bucket\r\n```\r\n\r\nThen require the construct and use it in your stack like any standard CDK resource!\r\n\r\n```js\r\nimport { DestroyableBucket } from 'destroyable-bucket'\r\n\r\nexport class ExampleStack extends Stack {\r\n  constructor(scope: App, id: string, props?: StackProps) {\r\n    super(scope, id, props)\r\n\r\n    /**\r\n     * NOTE: S3 requires bucket names to be globally unique across accounts so\r\n     * you will need to change the bucketName to something that nobody else is\r\n     * using.\r\n     */\r\n    new DestroyableBucket(this, 'example-autobucket-1', {\r\n      bucketName: 'autoexample-bucket1'\r\n    })\r\n  }\r\n}\r\n```\r\n\r\nSee the example directory for a complete CDK example. Be sure to change the `bucketNames` so they are unique.\r\n\r\nThe bucket can be configured with any of the [standard CDK Bucket Properties](https://awslabs.github.io/aws-cdk/refs/_aws-cdk_aws-s3.html#bucketprops-interface).\r\n\r\n- If `removalPolicy: RemovalPolicy.DESTROY` is used, the bucket will be emptied and deleted when the stack is destroyed.\r\n- if `removalPolicy: RemovalPolicy.RETAIN` is used, the bucket will not be emptied, and will be orphaned when the stack is destroyed.\r\n\r\n## Requirements\r\n\r\n- This is designed to work with AWS CDK but feel free to borrow the code if you want to create the custom CF resource some other way.\r\n- Does not yet work with versioned buckets but it can be easily adapted to do so (pull requests welcome.)\r\n\r\n## Versioning\r\n\r\nVersion numbers are consistent with the major and minor version numbers of the corresponding AWS CDK version that this module is compatible with. In other words, version 1.1.X would be compatiable with aws-cdk 1.1.X. Patch versions will inevitably vary between the two projects.\r\n\r\n## Motivation\r\n\r\nCloud Formation will often fail to actually delete your S3 Bucket resources when you destroy your stack. This happens whenever the bucket is not empty as the Cloud Formation documentation clearly states:\r\n\r\n> You can only delete empty buckets. Deletion fails for buckets that have contents.\r\n\r\nWe find that in our use cases, we want to be able to delete the bucket and it's contents whenever the stack is deleted,\r\nor alternatively to leave the bucket and it's contents in place, and orphan it when the stack is deleted.\r\n\r\n## How it Works\r\n\r\nCreate a [custom resource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html) that will automatically delete your bucket contents before attempting bucket deletion.\r\n\r\n## Running Tests\r\n\r\n```\r\nnpm test\r\n```\r\n\r\n## Building the Example Stack\r\n\r\nThe source code includes a reference CDK project inside the `example` directory which consists of a single `destroyable-bucket`.\r\n\r\nYou can build the stack with:\r\n\r\n```\r\nnpm run cdk:deploy\r\n```\r\n\r\nGo ahead and test this bucket out by adding some files to it. You can then test that everything will delete properly by destroying the stack (and bucket) with:\r\n\r\n```\r\nnpm run cdk:destroy\r\n```\r\n\r\n## More Information\r\n\r\nSee the [AWS documentation](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-or-empty-bucket.html) for more information on S3 and deleting bucket contents.\r\n\r\n## Acknowledgements\r\n\r\nThis implementation was derived from the excellent https://github.com/mobileposse/auto-delete-bucket, with changes\r\nthat make it possible to selectively retain the bucket and it's contents when the stack is destroyed, rather than always deleting it.\r\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/NightWatchman/destroyable-bucket/issues"},"_id":"destroyable-bucket@1.72.0-pre4","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-/AoUCccvvn7N8aPzsnwdyCxTuE3Iim1Efya7kvdZiHT6WaSL4w+ojHC5MKabJf6GphqMr/ELbaVxyJMCEFGZCg==","shasum":"1a78a38c70bc5a08802019c6641f9cf8037b26fd","tarball":"https://registry.npmjs.org/destroyable-bucket/-/destroyable-bucket-1.72.0-pre4.tgz","fileCount":12,"unpackedSize":5183319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqDzeCRA9TVsSAnZWagAA1icQAIB/xIICPkbNRTwvnV2R\ntDPI+jUFzPHKupp4g3XHViN3dCdB0C25uNbV5WwYz2Yd1paW5lNFiIZFoeXr\nrXSIsNUTg2qWTGjgm3EG9mErqXJw1oA2f/msFeG2MWBbqiRNQ8Ko0ojqTtaW\nNKBxbdZybeG26cIScvqrHmUhMXRz7clLa4+uP5TquFHNUbymyU+CNHzutw6R\n8OdbWFJvMx0cLaVEk/VfdaoTDFoPjSpM7gdGi1h2cMqYdwNsy36Aek9b/K8b\n6XJuJrJ5WHE5ntyYT8Tq+Qybv8ST2v+LfTRKNpR5LRn9I+2+H+uecUlG19KZ\nShs+bQJ5zqiRsdPA7QWSlK2+4NdJkf+TKq3+jm7I0heFSnImRrbtlv6K0YKE\nlQKn6a5765w2MWT6/vKBdF8VbJ5a9JUOUP+vqLYTHyENfU8nmuOwAoHnahKQ\n4PdRNiJTfDSLeNUjWv+fkB93owi04tvDPpFRHIBB3KhuE0Zv3FaPr9rpaCT8\nU1Lw18aL3yVMm4jwXXcwxK4ElojcTvaTacWxVnvLeAVQ61VfKUURCbGVpSdt\nScD8XFuBaS0ea3FtDk1yP8Lza5+vRIllCgxEjjR3mkEW59Jl9GkmMgCEDeTm\nfHqmEAlV5Ku1se1/MD+bEAahKVCOwhIo05suRkXrq9y1H/peB6rH70iP19al\nq3t6\r\n=7+qM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH9fWhlI7R9YxuXMMM8Nwa6+wqDXypOl9trCFjrFBi4vAiEA0HZpQA2Jm/mZDWt9Bh3QyYLL/JwrLJ+cVmXqvG8QzTY="}]},"_npmUser":{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"},"directories":{},"maintainers":[{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/destroyable-bucket_1.72.0-pre4_1604861149707_0.6903250880589233"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.72.0-pre5":{"name":"destroyable-bucket","version":"1.72.0-pre5","description":"Construct that allows the CDK to destroy a non-empty bucket when employing the `cdk destroy` command. This is accomplished by emptying the bucket before destroying it.","main":"dist/src/resource/destroyable-bucket.js","types":"dist/src/resource/destroyable-bucket.d.ts","keywords":["aws","s3","cloudformation","bucket","delete","destroy","cdk","construct","non-empty"],"homepage":"https://github.com/NightWatchman/destroyable-bucket","scripts":{"test":"jest --silent","local:create":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/create.json","local:delete":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/delete.json","bump:patch":"npm version patch -m 'Version %s'","bump:minor":"npm version minor -m 'Version %s'","bump:major":"npm version major -m 'Version %s'","build":"tsc && webpack","cdk":"npm compile && cdk","cdk:list":"npm compile && cdk list","cdk:synth":"npm compile && cdk synth","cdk:deploy":"npm compile && cdk deploy","cdk:destroy":"npm compile && cdk destroy","cdk:version":"npm compile && cdk --version"},"author":{"name":"Eric Rushing"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/NightWatchman/destroyable-bucket.git"},"dependencies":{"aws-sdk":"^2.787.0"},"devDependencies":{"@aws-cdk/aws-s3":"^1.72.0","@aws-cdk/core":"^1.72.0","@types/jest":"^26.0.15","@types/node":"^12.19.3","aws-cdk":"^1.72.0","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","babel-plugin-transform-async-generator-functions":"^6.24.1","babel-preset-env":"^1.7.0","eslint":"^7.13.0","eslint-plugin-jest":"^24.1.0","jest":"^26.6.3","lambda-local":"^1.7.4","node-fixtures":"^0.0.1","request":"^2.88.2","typescript":"^4.0.5","webpack":"^4.44.2","webpack-cli":"^3.3.12"},"prettier":{"semi":false,"singleQuote":true},"eslintConfig":{"parser":"babel-eslint","plugins":["jest"],"env":{"es6":true,"node":true},"extends":["eslint:recommended","plugin:jest/recommended"],"parserOptions":{"sourceType":"module"},"rules":{"no-console":0,"semi":[2,"never"]}},"_resolved":"","_integrity":"","_from":"file:destroyable-bucket-1.72.0-pre5.tgz","readme":"## What it does\r\n\r\nCreates an S3 bucket in Cloud Formation that, when used with `removalPolicy: RemovalPolicy.DESTROY`, can destroy the bucket even if it's not empty.\r\n\r\n## How to use it\r\n\r\nThis is an [AWS CDK Construct](https://docs.aws.amazon.com/CDK/latest/userguide/constructs.html) which makes it dead simple to use in your CDK code.\r\n\r\nJust install with npm:\r\n\r\n```\r\nnpm install destroyable-bucket\r\n```\r\n\r\nThen require the construct and use it in your stack like any standard CDK resource!\r\n\r\n```js\r\nimport { DestroyableBucket } from 'destroyable-bucket'\r\n\r\nexport class ExampleStack extends Stack {\r\n  constructor(scope: App, id: string, props?: StackProps) {\r\n    super(scope, id, props)\r\n\r\n    /**\r\n     * NOTE: S3 requires bucket names to be globally unique across accounts so\r\n     * you will need to change the bucketName to something that nobody else is\r\n     * using.\r\n     */\r\n    new DestroyableBucket(this, 'example-autobucket-1', {\r\n      bucketName: 'autoexample-bucket1'\r\n    })\r\n  }\r\n}\r\n```\r\n\r\nSee the example directory for a complete CDK example. Be sure to change the `bucketNames` so they are unique.\r\n\r\nThe bucket can be configured with any of the [standard CDK Bucket Properties](https://awslabs.github.io/aws-cdk/refs/_aws-cdk_aws-s3.html#bucketprops-interface).\r\n\r\n- If `removalPolicy: RemovalPolicy.DESTROY` is used, the bucket will be emptied and deleted when the stack is destroyed.\r\n- if `removalPolicy: RemovalPolicy.RETAIN` is used, the bucket will not be emptied, and will be orphaned when the stack is destroyed.\r\n\r\n## Requirements\r\n\r\n- This is designed to work with AWS CDK but feel free to borrow the code if you want to create the custom CF resource some other way.\r\n- Does not yet work with versioned buckets but it can be easily adapted to do so (pull requests welcome.)\r\n\r\n## Versioning\r\n\r\nVersion numbers are consistent with the major and minor version numbers of the corresponding AWS CDK version that this module is compatible with. In other words, version 1.1.X would be compatiable with aws-cdk 1.1.X. Patch versions will inevitably vary between the two projects.\r\n\r\n## Motivation\r\n\r\nCloud Formation will often fail to actually delete your S3 Bucket resources when you destroy your stack. This happens whenever the bucket is not empty as the Cloud Formation documentation clearly states:\r\n\r\n> You can only delete empty buckets. Deletion fails for buckets that have contents.\r\n\r\nWe find that in our use cases, we want to be able to delete the bucket and it's contents whenever the stack is deleted,\r\nor alternatively to leave the bucket and it's contents in place, and orphan it when the stack is deleted.\r\n\r\n## How it Works\r\n\r\nCreate a [custom resource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html) that will automatically delete your bucket contents before attempting bucket deletion.\r\n\r\n## Running Tests\r\n\r\n```\r\nnpm test\r\n```\r\n\r\n## Building the Example Stack\r\n\r\nThe source code includes a reference CDK project inside the `example` directory which consists of a single `destroyable-bucket`.\r\n\r\nYou can build the stack with:\r\n\r\n```\r\nnpm run cdk:deploy\r\n```\r\n\r\nGo ahead and test this bucket out by adding some files to it. You can then test that everything will delete properly by destroying the stack (and bucket) with:\r\n\r\n```\r\nnpm run cdk:destroy\r\n```\r\n\r\n## More Information\r\n\r\nSee the [AWS documentation](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-or-empty-bucket.html) for more information on S3 and deleting bucket contents.\r\n\r\n## Acknowledgements\r\n\r\nThis implementation was derived from the excellent https://github.com/mobileposse/auto-delete-bucket, with changes\r\nthat make it possible to selectively retain the bucket and it's contents when the stack is destroyed, rather than always deleting it.\r\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/NightWatchman/destroyable-bucket/issues"},"_id":"destroyable-bucket@1.72.0-pre5","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-97THE3FLbwneJNYry/NWb8qWH3ZdRDmBRVgiW+zMcRr3dOqxduq6Rtuw6wvsg9deSPuvqrLkQCKMLgw/kYU8pw==","shasum":"4b0254abea6794d9475057edd49d7384ae797788","tarball":"https://registry.npmjs.org/destroyable-bucket/-/destroyable-bucket-1.72.0-pre5.tgz","fileCount":12,"unpackedSize":5183839,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqEW7CRA9TVsSAnZWagAAknIP/jXDj83yVC8KdBV9vPQa\n7uZRX4Mm1B7xgTprSAY6al8ugTQp7OjC2lSp48mXGff5icdJ+5VoW+aapc7d\nMg0WAkVg7HcpUHzf8BV/QCYte8metdzGTTqyct5mS+fvIpUSWWd2Ef+z0K9P\nXYksnX553z1VFP2QiWIb9nNaDhHXjtNkvm3UCaTKBhqszlm5/em0K0No2YK7\nlQRDiiV60OQvDPNoZGrNFTp4jRznh+oXePKmWNCP9LdjJQ3pYV1nkuyCHPaP\nOlXylrBag1u0SAvjbF4EkX1RGvHIzQBq8z0FtEGCdiuZdabG5OJIAaQg1KHd\nEZMf2yoEUENnVcnoxjE1zwozzGXaFYPVQSyTzfXesSmECnOMPd6ya3hqvy3s\nISxU1C0NJTyudbGAZ8BCKcHI5C6l8D0VPSORU82plo+yF0IRgBesk5eHclsQ\ncGaP6SLY13oMdgoqfnaIdPY9Cj21iLE8PMBVBb2NlWyQFpv2KUPGzrJ/21vV\nKIDjmdJJLzHIHMI5dKj7XHvv50f31O0LsXpCzmP8Q+S+bBHGjeNHFyC3Pgvq\nDiIMoYmRd7oCNKqufAXaJsJ1odj8drv6CuL4O5cfRDt/X6Ngsc2jRTsvVmkB\nTrOv+9VPndtI4f1F2YH42yYtndcDHXcT/MilhZaNEIUYkysl6kzlAQqwd3um\nP7G8\r\n=OqMS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8JWtkzLsrH/KWDnEDnmi3TNDZA0sZ2nHKutqY5do9rAIgH+AM+nDAFoBFG7ktEJyxB6V+gv4cFVExG5OkLU/pgrM="}]},"_npmUser":{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"},"directories":{},"maintainers":[{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/destroyable-bucket_1.72.0-pre5_1604863419288_0.760994358878843"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.72.0-pre6":{"name":"destroyable-bucket","version":"1.72.0-pre6","description":"Construct that allows the CDK to destroy a non-empty bucket when employing the `cdk destroy` command. This is accomplished by emptying the bucket before destroying it.","main":"dist/src/resource/destroyable-bucket.js","types":"dist/src/resource/destroyable-bucket.d.ts","keywords":["aws","s3","cloudformation","bucket","delete","destroy","cdk","construct","non-empty"],"homepage":"https://github.com/NightWatchman/destroyable-bucket","scripts":{"test":"jest --silent","local:create":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/create.json","local:delete":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/delete.json","bump:patch":"npm version patch -m 'Version %s'","bump:minor":"npm version minor -m 'Version %s'","bump:major":"npm version major -m 'Version %s'","build":"tsc && webpack","cdk":"npm compile && cdk","cdk:list":"npm compile && cdk list","cdk:synth":"npm compile && cdk synth","cdk:deploy":"npm compile && cdk deploy","cdk:destroy":"npm compile && cdk destroy","cdk:version":"npm compile && cdk --version"},"author":{"name":"Eric Rushing"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/NightWatchman/destroyable-bucket.git"},"dependencies":{"aws-sdk":"^2.787.0"},"devDependencies":{"@aws-cdk/aws-s3":"^1.72.0","@aws-cdk/core":"^1.72.0","@types/jest":"^26.0.15","@types/node":"^12.19.3","aws-cdk":"^1.72.0","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","babel-plugin-transform-async-generator-functions":"^6.24.1","babel-preset-env":"^1.7.0","eslint":"^7.13.0","eslint-plugin-jest":"^24.1.0","jest":"^26.6.3","lambda-local":"^1.7.4","node-fixtures":"^0.0.1","request":"^2.88.2","typescript":"^4.0.5","webpack":"^4.44.2","webpack-cli":"^3.3.12"},"prettier":{"semi":false,"singleQuote":true},"eslintConfig":{"parser":"babel-eslint","plugins":["jest"],"env":{"es6":true,"node":true},"extends":["eslint:recommended","plugin:jest/recommended"],"parserOptions":{"sourceType":"module"},"rules":{"no-console":0,"semi":[2,"never"]}},"_resolved":"","_integrity":"","_from":"file:destroyable-bucket-1.72.0-pre6.tgz","readme":"## What it does\r\n\r\nCreates an S3 bucket in Cloud Formation that, when used with `removalPolicy: RemovalPolicy.DESTROY`, can destroy the bucket even if it's not empty.\r\n\r\n## How to use it\r\n\r\nThis is an [AWS CDK Construct](https://docs.aws.amazon.com/CDK/latest/userguide/constructs.html) which makes it dead simple to use in your CDK code.\r\n\r\nJust install with npm:\r\n\r\n```\r\nnpm install destroyable-bucket\r\n```\r\n\r\nThen require the construct and use it in your stack like any standard CDK resource!\r\n\r\n```js\r\nimport { DestroyableBucket } from 'destroyable-bucket'\r\n\r\nexport class ExampleStack extends Stack {\r\n  constructor(scope: App, id: string, props?: StackProps) {\r\n    super(scope, id, props)\r\n\r\n    /**\r\n     * NOTE: S3 requires bucket names to be globally unique across accounts so\r\n     * you will need to change the bucketName to something that nobody else is\r\n     * using.\r\n     */\r\n    new DestroyableBucket(this, 'example-autobucket-1', {\r\n      bucketName: 'autoexample-bucket1'\r\n    })\r\n  }\r\n}\r\n```\r\n\r\nSee the example directory for a complete CDK example. Be sure to change the `bucketNames` so they are unique.\r\n\r\nThe bucket can be configured with any of the [standard CDK Bucket Properties](https://awslabs.github.io/aws-cdk/refs/_aws-cdk_aws-s3.html#bucketprops-interface).\r\n\r\n- If `removalPolicy: RemovalPolicy.DESTROY` is used, the bucket will be emptied and deleted when the stack is destroyed.\r\n- if `removalPolicy: RemovalPolicy.RETAIN` is used, the bucket will not be emptied, and will be orphaned when the stack is destroyed.\r\n\r\n## Requirements\r\n\r\n- This is designed to work with AWS CDK but feel free to borrow the code if you want to create the custom CF resource some other way.\r\n- Does not yet work with versioned buckets but it can be easily adapted to do so (pull requests welcome.)\r\n\r\n## Versioning\r\n\r\nVersion numbers are consistent with the major and minor version numbers of the corresponding AWS CDK version that this module is compatible with. In other words, version 1.1.X would be compatiable with aws-cdk 1.1.X. Patch versions will inevitably vary between the two projects.\r\n\r\n## Motivation\r\n\r\nCloud Formation will often fail to actually delete your S3 Bucket resources when you destroy your stack. This happens whenever the bucket is not empty as the Cloud Formation documentation clearly states:\r\n\r\n> You can only delete empty buckets. Deletion fails for buckets that have contents.\r\n\r\nWe find that in our use cases, we want to be able to delete the bucket and it's contents whenever the stack is deleted,\r\nor alternatively to leave the bucket and it's contents in place, and orphan it when the stack is deleted.\r\n\r\n## How it Works\r\n\r\nCreate a [custom resource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html) that will automatically delete your bucket contents before attempting bucket deletion.\r\n\r\n## Running Tests\r\n\r\n```\r\nnpm test\r\n```\r\n\r\n## Building the Example Stack\r\n\r\nThe source code includes a reference CDK project inside the `example` directory which consists of a single `destroyable-bucket`.\r\n\r\nYou can build the stack with:\r\n\r\n```\r\nnpm run cdk:deploy\r\n```\r\n\r\nGo ahead and test this bucket out by adding some files to it. You can then test that everything will delete properly by destroying the stack (and bucket) with:\r\n\r\n```\r\nnpm run cdk:destroy\r\n```\r\n\r\n## More Information\r\n\r\nSee the [AWS documentation](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-or-empty-bucket.html) for more information on S3 and deleting bucket contents.\r\n\r\n## Acknowledgements\r\n\r\nThis implementation was derived from the excellent https://github.com/mobileposse/auto-delete-bucket, with changes\r\nthat make it possible to selectively retain the bucket and it's contents when the stack is destroyed, rather than always deleting it.\r\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/NightWatchman/destroyable-bucket/issues"},"_id":"destroyable-bucket@1.72.0-pre6","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-CHl91EC1b6IMbLzhxeS5UQwjGk4KWw7yJkdEjAYDM/nMShnYfAdpZn31ZOzKOKbqNBlcJmGtpXE4nFjiU69Rbw==","shasum":"aa0f505c65b3cfd6a43c222de2a4e5806a9457ff","tarball":"https://registry.npmjs.org/destroyable-bucket/-/destroyable-bucket-1.72.0-pre6.tgz","fileCount":12,"unpackedSize":5184999,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqFQJCRA9TVsSAnZWagAAJLEP/jLUN9fEzgqP/hbVahgB\nh6KDjb15zhmfKcowye3kAJhKRMUczDkJiDSHPSDGveOaw9WmMLSyMJ4Y1PL4\nu85IlrH2Lh1K/DM+Cce07HGg9meqE+HAPSPlq3ouL9uPHsOGF91Fi2zAqb1C\nk7CBVx1K5hKLUp9Kb1ZOhamnjwufAY+yi37O5JlC1cqefLRETeL+oVS+Z1q+\nvksp2WigrA+mCFZ+pOq8pWxW3IEeZD3ysF9EUVvfAvADblQCJSUjM9nS5/S2\nLEogHhVo17/J9CDPpGQMk0F6/4+R8Dk7oFgPiDr1J43NfL+AYiKciLo8o2Wv\nHL79PacPyriKN6EUdwSktw50Hu5JlMe+NDqrMWcrjK+A/8G2lxLiz/M3f5OE\nM+onIIG6xqPbO0Vf9NPKW4yXq0YoFUdX323t8ahWViRBA0/kDDMTZq1GulN+\nvZpVEeziKCbuSDhH6m+iwEAijDqBX0NLAZ1xIUpI3EDpQ3kq5EE14uok8JYO\n/y+pVSj8EKywjiQQrR0KbHHJGPfFLiI67/NcFWfB3ASX2l9ZhafeTcPJApAY\neY3hpIRUxvff+C2OEM1JRxRYLuAYJS+TTnJtxISQEwS/O20YrkWXCTPLxjso\nWT7M21RGxYxxNIhx7w+QusOL4ZbTYRCjJOPWTmTt9ncKQenCj+itOJkiuafN\n8XkF\r\n=yjwQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAKWnmmXYu221rvRtcNVMBRZOXK80EAwm5KYFhx7A/HpAiEA7ubzgPnsVP0STBL28/ZR3VqVJcuVHBAd6/zPbBfmyAA="}]},"_npmUser":{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"},"directories":{},"maintainers":[{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/destroyable-bucket_1.72.0-pre6_1604867080988_0.5107586647339446"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.72.0":{"name":"destroyable-bucket","version":"1.72.0","description":"Construct that allows the CDK to destroy a non-empty bucket when employing the `cdk destroy` command. This is accomplished by emptying the bucket before destroying it.","main":"dist/src/resource/destroyable-bucket.js","types":"dist/src/resource/destroyable-bucket.d.ts","keywords":["aws","s3","cloudformation","bucket","delete","destroy","cdk","construct","non-empty"],"homepage":"https://github.com/NightWatchman/destroyable-bucket","scripts":{"test":"jest --silent","local:create":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/create.json","local:delete":"npm webpack && lambda-local -l dist/src/lambda/main.js -e test/fixtures/delete.json","bump:patch":"npm version patch -m 'Version %s'","bump:minor":"npm version minor -m 'Version %s'","bump:major":"npm version major -m 'Version %s'","build":"tsc && webpack","cdk":"npm compile && cdk","cdk:list":"npm compile && cdk list","cdk:synth":"npm compile && cdk synth","cdk:deploy":"npm compile && cdk deploy","cdk:destroy":"npm compile && cdk destroy","cdk:version":"npm compile && cdk --version"},"author":{"name":"Eric Rushing"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/NightWatchman/destroyable-bucket.git"},"dependencies":{"aws-sdk":"^2.787.0"},"devDependencies":{"@aws-cdk/aws-s3":"^1.72.0","@aws-cdk/core":"^1.72.0","@types/jest":"^26.0.15","@types/node":"^12.19.3","aws-cdk":"^1.72.0","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","babel-plugin-transform-async-generator-functions":"^6.24.1","babel-preset-env":"^1.7.0","eslint":"^7.13.0","eslint-plugin-jest":"^24.1.0","jest":"^26.6.3","lambda-local":"^1.7.4","node-fixtures":"^0.0.1","request":"^2.88.2","typescript":"^4.0.5","webpack":"^4.44.2","webpack-cli":"^3.3.12"},"prettier":{"semi":false,"singleQuote":true},"eslintConfig":{"parser":"babel-eslint","plugins":["jest"],"env":{"es6":true,"node":true},"extends":["eslint:recommended","plugin:jest/recommended"],"parserOptions":{"sourceType":"module"},"rules":{"no-console":0,"semi":[2,"never"]}},"_resolved":"","_integrity":"","_from":"file:destroyable-bucket-1.72.0.tgz","bugs":{"url":"https://github.com/NightWatchman/destroyable-bucket/issues"},"_id":"destroyable-bucket@1.72.0","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-yYpzlOMWy9vHIbDxDZtTj0vEd6M3BVeu1agtOSLp27jZvYPAlPh57gNylRbS8AITEO7K4uw6BROsa/SzRcWnlg==","shasum":"bbfaffe90f965df60c8a0d0fb2dc5d84f5ef8c62","tarball":"https://registry.npmjs.org/destroyable-bucket/-/destroyable-bucket-1.72.0.tgz","fileCount":12,"unpackedSize":5184738,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqF+0CRA9TVsSAnZWagAA/m0P/3/Fe4O509M7D2K7PkyM\nvN1o/qL48oK4/FRd/LRVu9cOKh3wppb2FQWnIBuItEvwd1wFyGk7M3OKfTY0\nLGvZb46uHJ/cjtsROGMKog8A6ZhiqFsmycgfVDJY3PwIVSCeZ+DY3VYkQhkK\no8kf0RCDAnjsMSobhHVa3Z1ga784PQuiuGiKWknJ+Bf2QMDY2A4A1FSuuq0Z\noL/RSonYPFgyvGGdgRnXXNU/HPeNOc36ytGzmfHH9MfcQlhOQFP6YuQAlgkf\nxEZQHtGdJ7uJ6/X0onWeVYvjMVkcDyNs+r0GezzGD3ZYfuAq1itSCLlhHW4T\nio2Ga3CfYg+yGzhmTMc2Kr/Spb0A9THl3xkybXqnAkdztHt4DyIMJcuYJl8a\nk9yxTuCHSQROzMEHfJPAuOyu6L7vsuxuK7diqvvgiaiU7a7cWJ+SHZYAmuqy\nIBhiOGbLCEyWyjvLmAHJxQ1fQN79c9gNmGywhTz+FskelAurl1CCn4dRPX/z\nnp4ANbwNN2ClV9f2pTr1Axy9Dez4GV6E+/k5CIkqy0uvlucEP3xmwAZWOW5E\nq4jKLswf/TDedETZuscZvDu+NtjCP9PfmW1/BIN+I2PvosYJUmc2bP5xy1+N\nHyOfl9CvT4+pcNap22WoAufvRD3dFZXksmt+pcYdI+p42y4ygNHANvCDlmI1\ndiaN\r\n=HtPQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCA5NfdIYtoAWoh0l1JWluXnPAaze0TnBzvZQACHzYrvQIhALj/83wvqRUHqwzRewhzNVQzY4h64eHM4Orcag7lJTHP"}]},"_npmUser":{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"},"directories":{},"maintainers":[{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/destroyable-bucket_1.72.0_1604870067887_0.2067666826934138"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"maintainers":[{"name":"the_blackwell_ninja","email":"rushinge@gmail.com"}],"description":"Construct that allows the CDK to destroy a non-empty bucket when employing the `cdk destroy` command. This is accomplished by emptying the bucket before destroying it.","homepage":"https://github.com/NightWatchman/destroyable-bucket","keywords":["aws","s3","cloudformation","bucket","delete","destroy","cdk","construct","non-empty"],"repository":{"type":"git","url":"git+https://github.com/NightWatchman/destroyable-bucket.git"},"author":{"name":"Eric Rushing"},"bugs":{"url":"https://github.com/NightWatchman/destroyable-bucket/issues"},"license":"MIT","readme":"## What it does\r\n\r\nCreates an S3 bucket in Cloud Formation that, when used with `removalPolicy: RemovalPolicy.DESTROY`, can destroy the bucket even if it's not empty.\r\n\r\n## How to use it\r\n\r\nThis is an [AWS CDK Construct](https://docs.aws.amazon.com/CDK/latest/userguide/constructs.html) which makes it dead simple to use in your CDK code.\r\n\r\nJust install with npm:\r\n\r\n```\r\nnpm install destroyable-bucket\r\n```\r\n\r\nThen require the construct and use it in your stack like any standard CDK resource!\r\n\r\n```js\r\nimport { DestroyableBucket } from 'destroyable-bucket'\r\n\r\nexport class ExampleStack extends Stack {\r\n  constructor(scope: App, id: string, props?: StackProps) {\r\n    super(scope, id, props)\r\n\r\n    /**\r\n     * NOTE: S3 requires bucket names to be globally unique across accounts so\r\n     * you will need to change the bucketName to something that nobody else is\r\n     * using.\r\n     */\r\n    new DestroyableBucket(this, 'example-autobucket-1', {\r\n      bucketName: 'autoexample-bucket1'\r\n    })\r\n  }\r\n}\r\n```\r\n\r\nSee the example directory for a complete CDK example. Be sure to change the `bucketNames` so they are unique.\r\n\r\nThe bucket can be configured with any of the [standard CDK Bucket Properties](https://awslabs.github.io/aws-cdk/refs/_aws-cdk_aws-s3.html#bucketprops-interface).\r\n\r\n- If `removalPolicy: RemovalPolicy.DESTROY` is used, the bucket will be emptied and deleted when the stack is destroyed.\r\n- if `removalPolicy: RemovalPolicy.RETAIN` is used, the bucket will not be emptied, and will be orphaned when the stack is destroyed.\r\n\r\n## Requirements\r\n\r\n- This is designed to work with AWS CDK but feel free to borrow the code if you want to create the custom CF resource some other way.\r\n- Does not yet work with versioned buckets but it can be easily adapted to do so (pull requests welcome.)\r\n\r\n## Versioning\r\n\r\nVersion numbers are consistent with the major and minor version numbers of the corresponding AWS CDK version that this module is compatible with. In other words, version 1.1.X would be compatiable with aws-cdk 1.1.X. Patch versions will inevitably vary between the two projects.\r\n\r\n## Motivation\r\n\r\nCloud Formation will often fail to actually delete your S3 Bucket resources when you destroy your stack. This happens whenever the bucket is not empty as the Cloud Formation documentation clearly states:\r\n\r\n> You can only delete empty buckets. Deletion fails for buckets that have contents.\r\n\r\nWe find that in our use cases, we want to be able to delete the bucket and it's contents whenever the stack is deleted,\r\nor alternatively to leave the bucket and it's contents in place, and orphan it when the stack is deleted.\r\n\r\n## How it Works\r\n\r\nCreate a [custom resource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html) that will automatically delete your bucket contents before attempting bucket deletion.\r\n\r\n## Running Tests\r\n\r\n```\r\nnpm test\r\n```\r\n\r\n## Building the Example Stack\r\n\r\nThe source code includes a reference CDK project inside the `example` directory which consists of a single `destroyable-bucket`.\r\n\r\nYou can build the stack with:\r\n\r\n```\r\nnpm run cdk:deploy\r\n```\r\n\r\nGo ahead and test this bucket out by adding some files to it. You can then test that everything will delete properly by destroying the stack (and bucket) with:\r\n\r\n```\r\nnpm run cdk:destroy\r\n```\r\n\r\n## More Information\r\n\r\nSee the [AWS documentation](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-or-empty-bucket.html) for more information on S3 and deleting bucket contents.\r\n\r\n## Acknowledgements\r\n\r\nThis implementation was derived from the excellent https://github.com/mobileposse/auto-delete-bucket, with changes\r\nthat make it possible to selectively retain the bucket and it's contents when the stack is destroyed, rather than always deleting it.\r\n","readmeFilename":"README.md"}