Skip to content

Allow TypeScriptIntegrations to extend typescript-codegen settings #649

Open
@everett1992

Description

@everett1992

TypeScriptIntegration should be able to define additional TypeScriptSettings config properties to read user configuration, without generating a warning. TypeScriptIntegrations are extensions for typescript-codegen. They may require user configuration, like the configuration that exists for protocol, package, packageManager, ect.

Integrations can access settings in smithy-build.json typescript-codegen with TypeScriptSettings#getPluginSettings() but if the settings include any properties that are not predefined by the ArtifactType smithy will print a warning:

WARNING: Expected an object with possible properties of package, packageDescription, packageJson, packageManager, packageVersion, private,
 protocol, service, targetNamespace, but found additional properties: someOtherProperty (N/A [0, 0])

smithy-typescript should allow integrations to define new configurations without warning. One option would be to let the integration push new properties into the artifactType config properties. Another would be to add a integrations object property that is an open bag of properties defined by integrations. There is already an open bag like this - packageJson.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions