Skip to content

Commit 7ec62a0

Browse files
authored
chore(scripts): use variant index for browser/native instead of individual files (#2009)
1 parent af94982 commit 7ec62a0

34 files changed

Lines changed: 955 additions & 479 deletions
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@smithy/core": minor
3+
---
4+
5+
fix browser bundler metadata for @smithy/core

api-snapshot/api.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,6 @@
504504
"parseRfc3339DateTimeWithOffset": "function",
505505
"parseRfc7231DateTime": "function",
506506
"quoteHeader": "function",
507-
"randomUUID": "function",
508507
"sdkStreamMixin": "function",
509508
"serializerMiddleware": "function",
510509
"serializerMiddlewareOption": "object",

packages/core/package.json

Lines changed: 66 additions & 134 deletions
Large diffs are not rendered by default.

packages/core/scripts/lint.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,36 @@ declare module "@smithy/core/${submodule}" {
7979
}
8080
}
8181

82+
/**
83+
* Check that submodules with .browser.ts or .native.ts files have corresponding index variant files.
84+
*/
85+
for (const submodule of submodules) {
86+
const submodulePath = path.join(root, "src", "submodules", submodule);
87+
if (!fs.lstatSync(submodulePath).isDirectory()) continue;
88+
89+
let hasBrowserVariant = false;
90+
let hasNativeVariant = false;
91+
92+
const scanDir = (dir) => {
93+
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
94+
if (entry.isDirectory()) {
95+
scanDir(path.join(dir, entry.name));
96+
} else if (!entry.name.includes(".spec.") && !entry.name.includes(".integ.")) {
97+
if (entry.name.endsWith(".browser.ts")) hasBrowserVariant = true;
98+
if (entry.name.endsWith(".native.ts")) hasNativeVariant = true;
99+
}
100+
}
101+
};
102+
scanDir(submodulePath);
103+
104+
if (hasBrowserVariant && !fs.existsSync(path.join(submodulePath, "index.browser.ts"))) {
105+
errors.push(`${submodule} has .browser.ts variant files but is missing index.browser.ts`);
106+
}
107+
if (hasNativeVariant && !fs.existsSync(path.join(submodulePath, "index.native.ts"))) {
108+
errors.push(`${submodule} has .native.ts variant files but is missing index.native.ts`);
109+
}
110+
}
111+
82112
/**
83113
* Check for cross-submodule relative imports.
84114
*/
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// @smithy/hash-blob-browser
2+
export { blobHasher } from "./hash-blob-browser/blobHasher";
3+
4+
// @smithy/md5-js
5+
export { Md5 } from "./md5-js/md5";
6+
7+
// @smithy/chunked-blob-reader
8+
export { blobReader } from "./chunked-blob-reader/chunked-blob-reader";
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// @smithy/hash-blob-browser
2+
export { blobHasher } from "./hash-blob-browser/blobHasher";
3+
4+
// @smithy/md5-js
5+
export { Md5 } from "./md5-js/md5";
6+
7+
// @smithy/chunked-blob-reader-native
8+
export { blobReader } from "./chunked-blob-reader/chunked-blob-reader.native";
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
// hash-blob-browser
1+
// @smithy/hash-blob-browser
22
export { blobHasher } from "./hash-blob-browser/blobHasher";
33

4-
// hash-stream-node
4+
// @smithy/hash-stream-node
55
export { fileStreamHasher } from "./hash-stream-node/fileStreamHasher";
66
export { readableStreamHasher } from "./hash-stream-node/readableStreamHasher";
77

8-
// md5-js
8+
// @smithy/md5-js
99
export { Md5 } from "./md5-js/md5";
1010

11-
// chunked-blob-reader (with .native.ts variant)
11+
// @smithy/chunked-blob-reader
1212
export { blobReader } from "./chunked-blob-reader/chunked-blob-reader";

packages/core/src/submodules/client/index.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
// formerly @smithy/middleware-stack
1+
// @smithy/middleware-stack
22
export { constructStack } from "./middleware-stack/MiddlewareStack";
33

4-
// formerly @smithy/util-middleware
4+
// @smithy/util-middleware
55
export { getSmithyContext } from "./util-middleware/getSmithyContext";
66
export { normalizeProvider } from "./util-middleware/normalizeProvider";
77

8-
// formerly @smithy/invalid-dependency
8+
// @smithy/invalid-dependency
99
export { invalidFunction } from "./invalid-dependency/invalidFunction";
1010
export { invalidProvider } from "./invalid-dependency/invalidProvider";
1111

