diff --git a/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/HttpProtocolTestGenerator.java b/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/HttpProtocolTestGenerator.java index 4d3e77853df..b5c9bfc6814 100644 --- a/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/HttpProtocolTestGenerator.java +++ b/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/HttpProtocolTestGenerator.java @@ -751,7 +751,8 @@ private void writeServerResponseTest(OperationShape operation, HttpResponseTestC + " { return new TestSerializer(); };", serviceOperationsSymbol, serviceSymbol); writer.addImport("serializeFrameworkException", null, - "./protocols/" + ProtocolGenerator.getSanitizedName(protocolGenerator.getName())); + "./" + CodegenUtils.SOURCE_FOLDER + "/protocols/" + + ProtocolGenerator.getSanitizedName(protocolGenerator.getName())); writer.addImport("ValidationFailure", "__ValidationFailure", "@aws-smithy/server-common"); writer.write("const handler = new $T(service, testMux, serFn, serializeFrameworkException, " + "(ctx: {}, f: __ValidationFailure[]) => { if (f) { throw f; } return undefined;});", handlerSymbol); diff --git a/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/IndexGenerator.java b/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/IndexGenerator.java index 680f696aaa1..2579c56509a 100644 --- a/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/IndexGenerator.java +++ b/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/IndexGenerator.java @@ -86,7 +86,7 @@ static void writeServerIndex( writer.write("export * from \"./operations/$L\";", symbolProvider.toSymbol(operation).getName()); } writer.write("export * from \"./$L\"", symbol.getName()); - fileManifest.writeFile("server/index.ts", writer.toString()); + fileManifest.writeFile(CodegenUtils.SOURCE_FOLDER + "/server/index.ts", writer.toString()); } private static String getModulePath(String fileLocation) { diff --git a/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/ServerCommandGenerator.java b/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/ServerCommandGenerator.java index e735d6ee571..55d79673d71 100644 --- a/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/ServerCommandGenerator.java +++ b/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/ServerCommandGenerator.java @@ -169,9 +169,11 @@ private void writeOperationSerializer() { String serializerFunction = ProtocolGenerator.getGenericSerFunctionName(operationSymbol) + "Response"; String deserializerFunction = ProtocolGenerator.getGenericDeserFunctionName(operationSymbol) + "Request"; writer.addImport(serializerFunction, null, - "./protocols/" + ProtocolGenerator.getSanitizedName(protocolGenerator.getName())); + "./" + CodegenUtils.SOURCE_FOLDER + "/protocols/" + + ProtocolGenerator.getSanitizedName(protocolGenerator.getName())); writer.addImport(deserializerFunction, null, - "./protocols/" + ProtocolGenerator.getSanitizedName(protocolGenerator.getName())); + "./" + CodegenUtils.SOURCE_FOLDER + "/protocols/" + + ProtocolGenerator.getSanitizedName(protocolGenerator.getName())); writer.write("serialize = $L;", serializerFunction); writer.write("deserialize = $L;", deserializerFunction); writer.write(""); @@ -222,7 +224,8 @@ private void writeErrorHandlerCase(ShapeId errorId) { Symbol errorSymbol = symbolProvider.toSymbol(model.expectShape(errorId)); String serializerFunction = ProtocolGenerator.getGenericSerFunctionName(errorSymbol) + "Error"; writer.addImport(serializerFunction, null, - "./protocols/" + ProtocolGenerator.getSanitizedName(protocolGenerator.getName())); + "./" + CodegenUtils.SOURCE_FOLDER + "/protocols/" + + ProtocolGenerator.getSanitizedName(protocolGenerator.getName())); writer.openBlock("case $S: {", "}", errorId.getName(), () -> { writer.write("return $L(error, ctx);", serializerFunction); }); diff --git a/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/ServerSymbolVisitor.java b/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/ServerSymbolVisitor.java index 2efdeb1d0ec..d8ee4a8badb 100644 --- a/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/ServerSymbolVisitor.java +++ b/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/ServerSymbolVisitor.java @@ -118,8 +118,10 @@ private String flattenShapeName(ToShapeId id) { } private Symbol.Builder createGeneratedSymbolBuilder(Shape shape, String typeName, String namespace) { - return createSymbolBuilder(shape, typeName, namespace) - .definitionFile(toFilename(namespace)); + String prefixedNamespace = "./" + CodegenUtils.SOURCE_FOLDER + + (namespace.startsWith(".") ? namespace.substring(1) : namespace); + return createSymbolBuilder(shape, typeName, prefixedNamespace) + .definitionFile(toFilename(prefixedNamespace)); } private Symbol.Builder createSymbolBuilder(Shape shape, String typeName, String namespace) { @@ -137,9 +139,9 @@ static final class ModuleNameDelegator { public String formatModuleName(Shape shape, String name) { if (shape.getType() == ShapeType.SERVICE) { - return "./server/" + name; + return "/server/" + name; } else if (shape.getType() == ShapeType.OPERATION) { - return "./server/operations/" + name; + return "/server/operations/" + name; } throw new IllegalArgumentException("Unsupported shape type: " + shape.getType()); diff --git a/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/integration/HttpBindingProtocolGenerator.java b/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/integration/HttpBindingProtocolGenerator.java index e0f63af799e..b1d420e85ad 100644 --- a/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/integration/HttpBindingProtocolGenerator.java +++ b/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/integration/HttpBindingProtocolGenerator.java @@ -336,7 +336,8 @@ public void generateServiceHandlerFactory(GenerationContext context) { SymbolProvider symbolProvider = context.getSymbolProvider(); writer.addImport("serializeFrameworkException", null, - "./protocols/" + ProtocolGenerator.getSanitizedName(getName())); + "./" + CodegenUtils.SOURCE_FOLDER + "/protocols/" + + ProtocolGenerator.getSanitizedName(getName())); writer.addImport("ValidationCustomizer", "__ValidationCustomizer", "@aws-smithy/server-common"); writer.addImport("HttpRequest", "__HttpRequest", "@aws-sdk/protocol-http"); writer.addImport("HttpResponse", "__HttpResponse", "@aws-sdk/protocol-http"); @@ -390,7 +391,8 @@ public void generateOperationHandlerFactory(GenerationContext context, Operation SymbolProvider symbolProvider = context.getSymbolProvider(); writer.addImport("serializeFrameworkException", null, - "./protocols/" + ProtocolGenerator.getSanitizedName(getName())); + "./" + CodegenUtils.SOURCE_FOLDER + "/protocols/" + + ProtocolGenerator.getSanitizedName(getName())); writer.addImport("HttpRequest", "__HttpRequest", "@aws-sdk/protocol-http"); writer.addImport("HttpResponse", "__HttpResponse", "@aws-sdk/protocol-http");