Skip to content

Commit 2281f28

Browse files
committed
Centralize dependencies into a single file
1 parent 3f14659 commit 2281f28

File tree

6 files changed

+81
-29
lines changed

6 files changed

+81
-29
lines changed

smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/ApplicationProtocol.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,17 +74,15 @@ public static ApplicationProtocol createDefaultHttpApplicationProtocol() {
7474
.symbol(Symbol.builder()
7575
.namespace("@aws-sdk/protocol-http", "/")
7676
.name("HttpRequest")
77-
.addDependency(PackageJsonGenerator.NORMAL_DEPENDENCY,
78-
"@aws-sdk/protocol-http", HTTP_PROTOCOL_VERSION)
77+
.addDependency(TypeScriptDependencies.HTTP_PROTOCOL)
7978
.build())
8079
.alias("__HttpRequest")
8180
.build(),
8281
SymbolReference.builder()
8382
.symbol(Symbol.builder()
8483
.namespace("@aws-sdk/protocol-http", "/")
8584
.name("HttpResponse")
86-
.addDependency(PackageJsonGenerator.NORMAL_DEPENDENCY,
87-
"@aws-sdk/protocol-http", HTTP_PROTOCOL_VERSION)
85+
.addDependency(TypeScriptDependencies.HTTP_PROTOCOL)
8886
.build())
8987
.alias("__HttpResponse")
9088
.build()

smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/CommandGenerator.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,6 @@ final class CommandGenerator implements Runnable {
3636
static final String COMMAND_BODY_EXTRA_SECTION = "command_body_extra";
3737
static final String COMMAND_CONSTRUCTOR_SECTION = "command_constructor";
3838

39-
private static final String MIDDLEWARE_SERDE_VERSION = "^0.1.0-preview.1";
40-
4139
private final TypeScriptSettings settings;
4240
private final Model model;
4341
private final ServiceShape service;
@@ -133,9 +131,7 @@ private void generateCommandMiddlewareResolver(String configType) {
133131
Symbol serde = Symbol.builder()
134132
.name("serdePlugin")
135133
.namespace("@aws-sdk/middleware-serde", "/")
136-
.addDependency(PackageJsonGenerator.NORMAL_DEPENDENCY,
137-
"@aws-sdk/middleware-serde",
138-
MIDDLEWARE_SERDE_VERSION)
134+
.addDependency(TypeScriptDependencies.MIDDLEWARE_SERDE)
139135
.build();
140136

141137
writer.write("resolveMiddleware(")

smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/PackageJsonGenerator.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,7 @@
2626
/**
2727
* Private class used to generates a package.json file for the project.
2828
*/
29-
public final class PackageJsonGenerator {
30-
31-
public static final String NORMAL_DEPENDENCY = "dependencies";
32-
public static final String DEV_DEPENDENCY = "devDependencies";
33-
public static final String PEER_DEPENDENCY = "peerDependencies";
34-
public static final String BUNDLED_DEPENDENCY = "bundledDependencies";
35-
public static final String OPTIONAL_DEPENDENCY = "optionalDependencies";
29+
final class PackageJsonGenerator {
3630

3731
private PackageJsonGenerator() {}
3832

smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/SymbolVisitor.java

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,6 @@
6969
final class SymbolVisitor implements SymbolProvider, ShapeVisitor<Symbol> {
7070

7171
private static final Logger LOGGER = Logger.getLogger(SymbolVisitor.class.getName());
72-
private static final String TYPES_NODE_VERSION = "^12.7.5";
73-
private static final String TYPES_BIG_JS_VERSION = "^4.0.5";
74-
private static final String BIG_JS_VERSION = "^5.2.2";
75-
private static final String AWS_SDK_TYPES_VERSION = "^0.1.0-preview.5";
76-
private static final String AWS_SDK_SMITHY_CLIENT_VERSION = "^0.1.0-preview.5";
7772

7873
private final Model model;
7974
private final ReservedWordSymbolProvider.Escaper escaper;
@@ -122,7 +117,7 @@ public Symbol blobShape(BlobShape shape) {
122117
// Note: `Readable` needs an import and a dependency.
123118
return createSymbolBuilder(shape, "ArrayBuffer | ArrayBufferView | string | Readable | Blob", null)
124119
.addReference(Symbol.builder().name("Readable").namespace("stream", "/").build())
125-
.addDependency(PackageJsonGenerator.DEV_DEPENDENCY, "@types/node", TYPES_NODE_VERSION)
120+
.addDependency(TypeScriptDependencies.TYPES_NODE)
126121
.build();
127122
}
128123

@@ -210,8 +205,8 @@ public Symbol bigIntegerShape(BigIntegerShape shape) {
210205
@Override
211206
public Symbol bigDecimalShape(BigDecimalShape shape) {
212207
return createSymbolBuilder(shape, "Big", "@types/big.js")
213-
.addDependency(PackageJsonGenerator.DEV_DEPENDENCY, "@types/big.js", TYPES_BIG_JS_VERSION)
214-
.addDependency(PackageJsonGenerator.NORMAL_DEPENDENCY, "big.js", BIG_JS_VERSION)
208+
.addDependency(TypeScriptDependencies.TYPES_BIG_JS)
209+
.addDependency(TypeScriptDependencies.BIG_JS)
215210
.build();
216211
}
217212

@@ -249,8 +244,7 @@ public Symbol resourceShape(ResourceShape shape) {
249244
@Override
250245
public Symbol serviceShape(ServiceShape shape) {
251246
return createObjectSymbolBuilder(shape)
252-
.addDependency(PackageJsonGenerator.NORMAL_DEPENDENCY, "@aws-sdk/smithy-client",
253-
AWS_SDK_SMITHY_CLIENT_VERSION)
247+
.addDependency(TypeScriptDependencies.AWS_SMITHY_CLIENT)
254248
.build();
255249
}
256250

@@ -260,7 +254,7 @@ public Symbol structureShape(StructureShape shape) {
260254
addSmithyImport(builder);
261255

262256
if (outputShapes.contains(shape)) {
263-
builder.addDependency(PackageJsonGenerator.NORMAL_DEPENDENCY, "@aws-sdk/types", AWS_SDK_TYPES_VERSION);
257+
builder.addDependency(TypeScriptDependencies.AWS_SDK_TYPES);
264258
SymbolReference reference = SymbolReference.builder()
265259
.options(SymbolReference.ContextOption.DECLARE)
266260
.alias("$MetadataBearer")
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
/*
2+
* Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License").
5+
* You may not use this file except in compliance with the License.
6+
* A copy of the License is located at
7+
*
8+
* http://aws.amazon.com/apache2.0
9+
*
10+
* or in the "license" file accompanying this file. This file is distributed
11+
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12+
* express or implied. See the License for the specific language governing
13+
* permissions and limitations under the License.
14+
*/
15+
16+
package software.amazon.smithy.typescript.codegen;
17+
18+
import software.amazon.smithy.codegen.core.SymbolDependency;
19+
20+
public final class TypeScriptDependencies {
21+
public static final String NORMAL_DEPENDENCY = "dependencies";
22+
public static final String DEV_DEPENDENCY = "devDependencies";
23+
public static final String PEER_DEPENDENCY = "peerDependencies";
24+
public static final String BUNDLED_DEPENDENCY = "bundledDependencies";
25+
public static final String OPTIONAL_DEPENDENCY = "optionalDependencies";
26+
27+
public static final SymbolDependency HTTP_PROTOCOL = SymbolDependency.builder()
28+
.dependencyType(NORMAL_DEPENDENCY)
29+
.packageName("@aws-sdk/protocol-http")
30+
.version("^0.1.0-preview.1")
31+
.build();
32+
33+
public static final SymbolDependency MIDDLEWARE_SERDE = SymbolDependency.builder()
34+
.dependencyType(NORMAL_DEPENDENCY)
35+
.packageName("@aws-sdk/middleware-serde")
36+
.version("^0.1.0-preview.1")
37+
.build();
38+
39+
public static final SymbolDependency TYPES_NODE = SymbolDependency.builder()
40+
.dependencyType(DEV_DEPENDENCY)
41+
.packageName("@types/node")
42+
.version("^12.7.5")
43+
.build();
44+
45+
public static final SymbolDependency TYPES_BIG_JS = SymbolDependency.builder()
46+
.dependencyType(DEV_DEPENDENCY)
47+
.packageName("@types/big.js")
48+
.version("^4.0.5")
49+
.build();
50+
51+
public static final SymbolDependency BIG_JS = SymbolDependency.builder()
52+
.dependencyType(NORMAL_DEPENDENCY)
53+
.packageName("big.js")
54+
.version("^5.2.2")
55+
.build();
56+
57+
public static final SymbolDependency AWS_SDK_TYPES = SymbolDependency.builder()
58+
.dependencyType(NORMAL_DEPENDENCY)
59+
.packageName("@aws-sdk/types")
60+
.version("^0.1.0-preview.5")
61+
.build();
62+
63+
public static final SymbolDependency AWS_SMITHY_CLIENT = SymbolDependency.builder()
64+
.dependencyType(NORMAL_DEPENDENCY)
65+
.packageName("@aws-sdk/smithy-client")
66+
.version("^0.1.0-preview.5")
67+
.build();
68+
69+
private TypeScriptDependencies() {}
70+
}

smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/integration/RuntimeClientPlugin.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import software.amazon.smithy.model.Model;
2525
import software.amazon.smithy.model.shapes.OperationShape;
2626
import software.amazon.smithy.model.shapes.ServiceShape;
27-
import software.amazon.smithy.typescript.codegen.PackageJsonGenerator;
27+
import software.amazon.smithy.typescript.codegen.TypeScriptDependencies;
2828
import software.amazon.smithy.utils.SmithyBuilder;
2929
import software.amazon.smithy.utils.StringUtils;
3030
import software.amazon.smithy.utils.ToSmithyBuilder;
@@ -614,7 +614,7 @@ private static Symbol createSymbol(String packageName, String version, String na
614614
return Symbol.builder()
615615
.namespace(packageName, "/")
616616
.name(name)
617-
.addDependency(PackageJsonGenerator.NORMAL_DEPENDENCY, packageName, version)
617+
.addDependency(TypeScriptDependencies.NORMAL_DEPENDENCY, packageName, version)
618618
.build();
619619
}
620620
}

0 commit comments

Comments
 (0)