Skip to content

Commit c071cea

Browse files
authored
fix(private): add dependency checking to private folder (#5993)
1 parent 50002cf commit c071cea

File tree

8 files changed

+32
-6
lines changed

8 files changed

+32
-6
lines changed

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AwsProtocolUtils.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ static void generateDocumentBodyShapeSerde(
108108
*/
109109
static void generateJsonParseBody(GenerationContext context) {
110110
TypeScriptWriter writer = context.getWriter();
111+
writer.addDependency(AwsDependency.AWS_SDK_CORE);
111112
writer.addImport("parseJsonBody", "parseBody", AwsDependency.AWS_SDK_CORE);
112113
}
113114

@@ -126,6 +127,7 @@ static void generateJsonParseBodyWithQueryHeader(GenerationContext context) {
126127
*/
127128
static void generateJsonParseErrorBody(GenerationContext context) {
128129
TypeScriptWriter writer = context.getWriter();
130+
writer.addDependency(AwsDependency.AWS_SDK_CORE);
129131
writer.addImport("parseJsonErrorBody", "parseErrorBody", AwsDependency.AWS_SDK_CORE);
130132
}
131133

@@ -137,6 +139,7 @@ static void generateJsonParseErrorBody(GenerationContext context) {
137139
*/
138140
static void generateXmlParseBody(GenerationContext context) {
139141
TypeScriptWriter writer = context.getWriter();
142+
writer.addDependency(AwsDependency.AWS_SDK_CORE);
140143
writer.addImport("parseXmlBody", "parseBody", AwsDependency.AWS_SDK_CORE);
141144
}
142145

@@ -148,6 +151,7 @@ static void generateXmlParseBody(GenerationContext context) {
148151
*/
149152
static void generateXmlParseErrorBody(GenerationContext context) {
150153
TypeScriptWriter writer = context.getWriter();
154+
writer.addDependency(AwsDependency.AWS_SDK_CORE);
151155
writer.addImport("parseXmlErrorBody", "parseErrorBody", AwsDependency.AWS_SDK_CORE);
152156
}
153157

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AwsRestXml.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ public void generateSharedComponents(GenerationContext context) {
109109
TypeScriptWriter writer = context.getWriter();
110110
writer.addDependency(AwsDependency.XML_BUILDER);
111111

112+
writer.addDependency(AwsDependency.AWS_SDK_CORE);
112113
writer.addImport("loadRestXmlErrorCode", null, AwsDependency.AWS_SDK_CORE);
113114

114115
writer.write(

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/JsonMemberSerVisitor.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ final class JsonMemberSerVisitor extends DocumentMemberSerVisitor {
5454
this.isAwsQueryCompat = context.getService().hasTrait(AwsQueryCompatibleTrait.class);
5555
this.serdeElisionEnabled = !this.isAwsQueryCompat && !context.getSettings().generateServerSdk();
5656
if (isAwsQueryCompat) {
57+
writer.addDependency(AwsDependency.AWS_SDK_CORE);
5758
writer.addImport("_toStr", null, AwsDependency.AWS_SDK_CORE);
5859
writer.addImport("_toNum", null, AwsDependency.AWS_SDK_CORE);
5960
writer.addImport("_toBool", null, AwsDependency.AWS_SDK_CORE);

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/JsonRpcProtocolGenerator.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ public void generateSharedComponents(GenerationContext context) {
106106

107107
TypeScriptWriter writer = context.getWriter();
108108
writer.addUseImports(getApplicationProtocol().getResponseType());
109+
writer.addDependency(AwsDependency.AWS_SDK_CORE);
109110
writer.addImport("loadRestJsonErrorCode", null, AwsDependency.AWS_SDK_CORE);
110111

111112
if (context.getService().hasTrait(AwsQueryCompatibleTrait.class)) {

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/RestJsonProtocolGenerator.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ public void generateSharedComponents(GenerationContext context) {
111111
TypeScriptWriter writer = context.getWriter();
112112
writer.addUseImports(getApplicationProtocol().getResponseType());
113113
writer.addImport("take", null, TypeScriptDependency.AWS_SMITHY_CLIENT);
114+
writer.addDependency(AwsDependency.AWS_SDK_CORE);
114115
writer.addImport("loadRestJsonErrorCode", null, AwsDependency.AWS_SDK_CORE);
115116

116117
writer.write(

private/aws-client-api-test/package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@
1717
"module": "./dist-es/index.js",
1818
"sideEffects": false,
1919
"dependencies": {
20+
"@aws-sdk/credential-provider-node": "*",
21+
"@aws-sdk/middleware-bucket-endpoint": "*",
22+
"@aws-sdk/middleware-sdk-s3": "*",
23+
"@aws-sdk/signature-v4-multi-region": "*",
24+
"@aws-sdk/util-user-agent-node": "*",
2025
"@aws-sdk/client-s3": "*",
2126
"@smithy/config-resolver": "^2.2.0",
2227
"@smithy/eventstream-serde-node": "^2.2.0",

private/aws-echo-service/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
"dependencies": {
2020
"@aws-crypto/sha256-browser": "3.0.0",
2121
"@aws-crypto/sha256-js": "3.0.0",
22+
"@aws-sdk/core": "*",
2223
"@aws-sdk/middleware-host-header": "*",
2324
"@aws-sdk/middleware-logger": "*",
2425
"@aws-sdk/middleware-recursion-detection": "*",

scripts/runtime-dependency-version-check/check-dependencies.js

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,15 @@ const pkgJsonEnforcement = require("./package-json-enforcement");
99

1010
const root = path.join(__dirname, "..", "..");
1111
const packages = path.join(root, "packages");
12+
const _private = path.join(root, "private");
13+
const topLevelFolders = [packages, _private];
14+
const packageFolders = [];
1215
const walk = require("../utils/walk");
1316

17+
for (const topLevelFolder of topLevelFolders) {
18+
packageFolders.push(...fs.readdirSync(topLevelFolder));
19+
}
20+
1421
const node_libraries = [
1522
"buffer",
1623
"child_process",
@@ -41,16 +48,21 @@ const node_libraries = [
4148
(async () => {
4249
const errors = [];
4350

44-
for (const folder of fs.readdirSync(packages)) {
45-
if (folder === "util-dynamodb") {
51+
for (const packageFolder of packageFolders) {
52+
if (packageFolder === "util-dynamodb") {
4653
// exempt
4754
continue;
4855
}
4956

50-
const pkgJsonPath = path.join(packages, folder, "package.json");
51-
errors.push(...pkgJsonEnforcement(pkgJsonPath, true));
57+
const containingFolder = topLevelFolders.find((f) => fs.existsSync(path.join(f, packageFolder, "package.json")));
58+
59+
const pkgJsonPath = path.join(containingFolder, packageFolder, "package.json");
60+
61+
if (containingFolder === packages) {
62+
errors.push(...pkgJsonEnforcement(pkgJsonPath, true));
63+
}
5264

53-
const srcPath = path.join(packages, folder, "src");
65+
const srcPath = path.join(containingFolder, packageFolder, "src");
5466
const pkgJson = require(pkgJsonPath);
5567

5668
if (!pkgJson.dependencies.tslib) {
@@ -93,7 +105,7 @@ const node_libraries = [
93105

94106
for (const [dep, version] of Object.entries(pkgJson.devDependencies ?? {})) {
95107
if ((dep.startsWith("@smithy") || dep.startsWith("@aws-sdk")) && contents.includes(`from "${dep}";`)) {
96-
errors.push(`${dep} incorrectly declared in devDependencies of ${folder}`);
108+
errors.push(`${dep} incorrectly declared in devDependencies of ${packageFolder}`);
97109
delete pkgJson.devDependencies[dep];
98110
if (!pkgJson.dependencies) {
99111
pkgJson.dependencies = {};

0 commit comments

Comments
 (0)