Skip to content

feat(lib-transfer-manager): add @aws-sdk/lib-transfer-manager as private package - #8074

Merged
smilkuri merged 2 commits into
mainfrom
private-tm
Jun 8, 2026
Merged

feat(lib-transfer-manager): add @aws-sdk/lib-transfer-manager as private package#8074
smilkuri merged 2 commits into
mainfrom
private-tm

Conversation

@smilkuri

@smilkuri smilkuri commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

Description

This is a work in progress high level library to interact with S3 which provides support for multipart upload using worker threads.

Testing

$ yarn test:e2e

 Test Files  1 passed (1)
      Tests  26 passed (26)
   Start at  16:16:36
   Duration  277.44s (transform 188ms, setup 0ms, import 370ms, tests 276.94s, environment 0ms)

Checklist

  • If the PR is a feature, add integration tests (*.integ.spec.ts) or E2E tests.
    • It's not a feature.
  • My E2E tests are resilient to concurrent i/o.
    • I didn't write any E2E tests.
  • I added access level annotations e.g. @public, @internal tags and enabled doc generation on the package. Remember that access level annotations go below the description, not above.
    • I didn't add any public functions.
  • Streams - how do they work?? My WebStream readers/locks are properly lifecycled. Node.js stream backpressure is handled. Error handling.
    • No streams here.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@smilkuri
smilkuri requested a review from a team as a code owner June 4, 2026 18:07
@smilkuri
smilkuri marked this pull request as draft June 4, 2026 18:27
@smilkuri
smilkuri marked this pull request as ready for review June 4, 2026 18:59
@smilkuri
smilkuri force-pushed the private-tm branch 3 times, most recently from bacc1a7 to 6751f33 Compare June 5, 2026 14:22
Comment thread lib/lib-transfer-manager/package.json Outdated
Comment thread lib/lib-transfer-manager/package.json Outdated
Comment thread lib/lib-transfer-manager/package.json Outdated
Comment thread lib/lib-transfer-manager/package.json Outdated
Comment thread lib/lib-transfer-manager/package.json Outdated
Comment thread lib/lib-transfer-manager/package.json Outdated
"browser": {
"./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser",
"./dist-es/s3-transfer-manager/join-streams": "./dist-es/s3-transfer-manager/join-streams.browser",
"./dist-es/s3-transfer-manager/worker-http-handler": "./dist-es/s3-transfer-manager/worker-http-handler.browser",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rather than file level replacements, create a separate index.browser.ts file.

main: dist-cjs/index.js
browser: dist-es/index.browser.js
module: dist-es/index.browser.js
react-native: dist-es/index.native.js

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For this we need to duplicate S3TransferManager.ts into S3TransferManager.browser.ts and replace join-streams and worker-http-handler browser variants in the imports. Is it worth duplicating the code?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use dependency injection binding like in https://github.com/smithy-lang/smithy-typescript/blob/main/packages/core/src/submodules/serde/index.browser.ts

export class Uint8ArrayBlobAdapter extends bindUint8ArrayBlobAdapter(toUtf8, fromUtf8, toBase64, fromBase64) {}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can do this in a later PR

Comment thread scripts/compilation/Inliner.js Outdated
Comment thread scripts/validation/api.json Outdated
@smilkuri
smilkuri force-pushed the private-tm branch 3 times, most recently from 24c9863 to 360ad75 Compare June 8, 2026 15:02
Comment thread lib/lib-transfer-manager/src/submodules/worker/index.ts Outdated
@smilkuri
smilkuri merged commit 3d051b5 into main Jun 8, 2026
7 checks passed
@trivikr
trivikr deleted the private-tm branch July 15, 2026 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants