{"_id":"@cruisecritic/s3-multipart-uploader","_rev":"4-416a24c8ac885266452bab9aebf15960","name":"@cruisecritic/s3-multipart-uploader","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.1":{"name":"@cruisecritic/s3-multipart-uploader","version":"1.0.1","description":"Wrapper around AWS SDK S3Client for multipart uploads","main":"dist/index.js","types":"index.ts","contributors":[{"name":"Cruise Critic"}],"keywords":["s3 multipart upload"],"scripts":{"test":"echo \"Error: no test specified\" && exit 1","lint":"eslint index.ts","lint:fix":"npm run lint -- --fix","lint:tsc":"tsc --noEmit","lint:prettier":"prettier -c index.ts","lint:prettier:fix":"prettier -w index.ts","publish:package":"npm publish","semantic-release":"semantic-release"},"author":{"name":"Will Weaver","url":"Cruise Critic"},"license":"MIT","devDependencies":{"@typescript-eslint/eslint-plugin":"^6.7.4","eslint":"^8.50.0","eslint-config-standard-with-typescript":"^39.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-n":"^16.1.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-promise":"^6.1.1","prettier":"^3.0.3","ts-node":"^10.9.1","typescript":"^5.2.2","semantic-release":"^22.0.5"},"peerDependencies":{"@aws-sdk/client-s3":"^3.427.0"},"optionalDependencies":{"pino":"^8.15.6","winston":"^3.10.0"},"prettier":{"arrowParens":"always","tabWidth":4,"trailingComma":"all","singleQuote":true,"semi":false},"repository":{"type":"git","url":"git+https://github.com/CruiseCritic/s3-multipart-uploader.git"},"release":{"branches":["main"]},"publishConfig":{"access":"public"},"_id":"@cruisecritic/s3-multipart-uploader@1.0.1","gitHead":"b96d4c992026105fb9da08ff358c3ea99f2e48ae","bugs":{"url":"https://github.com/CruiseCritic/s3-multipart-uploader/issues"},"homepage":"https://github.com/CruiseCritic/s3-multipart-uploader#readme","_nodeVersion":"18.18.0","_npmVersion":"10.2.0","dist":{"integrity":"sha512-zugUVSXaq64vzd0ulc9qAKVGVmdbsTicfi08b4qKfFD56KX0RzKYk0EHFaAfscslsWAyE6/CfpcMvZCO8J5tOw==","shasum":"8497cce78385f997310d725ea5672476bbece6e6","tarball":"https://registry.npmjs.org/@cruisecritic/s3-multipart-uploader/-/s3-multipart-uploader-1.0.1.tgz","fileCount":9,"unpackedSize":23415,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB/qn8ZLqi/cMbU36oKYOau9YQCeM12mSzlfrH82zBzZAiBhqfgUeXVHDVd58RTJMbgQUrsH+QKA3KUmJaU8yy88IA=="}]},"_npmUser":{"name":"wweaver","email":"wweaver@tripadvisor.com"},"directories":{},"maintainers":[{"name":"gnakicta","email":"gnakic@tripadvisor.com"},{"name":"robbydooo","email":"rnorman@tripadvisor.com"},{"name":"wweaver","email":"wweaver@tripadvisor.com"},{"name":"pmillercc","email":"pmiller@cruisecritic.com"},{"name":"rfashanu","email":"rfashanu@tripadvisor.com"},{"name":"erikwoulfe","email":"ewoulfe@tripadvisor.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/s3-multipart-uploader_1.0.1_1696947652801_0.5001669940988809"},"_hasShrinkwrap":false},"1.0.2":{"name":"@cruisecritic/s3-multipart-uploader","version":"1.0.2","description":"Wrapper around AWS SDK S3Client for multipart uploads","main":"dist/index.js","types":"index.ts","contributors":[{"name":"Cruise Critic"}],"keywords":["s3 multipart upload"],"scripts":{"test":"echo \"Error: no test specified\" && exit 1","lint":"eslint index.ts","lint:fix":"npm run lint -- --fix","lint:tsc":"tsc --noEmit","lint:prettier":"prettier -c index.ts","lint:prettier:fix":"prettier -w index.ts","publish:package":"npm publish","semantic-release":"semantic-release"},"author":{"name":"Will Weaver","url":"Cruise Critic"},"license":"MIT","devDependencies":{"@typescript-eslint/eslint-plugin":"^6.7.4","eslint":"^8.50.0","eslint-config-standard-with-typescript":"^39.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-n":"^16.1.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-promise":"^6.1.1","prettier":"^3.0.3","ts-node":"^10.9.1","typescript":"^5.2.2","semantic-release":"^22.0.5"},"peerDependencies":{"@aws-sdk/client-s3":"^3.427.0"},"prettier":{"arrowParens":"always","tabWidth":4,"trailingComma":"all","singleQuote":true,"semi":false},"repository":{"type":"git","url":"git+https://github.com/CruiseCritic/s3-multipart-uploader.git"},"release":{"branches":["main"]},"publishConfig":{"access":"public"},"_id":"@cruisecritic/s3-multipart-uploader@1.0.2","gitHead":"81ab6874534fdd0e59aac5990c4967d7c2b08e10","bugs":{"url":"https://github.com/CruiseCritic/s3-multipart-uploader/issues"},"homepage":"https://github.com/CruiseCritic/s3-multipart-uploader#readme","_nodeVersion":"18.18.0","_npmVersion":"10.2.0","dist":{"integrity":"sha512-06Q8qwN8G2yp2VfpyjKqnALaUz2FL863TIvUn2VmYbtiMZjj8qbq6C6TK+NeXIB0Sppmbm2y2nYSYo/kYEXrqA==","shasum":"cd908c35580544b1768c1c4ed47cb8a9ea11fc79","tarball":"https://registry.npmjs.org/@cruisecritic/s3-multipart-uploader/-/s3-multipart-uploader-1.0.2.tgz","fileCount":9,"unpackedSize":23340,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVJteyQHIdOIEwc90X9ogNGN+TI0aXw8g/pQ027a9tgAIgdH0YO0iwfvYmNJI+MB/gh/FiKEnuC7fq2iliOjJF2xM="}]},"_npmUser":{"name":"wweaver","email":"wweaver@tripadvisor.com"},"directories":{},"maintainers":[{"name":"gnakicta","email":"gnakic@tripadvisor.com"},{"name":"robbydooo","email":"rnorman@tripadvisor.com"},{"name":"wweaver","email":"wweaver@tripadvisor.com"},{"name":"pmillercc","email":"pmiller@cruisecritic.com"},{"name":"rfashanu","email":"rfashanu@tripadvisor.com"},{"name":"erikwoulfe","email":"ewoulfe@tripadvisor.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/s3-multipart-uploader_1.0.2_1696949079579_0.7785284623329518"},"_hasShrinkwrap":false},"1.0.3":{"name":"@cruisecritic/s3-multipart-uploader","version":"1.0.3","description":"Wrapper around AWS SDK S3Client for multipart uploads","main":"dist/index.js","types":"index.ts","contributors":[{"name":"Cruise Critic"}],"keywords":["s3 multipart upload"],"scripts":{"build":"tsc","test":"echo \"Error: no test specified\" && exit 1","lint":"eslint index.ts","lint:fix":"npm run lint -- --fix","lint:tsc":"tsc --noEmit","lint:prettier":"prettier -c index.ts","lint:prettier:fix":"prettier -w index.ts","semantic-release":"semantic-release"},"author":{"name":"Will Weaver","url":"Cruise Critic"},"license":"MIT","devDependencies":{"@typescript-eslint/eslint-plugin":"^6.7.4","eslint":"^8.50.0","eslint-config-standard-with-typescript":"^39.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-n":"^16.1.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-promise":"^6.1.1","prettier":"^3.0.3","ts-node":"^10.9.1","typescript":"^5.2.2","semantic-release":"^22.0.5"},"peerDependencies":{"@aws-sdk/client-s3":"^3.427.0"},"prettier":{"arrowParens":"always","tabWidth":4,"trailingComma":"all","singleQuote":true,"semi":false},"repository":{"type":"git","url":"git+https://github.com/CruiseCritic/s3-multipart-uploader.git"},"release":{"branches":["main"]},"publishConfig":{"access":"public"},"_id":"@cruisecritic/s3-multipart-uploader@1.0.3","gitHead":"e10fbbafcd63bcf27dde176ff20477d2ef4cc7d8","bugs":{"url":"https://github.com/CruiseCritic/s3-multipart-uploader/issues"},"homepage":"https://github.com/CruiseCritic/s3-multipart-uploader#readme","_nodeVersion":"18.18.0","_npmVersion":"10.2.0","dist":{"integrity":"sha512-cEbtCtWGjBJGE1r21GAfYGa2ON8rQuOkebg3krRogzrGeDdchGOXviqS2sC5uvAnrFDfv8fzYNQqzBO2IgwhwA==","shasum":"0814feb6e2ed44e6ccc432bb3ba6e723ed5bb613","tarball":"https://registry.npmjs.org/@cruisecritic/s3-multipart-uploader/-/s3-multipart-uploader-1.0.3.tgz","fileCount":13,"unpackedSize":34514,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDEVmjyUEnGiQeQBFK3yAmXwji8aIXkPmfuHJwVzKCpHAiAtYEOwqNf+rluOew+ouUtIaTb/q7OZ+PX0b8lOz4pm7A=="}]},"_npmUser":{"name":"wweaver","email":"wweaver@tripadvisor.com"},"directories":{},"maintainers":[{"name":"gnakicta","email":"gnakic@tripadvisor.com"},{"name":"robbydooo","email":"rnorman@tripadvisor.com"},{"name":"wweaver","email":"wweaver@tripadvisor.com"},{"name":"pmillercc","email":"pmiller@cruisecritic.com"},{"name":"rfashanu","email":"rfashanu@tripadvisor.com"},{"name":"erikwoulfe","email":"ewoulfe@tripadvisor.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/s3-multipart-uploader_1.0.3_1696949520479_0.8485398924424721"},"_hasShrinkwrap":false},"1.0.4":{"name":"@cruisecritic/s3-multipart-uploader","version":"1.0.4","description":"Wrapper around AWS SDK S3Client for multipart uploads","main":"dist/index.js","types":"dist/index.d.ts","contributors":[{"name":"Cruise Critic"}],"keywords":["s3 multipart upload"],"scripts":{"build":"tsc","test":"echo \"Error: no test specified\" && exit 1","lint":"eslint index.ts","lint:fix":"npm run lint -- --fix","lint:tsc":"tsc --noEmit","lint:prettier":"prettier -c index.ts","lint:prettier:fix":"prettier -w index.ts","semantic-release":"semantic-release"},"author":{"name":"Will Weaver","url":"Cruise Critic"},"license":"MIT","devDependencies":{"@typescript-eslint/eslint-plugin":"^6.7.4","eslint":"^8.50.0","eslint-config-standard-with-typescript":"^39.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-n":"^16.1.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-promise":"^6.1.1","prettier":"^3.0.3","ts-node":"^10.9.1","typescript":"^5.2.2","semantic-release":"^22.0.5"},"peerDependencies":{"@aws-sdk/client-s3":"^3.427.0"},"prettier":{"arrowParens":"always","tabWidth":4,"trailingComma":"all","singleQuote":true,"semi":false},"repository":{"type":"git","url":"git+https://github.com/CruiseCritic/s3-multipart-uploader.git"},"release":{"branches":["main"]},"publishConfig":{"access":"public"},"_id":"@cruisecritic/s3-multipart-uploader@1.0.4","gitHead":"1822ac0d0de8a647a3bdf13180f6675c356e3da1","bugs":{"url":"https://github.com/CruiseCritic/s3-multipart-uploader/issues"},"homepage":"https://github.com/CruiseCritic/s3-multipart-uploader#readme","_nodeVersion":"18.18.0","_npmVersion":"10.2.0","dist":{"integrity":"sha512-Azs8h1Ku0MjSPDnY/Kf6FNdlbih3GmSmBwtGg9uJ/YNv4t9Kzpp6hhoE8+Z1E3j9b079n1xet9wArs2gAEyh8A==","shasum":"633165dc382edcc950b2d5f10b2ff12b7501b7d9","tarball":"https://registry.npmjs.org/@cruisecritic/s3-multipart-uploader/-/s3-multipart-uploader-1.0.4.tgz","fileCount":13,"unpackedSize":34521,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD2xuSuYXAmWhnormr32JvCCt/CXFZGdBWjrfa/GDwSzQIgU3xpry+qkrjMFrmx8/XKqoNcB8DwQrHJ79AUQ5fsAt0="}]},"_npmUser":{"name":"wweaver","email":"wweaver@tripadvisor.com"},"directories":{},"maintainers":[{"name":"gnakicta","email":"gnakic@tripadvisor.com"},{"name":"robbydooo","email":"rnorman@tripadvisor.com"},{"name":"wweaver","email":"wweaver@tripadvisor.com"},{"name":"pmillercc","email":"pmiller@cruisecritic.com"},{"name":"rfashanu","email":"rfashanu@tripadvisor.com"},{"name":"erikwoulfe","email":"ewoulfe@tripadvisor.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/s3-multipart-uploader_1.0.4_1696949665314_0.31546451871658854"},"_hasShrinkwrap":false},"1.0.5":{"name":"@cruisecritic/s3-multipart-uploader","version":"1.0.5","description":"Wrapper around AWS SDK S3Client for multipart uploads","main":"dist/index.js","types":"dist/index.d.ts","contributors":[{"name":"Cruise Critic"}],"keywords":["s3 multipart upload"],"scripts":{"build":"tsc","test":"echo \"Error: no test specified\" && exit 1","lint":"eslint index.ts","lint:fix":"npm run lint -- --fix","lint:tsc":"tsc --noEmit","lint:prettier":"prettier -c index.ts","lint:prettier:fix":"prettier -w index.ts","semantic-release":"semantic-release"},"author":{"name":"Will Weaver","url":"Cruise Critic"},"license":"MIT","devDependencies":{"@typescript-eslint/eslint-plugin":"^6.7.4","eslint":"^8.50.0","eslint-config-standard-with-typescript":"^39.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-n":"^16.1.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-promise":"^6.1.1","prettier":"^3.0.3","ts-node":"^10.9.1","typescript":"^5.2.2","semantic-release":"^22.0.5"},"peerDependencies":{"@aws-sdk/client-s3":"^3.427.0"},"prettier":{"arrowParens":"always","tabWidth":4,"trailingComma":"all","singleQuote":true,"semi":false},"repository":{"type":"git","url":"git+https://github.com/CruiseCritic/s3-multipart-uploader.git"},"release":{"branches":["main"]},"publishConfig":{"access":"public"},"_id":"@cruisecritic/s3-multipart-uploader@1.0.5","gitHead":"560975b01954b8de18fdb8e6e5f17a3aecb2f9b3","bugs":{"url":"https://github.com/CruiseCritic/s3-multipart-uploader/issues"},"homepage":"https://github.com/CruiseCritic/s3-multipart-uploader#readme","_nodeVersion":"18.18.0","_npmVersion":"10.2.0","dist":{"integrity":"sha512-B0Z0EU1iewg68/ZtoBNg68n2dmbqt8sBXMH7O+CwUbvJXSeDjwF1ZShQ3spRPL0ZeuVhLVNBwbSysy5q72nhIg==","shasum":"8963da2169a5ec80a930ad77f6250ee9936a364a","tarball":"https://registry.npmjs.org/@cruisecritic/s3-multipart-uploader/-/s3-multipart-uploader-1.0.5.tgz","fileCount":13,"unpackedSize":35147,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHDH9fEPMFQMGUrnAWSzyumeCeMEAu7pcV15BgRLEHMQAiAF3tBlEWZP/LAhREeGpIeiVe8i6g4bkPW5Wa2rjhlLvg=="}]},"_npmUser":{"name":"wweaver","email":"wweaver@tripadvisor.com"},"directories":{},"maintainers":[{"name":"gnakicta","email":"gnakic@tripadvisor.com"},{"name":"robbydooo","email":"rnorman@tripadvisor.com"},{"name":"wweaver","email":"wweaver@tripadvisor.com"},{"name":"pmillercc","email":"pmiller@cruisecritic.com"},{"name":"rfashanu","email":"rfashanu@tripadvisor.com"},{"name":"erikwoulfe","email":"ewoulfe@tripadvisor.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/s3-multipart-uploader_1.0.5_1696962777401_0.8976921419092687"},"_hasShrinkwrap":false}},"time":{"created":"2023-10-10T14:20:52.694Z","1.0.1":"2023-10-10T14:20:52.961Z","modified":"2023-10-10T18:32:57.978Z","1.0.2":"2023-10-10T14:44:39.734Z","1.0.3":"2023-10-10T14:52:00.718Z","1.0.4":"2023-10-10T14:54:25.472Z","1.0.5":"2023-10-10T18:32:57.729Z"},"maintainers":[{"name":"gnakicta","email":"gnakic@tripadvisor.com"},{"name":"robbydooo","email":"rnorman@tripadvisor.com"},{"name":"wweaver","email":"wweaver@tripadvisor.com"},{"name":"pmillercc","email":"pmiller@cruisecritic.com"},{"name":"rfashanu","email":"rfashanu@tripadvisor.com"},{"name":"erikwoulfe","email":"ewoulfe@tripadvisor.com"}],"description":"Wrapper around AWS SDK S3Client for multipart uploads","homepage":"https://github.com/CruiseCritic/s3-multipart-uploader#readme","keywords":["s3 multipart upload"],"repository":{"type":"git","url":"git+https://github.com/CruiseCritic/s3-multipart-uploader.git"},"contributors":[{"name":"Cruise Critic"}],"author":{"name":"Will Weaver","url":"Cruise Critic"},"bugs":{"url":"https://github.com/CruiseCritic/s3-multipart-uploader/issues"},"license":"MIT","readme":"# S3 Multipart Uploader\n\nWrapper around AWS SDKs v3 S3 multipart uploader. This tries to simplify the process. It doesn't allow for much\ncustomization but should \"just work.\"\n\nProcess adapted from https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpu-upload-object.html\n\n## Example\n\n```typescript\nconst s3Uploader = new S3MultipartUploader<CsvRow>(s3Client, bucket, filename, {\n    transformer: stringify, // Transformer to transform data into a string needed for file\n    checkInterval: 10000, // How many rows should be processed before we check calculated file size.\n    logger, // If you pass a logger instance this job will add debug logging for what it's doing\n});\n\n// We want to catch any error so that we can abort the upload\ntry {\n    // Start the upload process\n    await s3Uploader.start();\n\n    // Optional: Add header row\n    s3Uploader.add({\n        field1: field1,\n        field2: field2,\n        ...\n    });\n\n    let result;\n    do {\n        result = // get results\n        result.forEach(({ field1, field2 }) => {\n            // Add each row of the result\n            s3Uploader.add({\n                field1,\n                field2,\n                ...\n            });\n        });\n    } while (result.length);\n\n    // Finish processing data. This will wait for all uploads to finish and tell s3 the upload is finished\n    await s3Uploader.finish();\n} catch (e) {\n    if (e instanceof Error) {\n        logger.error('Error uploading', e);\n    }\n    // Tell s3 to abort the upload \n    await s3Uploader.abort();\n}\n\n```\n","readmeFilename":"README.md"}