12-
// formerly @smithy/util-waiter
12+
// @smithy/util-waiter
1313
export { createWaiter } from "./util-waiter/createWaiter";
1414
export {
1515
waiterServiceDefaults,
@@ -20,7 +20,7 @@ export {
2020
type WaiterResult,
2121
} from "./util-waiter/waiter";
2222

23-
// formerly @smithy/smithy-client
23+
// @smithy/smithy-client
2424
export { Client, type SmithyConfiguration, type SmithyResolvedConfiguration } from "./smithy-client/client";
2525
export { Command, type CommandImpl } from "./smithy-client/command";
2626
export { SENSITIVE_STRING } from "./smithy-client/constants";
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
// @smithy/property-provider
2+
export { ProviderError, type ProviderErrorOptionsType } from "./property-provider/ProviderError";
3+
export { CredentialsProviderError } from "./property-provider/CredentialsProviderError";
4+
export { TokenProviderError } from "./property-provider/TokenProviderError";
5+
export { chain } from "./property-provider/chain";
6+
export { fromValue } from "./property-provider/fromValue";
7+
export { memoize } from "./property-provider/memoize";
8+
9+
// @smithy/util-config-provider
10+
export { booleanSelector } from "./util-config-provider/booleanSelector";
11+
export { numberSelector } from "./util-config-provider/numberSelector";
12+
export { SelectorType } from "./util-config-provider/types";
13+
14+
// @smithy/config-resolver
15+
export {
16+
resolveCustomEndpointsConfig,
17+
type CustomEndpointsInputConfig,
18+
type CustomEndpointsResolvedConfig,
19+
} from "./config-resolver/endpointsConfig/resolveCustomEndpointsConfig";
20+
export {
21+
resolveEndpointsConfig,
22+
type EndpointsInputConfig,
23+
type EndpointsResolvedConfig,
24+
} from "./config-resolver/endpointsConfig/resolveEndpointsConfig";
25+
26+
// @smithy/config-resolver
27+
export {
28+
resolveRegionConfig,
29+
type RegionInputConfig,
30+
type RegionResolvedConfig,
31+
} from "./config-resolver/regionConfig/resolveRegionConfig";
32+
33+
// @smithy/config-resolver
34+
export { type PartitionHash } from "./config-resolver/regionInfo/PartitionHash";
35+
export { type RegionHash } from "./config-resolver/regionInfo/RegionHash";
36+
export { type EndpointVariant } from "./config-resolver/regionInfo/EndpointVariant";
37+
export { type EndpointVariantTag } from "./config-resolver/regionInfo/EndpointVariantTag";
38+
export { getRegionInfo, type GetRegionInfoOptions } from "./config-resolver/regionInfo/getRegionInfo";
39+
40+
// @smithy/util-defaults-mode-browser
41+
export {
42+
resolveDefaultsModeConfig,
43+
type ResolveDefaultsModeConfigOptions,
44+
} from "./defaults-mode/resolveDefaultsModeConfig.browser";
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
// @smithy/property-provider
2+
export { ProviderError, type ProviderErrorOptionsType } from "./property-provider/ProviderError";
3+
export { CredentialsProviderError } from "./property-provider/CredentialsProviderError";
4+
export { TokenProviderError } from "./property-provider/TokenProviderError";
5+
export { chain } from "./property-provider/chain";
6+
export { fromValue } from "./property-provider/fromValue";
7+
export { memoize } from "./property-provider/memoize";
8+
9+
// @smithy/util-config-provider
10+
export { booleanSelector } from "./util-config-provider/booleanSelector";
11+
export { numberSelector } from "./util-config-provider/numberSelector";
12+
export { SelectorType } from "./util-config-provider/types";
13+
14+
// @smithy/config-resolver
15+
export {
16+
resolveCustomEndpointsConfig,
17+
type CustomEndpointsInputConfig,
18+
type CustomEndpointsResolvedConfig,
19+
} from "./config-resolver/endpointsConfig/resolveCustomEndpointsConfig";
20+
export {
21+
resolveEndpointsConfig,
22+
type EndpointsInputConfig,
23+
type EndpointsResolvedConfig,
24+
} from "./config-resolver/endpointsConfig/resolveEndpointsConfig";
25+
26+
// @smithy/config-resolver
27+
export {
28+
resolveRegionConfig,
29+
type RegionInputConfig,
30+
type RegionResolvedConfig,
31+
} from "./config-resolver/regionConfig/resolveRegionConfig";
32+
33+
// @smithy/config-resolver
34+
export { type PartitionHash } from "./config-resolver/regionInfo/PartitionHash";
35+
export { type RegionHash } from "./config-resolver/regionInfo/RegionHash";
36+
export { type EndpointVariant } from "./config-resolver/regionInfo/EndpointVariant";
37+
export { type EndpointVariantTag } from "./config-resolver/regionInfo/EndpointVariantTag";
38+
export { getRegionInfo, type GetRegionInfoOptions } from "./config-resolver/regionInfo/getRegionInfo";
39+
40+
// @smithy/util-defaults-mode-node
41+
export {
42+
resolveDefaultsModeConfig,
43+
type ResolveDefaultsModeConfigOptions,
44+
} from "./defaults-mode/resolveDefaultsModeConfig.native";

0 commit comments

Comments
 (0)