| 678 | |
| 679 | await esbuild.build({ |
| 680 | ...defaultLibEsBuildOption, |
| 681 | entryPoints: testEntryPoints, |
| 682 | external: [...ES_BUILD_OPTIONS.external, "@aws-sdk", "@smithy"], |
| 683 | sourcemap: false, |
| 684 | }); |
| 685 | } |
| 686 | |
| 687 | async function buildSdks() { |
| 688 | const sdkEntryList = await Promise.all( |
| 689 | SDK_PACKAGES.map(async (pkg) => { |
| 690 | const packagePath = path.join(TMP_DIR, pkg); |
| 691 | const sdk = SDKS_BY_SDK_PACKAGES[pkg]; |
| 692 | const sdkIndexFile = path.join(packagePath, "index.js"); |
| 693 | |
| 694 | await fs.mkdir(packagePath, { recursive: true }); |
| 695 | |
| 696 | let sdkContents = `export * from "${pkg}";`; |
| 697 | await fs.writeFile(sdkIndexFile, sdkContents); |
| 698 | |
| 699 | return [pkg, sdkIndexFile]; |
| 700 | }) |
| 701 | ); |
| 702 | |
| 703 | const sdkEntryPoints = Object.fromEntries(sdkEntryList); |
| 704 | |
| 705 | await Promise.all([ |
| 706 | esbuild.build({ |
| 707 | entryPoints: sdkEntryPoints, |
| 708 | plugins: [ |
| 709 | AWS_SDK_PLUGIN, |
| 710 | esbuildShimPlugin([[/^bowser$/]]), |
| 711 | { |
| 712 | name: "llrt-stream-compat", |
| 713 | setup(build) { |
| 714 | build.onResolve( |
| 715 | { filter: /getAwsChunkedEncodingStream/ }, |
| 716 | (args) => { |
| 717 | if (args.importer.includes("@smithy")) { |
| 718 | return { |
| 719 | path: path.resolve( |
| 720 | "shims/@smithy/getAwsChunkedEncodingStream.js" |
| 721 | ), |
| 722 | }; |
| 723 | } |
| 724 | } |
| 725 | ); |
| 726 | }, |
| 727 | }, |
| 728 | ], |
| 729 | alias: { |
| 730 | "@aws-sdk/util-utf8-browser": "@smithy/util-utf8", |
| 731 | "@aws-sdk/util-utf8": "@smithy/util-utf8", |
| 732 | "@aws-sdk/signature-v4-multi-region": path.resolve( |
| 733 | "shims/@aws-sdk/signature-v4-multi-region.js" |
| 734 | ), |
| 735 | "@smithy/md5-js": "crypto", |
| 736 | "@aws-sdk/credential-providers": |
| 737 | path.dirname( |